Mbed OS and Pelion Device Management example over WIFI for DISCO_L475VG_IOT01 board

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

DEPRECATED

This example application is not maintained and not recommended. It uses an old version of Mbed OS, Pelion DM and Arm toolchain. It doesn't work with Mbed Studio.

Please use: https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-pelion/

This example is known to work on the following platforms:

DISCO_L475E_IOT01A

Follow the Quick-Start instructions: https://cloud.mbed.com/quick-start

Example functionality

This example showcases the following device functionality:

  • Read onboard temperature and humidity sensors, and report them as Pelion LWM2M resources (see image below).
  • On user button click, increment Pelion LWM2M button resource.
  • Allow the user to change the state of the board LED from Pelion LWM2M led_state resource and PUT request.
  • Uses all onboard sensors and reports them as Pelion LWM2M resources.

/media/uploads/screamer/pelion_st_humidity_reading.png?v=2

Use this example with Mbed CLI

1. Import the application into your desktop:

mbed import https://os.mbed.com/teams/ST/code/pelion-example-disco-iot01

cd pelion-example-disco-iot01

2. Install the CLOUD_SDK_API_KEY

mbed config -G CLOUD_SDK_API_KEY <PELION_DM_API_KEY>

For instructions on how to generate your API key, please see the documentation.

3. Initialize firmware credentials (done once per repository). You can use the following command:

mbed dm init -d "<your company name in Pelion DM>" --model-name "<product model identifier>" -q --force

If above command do not work for your Mbed CLI, please consider upgrading Mbed CLI to version 1.8.x or above.

4. Compile and program:

mbed compile -t <toolchain> -m DISCO_L475VG_IOT01A

(supported toolchains : GCC_ARM / ARM / IAR)

5. You can connect on a virtual terminal/COM port to the platform using:

mbed sterm -b 115200

This should give you an output similar to:

[BOOT] Mbed Bootloader
[BOOT] ARM: 00000000000000000000
[BOOT] OEM: 00000000000000000000
[BOOT] Layout: 0 80096F4
[BOOT] Active firmware integrity check:
[BOOT] SHA256: 0660E360D432225D5251461998FD8617B017098C5F1F90D5FB607BF8C27ED530
[BOOT] Version: 1553615309
[BOOT] Slot 0 is empty
[BOOT] Active firmware up-to-date
[BOOT] Application's start address: 0x8010400
[BOOT] Application's jump address: 0x8011041
[BOOT] Application's stack address: 0x20018000
[BOOT] Forwarding to application...

Starting Simple Pelion Device Management Client example
You can hold the user button during boot to format the storage and change the device identity.

Sensors configuration:
Invalid new address!
HTS221  humidity & temperature    = 0xBC
LPS22HB pressure & temperature    = 0xB1
LIS3MDL magnetometer              = 0x3D
LSM6DSL accelerometer & gyroscope = 0x6A

Connecting to the network using Wifi...
Connected to the network successfully. IP address: 192.168.1.3
Initializing Pelion Device Management Client...
Initialized Pelion Client. Registering...
Registered to Pelion Device Management. Endpoint Name: 0169********************001002d5

ADC temp:     23.0037 C,  vref:      0.3661 V
HTS221 temp:   28.700 C,  humidity:   31.90 %
LPS22HB temp:  29.600 C,  pressure: 1032.01 mbar
LIS3MDL mag:    0.217 x,  -0.284 y,  -0.053 z [gauss]
LSM6DSL acc:    0.005 x,  -0.014 y,   1.029 z [g]
LSM6DSL gyro:   0.910 x,  -0.910 y,   1.120 z [dps]
VL53L0X dist:    1855 mm
Committer:
screamer
Date:
Sat Mar 09 00:46:54 2019 +0000
Revision:
30:15743b79c6cb
Update to Mbed OS 5.11.5 and latest ISM43362 driver

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 30:15743b79c6cb 1 /* mbed Microcontroller Library
screamer 30:15743b79c6cb 2
screamer 30:15743b79c6cb 3 * SPDX-License-Identifier: BSD-3-Clause
screamer 30:15743b79c6cb 4 *******************************************************************************
screamer 30:15743b79c6cb 5 * Copyright (c) 2018, STMicroelectronics
screamer 30:15743b79c6cb 6 * All rights reserved.
screamer 30:15743b79c6cb 7 *
screamer 30:15743b79c6cb 8 * Redistribution and use in source and binary forms, with or without
screamer 30:15743b79c6cb 9 * modification, are permitted provided that the following conditions are met:
screamer 30:15743b79c6cb 10 *
screamer 30:15743b79c6cb 11 * 1. Redistributions of source code must retain the above copyright notice,
screamer 30:15743b79c6cb 12 * this list of conditions and the following disclaimer.
screamer 30:15743b79c6cb 13 * 2. Redistributions in binary form must reproduce the above copyright notice,
screamer 30:15743b79c6cb 14 * this list of conditions and the following disclaimer in the documentation
screamer 30:15743b79c6cb 15 * and/or other materials provided with the distribution.
screamer 30:15743b79c6cb 16 * 3. Neither the name of STMicroelectronics nor the names of its contributors
screamer 30:15743b79c6cb 17 * may be used to endorse or promote products derived from this software
screamer 30:15743b79c6cb 18 * without specific prior written permission.
screamer 30:15743b79c6cb 19 *
screamer 30:15743b79c6cb 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
screamer 30:15743b79c6cb 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
screamer 30:15743b79c6cb 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
screamer 30:15743b79c6cb 23 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
screamer 30:15743b79c6cb 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
screamer 30:15743b79c6cb 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
screamer 30:15743b79c6cb 26 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
screamer 30:15743b79c6cb 27 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
screamer 30:15743b79c6cb 28 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
screamer 30:15743b79c6cb 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
screamer 30:15743b79c6cb 30 *******************************************************************************
screamer 30:15743b79c6cb 31 */
screamer 30:15743b79c6cb 32
screamer 30:15743b79c6cb 33 #ifndef MBED_PINNAMES_H
screamer 30:15743b79c6cb 34 #define MBED_PINNAMES_H
screamer 30:15743b79c6cb 35
screamer 30:15743b79c6cb 36 #include "cmsis.h"
screamer 30:15743b79c6cb 37 #include "PinNamesTypes.h"
screamer 30:15743b79c6cb 38
screamer 30:15743b79c6cb 39 #ifdef __cplusplus
screamer 30:15743b79c6cb 40 extern "C" {
screamer 30:15743b79c6cb 41 #endif
screamer 30:15743b79c6cb 42
screamer 30:15743b79c6cb 43 typedef enum {
screamer 30:15743b79c6cb 44 ALT0 = 0x100,
screamer 30:15743b79c6cb 45 ALT1 = 0x200,
screamer 30:15743b79c6cb 46 ALT2 = 0x300,
screamer 30:15743b79c6cb 47 ALT3 = 0x400
screamer 30:15743b79c6cb 48 } ALTx;
screamer 30:15743b79c6cb 49
screamer 30:15743b79c6cb 50 typedef enum {
screamer 30:15743b79c6cb 51 PA_0 = 0x00,
screamer 30:15743b79c6cb 52 PA_0_ALT0 = PA_0 | ALT0,
screamer 30:15743b79c6cb 53 PA_1 = 0x01,
screamer 30:15743b79c6cb 54 PA_1_ALT0 = PA_1 | ALT0,
screamer 30:15743b79c6cb 55 PA_2 = 0x02,
screamer 30:15743b79c6cb 56 PA_2_ALT0 = PA_2 | ALT0,
screamer 30:15743b79c6cb 57 PA_3 = 0x03,
screamer 30:15743b79c6cb 58 PA_3_ALT0 = PA_3 | ALT0,
screamer 30:15743b79c6cb 59 PA_4 = 0x04,
screamer 30:15743b79c6cb 60 PA_4_ALT0 = PA_4 | ALT0,
screamer 30:15743b79c6cb 61 PA_5 = 0x05,
screamer 30:15743b79c6cb 62 PA_5_ALT0 = PA_5 | ALT0,
screamer 30:15743b79c6cb 63 PA_6 = 0x06,
screamer 30:15743b79c6cb 64 PA_6_ALT0 = PA_6 | ALT0,
screamer 30:15743b79c6cb 65 PA_7 = 0x07,
screamer 30:15743b79c6cb 66 PA_7_ALT0 = PA_7 | ALT0,
screamer 30:15743b79c6cb 67 PA_7_ALT1 = PA_7 | ALT1,
screamer 30:15743b79c6cb 68 PA_7_ALT2 = PA_7 | ALT2,
screamer 30:15743b79c6cb 69 PA_8 = 0x08,
screamer 30:15743b79c6cb 70 PA_9 = 0x09,
screamer 30:15743b79c6cb 71 PA_10 = 0x0A,
screamer 30:15743b79c6cb 72 PA_11 = 0x0B,
screamer 30:15743b79c6cb 73 PA_12 = 0x0C,
screamer 30:15743b79c6cb 74 PA_13 = 0x0D,
screamer 30:15743b79c6cb 75 PA_14 = 0x0E,
screamer 30:15743b79c6cb 76 PA_15 = 0x0F,
screamer 30:15743b79c6cb 77 PA_15_ALT0 = PA_15 | ALT0,
screamer 30:15743b79c6cb 78
screamer 30:15743b79c6cb 79 PB_0 = 0x10,
screamer 30:15743b79c6cb 80 PB_0_ALT0 = PB_0 | ALT0,
screamer 30:15743b79c6cb 81 PB_0_ALT1 = PB_0 | ALT1,
screamer 30:15743b79c6cb 82 PB_1 = 0x11,
screamer 30:15743b79c6cb 83 PB_1_ALT0 = PB_1 | ALT0,
screamer 30:15743b79c6cb 84 PB_1_ALT1 = PB_1 | ALT1,
screamer 30:15743b79c6cb 85 PB_2 = 0x12,
screamer 30:15743b79c6cb 86 PB_3 = 0x13,
screamer 30:15743b79c6cb 87 PB_3_ALT0 = PB_3 | ALT0,
screamer 30:15743b79c6cb 88 PB_4 = 0x14,
screamer 30:15743b79c6cb 89 PB_4_ALT0 = PB_4 | ALT0,
screamer 30:15743b79c6cb 90 PB_5 = 0x15,
screamer 30:15743b79c6cb 91 PB_5_ALT0 = PB_5 | ALT0,
screamer 30:15743b79c6cb 92 PB_6 = 0x16,
screamer 30:15743b79c6cb 93 PB_6_ALT0 = PB_6 | ALT0,
screamer 30:15743b79c6cb 94 PB_7 = 0x17,
screamer 30:15743b79c6cb 95 PB_7_ALT0 = PB_7 | ALT0,
screamer 30:15743b79c6cb 96 PB_8 = 0x18,
screamer 30:15743b79c6cb 97 PB_8_ALT0 = PB_8 | ALT0,
screamer 30:15743b79c6cb 98 PB_9 = 0x19,
screamer 30:15743b79c6cb 99 PB_9_ALT0 = PB_9 | ALT0,
screamer 30:15743b79c6cb 100 PB_10 = 0x1A,
screamer 30:15743b79c6cb 101 PB_11 = 0x1B,
screamer 30:15743b79c6cb 102 PB_12 = 0x1C,
screamer 30:15743b79c6cb 103 PB_13 = 0x1D,
screamer 30:15743b79c6cb 104 PB_13_ALT0 = PB_13 | ALT0,
screamer 30:15743b79c6cb 105 PB_14 = 0x1E,
screamer 30:15743b79c6cb 106 PB_14_ALT0 = PB_14 | ALT0,
screamer 30:15743b79c6cb 107 PB_14_ALT1 = PB_14 | ALT1,
screamer 30:15743b79c6cb 108 PB_15 = 0x1F,
screamer 30:15743b79c6cb 109 PB_15_ALT0 = PB_15 | ALT0,
screamer 30:15743b79c6cb 110 PB_15_ALT1 = PB_15 | ALT1,
screamer 30:15743b79c6cb 111
screamer 30:15743b79c6cb 112 PC_0 = 0x20,
screamer 30:15743b79c6cb 113 PC_0_ALT0 = PC_0 | ALT0,
screamer 30:15743b79c6cb 114 PC_0_ALT1 = PC_0 | ALT1,
screamer 30:15743b79c6cb 115 PC_1 = 0x21,
screamer 30:15743b79c6cb 116 PC_1_ALT0 = PC_1 | ALT0,
screamer 30:15743b79c6cb 117 PC_1_ALT1 = PC_1 | ALT1,
screamer 30:15743b79c6cb 118 PC_2 = 0x22,
screamer 30:15743b79c6cb 119 PC_2_ALT0 = PC_2 | ALT0,
screamer 30:15743b79c6cb 120 PC_2_ALT1 = PC_2 | ALT1,
screamer 30:15743b79c6cb 121 PC_3 = 0x23,
screamer 30:15743b79c6cb 122 PC_3_ALT0 = PC_3 | ALT0,
screamer 30:15743b79c6cb 123 PC_3_ALT1 = PC_3 | ALT1,
screamer 30:15743b79c6cb 124 PC_4 = 0x24,
screamer 30:15743b79c6cb 125 PC_4_ALT0 = PC_4 | ALT0,
screamer 30:15743b79c6cb 126 PC_5 = 0x25,
screamer 30:15743b79c6cb 127 PC_5_ALT0 = PC_5 | ALT0,
screamer 30:15743b79c6cb 128 PC_6 = 0x26,
screamer 30:15743b79c6cb 129 PC_6_ALT0 = PC_6 | ALT0,
screamer 30:15743b79c6cb 130 PC_7 = 0x27,
screamer 30:15743b79c6cb 131 PC_7_ALT0 = PC_7 | ALT0,
screamer 30:15743b79c6cb 132 PC_8 = 0x28,
screamer 30:15743b79c6cb 133 PC_8_ALT0 = PC_8 | ALT0,
screamer 30:15743b79c6cb 134 PC_9 = 0x29,
screamer 30:15743b79c6cb 135 PC_9_ALT0 = PC_9 | ALT0,
screamer 30:15743b79c6cb 136 PC_10 = 0x2A,
screamer 30:15743b79c6cb 137 PC_10_ALT0 = PC_10 | ALT0,
screamer 30:15743b79c6cb 138 PC_11 = 0x2B,
screamer 30:15743b79c6cb 139 PC_11_ALT0 = PC_11 | ALT0,
screamer 30:15743b79c6cb 140 PC_12 = 0x2C,
screamer 30:15743b79c6cb 141 PC_13 = 0x2D,
screamer 30:15743b79c6cb 142 PC_14 = 0x2E,
screamer 30:15743b79c6cb 143 PC_15 = 0x2F,
screamer 30:15743b79c6cb 144
screamer 30:15743b79c6cb 145 PD_0 = 0x30,
screamer 30:15743b79c6cb 146 PD_1 = 0x31,
screamer 30:15743b79c6cb 147 PD_2 = 0x32,
screamer 30:15743b79c6cb 148 PD_3 = 0x33,
screamer 30:15743b79c6cb 149 PD_4 = 0x34,
screamer 30:15743b79c6cb 150 PD_5 = 0x35,
screamer 30:15743b79c6cb 151 PD_6 = 0x36,
screamer 30:15743b79c6cb 152 PD_7 = 0x37,
screamer 30:15743b79c6cb 153 PD_8 = 0x38,
screamer 30:15743b79c6cb 154 PD_9 = 0x39,
screamer 30:15743b79c6cb 155 PD_10 = 0x3A,
screamer 30:15743b79c6cb 156 PD_11 = 0x3B,
screamer 30:15743b79c6cb 157 PD_12 = 0x3C,
screamer 30:15743b79c6cb 158 PD_13 = 0x3D,
screamer 30:15743b79c6cb 159 PD_14 = 0x3E,
screamer 30:15743b79c6cb 160 PD_15 = 0x3F,
screamer 30:15743b79c6cb 161
screamer 30:15743b79c6cb 162 PE_0 = 0x40,
screamer 30:15743b79c6cb 163 PE_1 = 0x41,
screamer 30:15743b79c6cb 164 PE_2 = 0x42,
screamer 30:15743b79c6cb 165 PE_3 = 0x43,
screamer 30:15743b79c6cb 166 PE_4 = 0x44,
screamer 30:15743b79c6cb 167 PE_5 = 0x45,
screamer 30:15743b79c6cb 168 PE_6 = 0x46,
screamer 30:15743b79c6cb 169 PE_7 = 0x47,
screamer 30:15743b79c6cb 170 PE_8 = 0x48,
screamer 30:15743b79c6cb 171 PE_9 = 0x49,
screamer 30:15743b79c6cb 172 PE_10 = 0x4A,
screamer 30:15743b79c6cb 173 PE_11 = 0x4B,
screamer 30:15743b79c6cb 174 PE_12 = 0x4C,
screamer 30:15743b79c6cb 175 PE_13 = 0x4D,
screamer 30:15743b79c6cb 176 PE_14 = 0x4E,
screamer 30:15743b79c6cb 177 PE_15 = 0x4F,
screamer 30:15743b79c6cb 178
screamer 30:15743b79c6cb 179 PH_0 = 0x70,
screamer 30:15743b79c6cb 180 PH_1 = 0x71,
screamer 30:15743b79c6cb 181
screamer 30:15743b79c6cb 182 // ADC internal channels
screamer 30:15743b79c6cb 183 ADC_TEMP = 0xF0,
screamer 30:15743b79c6cb 184 ADC_VREF = 0xF1,
screamer 30:15743b79c6cb 185 ADC_VBAT = 0xF2,
screamer 30:15743b79c6cb 186
screamer 30:15743b79c6cb 187 // Not connected
screamer 30:15743b79c6cb 188 NC = (int)0xFFFFFFFF,
screamer 30:15743b79c6cb 189
screamer 30:15743b79c6cb 190 // STDIO for console print
screamer 30:15743b79c6cb 191 #ifdef MBED_CONF_TARGET_STDIO_UART_TX
screamer 30:15743b79c6cb 192 STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
screamer 30:15743b79c6cb 193 #else
screamer 30:15743b79c6cb 194 STDIO_UART_TX = PA_9,
screamer 30:15743b79c6cb 195 #endif
screamer 30:15743b79c6cb 196 #ifdef MBED_CONF_TARGET_STDIO_UART_RX
screamer 30:15743b79c6cb 197 STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
screamer 30:15743b79c6cb 198 #else
screamer 30:15743b79c6cb 199 STDIO_UART_RX = PA_10,
screamer 30:15743b79c6cb 200 #endif
screamer 30:15743b79c6cb 201
screamer 30:15743b79c6cb 202 // Generic signals namings
screamer 30:15743b79c6cb 203 LED1 = PE_2, // Red LED (LD1)
screamer 30:15743b79c6cb 204 LED2 = PE_3, // Blue LED (LD2)
screamer 30:15743b79c6cb 205 LED3 = PE_4, // Green LED (LD3)
screamer 30:15743b79c6cb 206
screamer 30:15743b79c6cb 207 LED_RED = LED1,
screamer 30:15743b79c6cb 208 LED_BLUE = LED2,
screamer 30:15743b79c6cb 209 LED_GREEN = LED3,
screamer 30:15743b79c6cb 210
screamer 30:15743b79c6cb 211 USER_BUTTON = PD_4,
screamer 30:15743b79c6cb 212 BUTTON1 = USER_BUTTON,
screamer 30:15743b79c6cb 213
screamer 30:15743b79c6cb 214 USBTX = STDIO_UART_TX,
screamer 30:15743b79c6cb 215 USBRX = STDIO_UART_RX,
screamer 30:15743b79c6cb 216
screamer 30:15743b79c6cb 217 UART1_TX = PA_2,
screamer 30:15743b79c6cb 218 UART1_RX = PA_3,
screamer 30:15743b79c6cb 219 UART1_CTS = PA_0,
screamer 30:15743b79c6cb 220 UART1_RTS = PA_1,
screamer 30:15743b79c6cb 221
screamer 30:15743b79c6cb 222 SERIAL_TX = UART1_TX,
screamer 30:15743b79c6cb 223 SERIAL_RX = UART1_RX,
screamer 30:15743b79c6cb 224 SERIAL_CTS = UART1_CTS,
screamer 30:15743b79c6cb 225 SERIAL_RTS = UART1_RTS,
screamer 30:15743b79c6cb 226
screamer 30:15743b79c6cb 227 UART2_TX = PC_4,
screamer 30:15743b79c6cb 228 UART2_RX = PC_5,
screamer 30:15743b79c6cb 229
screamer 30:15743b79c6cb 230 I2C0_SCL = PB_6,
screamer 30:15743b79c6cb 231 I2C0_SDA = PB_7,
screamer 30:15743b79c6cb 232
screamer 30:15743b79c6cb 233 I2C1_SCL = PC_0,
screamer 30:15743b79c6cb 234 I2C1_SDA = PC_1,
screamer 30:15743b79c6cb 235
screamer 30:15743b79c6cb 236 SPI0_MOSI = PB_5,
screamer 30:15743b79c6cb 237 SPI0_MISO = PA_6,
screamer 30:15743b79c6cb 238 SPI0_SCK = PA_5,
screamer 30:15743b79c6cb 239 SPI0_CS = PA_15,
screamer 30:15743b79c6cb 240
screamer 30:15743b79c6cb 241 SPI1_MOSI = PB_15,
screamer 30:15743b79c6cb 242 SPI1_MISO = PB_14,
screamer 30:15743b79c6cb 243 SPI1_SCK = PD_3,
screamer 30:15743b79c6cb 244 SPI1_CS = PB_9,
screamer 30:15743b79c6cb 245
screamer 30:15743b79c6cb 246 SPI2_MOSI = PC_12,
screamer 30:15743b79c6cb 247 SPI2_MISO = PC_11,
screamer 30:15743b79c6cb 248 SPI2_SCK = PC_10,
screamer 30:15743b79c6cb 249 SPI2_CS = PA_4,
screamer 30:15743b79c6cb 250
screamer 30:15743b79c6cb 251 //Default SPI
screamer 30:15743b79c6cb 252 SPI_MOSI = SPI0_MOSI,
screamer 30:15743b79c6cb 253 SPI_MISO = SPI0_MISO,
screamer 30:15743b79c6cb 254 SPI_SCK = SPI0_SCK,
screamer 30:15743b79c6cb 255 /****************
screamer 30:15743b79c6cb 256 //IMPORTANT NOTE: The default CS for SPI is marked as the CS line for the SPI Flash
screamer 30:15743b79c6cb 257 //on the MCB reference hardware. Please change as appropriate.
screamer 30:15743b79c6cb 258 ****************/
screamer 30:15743b79c6cb 259 SPI_CS = PD_2,
screamer 30:15743b79c6cb 260
screamer 30:15743b79c6cb 261 CAN1_RX = PD_0, //Test point on MCB
screamer 30:15743b79c6cb 262 CAN1_TX = PD_1, //Test point on MCB
screamer 30:15743b79c6cb 263
screamer 30:15743b79c6cb 264 /**** OSCILLATOR pins ****/
screamer 30:15743b79c6cb 265 RCC_OSC32_IN = PC_14,
screamer 30:15743b79c6cb 266 RCC_OSC32_OUT = PC_15,
screamer 30:15743b79c6cb 267 RCC_OSC_IN = PH_0,
screamer 30:15743b79c6cb 268 RCC_OSC_OUT = PH_1,
screamer 30:15743b79c6cb 269
screamer 30:15743b79c6cb 270 /**** DEBUG pins ****/
screamer 30:15743b79c6cb 271 SYS_JTCK_SWCLK = PA_14,
screamer 30:15743b79c6cb 272 SYS_JTDI = PA_15,
screamer 30:15743b79c6cb 273 SYS_JTDO_SWO = PB_3,
screamer 30:15743b79c6cb 274 SYS_JTMS_SWDIO = PA_13,
screamer 30:15743b79c6cb 275 SYS_JTRST = PB_4,
screamer 30:15743b79c6cb 276 SYS_PVD_IN = PB_7,
screamer 30:15743b79c6cb 277 SYS_TRACECLK = PE_2,
screamer 30:15743b79c6cb 278 SYS_TRACED0 = PE_3,
screamer 30:15743b79c6cb 279 SYS_TRACED1 = PE_4,
screamer 30:15743b79c6cb 280 SYS_TRACED2 = PE_5,
screamer 30:15743b79c6cb 281 SYS_TRACED3 = PE_6,
screamer 30:15743b79c6cb 282 SYS_WKUP1 = PA_0,
screamer 30:15743b79c6cb 283 SYS_WKUP2 = PC_13,
screamer 30:15743b79c6cb 284 SYS_WKUP3 = PE_6,
screamer 30:15743b79c6cb 285 SYS_WKUP4 = PA_2,
screamer 30:15743b79c6cb 286 SYS_WKUP5 = PC_5,
screamer 30:15743b79c6cb 287
screamer 30:15743b79c6cb 288 //MTB aliases
screamer 30:15743b79c6cb 289 TX1 = PA_2,
screamer 30:15743b79c6cb 290 RX1 = PA_3,
screamer 30:15743b79c6cb 291 SDA1 = PB_7,
screamer 30:15743b79c6cb 292 SCL1 = PB_6,
screamer 30:15743b79c6cb 293 MOSI1 = PB_5,
screamer 30:15743b79c6cb 294 MISO1 = PA_6,
screamer 30:15743b79c6cb 295 SCK1 = PA_5,
screamer 30:15743b79c6cb 296 GP0 = PD_4,
screamer 30:15743b79c6cb 297 GP1 = PC_10,
screamer 30:15743b79c6cb 298 AIN0 = PA_0, //CTS
screamer 30:15743b79c6cb 299 AIN1 = PA_1, // RTS
screamer 30:15743b79c6cb 300 AIN2 = PB_0,
screamer 30:15743b79c6cb 301
screamer 30:15743b79c6cb 302 GP2 = PE_5, //SD card CS
screamer 30:15743b79c6cb 303 GP3 = PE_6,
screamer 30:15743b79c6cb 304 SCK2 = PD_3,
screamer 30:15743b79c6cb 305 MISO2 = PB_14,
screamer 30:15743b79c6cb 306 MOSI2 = PB_15,
screamer 30:15743b79c6cb 307 SCL2 = PC_1,
screamer 30:15743b79c6cb 308 SDA2 = PC_0,
screamer 30:15743b79c6cb 309 RX2 = PC_5,
screamer 30:15743b79c6cb 310 TX2 = PC_4,
screamer 30:15743b79c6cb 311 GP4 = PE_9,
screamer 30:15743b79c6cb 312 GP5 = PE_10, //A0 for LCD on MTB
screamer 30:15743b79c6cb 313 GP6 = PE_13, //RESET for LCD on MTB
screamer 30:15743b79c6cb 314 GP7 = PE_14, //LCD CS
screamer 30:15743b79c6cb 315 GP8 = PE_15
screamer 30:15743b79c6cb 316
screamer 30:15743b79c6cb 317 } PinName;
screamer 30:15743b79c6cb 318
screamer 30:15743b79c6cb 319 #ifdef __cplusplus
screamer 30:15743b79c6cb 320 }
screamer 30:15743b79c6cb 321 #endif
screamer 30:15743b79c6cb 322
screamer 30:15743b79c6cb 323 #endif