Add Gravitech Cucumber M, MS, R, and RS boards #5097
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I couldn't make edits on PR #4131, so this is a replacement. Many thanks to @cotdp for all of the prior work.
Functionally, these boards are identical to the Saola boards ("M" is WROOM and "R" is WROVER), except they have an added LED, and the "S" versions have I2C sensors onboard that lock down the pins for the default I2C. Form factor differs from Saola, and the Cucumbers have a second USB-C connector for the USB.
For this PR, I started with the Saola WROOM (for M and MS) and WROVER (for R and RS) files, customized for the Gravitech boards, bringing in some of the code from @cotdp's commits on #4131.
Tested the R build on a Cucumber R, and the RS build on a Cucumber RS.
Limited testing of the M and MS builds on a Saola WROOM board. I think it's low-risk to merge, easy enough to file an issue or PR later.
code.py
test results for the RS board:I'm open to adding more pin aliases, but it's not clear to me where to draw the line. The physical board uses only pin numbers, other than
TX
andRX
, on the silk and on the labeled pin headers. The pin headers are color-coded, and Gravitech docs, posted by @skieast #4131 (comment) map the color-codings to various pin aliases for touch, SPI, ADC, DAC, USB, and an additional UART. Some of this is somewhat arbitrary. Touch pins are fixed, ADC are fixed, DAC are fixed though one is used by the NeoPixel. I2C pins are arbitrary on the non-"S" boards. Theis_hardware_spi
sample code yields 44,100 possible pin combinations for hardware SPI.The current commit adds only the named aliases
LED
,NEOPIXEL
,TX
,RX
, andUART
on all 4 boards, andSCL
,SDA
, andI2C
, on the 2 "S" (sensor) boards. More pin aliases can be added easily if desired.