log for b24dca2cefbc933cfb93ed003894fe597728b7ff
Commit b24dca2cefbc933cfb93ed003894fe597728b7ff
committer: Michel Pollet [Thu, 5 Sep 2013 12:55:51 +0000 (13:55 +0100)]
author: Michel Pollet [Wed, 4 Sep 2013 07:41:26 +0000 (08:41 +0100)]
Message:
megax8: Added a couple of timer modes

Pretty obvious timer modes were missing...

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 4a297c69463eeba8646c6cee5b353a0b36995b45
author: Michel Pollet [Sun, 7 Jul 2013 20:56:15 +0000 (13:56 -0700)]
Message:
Merge pull request #21 from bsekisser/sim_core_eicall_eijmp_bugfix

sim_core.c: extended data type to 32 bits for eicall/eijmp instruction.
Commit 2386657c7dedfea8ddd4ea4c0bb5c9e59a14c1b6
author: bsekisser [Tue, 2 Jul 2013 17:02:15 +0000 (13:02 -0400)]
Message:
sim_core.c: extended data type to 32 bits for eicall/eijmp instruction.

modified:   simavr/sim/sim_core.c
Commit 4e64e8bc25219134912c9e756604cd6832657bc1
committer: Jakob Gruber [Fri, 14 Jun 2013 18:52:28 +0000 (20:52 +0200)]
author: ponty [Thu, 21 Feb 2013 15:54:58 +0000 (16:54 +0100)]
Message:
core: Add an overridable logging function

AVR_LOG() now uses a logging function which can be overridden as
necessary. By default, it logs to stdout/stderr.

Fixed-up-by: schuay <jakob.gruber@gmail.com>
Commit 1b5e2fdb36d8176418f0b6fb00aca235c298b003
author: Jakob Gruber [Fri, 14 Jun 2013 18:50:31 +0000 (20:50 +0200)]
Message:
Revert "Merge pull request #12 from ponty/logger2"

This reverts commit 4a345c29fe62858693a226a3f6adbef1021236b1, reversing
changes made to 77c0525fa53ac81daaf277593767cc5659e2e43e.
Commit 4a345c29fe62858693a226a3f6adbef1021236b1
author: Michel Pollet [Fri, 14 Jun 2013 09:13:25 +0000 (02:13 -0700)]
Message:
Merge pull request #12 from ponty/logger2

new global_logger, used in AVR_LOG(), default is stdout/stderr
Commit 77c0525fa53ac81daaf277593767cc5659e2e43e
author: Michel Pollet [Sun, 2 Jun 2013 17:29:45 +0000 (18:29 +0100)]
Message:
io,elf: pass the trace section name to getirq

avr_iomem_getirq() now takes a 'name' for the IRQs. The elf loader now
passes down the trace name so the irq gets named properly.

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 29218dcf897373eac0eb750b4e4a3e066e057840
author: Michel Pollet [Sun, 2 Jun 2013 17:27:51 +0000 (18:27 +0100)]
Message:
irq: Add a warning if the name is NULL

Names are not getting important, for the scripting project

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit ee9cd0feff4f724aca6cd61d73658fb7d391e5f4
author: Michel Pollet [Sun, 2 Jun 2013 17:27:02 +0000 (18:27 +0100)]
Message:
vcd: Initializes IRQs when needed only

Also manufacture an IRQ name with the one passed in add_signal

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit 638d79eece66e44f103b2d3625f5d2927db4b867
author: Michel Pollet [Sun, 2 Jun 2013 13:46:46 +0000 (14:46 +0100)]
Message:
io: Create irq names for io addresses

Set names for the io address IRQ when they are created

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit c78cd2648c7a18b1aa248c7ac61e83e2bfa05f15
author: Michel Pollet [Sun, 2 Jun 2013 13:45:49 +0000 (14:45 +0100)]
Message:
ioport: Tweak IRQ names

Names should include the size in bits, if not 1

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit f4b1e5049fd885f30df4c9c67e3eaa835b4ab3f3
author: Michel Pollet [Sun, 2 Jun 2013 13:44:31 +0000 (14:44 +0100)]
Message:
Makefile: Removed uname -o

This break on BSDs (aka OSX), this commit will break windows build, it
will need a proper fix

Signed-off-by: Michel Pollet <buserror@gmail.com>
Commit cc901dc34ea36d1085dbe47271e1579f7850a2a4
committer: Jakob Gruber [Mon, 6 May 2013 16:32:34 +0000 (18:32 +0200)]
author: Peter Ross [Sat, 1 Dec 2012 02:07:05 +0000 (13:07 +1100)]
Message:
core: larger data type to store extended z-pointer value
Commit 49a0717a8ee6bd669343ae4d7d569dbf5d3daff8
committer: Jakob Gruber [Mon, 6 May 2013 16:28:44 +0000 (18:28 +0200)]
author: Jakob Gruber [Mon, 6 May 2013 16:27:30 +0000 (18:27 +0200)]
Message:
misc: Add a Contributing section to README.md
Commit 4f219081b06534be3434b522cad603b78f671e38
committer: Jakob Gruber [Mon, 6 May 2013 16:20:06 +0000 (18:20 +0200)]
author: Jakob Gruber [Mon, 6 May 2013 16:09:15 +0000 (18:09 +0200)]
Message:
misc: Add a Documentation section to README.md
Commit ddf1bc98010b93705c904d27e5ba3b35b25cb7ba
author: Jakob Gruber [Mon, 6 May 2013 15:59:14 +0000 (17:59 +0200)]
Message:
misc: Remove outdated README

There's no point in keeping two similar README's around, and README.md
is better maintained.
Commit f5dbd6f6355e32e2a888aaba6902c40448caefe0
author: ponty [Fri, 22 Feb 2013 15:38:14 +0000 (16:38 +0100)]
Message:
refactor logger
Commit fb5a31d1e731a1d3f1993063496277c979ce356e
author: ponty [Thu, 21 Feb 2013 15:54:58 +0000 (16:54 +0100)]
Message:
new global_logger, used in AVR_LOG(), default is stdout/stderr
Commit acbefb3cf0b5c3aa8d7d58883e4b5155567a8204
author: Michel Pollet [Sun, 2 Dec 2012 17:09:44 +0000 (09:09 -0800)]
Message:
Merge pull request #10 from the-real-orca/mingw

MinGW merge, thanks!
Commit a17a750317f7ef52fcafbb5d70a8cc806d9e7f82
committer: Stephan Veigl [Sun, 2 Dec 2012 12:49:00 +0000 (13:49 +0100)]
author: Stephan Veigl [Fri, 30 Nov 2012 12:31:54 +0000 (13:31 +0100)]
Message:
mingw:  make simavr compilable with MinGW

- patch makefiles to work with MinGW
- compile to run_avr.exe on windows, otherwise run_avr cannot be started from the normal windows command prompt
- add sim_network.h to encapsulate the network functions of different platforms
    (use winsock2 for Windows network functions)
- make network helper functions static
- force open() to use binary mode (on Windows default is text mode)
- do not change stderr on Windows
- exclude simduino example on Windows
- add MinGW README

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit 1f1bac2029fa1259e233357dc1617343d9c5abfd
committer: Jakob Gruber [Sat, 1 Dec 2012 08:39:50 +0000 (09:39 +0100)]
author: Peter Ross [Thu, 29 Nov 2012 12:05:51 +0000 (23:05 +1100)]
Message:
uart: default to 8-bit word length on reset
Commit 890c3dcba764925a99b60c05b73365d3c3678435
committer: Jakob Gruber [Sat, 1 Dec 2012 08:39:50 +0000 (09:39 +0100)]
author: Peter Ross [Thu, 29 Nov 2012 12:05:14 +0000 (23:05 +1100)]
Message:
megax4/uart: implement u2x (double uart transmission speed)
Commit e8f6b397420f9d862e37f667982a7807fb79a18d
author: Stephan Veigl [Fri, 30 Nov 2012 09:35:06 +0000 (10:35 +0100)]
Message:
cores: No standard include paths

There are problems with standard includes since the paths are ambiguous
between host and AVR. Using absolute includes does not work for multi-platform
projects.
The solution is to remove all standard includes of the host system for the
core files since there is no reason why a core definition should require
standard includes from the host system. User interaction (status messages)
is the job of the simulator and not the core definitions.

- add CORE_CFLAGS (-nostdinc) to Makefile.common
- remove <stdio.h> from core definition files
- move init message from core definition files to avr_init() in sim_avr.c

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit 8633f5b781376d975910e01d01c1046d5be7da3e
author: Stephan Veigl [Thu, 29 Nov 2012 10:25:20 +0000 (11:25 +0100)]
Message:
watchdog: Fix register naming

MCUSR is called MCUCSR in atmega128

Signed-off-by: Stephan Veigl <veigl@gmx.net>
Commit f75a828adc03f26d3675bcac4a2cb2ab2dc2b038
committer: Stephan Veigl [Thu, 29 Nov 2012 10:11:20 +0000 (11:11 +0100)]
author: Stephan Veigl [Mon, 12 Nov 2012 11:19:50 +0000 (12:19 +0100)]
Message:
tests: Remove vcd files on clean

Remove the vcd files generated by test cases on: make clean

Signed-off-by: Stephan Veigl <veigl@gmx.net>
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.