| Commit message (Collapse) | Author | Files | Lines | ||
|---|---|---|---|---|---|
| 2021-04-15 | fix(twi): broken repeated start #91 | Uri Shaked | 2 | -1/+26 | |
| fix #91 | |||||
| 2021-02-19 | feat(usart): implement RX #11 | Uri Shaked | 4 | -7/+99 | |
| close #11 | |||||
| 2021-01-02 | fix: typo in parameter name | Uri Shaked | 3 | -6/+6 | |
| freqMHz → freqHz in SPI, TWI, and USART: they all expect the frequency in hertz, not mega-hertz. | |||||
| 2020-12-29 | fix(timer): delay() is inaccurate #81 | Uri Shaked | 2 | -21/+26 | |
| fix #81 | |||||
| 2020-12-27 | fix(timer): Output Compare in PWM modes #78 | Uri Shaked | 6 | -67/+353 | |
| close #78 | |||||
| 2020-12-26 | fix(timer): Overflow interrupt fires twice #80 | Uri Shaked | 2 | -7/+45 | |
| fix #80 | |||||
| 2020-12-25 | fix(timer): Output Compare sometimes misses Compare Match #79 | Uri Shaked | 2 | -6/+45 | |
| fix #79 | |||||
| 2020-12-21 | fix(timer): Output Compare issue #74 | Uri Shaked | 2 | -10/+28 | |
| output compare doesn't work when the OCR register (OCRnA/OCRnB) equals to 0 fix #74 | |||||
| 2020-12-20 | fix(timer): TOV flag does not update correctly #75 | Uri Shaked | 2 | -20/+56 | |
| fix #75 | |||||
| 2020-12-20 | fix(timer): OCR values should be buffered #76 | Uri Shaked | 2 | -11/+125 | |
| fix #76 | |||||
| 2020-12-12 | perf(cpu): speed up event system | Uri Shaked | 2 | -18/+59 | |
| ditch `array.sort()` and instead manually keep the array sorted when we insert a new item. | |||||
| 2020-12-12 | test(cpu): fix implicit any error | Uri Shaked | 1 | -3/+5 | |
| 2020-12-12 | fix(cpu): event system issue | Uri Shaked | 2 | -2/+63 | |
| `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. | |||||
| 2020-12-12 | fix(timer): Incorrect count when stopping a timer | Uri Shaked | 2 | -18/+41 | |
| fix #72 | |||||
| 2020-12-09 | perf!: centeral timekeeping | Uri Shaked | 12 | -221/+222 | |
| 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. | |||||
| 2020-12-09 | refactor: central interrupt handling #38 | Uri Shaked | 12 | -92/+285 | |
| 2020-12-09 | test(cpu): improve test name | Uri Shaked | 1 | -1/+1 | |
| 2020-11-27 | fix(usart): respect the given baud rate #16 | Uri Shaked | 2 | -54/+150 | |
| close #16 | |||||
| 2020-11-25 | feat(clock): Clock Prescale (CLKPR) support #68 | Uri Shaked | 3 | -0/+185 | |
| close #68 | |||||
| 2020-11-14 | feat: Support for simulating ATtinyx5 (e.g. ATtiny85) timers #64 | Uri Shaked | 2 | -12/+60 | |
| close #64 | |||||
| 2020-11-14 | fix: AVRTimerConfig interface not exported #65 | Uri Shaked | 2 | -2/+8 | |
| close #65 | |||||
| 2020-10-07 | test(gpio): extract constants | Uri Shaked | 1 | -26/+30 | |
| 2020-10-07 | fix(gpio): Changing pinMode from `INPUT` to `INPUT_PULLUP` doesn't trigger ↵ | Uri Shaked | 2 | -4/+13 | |
| listeners close #62 | |||||
| 2020-09-30 | fix(cpu): incorrect address for RAMPZ / EIND | Uri Shaked | 2 | -8/+8 | |
| We used their I/O space address intead of their data space address. close #61 | |||||
| 2020-09-02 | perf(timer): speed up interrupt handling | Uri Shaked | 1 | -1/+4 | |
| 2020-09-02 | perf(timer): improve timer speed | Uri Shaked | 2 | -11/+17 | |
| cache the value of the clock divider | |||||
| 2020-09-02 | fix(interrupt): broken on ATmega2560 | Uri Shaked | 2 | -1/+23 | |
| close #58 | |||||
| 2020-09-02 | fix(instruction): EICALL is broken | Uri Shaked | 2 | -1/+3 | |
| close #59 | |||||
| 2020-08-22 | style(spi): remove redundant eslint comments | Uri Shaked | 1 | -2/+0 | |
| 2020-08-22 | feat(spi): implement SPI master #33 | Uri Shaked | 4 | -1/+368 | |
| close #33 | |||||
| 2020-08-22 | test(eeprom): remove useless line | Uri Shaked | 1 | -1/+0 | |
| 2020-08-01 | fix(timer): keeps counting even when stopped #41 | Uri Shaked | 2 | -36/+51 | |
| 2020-08-01 | test(timer): use TestProgramRunner | Uri Shaked | 3 | -135/+128 | |
| 2020-07-16 | fix(eeprom): EEPROM write fails after first attempt | Uri Shaked | 2 | -1/+33 | |
| close #54 | |||||
| 2020-07-16 | feat(eeprom): implement EEPROM peripheral | Uri Shaked | 6 | -42/+408 | |
| close #15 | |||||
| 2020-07-16 | test(timer): remove stray console.log | Uri Shaked | 1 | -1/+0 | |
| 2020-07-16 | test(twi): extract constants | Uri Shaked | 1 | -31/+46 | |
| This makes the test code more readable | |||||
| 2020-07-09 | fix(usart): bitsPerChar looking at the wrong register | Uri Shaked | 2 | -7/+10 | |
| close #52 | |||||
| 2020-07-09 | fix(usart): TXC interrupt triggered incorrectly | Uri Shaked | 2 | -4/+18 | |
| close #51 | |||||
| 2020-07-09 | test(usart): extract constants | Uri Shaked | 1 | -49/+68 | |
| This makes the test code easier to read | |||||
| 2020-06-04 | test(instruction): extract constants | Uri Shaked | 1 | -238/+274 | |
| This makes the test code easier to follow | |||||
| 2020-05-30 | test(timer): extract constants | Uri Shaked | 1 | -133/+185 | |
| This makes the test code easier to follow | |||||
| 2020-05-29 | fix(gpio): port state not updated on DDR write | Uri Shaked | 2 | -0/+15 | |
| Calling `pinState()` inside a GPIO port listener returns incorrect values after changing DDR close #47 | |||||
| 2020-05-25 | perf(timer): improve tick() performance | Uri Shaked | 1 | -3/+4 | |
| reduce the number of calls to TIFR/TIMSK getters | |||||
| 2020-05-25 | feat(timer): Compare Match Output (#45) | Uri Shaked | 4 | -57/+342 | |
| 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 | |||||
| 2020-05-10 | feat(gpio): add setPin() function | Uri Shaked | 2 | -0/+43 | |
| close #26 | |||||
| 2020-05-04 | fix(timer): stop Timer 2 when all CS bits are 0 | Uri Shaked | 1 | -1/+1 | |
| close #44 | |||||
| 2020-04-29 | fix(timer): Reading TCNT in 2-cycle instructions | Uri Shaked | 3 | -16/+35 | |
| close #40 | |||||
| 2020-04-28 | fix(timer): incorrect high counter byte behavior | Uri Shaked | 3 | -46/+97 | |
| 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 | |||||
| 2020-04-28 | fix(instruction): LD, ST instructions should take 2 clock cycles | Uri Shaked | 2 | -20/+33 | |
| close #39 | |||||
