123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327 |
- /*
- *******************************************************************************
- * Copyright (c) 2017, STMicroelectronics
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * 3. Neither the name of STMicroelectronics nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *******************************************************************************
- */
-
- #ifndef _VARIANT_ARDUINO_STM32_
- #define _VARIANT_ARDUINO_STM32_
- /*----------------------------------------------------------------------------
- * Headers
- *----------------------------------------------------------------------------*/
-
- #ifdef __cplusplus
- extern "C" {
- #endif // __cplusplus
-
- /*----------------------------------------------------------------------------
- * Pins
- *----------------------------------------------------------------------------*/
- #if defined(ARDUINO_STEVAL)
-
-
- /*----------------------------------------------------------------------------
- * Pins
- *----------------------------------------------------------------------------*/
- // USART1_MAIN
- #define PA9 0 //TX
- #define PA10 1 //RX
-
- // WIFI (USART2)
- #define PD3 2 // CTS
- #define PD4 3 // RTS
- #define PD5 4 // TX
- #define PD6 5 // RX
- #define PB5 6 // WIFI_WAKEUP
- #define PE11 7 // WIFI_RESET
- #define PE12 8 // WIFI_BOOT
-
- // STATUS_LED
- #define PE1 9 // STATUS_LED
-
- // SPI USER
- #define PB12 10 // SPI_CS
- #define PB15 11 // SPI_MOSI
- #define PB14 12 // SPI_MISO
- #define PB13 13 // SPI_SCK
-
- // I2C USER
- #define PB7 14 // SDA
- #define PB6 15 // SCL
-
- // SPI
- #define PA4 16 // SPI_CS
- #define PA5 17 // SPI_SCK
- #define PA6 18 // SPI_MISO
- #define PA7 19 // SPI_MOSI
-
- // JTAG
- #define PA13 20 // JTAG_TMS/SWDIO
- #define PA14 21 // JTAG_TCK/SWCLK
- #define PB3 22 // JTAG_TDO/SWO
-
- // SDCARD
- #define PC8 23 // SDIO_D0
- #define PC9 24 // SDIO_D1
- #define PA15 25 // SD_CARD_DETECT
- #define PC10 26 // SDIO_D2
- #define PC11 27 // SDIO_D3
- #define PC12 28 // SDIO_CK
- #define PD2 29 // SDIO_CMD
-
- // OTG
- #define PA11 30 //OTG_DM
- #define PA12 31 //OTG_DP
-
- // IR/PROBE
- #define PD1 32 //IR_OUT
- #define PC1 33 //IR_ON
-
- // USER_PINS
- #define PD7 34 // USER3
- #define PB9 35 // USER1
- #define PE0 36 // USER2
- #define PB4 37 // USER4
-
- // USERKET
- #define PE7 38 // USER_BUTTON
-
- // ENDSTOPS
- #define PD8 39 // X_STOP
- #define PD9 40 // Y_STOP
- #define PD10 41 // Z_STOP
- #define PD11 42 // U_STOP
- #define PA8 43 // V_STOP
- #define PD0 44 // W_STOP
-
- // HEATERS
- #define PD13 45 // BED_HEAT_2
- #define PD14 46 // BED_HEAT_1
- #define PD15 47 // BED_HEAT_3
- #define PC7 48 // E1_HEAT_PWM
- #define PB0 49 // E2_HEAT_PWM
- #define PB1 50 // E3_HEAT_PWM
-
- // THERMISTOR
- #define PC2 51 // BED_THERMISTOR_1
- #define PC3 52 // BED_THERMISTOR_2
- #define PA3 53 // BED_THERMISTOR_3
- #define PA0 54 // E1_THERMISTOR
- #define PA1 55 // E2_THERMISTOR
- #define PA2 56 // E3_THERMISTOR
-
- // FANS
- #define PC4 57 // E1_FAN
- #define PC5 58 // E2_FAN
- #define PE8 59 // E3_FAN
-
- // X_MOTOR
- #define PE13 60 // X_RESET
- #define PE14 61 // X_PWM
- #define PE15 62 // X_DIR
-
- // Y_MOTOR
- #define PE10 63 // Y_RESET
- #define PB10 64 // Y_PWM
- #define PE9 65 // Y_DIR
-
- // Z_MOTOR
- #define PC15 66 // Z_RESET
- #define PC6 67 // Z_PWM
- #define PC0 68 // Z_DIR
-
- // E1_MOTOR
- #define PC14 69 // E1_RESET
- #define PC13 70 // E1_DIR
- #define PD12 71 // E1_PWM
-
- // E2_MOTOR
- #define PE4 72 // E2_RESET
- #define PE5 73 // E2_PWM
- #define PE6 74 // E2_DIR
-
- // E3_MOTOR
- #define PE3 75 // E3_RESET
- #define PE2 76 // E3_DIR
- #define PB8 77 // E3_PWM
-
- // This must be a literal
- #define NUM_DIGITAL_PINS 78
- // This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS
- #define NUM_ANALOG_INPUTS 6
- #define NUM_ANALOG_FIRST 51
-
- // On-board LED pin number
- #define LED_BUILTIN PE1
- #define LED_GREEN LED_BUILTIN
-
- // On-board user button
- #define USER_BTN PE7
-
- // UART Definitions
- #define SERIAL_UART_INSTANCE 1 // Connected to ST-Link
- //#define SERIAL_UART_INSTANCE 2 // Connected to WIFI
-
- // Default pin used for 'Serial' instance (ex: ST-Link)
- // Mandatory for Firmata
- #if SERIAL_UART_INSTANCE == 1 // ST-Link & J23
- #define PIN_SERIAL_RX PA10
- #define PIN_SERIAL_TX PA9
- #elif SERIAL_UART_INSTANCE == 2 // WIFI interface
- #define PIN_SERIAL2_RX PD6
- #define PIN_SERIAL2_TX PD5
- #else
- #error'Invalid setting for SERIAL_UART_INSTANCE'
- #endif
-
- // Timer Definitions
- #define TIMER_SERVO TIM4 // TIMER_SERVO must be defined in this file
- #define TIMER_TONE TIM5 // TIMER_TONE must be defined in this file
-
- /* SD detect signal */
- /*
- * By default, R67 is not provided, so SD card detect is not used.
- * Note: SD CD (pin 16 of expansion connector J23) can be connected
- * to GND in order to be able to use SD_DETECT_PIN
- */
- /*#define SD_DETECT_PIN PA15*/
-
- /* HAL configuration */
- #define HSE_VALUE 25000000U
-
- /* Extra HAL modules */
- #define HAL_SD_MODULE_ENABLED
-
- #endif
-
- #ifdef __cplusplus
- } // extern "C"
- #endif
- /*----------------------------------------------------------------------------
- * Arduino objects - C++ only
- *----------------------------------------------------------------------------*/
-
- #ifdef __cplusplus
- // These serial port names are intended to allow libraries and architecture-neutral
- // sketches to automatically default to the correct port name for a particular type
- // of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN,
- // the first hardware serial port whose RX/TX pins are not dedicated to another use.
- //
- // SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor
- //
- // SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial
- //
- // SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library
- //
- // SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins.
- //
- // SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX
- // pins are NOT connected to anything by default.
- #define SERIAL_PORT_MONITOR Serial
- #define SERIAL_PORT_HARDWARE Serial1
- #endif
-
- #endif // _VARIANT_ARDUINO_STM32_
-
- // PA0 54 // E1_THERMISTOR
- // PA1 55 // E2_THERMISTOR
- // PA2 56 // E3_THERMISTOR
- // PA3 53 // BED_THERMISTOR_3
- // PA4 16 // SPI_CS
- // PA5 17 // SPI_SCK
- // PA6 18 // SPI_MISO
- // PA7 19 // SPI_MOSI
- // PA8 43 // V_STOP
- // PA9 0 //TX
- // PA10 1 //RX
- // PA11 30 //OTG_DM
- // PA12 31 //OTG_DP
- // PA13 20 // JTAG_TMS/SWDIO
- // PA14 21 // JTAG_TCK/SWCLK
- // PA15 25 // SD_CARD_DETECT
- // PB0 49 // E2_HEAT_PWM
- // PB1 50 // E3_HEAT_PWM
- // PB3 22 // JTAG_TDO/SWO
- // PB4 37 // USER4
- // PB5 6 // WIFI_WAKEUP
- // PB6 15 // SCL
- // PB7 14 // SDA
- // PB8 77 // E3_PWM
- // PB9 35 // USER1
- // PB10 64 // Y_PWM
- // PB12 10 // SPI_CS
- // PB13 13 // SPI_SCK
- // PB14 12 // SPI_MISO
- // PB15 11 // SPI_MOSI
- // PC0 68 // Z_DIR
- // PC1 33 //IR_ON
- // PC2 51 // BED_THERMISTOR_1
- // PC3 52 // BED_THERMISTOR_2
- // PC4 57 // E1_FAN
- // PC5 58 // E2_FAN
- // PC6 67 // Z_PWM
- // PC7 48 // E1_HEAT_PWM
- // PC8 23 // SDIO_D0
- // PC9 24 // SDIO_D1
- // PC10 26 // SDIO_D2
- // PC11 27 // SDIO_D3
- // PC12 28 // SDIO_CK
- // PC13 70 // E1_DIR
- // PC14 69 // E1_RESET
- // PC15 66 // Z_RESET
- // PD0 44 // W_STOP
- // PD1 32 //IR_OUT
- // PD2 29 // SDIO_CMD
- // PD3 2 // CTS
- // PD4 3 // RTS
- // PD5 4 // TX
- // PD6 5 // RX
- // PD7 34 // USER3
- // PD8 39 // X_STOP
- // PD9 40 // Y_STOP
- // PD10 41 // Z_STOP
- // PD11 42 // U_STOP
- // PD12 71 // E1_PWM
- // PD13 45 // BED_HEAT_2
- // PD14 46 // BED_HEAT_1
- // PD15 47 // BED_HEAT_3
- // PE0 36 // USER2
- // PE1 9 // STATUS_LED
- // PE2 76 // E3_DIR
- // PE3 75 // E3_RESET
- // PE4 72 // E2_RESET
- // PE5 73 // E2_PWM
- // PE6 74 // E2_DIR
- // PE7 38 // USER_BUTTON
- // PE8 59 // E3_FAN
- // PE9 65 // Y_DIR
- // PE10 63 // Y_RESET
- // PE11 7 // WIFI_RESET
- // PE12 8 // WIFI_BOOT
- // PE13 60 // X_RESET
- // PE14 61 // X_PWM
- // PE15 62 // X_DIR
|