@@ -665,27 +665,23 @@ writePort(port, value, bitmask): Write an 8 bit port.
665
665
#define PIN_TO_PWM (p ) PIN_TO_DIGITAL(p)
666
666
#define PIN_TO_SERVO (p ) ((p) - 2)
667
667
668
- // Nucleo STM32F429
668
+ // STM32 based boards
669
669
#elif defined(STM32 )
670
- #define TOTAL_ANALOG_PINS MAX_ANALOG_IOS //7
671
- #define TOTAL_PINS MAX_DIGITAL_IOS //22 : All pins can be digital
672
- #define TOTAL_PORTS 3
670
+ #define TOTAL_ANALOG_PINS MAX_ANALOG_IOS
671
+ #define TOTAL_PINS MAX_DIGITAL_IOS
672
+ #define TOTAL_PORTS MAX_NB_PORT
673
673
#define VERSION_BLINK_PIN LED_BUILTIN
674
- #define PIN_SERIAL_RX 9
675
- #define PIN_SERIAL_TX 8
676
- #define PIN_SERIAL1_RX 0
677
- #define PIN_SERIAL1_TX 1
678
- #define PIN_SERIAL2_RX 8
679
- #define PIN_SERIAL2_TX 9
680
- #define IS_PIN_DIGITAL (p ) ((p) >= 2 && (p) < TOTAL_PINS)
681
- #define IS_PIN_ANALOG (p ) ((p) >= 16 && (p) < TOTAL_PINS)
682
- #define IS_PIN_PWM (p ) ((p) == 3 || (p) == 5 || (p) == 6 || (p) == 9 || (p) == 10 || (p) == 11)
683
- #define IS_PIN_SERVO (p ) IS_PIN_DIGITAL((p))
684
- #define IS_PIN_I2C (p ) ((p) == 14 || (p) == 15)
685
- #define IS_PIN_SPI (p ) ((p) == SS || (p) == MOSI || (p) == MISO || (p) == SCK)
686
- #define IS_PIN_SERIAL (p ) ((p) == 0 || (p) == 1)
674
+ // PIN_SERIALY_RX/TX defined in the variant.h
675
+ #define IS_PIN_DIGITAL (p ) ((p != PIN_SERIAL_RX) && (p != PIN_SERIAL_TX) &&(p < TOTAL_PINS))
676
+ #define IS_PIN_ANALOG (p ) (pin_in_pinmap(digitalToPinName(p), PinMap_ADC))
677
+ #define IS_PIN_PWM (p ) (pin_in_pinmap(digitalToPinName(p), PinMap_PWM))
678
+ #define IS_PIN_SERVO (p ) IS_PIN_DIGITAL(p)
679
+ #define IS_PIN_I2C (p ) (pin_in_pinmap(digitalToPinName(p), PinMap_I2C_SDA) || pin_in_pinmap(digitalToPinName(p), PinMap_I2C_SCL))
680
+ #define IS_PIN_SPI (p ) (pin_in_pinmap(digitalToPinName(p), PinMap_SPI_MOSI) || pin_in_pinmap(digitalToPinName(p), PinMap_SPI_MISO) ||\
681
+ pin_in_pinmap(digitalToPinName(p), PinMap_SPI_SCLK) || pin_in_pinmap(digitalToPinName(p), PinMap_SPI_SSEL))
682
+ #define IS_PIN_SERIAL (p ) (pin_in_pinmap(digitalToPinName(p), PinMap_UART_RX) || pin_in_pinmap(digitalToPinName(p), PinMap_UART_TX))
687
683
#define PIN_TO_DIGITAL (p ) (p)
688
- #define PIN_TO_ANALOG (p ) ((p) - 16 )
684
+ #define PIN_TO_ANALOG (p ) (p )
689
685
#define PIN_TO_PWM (p ) (p)
690
686
#define PIN_TO_SERVO (p ) (p)
691
687
0 commit comments