log for b1acaab93fb16967234a16786931bdbd53913bfb
Commit b1acaab93fb16967234a16786931bdbd53913bfb
committer: Stephan Veigl [Thu, 29 Nov 2012 10:08:00 +0000 (11:08 +0100)]
author: Stephan Veigl [Fri, 9 Nov 2012 08:33:36 +0000 (09:33 +0100)]
Message:
tests: Fix number of successful tests calculation

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit 43c83e991c0705b7dc981ca760aa14fd3331604c
committer: Stephan Veigl [Thu, 29 Nov 2012 10:05:33 +0000 (11:05 +0100)]
author: Stephan Veigl [Fri, 9 Nov 2012 08:32:10 +0000 (09:32 +0100)]
Message:
misc: Update NO_COLOR define switch

The NO_COLOR define switch is a preparation for the Windows version.
Since the standard Windows command prompt is not able to display
ANSI color statements correctly. With this define switch it is
possible to remove any coloring of the output. This will be set
automatically in the MinGW patch.
The color definitions are moved from sim_core.c to sim_core.h since
they are used in other macros as well.

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit 26689f832a6bf077f7412d301f60ba615bbc7d50
author: Michel Pollet [Sun, 4 Nov 2012 17:51:45 +0000 (09:51 -0800)]
Message:
Merge pull request #7 from mali/working

Makefile : fix cleaning rules
Commit ebd6ec57aaf2db4c547d08713d4d94adc32ccdb6
author: Laurent Navet [Mali] [Sun, 4 Nov 2012 16:13:28 +0000 (16:13 +0000)]
Message:
Makefile : fix cleaning rules

in order to leave the src tree as clean as before a build
+ add rm -f of autogenerated sim_core_config.h & sim_core_decl.h
  in simavr/Makefile
+ add rm *.hex in example/board_*/Makefile
Commit 8ded5cfec51670bd535f1db09403dc894979e31b
author: Michel Pollet [Tue, 30 Oct 2012 15:10:42 +0000 (15:10 +0000)]
Message:
Makefile: Fix git tag issues

+ Pick the correct tag for the version number
+ Do not fail if git is not there
+ Add the version to the config file

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit d6265fda9e5d127f5b76d726892c56c1ff00cff5
author: Michel Pollet [Tue, 30 Oct 2012 15:09:37 +0000 (15:09 +0000)]
Message:
Makefile: Introduce a release build

make RELEASE=1 will use rpath-link to link the executable,
preventing simavr build path to be referenced. This requires
that simavr gets installed for it to work

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit dcf0210b156b03d83849cf5c3e2f8b78072fc2f0
author: Michel Pollet [Tue, 30 Oct 2012 11:30:21 +0000 (11:30 +0000)]
Message:
usb: Made the usb example optional

Downloading extra sources is against debian policy and was
a blocker to get simavr in debian. Made the board_usb example
optional, it will require an explicit make.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit a9cd39cc0cd34eeaf3f256a9b53138e6ef8e884e v1.0
committer: Jakob Gruber [Thu, 25 Oct 2012 09:43:40 +0000 (11:43 +0200)]
author: Jakob Gruber [Thu, 25 Oct 2012 09:40:05 +0000 (11:40 +0200)]
Message:
Makefiles: Add manual and a global doc target

Manual generation is now included in the doc/Makefile. Additionally,
a doc target has been added to the global Makefile.
Commit 61e465116638f20bfe125daffc3ec782a625f2fb
committer: Jakob Gruber [Thu, 25 Oct 2012 09:39:34 +0000 (11:39 +0200)]
author: Jakob Gruber [Thu, 25 Oct 2012 09:38:01 +0000 (11:38 +0200)]
Message:
doc: Add simavr manual

This is an excerpt of the bachelor's thesis "qsimavr: Graphical
Simulation of an AVR Processor and Periphery" by Jakob Gruber. The full
thesis is available at https://github.com/schuay/bachelors_thesis.
Commit 334833ca3beccfac79be54af3a12356f23794aec
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:21 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 09:54:16 +0000 (11:54 +0200)]
Message:
misc: Point to correct simavr include dirs
Commit 099905d65703d7ed3a1ae97cf5fd9eae28e03aa8
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:21 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 10:22:57 +0000 (12:22 +0200)]
Message:
misc: Move avr_mcu_section.h to sim/avr

Since sim_elf.h includes avr_mcu_section.h, it needs to reference
a path which works both during simavr builds, and compilation of
external programs including sim_elf.h. Adding the avr/ subdirectory
to pkg-config cflags is not desired, to make sure it's clear that header
is shared between the sim and the firmware.
Commit 2935c2b387bcee8971cb611fec6b4b8a0a51a7c4
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:21 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 09:57:41 +0000 (11:57 +0200)]
Message:
Makefiles: Remove executable bit from headers
Commit 31e9a0ab40f0add1b0ee6db40211c5fe7bec5585
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:21 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 09:38:23 +0000 (11:38 +0200)]
Message:
Makefiles: Separate simavr.pc and simavr-avr.pc

According to http://people.freedesktop.org/~dbn/pkg-config-guide.html,
"each pkg-config file is best used to describe a single library, so each
package should have at least as many pkg-config files as they do
installed libraries."
Commit 4f0e56559c96971c530b5b663bbcdbc2b3fdb16c
committer: Jakob Gruber [Mon, 10 Sep 2012 10:36:00 +0000 (12:36 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 09:29:35 +0000 (11:29 +0200)]
Message:
Makefiles: Use PREFIX instead of DESTDIR in simavr.pc

This is needed when DESTDIR does not equal the actual intended
destination (this usually occurs when building packages for
distribution).

An example make invocation:

make DESTDIR=pkg/usr PREFIX=/usr install
Commit dc3747065c3e00715808918b54337d99abba6fc3
committer: Jakob Gruber [Mon, 10 Sep 2012 09:40:56 +0000 (11:40 +0200)]
author: Jakob Gruber [Mon, 10 Sep 2012 08:54:00 +0000 (10:54 +0200)]
Message:
core: Deinitialize GDB in avr_terminate()

This is relevant when running multiple simavr sessions in a single
program.
Commit ead39534384a577ba325c9a95cb58691f15c4f6f
committer: Jakob Gruber [Fri, 31 Aug 2012 09:16:32 +0000 (11:16 +0200)]
author: Jakob Gruber [Fri, 31 Aug 2012 08:41:03 +0000 (10:41 +0200)]
Message:
cores: Use correct extint control register

The atmega1280/atmega1281/atmega128/90usb162
have two external interrupt control registers;
EICRA for ISC[0-3]x, and EICRB for ISC[4-7]x.
Commit 026ea0a2d08810bf3d271883532c330dd30cbfe8
committer: Jakob Gruber [Fri, 31 Aug 2012 07:51:14 +0000 (09:51 +0200)]
author: Jakob Gruber [Fri, 31 Aug 2012 07:39:14 +0000 (09:39 +0200)]
Message:
Revert "examples: hd44780 responds on falling edge of E pin"

This reverts commit fddb2a02e9feadaefaf690b07a69a1556fb96fd1.

The hd44780 was misbehaving and bisecting ended up at this commit.
Commit 1f933911e37e1d75108a7ac6df21f2dec0ec0d00
committer: Michel Pollet [Fri, 31 Aug 2012 07:43:14 +0000 (08:43 +0100)]
author: Michel Pollet [Fri, 31 Aug 2012 07:42:34 +0000 (08:42 +0100)]
Message:
vcd: Made the trace buffer dynamic

Made the trade buffer growable, to accomadate busy tracers
Also converted the traces to AVR_LOG in that bit.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit a367ebb0e3cb1b8325d4a0e6a8d616238852a7d4
committer: Jakob Gruber [Wed, 29 Aug 2012 13:00:50 +0000 (15:00 +0200)]
author: Jakob Gruber [Wed, 29 Aug 2012 12:16:59 +0000 (14:16 +0200)]
Message:
ioport: Restore PIN to PORT values when DDR is set to output
Commit 7303c1476425315c570175c9c58208a68d7ee874
committer: Jakob Gruber [Wed, 29 Aug 2012 13:00:46 +0000 (15:00 +0200)]
author: Jakob Gruber [Thu, 23 Aug 2012 11:13:25 +0000 (13:13 +0200)]
Message:
ioport: Use IRQ_FLAG_FILTERED instead of manual filtering

Manual filtering could cause us to miss pin changes when data
is written to PINs while the port is set to input mode (and thus
the PORT register is not updated).
Commit ebc09ae499f9abdabc1809c2e66385c14d6a5517
committer: Jakob Gruber [Wed, 29 Aug 2012 12:53:18 +0000 (14:53 +0200)]
author: Jakob Gruber [Tue, 28 Aug 2012 13:46:59 +0000 (15:46 +0200)]
Message:
vcd_file: Update comment to reflect correct time units
Commit 27bab459856ad7e06c5c9801722628e77a03e33c
committer: Jakob Gruber [Wed, 29 Aug 2012 12:53:18 +0000 (14:53 +0200)]
author: Jakob Gruber [Thu, 23 Aug 2012 08:57:21 +0000 (10:57 +0200)]
Message:
timer: Avoid infinite cycle timer on TCNT write

In some situations, it was possible to enter an infinite cycle timer
loop. In avr_timer_tcnt_write, the tov cycle timer registration is not
protected and can register a timer with p->tov_cycles == 0.

The following atmega1280 program demonstrates this issue:

int main() {

TCCR1A = 0;
TCCR1B = (1<<WGM12) | (1<<ICES1);
OCR1B = OCR1A = 960;

/* Start */
TCNT1 = 0;
TCCR1B |= (1<<CS11);

/* Stop */
TCCR1B &= ~(1<<CS11);
TIFR1 |= (1<<OCF1A) | (1<<OCF1B);

/* Start */
TCNT1 = 0; /**< Registers timer with tov_cycles == 0. */
TCCR1B |= (1<<CS11);

while (1) ;
return 0;
}
Commit cbc735e0138d2a358541a0ee7b7ddd0e203a06ef
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:15 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:08:51 +0000 (11:08 +0200)]
Message:
io: Convert logging to AVR_LOG()
Commit 54c68474e17e329deb2d729cc14ecd27e1773d1b
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:15 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:08:34 +0000 (11:08 +0200)]
Message:
interrupts: Convert logging to AVR_LOG()
Commit 59b46eb021ca465fc0d455e1f15c2cb5d8a8e100
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:14 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:08:13 +0000 (11:08 +0200)]
Message:
gdb: Convert logging to AVR_LOG()
Commit d4408117ddbafecd37f8540d755322b52cb8de3f
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:14 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:07:59 +0000 (11:07 +0200)]
Message:
elf: Convert logging to AVR_LOG()
Commit a484094a573be799af56d7a139aac82ec5c081b9
committer: Jakob Gruber [Fri, 10 Aug 2012 14:20:10 +0000 (16:20 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:07:34 +0000 (11:07 +0200)]
Message:
cycle_timers: Convert logging to AVR_LOG()
Commit 5d754099ddf36ab1f24838988f700a0777b73268
committer: Jakob Gruber [Fri, 10 Aug 2012 14:19:01 +0000 (16:19 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 09:07:21 +0000 (11:07 +0200)]
Message:
core: Convert logging to AVR_LOG()
Commit 22b130eb4168554276267e4cb325a7485dce2709
committer: Jakob Gruber [Fri, 10 Aug 2012 14:19:01 +0000 (16:19 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:49:06 +0000 (10:49 +0200)]
Message:
watchdog: Convert logging to AVR_LOG()
Commit 96bd8a2dfac1841b192ff80ffd78dcd36b1d1ba7
committer: Jakob Gruber [Fri, 10 Aug 2012 14:19:01 +0000 (16:19 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:46:20 +0000 (10:46 +0200)]
Message:
usb: Convert logging to AVR_LOG()

A couple of these functions did not have references to avr_t, so this is
incomplete.
Commit f0c0d3b5ce98a31cb0060cc9b75a0d5d51a0862f
committer: Jakob Gruber [Fri, 10 Aug 2012 14:18:55 +0000 (16:18 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:45:49 +0000 (10:45 +0200)]
Message:
uart: Convert logging to AVR_LOG()

UART stdout output was left as is.
Commit 949600f385c955b9be161a4b48033366133d49d8
committer: Jakob Gruber [Fri, 10 Aug 2012 14:17:20 +0000 (16:17 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:45:30 +0000 (10:45 +0200)]
Message:
lin: Convert logging to AVR_LOG()
Commit d9279a5add46f7014c12027748b38fbdfe30b078
committer: Jakob Gruber [Fri, 10 Aug 2012 14:17:20 +0000 (16:17 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:45:11 +0000 (10:45 +0200)]
Message:
flash: Convert logging to AVR_LOG()
Commit eefcaf758eec7b34287f86f99a5d7d60de28654c
committer: Jakob Gruber [Fri, 10 Aug 2012 14:17:20 +0000 (16:17 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:33:06 +0000 (10:33 +0200)]
Message:
eeprom: Convert logging to AVR_LOG()
Commit ea0174503284b7b30c6ee4a473ae7aaba0f7427b
committer: Jakob Gruber [Fri, 10 Aug 2012 14:17:20 +0000 (16:17 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:30:55 +0000 (10:30 +0200)]
Message:
bitbang: Convert logging to AVR_LOG()
Commit 2cfe735034b602ecfd9188b2970389719edfb804
committer: Jakob Gruber [Fri, 10 Aug 2012 14:17:20 +0000 (16:17 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:29:51 +0000 (10:29 +0200)]
Message:
adc: Convert logging to AVR_LOG()
Commit 3e0d79d77aba4f3aa7728ad58b904da06a8b31ae
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 08:05:02 +0000 (10:05 +0200)]
Message:
timer: Remove trace_flags

All uses have been converted to AVR_LOG().
Commit 792791e5a34f007c2c64e30c19ef3a8218502150
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Wed, 1 Aug 2012 14:30:09 +0000 (16:30 +0200)]
Message:
timer: Convert to logging to AVR_LOG()
Commit b8993c5f0de4c62c7ed9718612f028ad27fd31d9
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 07:49:34 +0000 (09:49 +0200)]
Message:
core: Introduce a logging macro AVR_LOG()

This works in conjunction with avr->log to tune out messages we are not
interested in. LOG_ERROR is the default level.
Commit 33cb87d48ecd68f2000d02659bb3752a329274c8
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Thu, 2 Aug 2012 07:41:05 +0000 (09:41 +0200)]
Message:
run_avr: Add -v argument to raise verbosity level

Pass it more than once to raise it further. This works better with the
standard conventions, which would allow passing -vvv (instead of -v -v
-v). Unfortunately, this does not work here.

The type of avr->log has been altered to accomodate values up to 3.
Commit e9c8ea734c5fd6ae02af45fe71a72618ed93ccba
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Sat, 4 Aug 2012 18:10:18 +0000 (20:10 +0200)]
Message:
cores: Move static to front of declaration

This fixes the two -Wold-style-declaration warnings reported by gcc with
-Wextra.
Commit e3c839efbb03c9bc498a5c187aec03e0c2ff7e04
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Sat, 4 Aug 2012 13:35:24 +0000 (15:35 +0200)]
Message:
mega1280: Initialize UART 2 and 3

These definitions already existed but were not initialized.
Commit cadc3dad50aa26c32d76359ce707220919d4cf2d
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Sat, 4 Aug 2012 13:10:05 +0000 (15:10 +0200)]
Message:
mega1280: Add missing timers 4 and 5

These are 16-bit timers similar to Timer1 and Timer3.
Commit 3fa1bd3e503bf7653f9df06e30b2c1e815ccc91a
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Sat, 4 Aug 2012 13:28:06 +0000 (15:28 +0200)]
Message:
core: Increase MAX_IOs for atmega1280

The atmega1280 uses IO registers up to an address of 0x136.
Set MAX_IOs to (0x136 - 0x20 + 0x01) = 279.
Commit faf279d6a1ca0de6855269f6e302786202afdf22
committer: Jakob Gruber [Sun, 5 Aug 2012 11:00:53 +0000 (13:00 +0200)]
author: Jakob Gruber [Wed, 1 Aug 2012 15:01:37 +0000 (17:01 +0200)]
Message:
core: Don't sleep with pending interrupts

This avoids an issue in which we would incorrectly enter a state in
which the CPU was sleeping and interrupts were disabled. It occurred
when an interrupt was raised and a SLEEP instruction processed before
the interrupt could be serviced (due to pending wait).

There are several disadvantages: if somebody adds new code which
switches the CPU to sleeping, there's a good chance of them forgetting
to add this check. Preventing sleep even if the interrupt is masked is
probably harmless but incorrect. Finally, on a real AVR it _is_ possible
to trigger an interrupt and then go to sleep in the next instruction
before the interrupt is serviced.

I'd actually prefer fixing this by moving the CPU interrupt wakeup from
avr_raise_interrupt() to avr_service_interrupts(), but that requires
further changes to avoid sleeping during avr->run() while an interrupt
is about to be serviced.
Commit 8a362b7623ed36cb04b06fbe893e31dbc90f55ef
committer: Jakob Gruber [Tue, 31 Jul 2012 11:08:25 +0000 (13:08 +0200)]
author: Jakob Gruber [Tue, 31 Jul 2012 10:46:59 +0000 (12:46 +0200)]
Message:
cores: Set raise_sticky in TWI interrupt vectors
Commit 33c05fb002222858d4fc18f7175324d9e738dae5
committer: Jakob Gruber [Tue, 31 Jul 2012 11:08:25 +0000 (13:08 +0200)]
author: Jakob Gruber [Tue, 31 Jul 2012 10:43:46 +0000 (12:43 +0200)]
Message:
interrupts: Introduce raise_sticky flag

If set, the raise bit is not cleared in avr_clear_interrupt. This
corresponds to the hardware not clearing the interrupt flag when
executing the interrupt routine.

The only known example of this is the TWI Interrupt Flag TWINT.
Commit a37330f6cc0d3e034b0f9158218ab9530aa56dfb
committer: Jakob Gruber [Tue, 31 Jul 2012 11:08:25 +0000 (13:08 +0200)]
author: Jakob Gruber [Tue, 31 Jul 2012 10:42:59 +0000 (12:42 +0200)]
Message:
interrupts: Do not clear raised bit twice

avr_regbit_clear is already called in avr_clear_interrupt.
Commit 18b7902f64a1af238a4d04aab34fe9dbea514bd6
committer: Jakob Gruber [Tue, 31 Jul 2012 11:06:00 +0000 (13:06 +0200)]
author: Jakob Gruber [Tue, 31 Jul 2012 10:22:22 +0000 (12:22 +0200)]
Message:
twi: Correct swapped twi irq names
Commit da3a776a394e41d3e2d3a3da389ad46ffb61b6a2
committer: Jakob Gruber [Tue, 31 Jul 2012 11:06:00 +0000 (13:06 +0200)]
author: Jakob Gruber [Tue, 31 Jul 2012 08:45:07 +0000 (10:45 +0200)]
Message:
interrupts: Typo correction (pooling -> polling)
Commit 28fe073e48558af93ae41ea4ae84b66e6c2ad71f
committer: Jakob Gruber [Tue, 31 Jul 2012 11:06:00 +0000 (13:06 +0200)]
author: Jakob Gruber [Fri, 27 Jul 2012 11:58:13 +0000 (13:58 +0200)]
Message:
misc: Consistent include guards in headers

Changed all include guard defines to a consistent form and added them if
missing.
Commit 242d9d81f037c7114282ae0da520200b288b8369
committer: Jakob Gruber [Tue, 31 Jul 2012 11:06:00 +0000 (13:06 +0200)]
author: Jakob Gruber [Fri, 27 Jul 2012 11:46:28 +0000 (13:46 +0200)]
Message:
misc: Add extern "C" blocks to headers

Most headers already had these. This commit adds them where they weren't
included yet.
Commit 98a2078b49ca5b0324acaa2257504d7952389b2c
committer: Jakob Gruber [Thu, 26 Jul 2012 12:40:46 +0000 (14:40 +0200)]
author: Jakob Gruber [Thu, 26 Jul 2012 11:05:21 +0000 (13:05 +0200)]
Message:
simavr: Do not call avr_terminate in run callbacks

Neither run_avr nor the examples expect avr_terminate to be called by
simavr itself.
This also caused issues for cleanup code (such as IRQ disconnections)
that did not know if avr_terminate had already been called or not.
Commit 01b69068c91fcc90ed7dc0cdf7e1a7d0cb08af53
committer: Jakob Gruber [Thu, 26 Jul 2012 12:40:46 +0000 (14:40 +0200)]
author: Jakob Gruber [Thu, 26 Jul 2012 10:46:49 +0000 (12:46 +0200)]
Message:
irq: Print errors to stderr

Trying to (dis)connect an invalid IRQ is an error. Note that the
incorrect function name printed in avr_unconnect_irq has been corrected.
Commit 363de56ad82a5dbd9866a8db1b70cd9091ef948f
committer: Jakob Gruber [Thu, 26 Jul 2012 12:40:46 +0000 (14:40 +0200)]
author: Jakob Gruber [Thu, 26 Jul 2012 09:23:33 +0000 (11:23 +0200)]
Message:
twi: Move avr_twi_irq_msg to avr_twi.c

This fixes inclusion of avr_twi.h into C++ files.
Commit d7f5a703ce3ac183ddef9651f4f97e812bae0234
committer: Jakob Gruber [Thu, 26 Jul 2012 12:40:46 +0000 (14:40 +0200)]
author: Jakob Gruber [Mon, 23 Jul 2012 16:46:48 +0000 (18:46 +0200)]
Message:
interrupts: Don't wake up if not sleeping

This caused the CPU to wake up even if it was explicitly set to
cpu_Stopped.
Commit 98ff83eb832dec98d5a524077cf2fdf33f33f881
committer: Michel Pollet [Wed, 25 Jul 2012 08:25:11 +0000 (09:25 +0100)]
author: Michel Pollet [Wed, 25 Jul 2012 08:24:39 +0000 (09:24 +0100)]
Message:
Makefile: Create .deb files using fpm

Handy way of creating debian packages quickly

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit eccb603b20b9154d5c488720ea3818c47a731e54
author: Jakob Gruber [Fri, 20 Jul 2012 19:52:05 +0000 (21:52 +0200)]
Message:
examples: Correct instructions for timer_64led example
Commit 0a8aa4993092cbbe6cd16eee6d04bee3c35b98fd
committer: Jakob Gruber [Fri, 20 Jul 2012 12:51:14 +0000 (14:51 +0200)]
author: Jakob Gruber [Fri, 20 Jul 2012 12:47:06 +0000 (14:47 +0200)]
Message:
run_avr: Abort if firmware could not be read

Otherwise, simavr continues and tries to process whichever random memory
content is located in the flash memory section even when the file could
not be read.
Commit fddb2a02e9feadaefaf690b07a69a1556fb96fd1
committer: Jakob Gruber [Fri, 20 Jul 2012 12:31:26 +0000 (14:31 +0200)]
author: Jakob Gruber [Fri, 20 Jul 2012 12:19:48 +0000 (14:19 +0200)]
Message:
examples: hd44780 responds on falling edge of E pin

The example itself works both ways, but the actual HD44780 chip
processes data on the falling edge - see the data sheet.
Commit d63e2a190fcc83978ffcead60e2d6db597ed8ecc
author: Jakob Gruber [Thu, 19 Jul 2012 22:10:39 +0000 (00:10 +0200)]
Message:
examples: Fix frequency of ac_input signal

The comment in ac_input.h specifies 50 Hz, but it was actually 500 Hz.

This off-by-one-zero error probably went unnoticed because of inaccurate
sleep handling (which was fixed in the previous commit).
Commit 8e195b43da0db4f2e9bd6f56cf68ba91b57676e2
committer: Jakob Gruber [Thu, 19 Jul 2012 21:46:19 +0000 (23:46 +0200)]
author: Jakob Gruber [Thu, 19 Jul 2012 21:37:02 +0000 (23:37 +0200)]
Message:
simavr: Improved accuracy of sleep durations

This commit solves (or at least improves) an issue that occurs when
short sleep times are requested in avr_callback_sleep_*. The operating
system cannot accurately handle short sleep requests, and sending many
short requests takes significantly longer than requesting the equivalent
time in longer bursts. This can be observed by running the board_hd77480
example - the counter is much slower when vcd recording is turned on
(= short sleep requests) than when it is turned off (= long sleep
requests).

We improve this situation by accumulating sleep requests until a certain
minimum count of pending usecs is reached which can be handled somewhat
accurately (200 microseconds worked well for me).
Commit de9f70375c1967c9d24f9181b66bbb949afee47f
committer: Jakob Gruber [Wed, 18 Jul 2012 10:43:28 +0000 (12:43 +0200)]
author: Jakob Gruber [Wed, 18 Jul 2012 10:37:50 +0000 (12:37 +0200)]
Message:
gdb: Read/write SREG values correctly

Accessing SREG through gdb seems to have been broken since SREG is no
longer synthesized at each instruction (2f67001d). As a quick fix, make
SREG accessors public and use them in sim_gdb.

Note that invalid avr->sreg values no longer trigger the CRASH macro.
Commit ebaa00a9b6e58407cbc6bacd5066ca3c9bf04f97
committer: Jakob Gruber [Wed, 18 Jul 2012 10:43:28 +0000 (12:43 +0200)]
author: Jakob Gruber [Wed, 18 Jul 2012 08:16:14 +0000 (10:16 +0200)]
Message:
tests: Correct expected output of atmega88_uart_echo

Carriage return generation was added back to the file handler in
a26a2e43fc4b547090f3069e121713702593261d. Since the string is actually
passed through uart_putchar twice, the received string has a duplicate
'\r' character.
Commit 2b8180f35ec5b98a2827e59bdeb2cf81fc90a636
author: Michel Pollet [Mon, 16 Jul 2012 17:21:03 +0000 (10:21 -0700)]
Message:
Merge pull request #4 from schuay/markdown_syntax

Markdown syntax
Commit 2321695a49c4a290ab1c27aef28483bf72676b23
committer: Jakob Gruber [Mon, 16 Jul 2012 17:09:13 +0000 (19:09 +0200)]
author: Jakob Gruber [Mon, 16 Jul 2012 17:05:55 +0000 (19:05 +0200)]
Message:
misc: Update repository URL in README
Commit eda48ea35f19757a243327cce2f58e746c20e722
committer: Jakob Gruber [Mon, 16 Jul 2012 17:09:13 +0000 (19:09 +0200)]
author: Jakob Gruber [Mon, 16 Jul 2012 17:00:31 +0000 (19:00 +0200)]
Message:
misc: Fix broken links in README.md
Commit 05a3af1c57c044100ee1763d81ce763aaf9a6fb2
committer: Jakob Gruber [Mon, 16 Jul 2012 17:09:08 +0000 (19:09 +0200)]
author: Jakob Gruber [Mon, 16 Jul 2012 16:57:51 +0000 (18:57 +0200)]
Message:
misc: Github markdown uses indentation to mark code blocks
Commit 801524a8f230934c960899d07620a8615dd57060
author: Jakob Gruber [Mon, 16 Jul 2012 17:08:35 +0000 (19:08 +0200)]
Message:
misc: Minor wording changes in README.md
Commit 049eef6e9a5ab2ed50df7a74605eacebb2d1069f
committer: Jakob Gruber [Mon, 16 Jul 2012 17:06:45 +0000 (19:06 +0200)]
author: Jakob Gruber [Mon, 16 Jul 2012 16:47:49 +0000 (18:47 +0200)]
Message:
misc: Github markdown uses underscores to italicize words
Commit e59905578654dd4b66f821e9c1b9fd0e90b310a9
author: Michel Pollet [Mon, 16 Jul 2012 16:07:32 +0000 (09:07 -0700)]
Message:
Merge pull request #2 from schuay/watchpoints

Watchpoints
Commit 40c40d5dfccc12d788daa20dc4008bfba34fab8d
author: Michel Pollet [Mon, 16 Jul 2012 14:35:41 +0000 (07:35 -0700)]
Message:
Merge pull request #3 from schuay/not_known

misc: Fix confusing typo in error message
Commit 6afcd2a88c5ef2fa2d3e2839dea316fb9b1786ac
committer: Jakob Gruber [Mon, 16 Jul 2012 14:30:45 +0000 (16:30 +0200)]
author: Jakob Gruber [Mon, 16 Jul 2012 14:30:06 +0000 (16:30 +0200)]
Message:
misc: Fix confusing typo in error message
Commit 24bc2f45d8de0cec89855cc745ccc77e1ea502e4
committer: Jakob Gruber [Mon, 16 Jul 2012 13:40:52 +0000 (15:40 +0200)]
author: Jakob Gruber [Mon, 16 Jul 2012 13:32:56 +0000 (15:32 +0200)]
Message:
gdb: Use early termination in gdb_watch_find*
Commit 909198fa8bd460772d3729a85444333ab4ef38d7
committer: Jakob Gruber [Sun, 15 Jul 2012 21:26:45 +0000 (23:26 +0200)]
author: Jakob Gruber [Fri, 13 Jul 2012 12:22:51 +0000 (14:22 +0200)]
Message:
gdb: Implemented watchpoint handling

Per data access, we never signal more than one watchpoint. Possible
scenarios are several watchpoints at the same address (for example
WATCH_ACCESS and WATCH_WRITE) or overlapping watchpoint ranges. This is
not completely correct.
Commit 30bd286ca4766cf45ae58e66e377e531efc53a51
committer: Jakob Gruber [Sun, 15 Jul 2012 21:26:45 +0000 (23:26 +0200)]
author: Jakob Gruber [Fri, 13 Jul 2012 14:26:13 +0000 (16:26 +0200)]
Message:
gdb: Store watchpoints in avr_gdb_t

For now, quietly assume that all watchpoints are located in SRAM (with
0x800000 offset).
Commit d15b56e87c0e485017ad441462de916627f0cc9f
committer: Jakob Gruber [Sun, 15 Jul 2012 21:26:44 +0000 (23:26 +0200)]
author: Jakob Gruber [Fri, 13 Jul 2012 14:25:27 +0000 (16:25 +0200)]
Message:
gdb: Prepare watchpoints_t data structure

In preparation for the watchpoint implementation define an
avr_gdb_watchpoints_t struct to handle both. The struct is only accessed
through gdb_watch_* functions, therefore changing its internals should
be easy.

Note that this implementation cannot handle different watchpoints at the
same address with a different size.

The avr_gdb_watch_type enum is public and will be used in sim_core.c in
a follow-up commit.
Commit 2cf07567ba52d3606e53e395fac259caf8ace2e1
author: Michel Pollet [Fri, 13 Jul 2012 09:19:21 +0000 (02:19 -0700)]
Message:
Merge pull request #1 from schuay/master

Typos, mega1280 ADC channels
Commit e7d318246283b69cef48397d67c75f7a6137ca12
committer: Jakob Gruber [Thu, 12 Jul 2012 13:18:08 +0000 (15:18 +0200)]
author: Jakob Gruber [Thu, 12 Jul 2012 12:56:34 +0000 (14:56 +0200)]
Message:
mega1280: Added upper ADC differential channels
Commit 6d2da708b0b554f5f70d0c74ce09d4dd279d49d2
committer: Jakob Gruber [Thu, 12 Jul 2012 13:18:08 +0000 (15:18 +0200)]
author: Jakob Gruber [Wed, 11 Jul 2012 22:14:15 +0000 (00:14 +0200)]
Message:
misc: Fixed a couple of typos in comments
Commit 6dd257f754fb29815eac1123e1ed97eead1d10cb
author: Michel Pollet [Sat, 16 Jun 2012 10:02:18 +0000 (11:02 +0100)]
Message:
simavr: Makefile tweaks

Added install target too

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 2e7cd176d49f93fc000d0db24c90b9511fe383ce
author: Michel Pollet [Sat, 16 Jun 2012 08:42:26 +0000 (09:42 +0100)]
Message:
Makefile: Add a debug log

make V=1 will create a /tmp/simavr_conf.log to help find why
the cores won't compile

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 5325bf64305963eca0e14cd07c227b14d1849eaf
author: Michel Pollet [Sat, 16 Jun 2012 08:41:35 +0000 (09:41 +0100)]
Message:
libc3: Deleted

Following the reprap board project on github

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 802a8e0987509f538ca1d47c2474381759eae523
author: Michel Pollet [Sat, 16 Jun 2012 08:40:08 +0000 (09:40 +0100)]
Message:
reprap: Deleted example board

This as become a project in itself, it moves to:
https://github.com/buserror-uk/simreprap.git

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 06346f65b6642990695f15b87760f4a9aa3ebd06
author: Michel Pollet [Sat, 16 Jun 2012 08:15:09 +0000 (09:15 +0100)]
Message:
reprap: Added shadow mapping

Going to split this project into another one too..

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 871409900bafcf22f5b119ec18af7ea011e98069
author: Michel Pollet [Sat, 16 Jun 2012 08:14:12 +0000 (09:14 +0100)]
Message:
libc3: Make & config tweaks

Now platform independent config headers
Also added a license

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit fabbf086b5d66cc7c763475d874d09573b119db2
author: Michel Pollet [Sat, 16 Jun 2012 08:12:43 +0000 (09:12 +0100)]
Message:
c3gl: Made c3gl_program_load public

Useful to reload shaders

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit dd446779af4c61db1072ef7cb757fd5e9c3c62cb
author: Michel Pollet [Sat, 16 Jun 2012 08:10:45 +0000 (09:10 +0100)]
Message:
c3gl_fbo: added depth texture

... which is different from the depth renderbuffer

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit ecb88cd8b73307501ce7a89f79f33d4e1e054d5b
author: Michel Pollet [Sat, 16 Jun 2012 08:09:45 +0000 (09:09 +0100)]
Message:
c3program: Include digits in uniform names

Somehow they were missing

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit b3b601b757bc39234632810b07e53196085039a7
author: Michel Pollet [Sat, 16 Jun 2012 08:09:13 +0000 (09:09 +0100)]
Message:
c3context: Calculate the view projection matrix

Turns out everything was there to do it

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit fbd7e689e5952b33533ce2c40d9ee26616b6925f
author: Michel Pollet [Sat, 16 Jun 2012 08:08:25 +0000 (09:08 +0100)]
Message:
c3camera: Added a field-of-view

For calculating perspective matrix
Commit 0995f10939e8e756edbe601455061074b07913fb
author: Michel Pollet [Fri, 15 Jun 2012 08:23:48 +0000 (09:23 +0100)]
Message:
reprap: Updated to reflects changes to libc3

New fbo layer, lights and so on
Commit e5d03e43609fb6deeed857e3f13fc4027b694c79
author: Michel Pollet [Fri, 15 Jun 2012 08:22:58 +0000 (09:22 +0100)]
Message:
c3gl_fbo: New bits

Implement the framebuffer objects. It doesn't cover all the cases
but it'll help for now.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 99dffcc6be6ba995efc9f1fa47f4813bb759bd40
author: Michel Pollet [Fri, 15 Jun 2012 08:21:44 +0000 (09:21 +0100)]
Message:
c3gl: Implemements lights

Handles (some) fo the light parameters

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit d03a3077fb119a3ebc97df2a88731e80aa7b7bf1
author: Michel Pollet [Fri, 15 Jun 2012 08:21:06 +0000 (09:21 +0100)]
Message:
c3texture: Added a resize() function

Changes the size of the display quad

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit cfa527859288457f413cc78cdf33c5a7e79518b6
author: Michel Pollet [Fri, 15 Jun 2012 08:20:33 +0000 (09:20 +0100)]
Message:
c3program: can specify uniform order

By passing an array of names, these will occupy the uniform
array first, before the parsing phase populates the list

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 15c1e7379018f38a5aed98f60be7e5b6135b1a0f
author: Michel Pollet [Fri, 15 Jun 2012 08:19:05 +0000 (09:19 +0100)]
Message:
c3object: Implements 'hidden' objects

Objects and geometry can be hidden from specific c3context_views
using a bitfield

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 28a895184b561b9054a55b705eb3aeb5d7dc2df2
author: Michel Pollet [Fri, 15 Jun 2012 08:17:47 +0000 (09:17 +0100)]
Message:
c3geometry: Added a set_dirty() function

Also dirties parent object

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 1d2a0a8eb394034b838f759678b2dca74d0de52e
author: Michel Pollet [Fri, 15 Jun 2012 08:17:07 +0000 (09:17 +0100)]
Message:
c3context: Make sure lights are 'drawn' first

Make sure the light pseudo geometries are always
at the top of the list

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit ede3c505b3cb75db4e7314e58849bd3a8c74992b
author: Michel Pollet [Fri, 15 Jun 2012 08:16:12 +0000 (09:16 +0100)]
Message:
c3light: New bit

Records lights position/type and can be carried around
in the geometry, transformed etc.

Signed-off-by: Michel Pollet <buserror@gmail.com>