boards/microduino-corerf: Initial support#12411
Conversation
684edeb to
f3a411c
Compare
maribu
left a comment
There was a problem hiding this comment.
Code-wise this looks fine to me. Just ordered two boards so that I can test. I guess this has to wait until the end of the soft feature freeze anyway, so hopefully the boards arrive soon and testing will not add additional delay.
6d13814 to
59fbf0e
Compare
maribu
left a comment
There was a problem hiding this comment.
Works as expected :-) Let me check that moving the CPU-ID to atmega_common does not have any unexpected side affects on the other ATmegas. Then I'll ACK
6b6e0ad to
4763fce
Compare
|
OK, the Arduino-Mega2560 still works fine. The test in |
|
I'll still need to update some |
4763fce to
28fc0c2
Compare
|
I added the board to the Are you fine with those? Than I'll squash again. |
|
Yes. please squash again. I'd like to test one final time before merging. (@maribu: Note to myself: Add |
c62af55 to
df5978d
Compare
Both atmega128rfa1 and atmega256rfr2 implement it.
GPIO_UNDEF is already defined in periph_cpu_common.h, so the redefinition is never used.
This prevents a conflict with an unrelated Atmel header file.
The SLEEP define collides with an Atmel header file. Rename the define to resolve the conflict.
df5978d to
e245fd3
Compare
|
Rebased now that #12484 is merged. This would generate fresh Merging the |
f4e8fea to
a5bf856
Compare
a5bf856 to
c01eae3
Compare
maribu
left a comment
There was a problem hiding this comment.
ACK. Feel free to hit the merge button in order to reduce the chance of a new merge conflict popping up.
|
The very second I wrote this, Murdock passed 🤣 |
|
Thank you for the review! |
|
Two. I figured I sooner or later someone should test the driver for the 802.15.4 transceiver, and that will be more fun with two devices. (Even though I also have other boards with radios that should be compatible over the air.) |
|
They were needed to resolve name conflicts |
|
The commit messages also document this. So the commit were required to resolve compilation issues, relevant for this PR (as they resolve compilation issues), reasonable (only internal defines are changes and the bew names make sense) and properly documented (the commit messages are right to the point). |
|
Indeed, I missed the detailed part of the commit messages. At first sight, this was surprising. |
Contribution description
The Microduino CoreRF is an inexpensive breakout board for the ATmega128RFA1 MCU.
The ATmega128RFA1 is the predecessor of the ATmega256RFR2. The ATmega256/128/64RFR2 data sheet says
Further search in the data sheet shows that the incompatibilities only concern different ADC characteristics.
Testing procedure
The board itself is rather spartan. It only provides a reset button and a non-controllable power LED.
The RX/TX pins have to be connected to a user-provided serial adapter to provide a UART interface.
Flashing
The board comes pre-flashed with an Arduino compatible bootloader, but I managed to delete it.
I've then spent way too much time trying to re-flash it (especially since most instructions call for a special capacitor on the reset line) until I discovered that flashing works remarkably well with a FT232H USB dongle I happened to have - no extra components needed.
All guides on how to re-flash the Arduino bootloader recommend using the Arduino IDE - which does not seem to support the FT232H dongle.
Since it works well with plain
avrdudeI decided not to bother with the bootloader and instead enjoy the additional ROM space.If required, I can see how I can restore the bootloader and flash using that.
Tests
Since the board is basically just a plain Atmega MCU, I just checked if stdio and timers work.
For this I flashed
examples/default,tests/xtimer_msgandtests/xtimer_drift- they all behaved as expected.I did not test the radio yet.
Issues/PRs references
#9172 will add support for the radio