| Commit message (Collapse) | Author | Files | Lines |
|
close #11
|
|
ditch `array.sort()` and instead manually keep the array sorted when we insert a new item.
|
|
|
|
`updateClockEvent()` and `clearClockEvent()` would sometimes mess up the list of events.
This could cause unexpected behavior when you have multiple timers running.
Also added regression tests for these methods.
|
|
This should improve performance, especially when running simulations with
multiple peripherals. For instance, the demo project now runs at ~322%,
up from ~185% in AVR8js 0.13.1.
BREAKING CHANGE: `tick()` methods were removed from individual peripherals.
You now need to call `cpu.tick()` instead.
|
|
|
|
|
|
We used their I/O space address intead of their data space address.
close #61
|
|
close #58
|
|
close #59
|
|
This makes the test code easier to follow
|
|
The Compare Match Output bits are used to generate hardware PWM signals on selected MCU pins. This is also the mechanism used by Arduino's analogWrite() method.
See #32 for more details
|
|
close #40
|
|
According to the datasheet, the value of the high byte of the counter for 16-bit timers (such as timer 1) is only updated when the low byte is being read/written.
close #37
|
|
close #39
|
|
adapt CALL, ICALL, RCALL, RET, and RETI for MCUs with 22-bit PC
|
|
|
|
|
|
Refactored the tests to use AVR assembly instead of hardcoded
bytecode.
This change should make the tests much easier to read and maintain.
Before:
loadProgram('659a');
Now:
loadProgram('SBI 0x0c, 5');
|
|
|