Conor Taylor [Mon, 31 May 2021 18:45:38 +0000 (20:45 +0200)]
Fix macos build with versioned avr-gcc
Michel Pollet [Thu, 1 Apr 2021 20:36:05 +0000 (21:36 +0100)]
ds1338L: Fix a logic bug
Used a boolean not instead of a binary one.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Thu, 1 Apr 2021 18:36:39 +0000 (19:36 +0100)]
Merge pull request #439 from gatk555/hardware
Two "hardware" changes
Michel Pollet [Thu, 1 Apr 2021 18:33:44 +0000 (19:33 +0100)]
Merge pull request #431 from kittennbfive/patch-1
megax4: fix INT2 pin
Michel Pollet [Thu, 1 Apr 2021 18:31:38 +0000 (19:31 +0100)]
Merge pull request #428 from gatk555/build
Link libsimavr.so with needed libraries.
Michel Pollet [Thu, 1 Apr 2021 18:29:36 +0000 (19:29 +0100)]
Merge pull request #425 from gatk555/warnings
Add casts to suppress warnings from gcc 8.3.0.
Michel Pollet [Thu, 1 Apr 2021 18:28:53 +0000 (19:28 +0100)]
Merge pull request #424 from gatk555/adc
Implement the BIN and IPR bits for attinyX5 and change the ADC sample timing …
Michel Pollet [Thu, 1 Apr 2021 18:28:02 +0000 (19:28 +0100)]
Merge pull request #418 from sanjaymsh/ppc64le
Travis-ci:added support for ppc64le
ga [Mon, 22 Mar 2021 18:55:43 +0000 (18:55 +0000)]
Merge branch 'master' of https://github.com/thelazt/simavr
Upstream pull request #353: Add support for ATmega328PB.
ga [Mon, 22 Mar 2021 21:09:54 +0000 (21:09 +0000)]
Patch offered in upstream issue #339 (from djfd):
Wrong ADC definition at-tiny-24
kittennbfive [Fri, 5 Feb 2021 19:31:34 +0000 (19:31 +0000)]
also adjust needed alias / define
kittennbfive [Fri, 5 Feb 2021 19:23:28 +0000 (19:23 +0000)]
fix INT2 pin
according to datasheet, tested with some code that works on real device (1284P)
ga [Mon, 25 Jan 2021 19:20:32 +0000 (19:20 +0000)]
Handle writing a one bit to the interrupt flag, ADIF.
ga [Mon, 25 Jan 2021 19:08:32 +0000 (19:08 +0000)]
Link libsimavr.so with needed libraries. That is the usual way and allows
it to be easily loaded by dlopen().
ga [Thu, 21 Jan 2021 15:38:05 +0000 (15:38 +0000)]
Add casts to suppress warnings from gcc 8.3.0.
ga [Thu, 21 Jan 2021 15:30:19 +0000 (15:30 +0000)]
Implement the BIN and IPR bits for attinyX5 and change the ADC sample timing
to roughly match the datasheet. Add a test. Those MCUs have no UART, so
test.c and test.h have changes to use an alternative method.
sanjay-cpu [Fri, 11 Dec 2020 14:56:55 +0000 (14:56 +0000)]
Travis-ci:added support for ppc64le
Michel Pollet [Tue, 13 Oct 2020 19:05:39 +0000 (20:05 +0100)]
Merge pull request #401 from vintagepc/Fix-TWI-status-delay
Fix high speed TWI delay calcs and ACK bug (#137)
Michel Pollet [Tue, 13 Oct 2020 13:29:33 +0000 (14:29 +0100)]
Merge pull request #413 from bsekisser/sim_regbit_clear_check_valid_reg
Remove kludge "avr_uart_regbit_clear" from uart
Michel Pollet [Tue, 13 Oct 2020 13:28:28 +0000 (14:28 +0100)]
Merge pull request #410 from akosthekiss/make-tests
Test-related maintenance
Michel Pollet [Tue, 13 Oct 2020 12:29:47 +0000 (13:29 +0100)]
Merge pull request #412 from bsekisser/avr_regbit_h_file_format_corrections
Formatting and style corrections to avr_regbit.h
Michel Pollet [Tue, 13 Oct 2020 12:26:51 +0000 (13:26 +0100)]
Merge pull request #411 from bsekisser/uart_raise_udr_raised_with_tx_enable
Set udre flag when (re)enabling uart transmitter.
Michel Pollet [Tue, 13 Oct 2020 12:24:31 +0000 (13:24 +0100)]
Merge pull request #407 from akosthekiss/gitignore-maintenance
List git-ignored executables in one place
Michel Pollet [Tue, 13 Oct 2020 12:19:51 +0000 (13:19 +0100)]
Merge pull request #405 from akosthekiss/update-fix-manual
Update/fix manual
Michel Pollet [Tue, 13 Oct 2020 12:18:38 +0000 (13:18 +0100)]
Merge pull request #396 from akosthekiss/makecommon-avrgcc-verbose
Ensure that verbosity is applied in avr-gcc recipes
Michel Pollet [Tue, 13 Oct 2020 12:16:42 +0000 (13:16 +0100)]
Merge pull request #397 from akosthekiss/remove-exec
Remove execute permission from source and header files
Michel Pollet [Tue, 13 Oct 2020 12:15:41 +0000 (13:15 +0100)]
Merge pull request #409 from akosthekiss/button-release
Add support for non-auto release to button
bsekisser [Mon, 12 Oct 2020 21:17:49 +0000 (17:17 -0400)]
fixup
bsekisser [Mon, 12 Oct 2020 19:07:42 +0000 (15:07 -0400)]
Remove kludge "avr_uart_regbit_clear" from uart
modified: sim/avr_uart.c
Change use of kludge function avr_uart_regbit_clear to avr_regbit_clear.
modified: sim/sim_regbit.h
Add check that avr_regbit_clear was passed a valid existing register.
bsekisser [Mon, 12 Oct 2020 20:39:08 +0000 (16:39 -0400)]
Formatting and style corrections to avr_regbit.h
bsekisser [Sat, 10 Oct 2020 21:40:59 +0000 (17:40 -0400)]
Set udre flag when (re)enabling uart transmitter.
modified: sim/avr_uart.c
Previously, disabling the uart transmitter cleared the udrc
interrupt and cleared the udre (udrc.raised) flag. Upon
reenabling the transmitter, the udre flag is still clear
signifying the buffer is full, thus waiting for the udr to
clear via udre flag hangs.
Akos Kiss [Sat, 10 Oct 2020 20:54:36 +0000 (22:54 +0200)]
Test-related maintenance
- Ensure that make reports an error if any of the tests fail
- Don't duplicate compilation commands only for the sake of
verbosity control
- Simplify recipe for .tst files
- Drop outdated and unnecessary .gitignore from tests directory
- Add the execution of tests to Travis CI
Akos Kiss [Sat, 10 Oct 2020 19:45:04 +0000 (21:45 +0200)]
Add support for non-auto release to button
This allows better control of key press length, if needed.
To minimize negative effect on existng code, if the duration
argument of button_press is non-zero, functionality is kept as is
(i.e., using auto-release). If duration is set to zero, then button
will have to be explicitly released using a new API function,
button_release.
If simulation uses GLUT, it may make use of glutKeyboardUpFunc and
glutIgnoreKeyRepeat (in addition to glutKeyboardFunc found in
existing examples) to have more exact control over button presses
and releases.
Akos Kiss [Tue, 6 Oct 2020 13:25:19 +0000 (15:25 +0200)]
List git-ignored executables in one place
Akos Kiss [Mon, 5 Oct 2020 14:21:51 +0000 (16:21 +0200)]
Update/fix manual
- Updated GitHub repository links.
- Removed the requirement for a German babel language definition
file.
- Commented out missing references (citations of external manual
and references to non-existing sections).
- Added a .gitignore file to the directory of the manual to help
git disregard temporary latex files.
vintagepc [Mon, 28 Sep 2020 22:04:10 +0000 (18:04 -0400)]
Partial for TWI fixes (#137)
Akos Kiss [Sat, 12 Sep 2020 21:59:18 +0000 (23:59 +0200)]
Remove execute permission from source and header files
Akos Kiss [Sat, 12 Sep 2020 21:44:52 +0000 (23:44 +0200)]
Ensure that verbosity is applied in avr-gcc recipes
Michel Pollet [Mon, 31 Aug 2020 08:44:46 +0000 (09:44 +0100)]
Merge pull request #393 from vintagepc/Timer_PWM2
Support 3rd PWM pin on timers with OCRxC
Michel Pollet [Wed, 5 Aug 2020 09:25:51 +0000 (10:25 +0100)]
Merge pull request #392 from vintagepc/SPI-clock-rates
Clock out SPI data according to SPCR/SPSR
vintagepc [Wed, 5 Aug 2020 01:54:08 +0000 (21:54 -0400)]
Support 3rd PWM pin on timers with OCRxC
vintagepc [Tue, 4 Aug 2020 12:28:07 +0000 (08:28 -0400)]
Requested changes
vintagepc [Mon, 3 Aug 2020 23:14:54 +0000 (19:14 -0400)]
Clock out SPI data according to SPCR/SPSR
Michel Pollet [Mon, 3 Aug 2020 10:15:54 +0000 (11:15 +0100)]
Merge pull request #390 from vintagepc/unaligned-PCINTs
Support for non-aligned PCINTs
Michel Pollet [Mon, 3 Aug 2020 09:30:13 +0000 (10:30 +0100)]
Merge pull request #389 from vintagepc/fix-adcs-over-7
Fix ADCs>7
vintagepc [Sat, 18 Jul 2020 20:46:02 +0000 (16:46 -0400)]
Fix PCINT on PORTJ for 2560
vintagepc [Mon, 20 Apr 2020 17:58:28 +0000 (13:58 -0400)]
Fix ADCs>7
Michel Pollet [Tue, 30 Jun 2020 16:35:51 +0000 (17:35 +0100)]
Merge pull request #384 from msquirogac/fix-370
Support for GDB monitor commands
Michel Pollet [Tue, 30 Jun 2020 16:34:33 +0000 (17:34 +0100)]
Tweaked spacing from PR
msquirogac [Sat, 20 Jun 2020 22:45:50 +0000 (18:45 -0400)]
gdb monitor command clean-up
msquirogac [Sat, 20 Jun 2020 22:39:37 +0000 (18:39 -0400)]
new gdb commands kill, detach and monitor
monitor parser engine supports reset and halt
Michel Pollet [Thu, 28 May 2020 16:55:45 +0000 (17:55 +0100)]
Merge pull request #319 from uffejakobsen/uart_tap_symlink
Symlink for UART tap was never created during uart_pty_connect()
Michel Pollet [Thu, 28 May 2020 09:18:11 +0000 (10:18 +0100)]
Merge pull request #377 from msquirogac/fix-375
Update of the display_usage function.
Michel Pollet [Thu, 28 May 2020 09:17:44 +0000 (10:17 +0100)]
Merge pull request #379 from msquirogac/fix-378
used attribute for _MMCU_ , should avoid dropping the .mmcu section
msquirogac [Sat, 23 May 2020 01:38:51 +0000 (21:38 -0400)]
used attribute for _MMCU_ , should avoid dropping the .mmcu section
Fix for issue #285
msquirogac [Mon, 25 May 2020 16:27:34 +0000 (12:27 -0400)]
Update of the display_usage function.
Some arguments changed name to make them more like the already existent ones.
Some arguments were merged to one to reduce redundant code.
Fix issue #375
Michel Pollet [Wed, 27 May 2020 15:50:16 +0000 (16:50 +0100)]
Merge pull request #373 from simark/sram
Compare address with I/O end address in _avr_set_ram
Simon Marchi [Fri, 22 May 2020 16:55:10 +0000 (12:55 -0400)]
Compare address with I/O end address in _avr_set_ram
In _avr_set_ram, we check if the address is smaller than `MAX_IOs + 31`
to know if it is a register or SRAM location. In reality, many devices
have less I/Os than that, so the SRAM begins before this address.
As shown in issue #372, this causes watchpoints to not be triggered when
writing to an SRAM location that is smaller than `MAX_IOs + 31`. For
example, a global variable on an atmega328 gets placed at address 0x100,
which is less than `MAX_IOs + 31`.
Fix this by comparing the address to the `ioend` property of `avr`.
Fixes #372
Michel Pollet [Sun, 16 Feb 2020 17:03:23 +0000 (17:03 +0000)]
Merge pull request #361 from aldobrrrr/is-instruction-32-bits-mask-fix
Fix a bug in the bitmask inside _avr_is_instruction_32_bits() function in sim_core.c file.
Michel Pollet [Sun, 16 Feb 2020 17:02:55 +0000 (17:02 +0000)]
Merge pull request #366 from becmer/musl-tests
Don't assign stderr on non-glibc
Kamil Becmer [Sat, 15 Feb 2020 16:17:52 +0000 (17:17 +0100)]
Don't assign stderr on non-glibc
Signed-off-by: Kamil Becmer <kamil.becmer@gmail.com>
Michel Pollet [Wed, 5 Feb 2020 20:04:54 +0000 (20:04 +0000)]
Merge pull request #364 from aykevl/lldb
Add support for debugging with LLDB
Ayke van Laethem [Tue, 4 Feb 2020 12:02:22 +0000 (13:02 +0100)]
Add support for debugging with LLDB
LLDB requires the qRegisterInfo packet to work correctly. While it is
possible to specify the registers manually using a Python script, having
them directly in the emulator simplifies things a lot.
Emanuele Altomare [Mon, 13 Jan 2020 17:12:48 +0000 (18:12 +0100)]
Fix a bug in the bitmask inside _avr_is_instruction_32_bits() function in sim_core.c file.
Michel Pollet [Wed, 8 Jan 2020 09:14:45 +0000 (09:14 +0000)]
Merge pull request #358 from jcvdev/gdb-tcp-port
Optionally specify TCP listening port for -g,--gdb option (default 1234)
Juan Cruz Varela [Wed, 1 Jan 2020 20:01:22 +0000 (17:01 -0300)]
Allow to optionally specify gdb listening port
Michel Pollet [Sun, 1 Dec 2019 13:58:22 +0000 (13:58 +0000)]
Merge pull request #333 from edgargrimberg/edgar_Add_ATMega64M1
Add ATMega64M1
Michel Pollet [Sun, 1 Dec 2019 12:56:51 +0000 (12:56 +0000)]
Merge pull request #352 from ZsoltSaskovy/to_be_merged_back
Minor fix to make code compile on Windows, and separated code and mcu_t structure for Mega2560
Zsolt Saskovy [Thu, 28 Nov 2019 21:14:52 +0000 (22:14 +0100)]
Moved mcu_t structure declaration into separate header file
Zsolt Saskovy [Thu, 28 Nov 2019 21:12:34 +0000 (22:12 +0100)]
Changed the order of winsock2 and windows includes. Wrong onder caused compilation errors under Windows
Michel Pollet [Thu, 28 Nov 2019 00:21:02 +0000 (00:21 +0000)]
Merge pull request #346 from TomasHubelbauer/patch-1
Note that it is possible to install through Aptitude
Michel Pollet [Wed, 27 Nov 2019 16:59:05 +0000 (16:59 +0000)]
Merge pull request #321 from endofexclusive/pr/do-not-mix-tab-and-space
Do not mix tab and space in --help output
Michel Pollet [Wed, 27 Nov 2019 16:36:47 +0000 (16:36 +0000)]
Merge pull request #349 from helargus/vcd-325
#325 Converts timescale from vcd input to internal us.
Michel Pollet [Wed, 27 Nov 2019 16:31:14 +0000 (16:31 +0000)]
Merge pull request #348 from thecky/master
added OC0A/OC0B support for attiny13
Henrik Lipskoch [Mon, 11 Nov 2019 08:38:47 +0000 (09:38 +0100)]
Converts timescale from vcd input to internal us.
Thomas Martens [Sat, 12 Oct 2019 20:04:20 +0000 (22:04 +0200)]
added OC0A/OC0B support for attiny13
.com and .com_pin settings for timer0 in section .comp were missed
Tomáš Hübelbauer [Sun, 15 Sep 2019 16:00:46 +0000 (18:00 +0200)]
Note that it is possible to install through Aptitude
I've found that there is a maintainer who publishes SimAVR for Ubuntu here:
https://packages.ubuntu.com/bionic/simavr
Seems to be kept reasonably up-to-date (the latest there is 1.15 whereasy here on GitHub it is 1.16).
I know that maintainers do not always keep in contact with the software vendor so I would not be surprised to learn you were not aware of this. If you are okay with it though and consider it to be a legit enough source, I figure it's good to call that out in the README.
Edgar Grimberg [Fri, 5 Apr 2019 11:54:30 +0000 (13:54 +0200)]
Add ATMega64M1
Signed-off-by: Edgar Grimberg <edgar.grimberg@visuray.com>
Michel Pollet [Tue, 19 Mar 2019 08:56:04 +0000 (08:56 +0000)]
Merge pull request #311 from glitchub/master
Also search for /usr/lib64/librt.so
Michel Pollet [Mon, 25 Feb 2019 10:24:09 +0000 (10:24 +0000)]
Merge pull request #320 from endofexclusive/pr/freebsd-misc
Make simavr build on Freebsd
Michel Pollet [Mon, 25 Feb 2019 10:22:56 +0000 (10:22 +0000)]
Merge pull request #324 from hsoft/tiny-timer1
Fix timer1 on tinyx5
Virgil Dupras [Sun, 24 Feb 2019 18:06:24 +0000 (13:06 -0500)]
Fix timer1 on tinyx5
The prescaler list for timer1 on the tinyx5 was incomplete. Moreover,
having no WGM data made the timer run in `avr_timer_wgm_none`, with a
zero size (it would overflow all the time).
Setting a default wgm_op makes time timer run in normal mode witha size
of 8 bits.
Martin Åberg [Sun, 17 Feb 2019 15:13:25 +0000 (16:13 +0100)]
Do not mix tab and space in help output
Martin Åberg [Sun, 17 Feb 2019 14:45:06 +0000 (15:45 +0100)]
FreeBSD pty fixup
Martin Åberg [Sun, 17 Feb 2019 14:34:09 +0000 (15:34 +0100)]
FreeBSD glut fixups
Martin Åberg [Sun, 17 Feb 2019 14:19:31 +0000 (15:19 +0100)]
gettimeofday() prototype is in sys/time.h
Uffe Jakobsen [Tue, 29 Jan 2019 08:06:31 +0000 (09:06 +0100)]
Symlink for UART tap was never created during uart_pty_connect()
glitchub [Fri, 9 Nov 2018 22:41:06 +0000 (14:41 -0800)]
Also search for /usr/lib64/librt.so
Michel Pollet [Thu, 26 Jul 2018 08:20:17 +0000 (09:20 +0100)]
Merge pull request #301 from aznoohwee/bugfix/polling-flag-within-isr
allow polling interrupt flag within ISR
Tam Do [Sat, 21 Jul 2018 18:40:09 +0000 (13:40 -0500)]
reorder check to ensure that flag is allowed to be raised within ISR, but no nested IRQs occur
Tam Do [Wed, 18 Jul 2018 00:27:44 +0000 (19:27 -0500)]
allow polling interrupt flag within ISR
Michel Pollet [Thu, 12 Jul 2018 12:53:33 +0000 (13:53 +0100)]
Merge pull request #295 from myokaski/fix-uart-pty
Fix receiving after fifo overrun
Michel Pollet [Thu, 12 Jul 2018 12:52:20 +0000 (13:52 +0100)]
Merge pull request #299 from aznoohwee/bugfix/atmega32U4-ramend
Fix atmega32u4 RAMEND
Tam Do [Mon, 9 Jul 2018 14:50:01 +0000 (09:50 -0500)]
For #276 fix atmega32u4 RAMEND
Aleksey Shargalin [Thu, 21 Jun 2018 15:24:31 +0000 (18:24 +0300)]
Fix receiving after fifo overrun
After fifo overrun buffer_done remains less than buffer_len and
FD_SET(p->port[ti].s, &read_set) is not called. If firmware has nothing
to send, select always returns 0 and new data is never read even if
fifo buffer gets flushed.
This patch removes check for select timeout, so the remaining data in
buffer may go to fifo.
Michel Pollet [Thu, 21 Jun 2018 08:57:16 +0000 (09:57 +0100)]
Merge pull request #294 from dougszumski/bugfix/gcc8_warnings
Forcibly null terminate input strings
Doug Szumski [Wed, 20 Jun 2018 19:57:33 +0000 (20:57 +0100)]
Fix GCC 8 warning for input strings
As described in issue #293 GCC 8 fails the build in the current
configuration on warnings like:
sim/run_avr.c:193:4: error: ‘strncpy’ specified bound 128
equals destination size [-Werror=stringop-truncation]
strncpy(f.tracename, argv[++pi], sizeof(f.tracename));
This isn't the only solution, but it get's the build working.
Michel Pollet [Wed, 20 Jun 2018 08:13:16 +0000 (09:13 +0100)]
misc: Fix static analyzer warnings
Mostly intenting.
Signed-off-by: Michel Pollet <buserror@gmail.com>
Michel Pollet [Tue, 29 May 2018 19:30:31 +0000 (20:30 +0100)]
Merge pull request #291 from nspring/parts-install-separately
For RHEL 6.9 without glut: Parts install separately ; add rpath to rpath-link using RELEASE=1 ; appease gcc 4.6.1, use librt
Neil Spring [Tue, 29 May 2018 15:32:49 +0000 (11:32 -0400)]
Fix installation of examples/parts to occur within the
examplesbparts makefile rather than use the simavr
makefile, allowing installation of simavr (alone) on
machines without a working glut.
Fix RELEASE=1 option to additionally specify rpath (not
just rpath-link) if simavr will be installed in a special
directory.
Add detection and use of librt when available (e.g.,
RHEL 6.9).