pilight-usb-nano
pilight-usb-nano copied to clipboard
Arduino IDE compatible
Hi.
I want to share the Arduino compatible version of "pilight-usb-nano" firmware. The sketch is ready to use with standard Arduino IDE and runs on any Arduino compatible board.
The original main code hardly changes, it is essentially the same, so the operation will be practically the same as the original, maybe with greater accuracy. Only the power saving settings have been removed as they are not very useful on a USB powered device.
I added a GitHub Action to ensure it compiles correctly on different platforms like as AVR, SAM boards (32-bit ARM Cortex-M3), SAMD boards (32-bit ARM Cortex-M0+), and ESP8266. https://github.com/latchdevel/pilight-usb-nano/actions/workflows/CompileTests.yml
I think it is more useful and easier to use than the current version. I hope it can merge to master branch. Let me know if you need any additional explanation or any changes are necessary.
Best regards.
Always great if someone has the guts to do things completely different 👍
Before giving a opinion on the changes, can you add a proper diff between the two versions?
Its operation is the same, all the original features have been implemented and the new additions have been left as optional. But there are important differences between the two firmware implementations:
MCU / Board:
- The previous version requires a MCU AVR ATmega328p at 16Mhz.
- The new version can work on any compatible MCU / Arduino board, this is almost any MCU at almost any clock speed.
Compiler / Uploader:
- The previous version requires building the firmware from the command line, in addition to the flasher program, so it is necessary to install several software packages (or have knowledge of AVR Studio or other professional development and flasher tools).
- The new version can be built with the Arduino IDE and flashed on any board with just one "click".
I think these changes warrant a major version update after 6 years. So I switched to version 2, but it really works the same (or just a little better), so it may not be correct.
The new version can work on any compatible MCU / Arduino board, this is almost any MCU at almost any clock speed.
With what tests have you confirmed this statement?