| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | refactor: central interrupt handling #38 | Uri Shaked | 2020-12-09 | 12 | -92/+285 |
| | | |||||
| * | test(cpu): improve test name | Uri Shaked | 2020-12-09 | 1 | -1/+1 |
| | | |||||
| * | fix(usart): respect the given baud rate #16 | Uri Shaked | 2020-11-27 | 2 | -54/+150 |
| | | | | | close #16 | ||||
| * | feat(clock): Clock Prescale (CLKPR) support #68 | Uri Shaked | 2020-11-25 | 3 | -0/+185 |
| | | | | | close #68 | ||||
| * | feat: Support for simulating ATtinyx5 (e.g. ATtiny85) timers #64 | Uri Shaked | 2020-11-14 | 2 | -12/+60 |
| | | | | | close #64 | ||||
| * | fix: AVRTimerConfig interface not exported #65 | Uri Shaked | 2020-11-14 | 2 | -2/+8 |
| | | | | | close #65 | ||||
| * | test(gpio): extract constants | Uri Shaked | 2020-10-07 | 1 | -26/+30 |
| | | |||||
| * | fix(gpio): Changing pinMode from `INPUT` to `INPUT_PULLUP` doesn't trigger ↵ | Uri Shaked | 2020-10-07 | 2 | -4/+13 |
| | | | | | | | listeners close #62 | ||||
| * | fix(cpu): incorrect address for RAMPZ / EIND | Uri Shaked | 2020-09-30 | 2 | -8/+8 |
| | | | | | | | We used their I/O space address intead of their data space address. close #61 | ||||
| * | perf(timer): speed up interrupt handling | Uri Shaked | 2020-09-02 | 1 | -1/+4 |
| | | |||||
| * | perf(timer): improve timer speed | Uri Shaked | 2020-09-02 | 2 | -11/+17 |
| | | | | | cache the value of the clock divider | ||||
| * | fix(interrupt): broken on ATmega2560 | Uri Shaked | 2020-09-02 | 2 | -1/+23 |
| | | | | | close #58 | ||||
| * | fix(instruction): EICALL is broken | Uri Shaked | 2020-09-02 | 2 | -1/+3 |
| | | | | | close #59 | ||||
| * | style(spi): remove redundant eslint comments | Uri Shaked | 2020-08-22 | 1 | -2/+0 |
| | | |||||
| * | feat(spi): implement SPI master #33 | Uri Shaked | 2020-08-22 | 4 | -1/+368 |
| | | | | | close #33 | ||||
| * | test(eeprom): remove useless line | Uri Shaked | 2020-08-22 | 1 | -1/+0 |
| | | |||||
| * | fix(timer): keeps counting even when stopped #41 | Uri Shaked | 2020-08-01 | 2 | -36/+51 |
| | | |||||
| * | test(timer): use TestProgramRunner | Uri Shaked | 2020-08-01 | 3 | -135/+128 |
| | | |||||
| * | fix(eeprom): EEPROM write fails after first attempt | Uri Shaked | 2020-07-16 | 2 | -1/+33 |
| | | | | | close #54 | ||||
| * | feat(eeprom): implement EEPROM peripheral | Uri Shaked | 2020-07-16 | 6 | -42/+408 |
| | | | | | close #15 | ||||
| * | test(timer): remove stray console.log | Uri Shaked | 2020-07-16 | 1 | -1/+0 |
| | | |||||
| * | test(twi): extract constants | Uri Shaked | 2020-07-16 | 1 | -31/+46 |
| | | | | | This makes the test code more readable | ||||
| * | fix(usart): bitsPerChar looking at the wrong register | Uri Shaked | 2020-07-09 | 2 | -7/+10 |
| | | | | | close #52 | ||||
| * | fix(usart): TXC interrupt triggered incorrectly | Uri Shaked | 2020-07-09 | 2 | -4/+18 |
| | | | | | close #51 | ||||
| * | test(usart): extract constants | Uri Shaked | 2020-07-09 | 1 | -49/+68 |
| | | | | | This makes the test code easier to read | ||||
| * | test(instruction): extract constants | Uri Shaked | 2020-06-04 | 1 | -238/+274 |
| | | | | | This makes the test code easier to follow | ||||
| * | test(timer): extract constants | Uri Shaked | 2020-05-30 | 1 | -133/+185 |
| | | | | | This makes the test code easier to follow | ||||
| * | fix(gpio): port state not updated on DDR write | Uri Shaked | 2020-05-29 | 2 | -0/+15 |
| | | | | | | | Calling `pinState()` inside a GPIO port listener returns incorrect values after changing DDR close #47 | ||||
| * | perf(timer): improve tick() performance | Uri Shaked | 2020-05-25 | 1 | -3/+4 |
| | | | | | reduce the number of calls to TIFR/TIMSK getters | ||||
| * | feat(timer): Compare Match Output (#45) | Uri Shaked | 2020-05-25 | 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 | ||||
| * | feat(gpio): add setPin() function | Uri Shaked | 2020-05-10 | 2 | -0/+43 |
| | | | | | close #26 | ||||
| * | fix(timer): stop Timer 2 when all CS bits are 0 | Uri Shaked | 2020-05-04 | 1 | -1/+1 |
| | | | | | close #44 | ||||
| * | fix(timer): Reading TCNT in 2-cycle instructions | Uri Shaked | 2020-04-29 | 3 | -16/+35 |
| | | | | | close #40 | ||||
| * | fix(timer): incorrect high counter byte behavior | Uri Shaked | 2020-04-28 | 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 | ||||
| * | fix(instruction): LD, ST instructions should take 2 clock cycles | Uri Shaked | 2020-04-28 | 2 | -20/+33 |
| | | | | | close #39 | ||||
| * | style: reformat code with prettier 2.x | Uri Shaked | 2020-04-27 | 9 | -34/+34 |
| | | | | | prettier rules have changed since we upgraded to 2.x | ||||
| * | fix(timer): Timer value should not increment on the same cycle as TCNTn write | Uri Shaked | 2020-04-27 | 2 | -2/+48 |
| | | | | | close #36 | ||||
| * | test(timer): add more 16-bit timer tests | Uri Shaked | 2020-04-12 | 2 | -13/+56 |
| | | | | | also fix some issues found by @gfeun and the tests | ||||
| * | feat(timer): implement 16-bit timers | Uri Shaked | 2020-04-12 | 2 | -24/+148 |
| | | | | | e.g. Timer/Counter1 on ATmega328 | ||||
| * | feat(instruction): 22-bit PC support #31 | Uri Shaked | 2020-04-09 | 4 | -20/+120 |
| | | | | | adapt CALL, ICALL, RCALL, RET, and RETI for MCUs with 22-bit PC | ||||
| * | feat(instruction): implement EICALL, EIJMP #31 | Uri Shaked | 2020-04-09 | 2 | -0/+38 |
| | | |||||
| * | feat(instruction): implement ELPM #31 | Uri Shaked | 2020-04-08 | 2 | -0/+71 |
| | | |||||
| * | fix: GPIO port listeners not invoked when writing to DDR registers | Uri Shaked | 2020-04-02 | 2 | -3/+17 |
| | | | | | close #28 | ||||
| * | test(instruction): use assembly in tests | Uri Shaked | 2020-04-02 | 1 | -89/+91 |
| | | | | | | | | | | | | | 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'); | ||||
| * | refactor: added peripherals and cpu feature folders | lironh | 2020-03-22 | 15 | -25/+25 |
| | | |||||
| * | style(cpu): relocate some stray comments | Uri Shaked | 2020-03-18 | 1 | -4/+4 |
| | | |||||
| * | Move first comment inside function | gfeun | 2020-03-18 | 1 | -1/+1 |
| | | |||||
| * | Optimize opcode check | gfeun | 2020-03-18 | 1 | -372/+186 |
| | | |||||
| * | feat(twi): proper interrupt support #10 | Uri Shaked | 2020-02-03 | 2 | -5/+20 |
| | | |||||
| * | test(twi): add master TWI receive test #10 | Uri Shaked | 2020-02-03 | 1 | -1/+175 |
| | | |||||
