Skip to content

Commit

Permalink
Merge pull request #165 from bitcraze/rik/compatibility
Browse files Browse the repository at this point in the history
Update deck pin allocation table and compatibility matrix
  • Loading branch information
knmcguire authored Mar 1, 2024
2 parents 4accf60 + 81ed3ec commit 26dfd97
Showing 1 changed file with 36 additions and 34 deletions.
70 changes: 36 additions & 34 deletions src/documentation/system/platform/cf2-expansiondecks.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,23 +130,23 @@ bridges or 0 Ohm resistors and are thus alternative connections. The
idea is to make it possible to re-route a connection if you want to use
two decks where the connections collide.

| | UART1 | UART1 | I2C | I2C | STM32 IO | STM32 IO | STM32 IO | STM32 IO | UART2 | UART2 | SPI | SPI | SPI | nRF51 IO | nRF51 IO | |
| Name | RX1 | TX1 | SDA | SCL | IO1 | IO2 | IO3 | IO4 | TX2 | RX2 | SCK | MOSI | MISO | NIO1 | NIO2 | PWR |
|---------------------------------------------------|-------|-------|-------|-------|----------|--------------|----------|----------|-------|-------|-------|-------|-------|----------|----------|------|
| **{% poplink led-ring-deck %}** | | | | | | PWM | PWM | | | | | | | | | VCOM |
| **{% poplink qi-1-2-wireless-charging-deck %}** | | | | | | | | | | | | | | CHG | | N/A |
| **{% poplink sd-card-deck %}** | | | | | *(CS)* | *(CS)* | *(CS)* | CS | | | SCK | MOSI | MISO | | | VCC |
| **{% poplink loco-positioning-deck %}** | IRQ | RST | | | CS | *(IRQ)* | *(RST)* | | | | SCK | MOSI | MISO | | | VCOM |
| **{% poplink bigquad-deck %}** |*(RX1)*|*(TX1)*|*(SDA)*|*(SCL)*| | PWM | PWM | *(IO)* | PWM | PWM |*(ADC)*|*(ADC)*| *(IO)*| | | N/A |
| **{% poplink buzzer-deck %}** | | | | | | | | | PWM | PWM | | | | | | N/A |
| **{% poplink z-ranger-deck %}, Z-ranger deck V1** | | | SDA | SCL | |*(VL53_IO)* | | | | | | | | | | VCC |
| **{% poplink flow-deck %}, Flow deck V1** | | | SDA | SCL | |*(RST/MOT/IO)*| CS | | | | SCK | MOSI | MISO | | | VCC |
| **{% poplink multi-ranger-deck%}** | | | SDA | SCL | | | | | | | | | | | | VCOM |
| **{% poplink motion-capture-marker-deck %}** | | | | | |*(BTN/IO)* |*(BTN/IO)*| | | | | | | | | N/A |
| **{% poplink lighthouse-deck %}** | RX1 | TX1 |*(SDA)*|*(SCL)*| | | | | | | | | | | | N/A |
| **{% poplink active-marker-deck %}** | | | SDA | SCL | | | | | | | | | | | | N/A |
| **{% poplink ai-deck %}** |*(RX1)*|*(TX1)*| SDA | SCL | BOOT | | | RST |*(TX2)*|*(RX2)*| | | | | | VCOM |
|---------------------------------------------------|-------|-------|-------|-------|----------|--------------|----------|----------|-------|-------|-------|-------|-------|----------|----------|------|
| | UART1 | UART1 | I2C | I2C | STM32 IO | STM32 IO | STM32 IO | STM32 IO | UART2 | UART2 | SPI | SPI | SPI | nRF51 IO | nRF51 IO | |
| Name | RX1 | TX1 | SDA | SCL | IO1 | IO2 | IO3 | IO4 | TX2 | RX2 | SCK | MOSI | MISO | NIO1 | NIO2 | PWR |
|---------------------------------------------------|--------|-------|-------|-------|----------|--------------|----------|------------|-------|-------|-------|-------|-------|----------|----------|------|
| **{% poplink led-ring-deck %}** | | | | | | PWM | PWM | | | | | | | | | VCOM |
| **{% poplink qi-1-2-wireless-charging-deck %}** | | | | | | | | | | | | | | CHG | | N/A |
| **{% poplink sd-card-deck %}** |*(MISO)*|*(SCK)*| | | *(CS)* | *(CS)* | *(CS)* | CS/*(MOSI)*| | | SCK | MOSI | MISO | | | VCC |
| **{% poplink loco-positioning-deck %}** | IRQ | RST | | | CS | *(IRQ)* | *(RST)* | | | | SCK | MOSI | MISO | | | VCOM |
| **{% poplink bigquad-deck %}** |*(RX1)* |*(TX1)*|*(SDA)*|*(SCL)*| | PWM | PWM | *(IO)* | PWM | PWM |*(ADC)*|*(ADC)*| *(IO)*| | | N/A |
| **{% poplink buzzer-deck %}** | | | | | | | | | PWM | PWM | | | | | | N/A |
| **{% poplink z-ranger-deck %}, Z-ranger deck V1** | | | SDA | SCL | |*(VL53_IO)* | | | | | | | | | | VCC |
| **{% poplink flow-deck %}, Flow deck V1** | | | SDA | SCL | |*(RST/MOT/IO)*| CS | |*(RST)*|*(MOT)*| SCK | MOSI | MISO | | | VCC |
| **{% poplink multi-ranger-deck%}** | | | SDA | SCL | | | | | | | | | | | | VCOM |
| **{% poplink motion-capture-marker-deck %}** | | | | | |*(BTN/IO)* |*(BTN/IO)*| | | | | | | | | N/A |
| **{% poplink lighthouse-deck %}** | RX1 | TX1 |*(SDA)*|*(SCL)*| | | | | | | | | | | | N/A |
| **{% poplink active-marker-deck %}** | | | SDA | SCL | | | | | | | | | | | | N/A |
| **{% poplink ai-deck %}** | RX1 | TX1 | SDA | SCL | BOOT | | | RST | TX2 | RX2 | | | | | | VCOM |
|---------------------------------------------------|--------|-------|-------|-------|----------|--------------|----------|------------|-------|-------|-------|-------|-------|----------|----------|------|

Compatibility matrixes
----------------------
Expand Down Expand Up @@ -183,27 +183,29 @@ are normally physically blocking each other are marked as not
compatible.


| | {% poplink led-ring-deck %} | {% poplink qi-1-2-wireless-charging-deck %} | {% poplink sd-card-deck %} | {% poplink loco-positioning-deck %} | {% poplink bigquad-deck %} | {% poplink buzzer-deck %} | bcESP | {% poplink z-ranger-deck %}, Z-ranger V1 | {% poplink flow-deck %}, Flow deck V1 | {% poplink multi-ranger-deck%} | {% poplink motion-capture-marker-deck %} | {% poplink lighthouse-deck %} | {% poplink active-marker-deck %} | {% poplink ai-deck %} |
|----------------------------------------------------|----------|------------|----------|------------------|----------|--------|-------|----------|---------|--------------|-------------------|--------------|---------------|---------|
| **{% poplink led-ring-deck %}** | - | | yes | yes | | yes | yes | | | yes | yes | yes | yes | yes |
| **{% poplink qi-1-2-wireless-charging-deck %}** | | - | yes | yes | yes | yes | yes | | | yes | yes | yes | yes | yes |
| **{% poplink sd-card-deck %}** | yes | yes | - | yes *1 | yes | yes | yes | yes | yes *1 | yes | yes | yes | yes | *4 |
| **{% poplink loco-positioning-deck %}** | yes | yes | yes *1 | - | yes | yes | yes | yes | yes | yes | yes | *2 | yes | no*5 |
| **{% poplink bigquad-deck %}** | | yes | yes | yes | - | | | yes | | yes | yes | *2 | yes | yes |
| **{% poplink buzzer-deck %}** | yes | yes | yes | yes | | - | | yes | yes | yes | yes | yes | yes | yes |
| **{% poplink z-ranger-deck %}, Z-ranger V1** | | | yes | yes | yes | yes | yes | - | | yes | yes | yes | yes | yes |
| **{% poplink flow-deck %}, Flow deck V1** | | | yes *1 | yes | | yes | yes | | - | yes | yes | yes | yes | yes |
| **{% poplink multi-ranger-deck%}** | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | yes | yes | yes | yes |
| **{% poplink motion-capture-marker-deck %}** | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | yes | | yes |
| **{% poplink lighthouse-deck %}** | yes | yes | yes | *2 | *2 | yes | yes | yes | yes | yes | yes | - | | *3 |
| **{% poplink active-marker-deck %}** | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | | | - | yes |
| **{% poplink ai-deck %}** | yes | yes | *4 | no*5 | yes | yes | yes | yes | yes | yes | yes | *3 | yes | - |
|----------------------------------------------------|----------|------------|----------|------------------|----------|--------|-------|----------|---------|--------------|-------------------|--------------|---------------|---------|

| | {% poplink led-ring-deck %} | {% poplink qi-1-2-wireless-charging-deck %} | {% poplink sd-card-deck %} | {% poplink loco-positioning-deck %} | {% poplink bigquad-deck %} | {% poplink buzzer-deck %} | {% poplink z-ranger-deck %}, Z-ranger V1 | {% poplink flow-deck %}, Flow deck V1 | {% poplink multi-ranger-deck%} | {% poplink motion-capture-marker-deck %} | {% poplink lighthouse-deck %} | {% poplink active-marker-deck %} | {% poplink ai-deck %} |
|----------------------------------------------------|----------|------------|----------|------------------|----------|--------|----------|---------|--------------|-------------------|--------------|---------------|---------|
| **{% poplink led-ring-deck %}** | - | | yes | yes | | yes | | | yes | yes | yes | yes | yes |
| **{% poplink qi-1-2-wireless-charging-deck %}** | | - | yes | yes | yes | yes | | | yes | yes | yes | yes | yes |
| **{% poplink sd-card-deck %}** | yes | yes | - | yes *1 | yes | yes | yes | yes *1 | yes | yes | yes | yes | *4 |
| **{% poplink loco-positioning-deck %}** | yes | yes | yes *1 | - | yes | yes | yes | yes | yes | yes | *2 | yes | *5 |
| **{% poplink bigquad-deck %}** | | yes | yes | yes | - | | yes | | yes | yes | *2 | yes | *6 |
| **{% poplink buzzer-deck %}** | yes | yes | yes | yes | | - | yes | yes | yes | yes | yes | yes | *6 |
| **{% poplink z-ranger-deck %}, Z-ranger V1** | | | yes | yes | yes | yes | - | | yes | yes | yes | yes | yes |
| **{% poplink flow-deck %}, Flow deck V1** | | | yes *1 | yes | | yes | | - | yes | yes | yes | yes | yes |
| **{% poplink multi-ranger-deck%}** | yes | yes | yes | yes | yes | yes | yes | yes | - | yes | yes | yes | yes |
| **{% poplink motion-capture-marker-deck %}** | yes | yes | yes | yes | yes | yes | yes | yes | yes | - | yes | | yes |
| **{% poplink lighthouse-deck %}** | yes | yes | yes | *2 | *2 | yes | yes | yes | yes | yes | - | | *3 |
| **{% poplink active-marker-deck %}** | yes | yes | yes | yes | yes | yes | yes | yes | yes | | | - | yes |
| **{% poplink ai-deck %}** | yes | yes | *4 | *5 | *6 | *6 | yes | yes | yes | yes | *3 | yes | - |
|----------------------------------------------------|----------|------------|----------|------------------|----------|--------|----------|---------|--------------|-------------------|--------------|---------------|---------|

<!-- | led-ring | qi charg | sd-card | loco-positioning | bigquad | buzzer | z-ranger | flow | multi-ranger | mocap marker deck | lighthouse | active marker | ai-deck -->
**Notes:**

1. SPI sharing might limit the logging speed of the uSD-card deck.
2. Could be patched using soldering bridges or can be supported in the future, SW update
3. The GAP8 module is connected to UART1, so if that is enabled there will be conflicts
4. The Micro-SD deck and AI deck both use IO4, the Micro-SD deck needs to be patched to use another IO for Chip Select
5. With a patch or workaround it is possible
6. CPX uses UART2 to communicate with the ESP32 by default, if that is enabled there will be conflicts.

0 comments on commit 26dfd97

Please sign in to comment.