SlashDevin / NeoSWSerial

Efficient alternative to SoftwareSerial with attachInterrupt for RX chars, simultaneous RX & TX
169 stars 42 forks source link

Do not compile on ATMEGA328P at frequencies below 8MHz #53

Open caradag opened 1 year ago

caradag commented 1 year ago

While it compiles fine at 8MHz (internal oscillator) it fails at 4, 2 and 1 MHz. I'm using ATmega 328P with minicore. The errors I get are

`/home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp: In static member function 'static void NeoSWSerial::rxISR(uint8_t)': /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp:308:16: error: 'TCNTX' was not declared in this scope uint8_t t0 = TCNTX; // time of data transition (plus ISR latency) ^~~~~ /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp:308:16: note: suggested alternative: 'TCNT0' uint8_t t0 = TCNTX; // time of data transition (plus ISR latency) ^~~~~ TCNT0 /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp: In member function 'bool NeoSWSerial::checkRxTime()': /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp:383:28: error: 'TCNTX' was not declared in this scope uint8_t t0 = TCNTX; // now ^~~~~ /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp:383:28: note: suggested alternative: 'TCNT0' uint8_t t0 = TCNTX; // now ^~~~~ TCNT0 /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp: In member function 'virtual size_t NeoSWSerial::write(uint8_t)': /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp:536:18: error: 'TCNTX' was not declared in this scope uint8_t t0 = TCNTX; // start time ^~~~~ /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp:536:18: note: suggested alternative: 'TCNT0' uint8_t t0 = TCNTX; // start time ^~~~~ TCNT0 /home/camilo/Documents/sketchbook/libraries/NeoSWSerial/src/NeoSWSerial.cpp:561:13: error: 'PCI_FLAG_REGISTER' was not declared in this scope if (PCI_FLAG_REGISTER & PCIbit) { ^~~~~

exit status 1

Compilation error: exit status 1`