| Commit message (Collapse) | Author | Files | Lines | ||
|---|---|---|---|---|---|
| 2025-02-11 | chore(deps): upgrade prettier | Uri Shaked | 9 | -10/+35 | |
| reformat all code with the new prettier version | |||||
| 2025-02-11 | test: migrate tests from jest to vitest | Uri Shaked | 9 | -50/+59 | |
| 2023-01-05 | chore(deps): upgrade typescript, jest, eslint | Uri Shaked | 1 | -1/+1 | |
| also upgrade related dependencies: ts-node, ts-jest | |||||
| 2023-01-05 | chore: update copyright years | Uri Shaked | 1 | -1/+1 | |
| 2023-01-05 | fix(gpio): INT0 broken on ATtiny85 | Uri Shaked | 1 | -18/+21 | |
| make the ISCx0/ISCx1 bit offsets part of the `AVRExternalInterrupt` configuration object. | |||||
| 2022-05-17 | feat(usi): ATtiny85 USI implementation | Uri Shaked | 2 | -2/+129 | |
| 2022-03-22 | fix(timer): Phase Correct mode overruns #119 | Uri Shaked | 2 | -2/+67 | |
| 2022-02-21 | fix(timer): OCRH masking #117 | Uri Shaked | 2 | -3/+29 | |
| 2022-02-07 | test(watchdog): more robust tests | Uri Shaked | 1 | -0/+2 | |
| add assertions, fix #115 | |||||
| 2021-12-13 | fix(twi): fails on repeated start condition | Uri Shaked | 1 | -1/+12 | |
| reproduction: https://wokwi.com/arduino/projects/306115576172905024 minimal reproduction code: ```cpp #include <Wire.h> void setup() { Serial.begin(115200); Wire.begin(); Wire.beginTransmission(0x68); Wire.write( 0x3B); Wire.endTransmission( false); // <---- Fails after this auto n = Wire.requestFrom(0x68, 6); if (n == 6) { int16_t AcX = Wire.read() << 8 | Wire.read(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L) int16_t AcY = Wire.read() << 8 | Wire.read(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L) int16_t AcZ = Wire.read() << 8 | Wire.read(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L) Serial.print( "AcX = "); Serial.print( AcX); Serial.print( " | AcY = "); Serial.print( AcY); Serial.print( " | AcZ = "); Serial.print( AcZ); Serial.println(); } else { Serial.println( "--------- ERROR ---------"); } } void loop() {} ``` | |||||
| 2021-10-30 | feat(spi): add `onByte` callback | Uri Shaked | 2 | -19/+44 | |
| a more versatile alternative to the `onTransfer` callback. Depracate `onTransfer()`. | |||||
| 2021-10-29 | fix(timer): setting TCNT doesn't update OCRA #111 | Uri Shaked | 2 | -0/+44 | |
| 2021-10-24 | fix(eeprom): EEPROM interrupt not firing #110 | Uri Shaked | 2 | -3/+32 | |
| fix #110 | |||||
| 2021-10-22 | fix(spi): setting SPIE doesn't fire pending interrupt | Uri Shaked | 2 | -0/+25 | |
| 2021-10-07 | feat(timer): Force Output Compare (FOC) bits | Uri Shaked | 2 | -5/+98 | |
| 2021-09-14 | feat(timer): 3rd output compare (OCRnC) #96 | Uri Shaked | 2 | -13/+170 | |
| 2021-09-10 | feat(adc): ADC peripheral #13 | Uri Shaked | 2 | -0/+395 | |
| 2021-09-10 | feat(watchdog): implement watchdog timer #106 | Uri Shaked | 2 | -0/+344 | |
| 2021-09-07 | fix(gpio): CBI/SBI handling in writes to PIN register #103 | Uri Shaked | 2 | -2/+42 | |
| fix #103 | |||||
| 2021-08-15 | feat(timer): external timer support #97 | Uri Shaked | 4 | -93/+170 | |
| also refactor timer/GPIO interaction to be more generic. close #97 | |||||
| 2021-08-15 | chore(deps): prettier 2.3.2 | Uri Shaked | 1 | -16/+2 | |
| also reformat all the code with the new version | |||||
| 2021-08-13 | fix(gpio): timer outputs not reflected in PIN register #102 | Uri Shaked | 2 | -8/+22 | |
| fix #102 | |||||
| 2021-08-09 | fix(gpio): PWM may leaves pins in high state | Uri Shaked | 1 | -0/+1 | |
| Disabling PWM when a GPIO pin is high will cause the pin to get stuck in high state. | |||||
| 2021-08-07 | style(spi): remove redundant whitespace from comments | Uri Shaked | 1 | -2/+2 | |
| 2021-07-17 | feat(usart): add `immediate` parameter to writeByte() | Uri Shaked | 1 | -8/+12 | |
| The value will be available immediately to the user program instead of waiting one symbol time before making it available. | |||||
| 2021-07-16 | fix(usart): tx / rx complete timing | Uri Shaked | 1 | -1/+1 | |
| fix the calculation of cyclesPerChar, which is used to determine when a USART RX/TX operation is marked complete. | |||||
| 2021-07-15 | feat(usart): add configuration change event | Uri Shaked | 2 | -3/+95 | |
| also add `txEnable` and `rxEnable` properties | |||||
| 2021-07-07 | fix(timer): only set ICR hook for 16-bit timers | Uri Shaked | 1 | -3/+3 | |
| The ICR (Input Capture Register) only exists for 16-bit timers. | |||||
| 2021-07-07 | feat(gpio): external interrupt/PCINT support (#82) | Uri Shaked | 2 | -18/+450 | |
| close #70, #84 | |||||
| 2021-06-19 | fix(timer): Timer1 PWM issues #94 | Uri Shaked | 2 | -2/+24 | |
| close #94 | |||||
| 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 | 3 | -6/+97 | |
| 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 | 3 | -59/+325 | |
| 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 | fix(timer): Incorrect count when stopping a timer | Uri Shaked | 2 | -18/+41 | |
| fix #72 | |||||
| 2020-12-09 | perf!: centeral timekeeping | Uri Shaked | 10 | -211/+173 | |
| 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 | 10 | -89/+208 | |
| 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 | 2 | -0/+184 | |
| 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 | 1 | -1/+1 | |
| 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-02 | perf(timer): speed up interrupt handling | Uri Shaked | 1 | -1/+4 | |
