mbed support for the Maple Mini boards.

Dependents:   MapleMini_USBSerial MapleMiniPeripherals MapleMini_Hello DHT11_USBSerial ... more

Revision:
2:83926b51ca68
Parent:
0:0ced269d2669
Child:
3:f0b2ddbf8ba6
--- a/PinNames.h	Tue Aug 02 20:04:31 2016 +0000
+++ b/PinNames.h	Sun Oct 09 09:26:45 2016 +0000
@@ -39,11 +39,22 @@
 extern "C" {
 #endif
 
-// See stm32f3xx_hal_gpio.h and stm32f3xx_hal_gpio_ex.h for values of MODE, PUPD and AFNUM
-#define STM_PIN_DATA(MODE, PUPD, AFNUM)  ((int)(((AFNUM) << 7) | ((PUPD) << 4) | ((MODE) << 0)))
+#define STM_PIN_DATA(MODE, PUPD, AFNUM)  ((int)(((MODE  & 0x0F) << 0) |\
+                                                ((PUPD  & 0x07) << 4) |\
+                                                ((AFNUM & 0x0F) << 7)))
+
+#define STM_PIN_DATA_EXT(MODE, PUPD, AFNUM, CHANNEL, INVERTED)  ((int)(((MODE     & 0x0F) <<  0) |\
+                                                                       ((PUPD     & 0x07) <<  4) |\
+                                                                       ((AFNUM    & 0x0F) <<  7) |\
+                                                                       ((CHANNEL  & 0x0F) << 11) |\
+                                                                       ((INVERTED & 0x01) << 15)))
+
 #define STM_PIN_MODE(X)   (((X) >> 0) & 0x0F)
 #define STM_PIN_PUPD(X)   (((X) >> 4) & 0x07)
 #define STM_PIN_AFNUM(X)  (((X) >> 7) & 0x0F)
+#define STM_PIN_CHANNEL(X)  (((X) >> 11) & 0x0F)
+#define STM_PIN_INVERTED(X) (((X) >> 15) & 0x01)
+
 #define STM_MODE_INPUT              (0)
 #define STM_MODE_OUTPUT_PP          (1)
 #define STM_MODE_OUTPUT_OD          (2)
@@ -69,6 +80,9 @@
 } PinDirection;
 
 typedef enum {
+    // Not connected
+    NC = (int)0xFFFFFFFF,
+
     PA_0  = 0x00,
     PA_1  = 0x01,
     PA_2  = 0x02,
@@ -103,15 +117,32 @@
     PB_14 = 0x1E,
     PB_15 = 0x1F,
 
+    PC_0  = NC,
+    PC_1  = NC,
+    PC_2  = NC,
+    PC_3  = NC,
+    PC_4  = NC,
+    PC_5  = NC,
+    PC_6  = NC,
+    PC_7  = NC,
+    PC_8  = NC,
+    PC_9  = NC,
+    PC_10 = NC,
+    PC_11 = NC,
+    PC_12 = NC,
     PC_13 = 0x2D,
     PC_14 = 0x2E,
     PC_15 = 0x2F,
 
+    PD_2  = NC,
+
     // Arduino connector namings
     A0          = PA_0,
     A1          = PA_1,
     A2          = PA_4,
     A3          = PB_0,
+    A4          = NC,
+    A5          = NC,
     D0          = PA_3,
     D1          = PA_2,
     D2          = PA_10,
@@ -121,6 +152,7 @@
     D6          = PB_10,
     D7          = PA_8,
     D8          = PA_9,
+    D9          = NC,
     D10         = PB_6,
     D11         = PA_7,
     D12         = PA_6,
@@ -141,10 +173,8 @@
     SPI_MISO    = PA_6,
     SPI_SCK     = PA_5,
     SPI_CS      = PB_6,
-    PWM_OUT     = PB_3,
+    PWM_OUT     = PB_3
 
-    // Not connected
-    NC = (int)0xFFFFFFFF
 } PinName;
 
 typedef enum {