Navigation Menu

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Gravitech Cucumber M, MS, R, and RS boards #5097

Merged
merged 4 commits into from Aug 5, 2021
Merged

Add Gravitech Cucumber M, MS, R, and RS boards #5097

merged 4 commits into from Aug 5, 2021

Conversation

anecdata
Copy link
Member

@anecdata anecdata commented Aug 5, 2021

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:

MCU Gravitech Cucumber RS with ESP32S2
VER 7.0.0-alpha.5-98-g3ec3e7081-dirty on 2021-08-04
MEM 2043408
IDF TOT   155748
IDF FREE  131004
IDF LARG  65536
Sleep Memory: 4096
CIRPY83RIS / (512, 512, 1881, 869, 869, 0, 0, 0, 0, 255)
NVM: 20480
I2C addresses: 0x5f 0x68 0x76 

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 and RX, 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. The is_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, and UART on all 4 boards, and SCL, SDA, and I2C, on the 2 "S" (sensor) boards. More pin aliases can be added easily if desired.

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Thank you!

@tannewt tannewt merged commit 00b617c into adafruit:main Aug 5, 2021
@anecdata anecdata deleted the cucumber branch August 12, 2021 03:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants