From 272b9221f949487ba468aae58492463d7d342b61 Mon Sep 17 00:00:00 2001 From: "Robert.Siwy" Date: Sat, 18 Dec 2021 18:01:40 +0100 Subject: [PATCH] adding STM8S ValueLine Discovery-Board with STM8S003K3T6 https://www.st.com/en/evaluation-tools/stm8svldiscovery.html --- sduino/stm8/boards.txt | 24 ++ sduino/stm8/platform.txt | 29 +- sduino/stm8/programmers.txt | 7 + .../Pins_VL-DiscoveryBoard MB1008.csv | 50 +++ .../Pins_VL-DiscoveryBoard MB1008.ods | Bin 0 -> 14472 bytes .../Pins_VL-DiscoveryBoard MB1008.pdf | Bin 0 -> 67009 bytes .../stm8/variants/stm8svldisco/pins_arduino.h | 377 ++++++++++++++++++ 7 files changed, 481 insertions(+), 6 deletions(-) create mode 100644 sduino/stm8/variants/stm8svldisco/Pins_VL-DiscoveryBoard MB1008.csv create mode 100644 sduino/stm8/variants/stm8svldisco/Pins_VL-DiscoveryBoard MB1008.ods create mode 100644 sduino/stm8/variants/stm8svldisco/Pins_VL-DiscoveryBoard MB1008.pdf create mode 100644 sduino/stm8/variants/stm8svldisco/pins_arduino.h diff --git a/sduino/stm8/boards.txt b/sduino/stm8/boards.txt index 74a516b8..53bafdea 100644 --- a/sduino/stm8/boards.txt +++ b/sduino/stm8/boards.txt @@ -144,3 +144,27 @@ mb208.build.f_cpu=16000000L mb208.build.board=STM8S_MB mb208.build.core=sduino mb208.build.variant=mb208 + +############################################################## + +stm8svldisco.name=STM8S003 ValueLine Discovery Board MB1008a (STM8S003K3T6) + +# First upload method is the default method +stm8svldisco.menu.upload_method.stm8flash_onboardMethod=Onboard ST-Link/V1 programmer +stm8svldisco.menu.upload_method.stm8flash_onboardMethod.upload.tool=stvp +stm8svldisco.menu.upload_method.stm8flash_onboardMethod.upload.protocol=SWIM + +# a global definition of upload speed is required to keep the makefile happy +stm8svldisco.upload.speed=115200 +stm8svldisco.upload.mcu=STM8S003K3 +stm8svldisco.upload.maximum_size=16384 +stm8svldisco.upload.maximum_data_size=1024 + +stm8svldisco.bootloader.tool=stm8flash + +stm8svldisco.build.mcu=STM8S003 +stm8svldisco.build.f_cpu=16000000L +stm8svldisco.build.board=STM8S_VL_DISCOVERY +stm8svldisco.build.core=sduino +stm8svldisco.build.variant=stm8svldisco + diff --git a/sduino/stm8/platform.txt b/sduino/stm8/platform.txt index f1ee1867..a12d4875 100644 --- a/sduino/stm8/platform.txt +++ b/sduino/stm8/platform.txt @@ -135,9 +135,9 @@ recipe.preproc.macros="{compiler.wrapper.path}/{compiler.cpp.cmd}.sh" "{compiler tools.stm8flash.cmd=stm8flash # these lines are for manual install. For board manager installs they get converted to use # {runtime.tools.STM8Tools.path} instead of {runtime.hardware.path}/tools -tools.stm8flash.path={runtime.hardware.path}/tools/linux -tools.stm8flash.path.windows={runtime.hardware.path}/tools/win -tools.stm8flash.path.macosx={runtime.hardware.path}/tools/macosx +tools.stm8flash.path={runtime.tools.STM8Tools.path}/linux +tools.stm8flash.path.windows={runtime.tools.STM8Tools.path}/win +tools.stm8flash.path.macosx={runtime.tools.STM8Tools.path}/macosx #tools.stm8flash.upload.params.verify= tools.stm8flash.upload.params.verbose= @@ -156,6 +156,23 @@ tools.stm8flash.bootloader.params.quiet= tools.stm8flash.bootloader.pattern=echo "no bootloader available" +# stm8flash for ST Visual Programmer +# ------------------------------------- + +tools.stvp.cmd=stvp +# these lines are for manual install. For board manager installs they get converted to use +# {runtime.tools.STM8Tools.path} instead of {runtime.hardware.path}/tools +tools.stvp.path={runtime.tools.STM8Tools.path}/linux +tools.stvp.path.windows={runtime.tools.STM8Tools.path}/win +tools.stvp.path.macosx={runtime.tools.STM8Tools.path}/macosx + +#tools.stvp.upload.params.verify= +tools.stvp.upload.params.verbose= +tools.stvp.upload.params.quiet= +#tools.stvp.upload.pattern="C:\Program Files (x86)\STMicroelectronics\st_toolset\stvp\STVP_CmdLine.exe" -BoardName=ST-LINK -Port=USB -ProgMode={upload.protocol} -Device={upload.mcu} -FileProg="{build.path}/{build.project_name}.hex" +tools.stvp.upload.pattern="{path}/FlashSTVP.bat" "{build.path}/{build.project_name}.hex" + + # Serial upload using the builtin bootloader # ------------------------------------------ @@ -166,9 +183,9 @@ tools.stm8flash.bootloader.pattern=echo "no bootloader available" tools.stm8gal.cmd=stm8gal # these lines are for manual install. For board manager installs they get converted to use # {runtime.tools.STM8Tools.path} instead of {runtime.hardware.path}/tools -tools.stm8gal.path={runtime.hardware.path}/tools/linux -tools.stm8gal.path.windows={runtime.hardware.path}/tools/win -tools.stm8gal.path.macosx={runtime.hardware.path}/tools/macosx +tools.stm8gal.path={runtime.tools.STM8Tools.path}/linux +tools.stm8gal.path.windows={runtime.tools.STM8Tools.path}/win +tools.stm8gal.path.macosx={runtime.tools.STM8Tools.path}/macosx tools.stm8gal.params.port=-p "{serial.port}" tools.stm8gal.params.background=-B diff --git a/sduino/stm8/programmers.txt b/sduino/stm8/programmers.txt index 1035cc25..867b3ff1 100644 --- a/sduino/stm8/programmers.txt +++ b/sduino/stm8/programmers.txt @@ -21,3 +21,10 @@ serialboot.communication=serial serialboot.protocol=stlinkv1 serialboot.program.tool=stm8gal serialboot.program.extra_params= + +### for the ST Visual Programmer +stvp.name=ST-VisualProgrammer +stvp.communication=usb +stvp.protocol=SWIM +stvp.program.tool="C:\Program Files (x86)\STMicroelectronics\st_toolset\stvp\STVP_CmdLine.exe" +stvp.program.extra_params= \ No newline at end of file diff --git a/sduino/stm8/variants/stm8svldisco/Pins_VL-DiscoveryBoard MB1008.csv b/sduino/stm8/variants/stm8svldisco/Pins_VL-DiscoveryBoard MB1008.csv new file mode 100644 index 00000000..32113004 --- /dev/null +++ b/sduino/stm8/variants/stm8svldisco/Pins_VL-DiscoveryBoard MB1008.csv @@ -0,0 +1,50 @@ + + Pins_VL-DiscoveryBoard MB1008 + + CN1 Pin Pin Pin Type Main function / Alternate function + pin (chip) Arduino name + 1 1 NRST I/O Reset + 2 2 0 OSCIN/PA1 I/O Port A1 + 3 3 1 OSCOUT/PA2 I/O Port A2 + 4 4 GND S Digital ground + 5 4 GND S Digital ground + 6 5 VCAP S 1.8 V regulator capacitor + NC 6 VDD S Digital power supply + 7 7 2 PA3 I/O Port A3 Timer 2 - channel 3 / SPI master slave + 8 8 3 PF4 I/O Port F4 + + + CN2 Pin Pin Pin Type Main function / Alternate function + pin (chip) Arduino name + 1 17 12 PE5 I/O Port E5 SPI master slave + 2 18 13 PC1 I/O Port C1 Timer 1 - channel 1 / UART2 synchronous clock + 3 19 14 PC2 I/O Port C2 Timer 1 - channel 2 + 4 20 15 PC3 I/O Port C3 Timer 1 - channel 3 + 5 21 16 PC4 I/O Port C4 Timer 1 - channel 4 + 6 22 17 PC5 I/O Port C5 SPI clock + 7 23 18 PC6 I/O Port C6 SPI master out / slave in + 8 24 19 PC7 I/O Port C7 SPI master in / slave out + + + CN3 Pin Pin Pin Type Main function / Alternate function + pin (chip) Arduino name + 1 9 4 PB7/B1 IO Port B7 BUTTON + 2 10 5 PB6 IO Port B6 + 3 11 6 PB5 I/O Port B5 I2C data + 4 12 7 PB4 I/O Port B4 I2C clock + 5 13 8 PB3 I/O Port B3 Analog input 3 / Timer 1 external trigger + 6 14 9 PB2 I/O Port B2 Analog input 2 / Timer 1 inverted channel 3 + 7 15 10 PB1 I/O Port B1 Analog input 1 / Timer 1 inverted channel 2 + 8 16 11 PB0 I/O Port B0 Analog input 0 / Timer 1 inverted channel 1 + + + CN4 Pin Pin Pin Type Main function / Alternate function + pin (chip) Arduino name + 1 25 20 PD0/LD1 I/O Port D0 Timer 1 - break input / conf. clock output LED_BUILTIN + 2 26 21 PD1/SWIM I/O Port D1 SWIM data interface + 3 27 22 PD2 I/O Port D2 Timer 2 - channel 3 + 4 28 23 PD3 I/O Port D3 Timer 2 - channel 2 / ADC external trigger + 5 29 24 PD4 I/O Port D4 Timer 2 - channel 1 / BEEP output + 6 30 25 PD5 I/O Port D5 UART1 data transmit + 7 31 26 PD6 I/O Port D6 UART1 data receive + 8 32 27 PD7 I/O Port D7 Top level interrupt / Timer 1 - channel 4 diff --git a/sduino/stm8/variants/stm8svldisco/Pins_VL-DiscoveryBoard MB1008.ods b/sduino/stm8/variants/stm8svldisco/Pins_VL-DiscoveryBoard MB1008.ods new file mode 100644 index 0000000000000000000000000000000000000000..6e9ce30e696910f385bed8b8781c5e6b0d53f8f0 GIT binary patch literal 14472 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 rBTy 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 literal 0 HcmV?d00001 diff --git a/sduino/stm8/variants/stm8svldisco/pins_arduino.h b/sduino/stm8/variants/stm8svldisco/pins_arduino.h new file mode 100644 index 00000000..b9484129 --- /dev/null +++ b/sduino/stm8/variants/stm8svldisco/pins_arduino.h @@ -0,0 +1,377 @@ +/* + pins_arduino.h - Pin definition functions for Arduino + Part of Arduino - http://www.arduino.cc/ + + Copyright (c) 2007 David A. Mellis + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General + Public License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA +*/ + +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +//#include + +#ifndef _BV +#define _BV(X) (1<<(X)) +#endif + +//STM8S003K3 Pin count +#define NUM_DIGITAL_PINS 28 +#define NUM_ANALOG_INPUTS 4 +#define NUM_DIGITAL_INPUTS NUM_DIGITAL_PINS - NUM_ANALOG_INPUTS +//#define analogInputToDigitalPin(p) ((p < NUM_ANALOG_INPUTS) ? (p) + (NUM_DIGITAL_PINS-NUM_ANALOG_INPUTS) : -1) + + +/* on the STM8S the logical pin numbers are really confusing instead + * of beeing helpful. So maybe it is better to use these Portpin-Names + * instead? + */ +enum portpin { + PA1, /* 0 */ + PA2, + PA3, + PF4, + PB7, + PB6, + PB5, + PB4, + PB3, + PB2, + PB1, + PB0, + PE5, + PC1, + PC2, + PC3, + PC4, + PC5, + PC6, + PC7, + PD0, + PD1, + PD2, + PD3, + PD4, + PD5, + PD6, + PD7, +}; + + + +/* SDCC problem: this const table won't be optimized away but will show + * up in every single object file. +static const uint8_t PROGMEM analogInputToDigitalPinMap[5]={6,11,12,14,15}; +#define analogInputToDigitalPin(p) (analogInputToDigitalPinMap[p]) +*/ + +/* SDCC workaround: a crude compile time look up table. + * This way it does get optimized to a hard constant load when used with a + * const value. It is extremy ineffizient for run time accesses though. + */ + + +#ifdef SUPPORT_ALTERNATE_MAPPINGS + // using alternate functions adds 3 more PWM pins, total of 7 PWM pins + #define digitalPinHasPWM(p) ( (p)==2 | ((p)>=5&(p)<=9) | (p)==12 ) +#else + // standard case: only 4 regular PWM pins + #define digitalPinHasPWM(p) ( (p)==2 | (p)==5 | (p)==6 | (p)==12 ) +#endif + +#define PIN_SPI_SS (PE5) // 2 +#define PIN_SPI_MOSI (PC6) // 8 +#define PIN_SPI_MISO (PC7) // 9 +#define PIN_SPI_SCK (PC5) // 7 + +/* SDCC workaround: These const variables wouldn't be replaced by hard + * constant loads. So use defines instead. +static const uint8_t SS = PIN_SPI_SS; +static const uint8_t MOSI = PIN_SPI_MOSI; +static const uint8_t MISO = PIN_SPI_MISO; +static const uint8_t SCK = PIN_SPI_SCK; +*/ +#define SS PIN_SPI_SS +#define MOSI PIN_SPI_MOSI +#define MISO PIN_SPI_MISO +#define SCK PIN_SPI_SCK + +#define PIN_WIRE_SDA (PB5) // 3 +#define PIN_WIRE_SCL (PB4) // 4 + +/* SDCC workaround +static const uint8_t SDA = PIN_WIRE_SDA; +static const uint8_t SCL = PIN_WIRE_SCL; +*/ +#define SDA PIN_WIRE_SDA +#define SCL PIN_WIRE_SCL + +#define PIN_LED_BUILTIN (PD0) // sduino: pin for the buildin LED +#define PIN_TX (PD5) // sduino: pin for TX line +#define PIN_RX (PD6) // sduino: pin for RX line + +#define LED_BUILTIN (PD0) // pin for the buildin LED +#define BUTTON (PB7) // pin for the buildin BUTTON, pin 3 + +//defenition for analog channels on STM8S003K3 +#define A0 0 /**< Analog channel 0 */ +#define A1 1 /**< Analog channel 1 */ +#define A2 2 /**< Analog channel 2 */ +#define A3 3 /**< Analog channel 3 */ + + +// Distinguish between ADC channel number and digital pin number. +// Note that for value 6 both ranges overlap and it is used a pin number. +// +// values 0..5: ADC channel number, no conversion +// values 6..15: digital pin numbers, convert to ADC channel number +//#define analogPinToChannel(P) ( (P)<6 ? (P) : digitalPinToAnalogChannelMap[(P-6)] ) +//extern const uint8_t digitalPinToAnalogChannelMap[]; + +/*FIXME +#define digitalPinToPCICR(p) (((p) >= 0 && (p) <= 21) ? (&PCICR) : ((uint8_t *)0)) +#define digitalPinToPCICRbit(p) (((p) <= 7) ? 2 : (((p) <= 13) ? 0 : 1)) +#define digitalPinToPCMSK(p) (((p) <= 7) ? (&PCMSK2) : (((p) <= 13) ? (&PCMSK0) : (((p) <= 21) ? (&PCMSK1) : ((uint8_t *)0)))) +#define digitalPinToPCMSKbit(p) (((p) <= 7) ? (p) : (((p) <= 13) ? ((p) - 8) : ((p) - 14))) + +#define digitalPinToInterrupt(p) ((p) == 2 ? 0 : ((p) == 3 ? 1 : NOT_AN_INTERRUPT)) +*/ + +#ifdef ARDUINO_MAIN + +// Pinout of ST ValueLine Discovery Board MB1008 +// with STM8S003K3 +// +// CN1 Pin Pin Pin Type Main function / Alternate function +// pin (chip) Arduino name +// 1 1 NRST I / O Reset +// 2 2 0 OSCIN / PA1 I / O Port A1 +// 3 3 1 OSCOUT / PA2 I / O Port A2 +// 4 4 GND S Digital ground +// 5 4 GND S Digital ground +// 6 5 VCAP S 1.8 V regulator capacitor +// NC 6 VDD S Digital power supply +// 7 7 2 PA3 I/O Port A3 Timer 2 - channel 3 / SPI master slave +// 8 8 3 PF4 I/O Port F4 +// +// +// CN2 Pin Pin Pin Type Main function / Alternate function +// pin (chip) Arduino name +// 1 17 12 PE5 I/O Port E5 SPI master slave +// 2 18 13 PC1 I/O Port C1 Timer 1 - channel 1 / UART2 synchronous clock +// 3 19 14 PC2 I/O Port C2 Timer 1 - channel 2 +// 4 20 15 PC3 I/O Port C3 Timer 1 - channel 3 +// 5 21 16 PC4 I/O Port C4 Timer 1 - channel 4 +// 6 22 17 PC5 I/O Port C5 SPI clock +// 7 23 18 PC6 I/O Port C6 SPI master out / slave in +// 8 24 19 PC7 I/O Port C7 SPI master in / slave out +// +// +// CN3 Pin Pin Pin Type Main function / Alternate function +// pin (chip) Arduino name +// 1 9 4 PB7/B1 IO Port B7 BUTTON +// 2 10 5 PB6 IO Port B6 +// 3 11 6 PB5 I/O Port B5 I2C data +// 4 12 7 PB4 I/O Port B4 I2C clock +// 5 13 8 PB3 I/O Port B3 Analog input 3 / Timer 1 external trigger +// 6 14 9 PB2 I/O Port B2 Analog input 2 / Timer 1 inverted channel 3 +// 7 15 10 PB1 I/O Port B1 Analog input 1 / Timer 1 inverted channel 2 +// 8 16 11 PB0 I/O Port B0 Analog input 0 / Timer 1 inverted channel 1 +// +// +// CN4 Pin Pin Pin Type Main function / Alternate function +// pin (chip) Arduino name +// 1 25 20 PD0/LD1 I/O Port D0 Timer 1 - break input / conf. clock output LED_BUILTIN +// 2 26 21 PD1/SWIM I/O Port D1 SWIM data interface +// 3 27 22 PD2 I/O Port D2 Timer 2 - channel 3 +// 4 28 23 PD3 I/O Port D3 Timer 2 - channel 2 / ADC external trigger +// 5 29 24 PD4 I/O Port D4 Timer 2 - channel 1 / BEEP output +// 6 30 25 PD5 I/O Port D5 UART1 data transmit +// 7 31 26 PD6 I/O Port D6 UART1 data receive +// 8 32 27 PD7 I/O Port D7 Top level interrupt / Timer 1 - channel 4 + + +const uint16_t PROGMEM port_to_mode_PGM[] = { + NOT_A_PORT, + GPIOA_BaseAddress+2, + GPIOB_BaseAddress+2, + GPIOC_BaseAddress+2, + GPIOD_BaseAddress+2, +/* + (uint16_t) &GPIOA->DDR, + (uint16_t) &GPIOB->DDR, + (uint16_t) &GPIOC->DDR, + (uint16_t) &GPIOD->DDR, +*/ +}; + +const uint16_t PROGMEM port_to_output_PGM[] = { + NOT_A_PORT, + GPIOA_BaseAddress, + GPIOB_BaseAddress, + GPIOC_BaseAddress, + GPIOD_BaseAddress, +/* + (uint16_t) &GPIOA->ODR, + (uint16_t) &GPIOB->ODR, + (uint16_t) &GPIOC->ODR, + (uint16_t) &GPIOD->ODR, +*/ +}; + +const uint16_t PROGMEM port_to_input_PGM[] = { + NOT_A_PORT, + GPIOA_BaseAddress+1, + GPIOB_BaseAddress+1, + GPIOC_BaseAddress+1, + GPIOD_BaseAddress+1, +/* + (uint16_t) &GPIOA->IDR, + (uint16_t) &GPIOB->IDR, + (uint16_t) &GPIOC->IDR, + (uint16_t) &GPIOD->IDR, +*/ +}; + +const uint8_t PROGMEM digital_pin_to_port_PGM[] = { + PA, /* 0 */ + PA, + PA, + PF, + PB, + PB, + PB, + PB, + PB, + PB, + PB, + PB, + PE, + PC, + PC, + PC, + PC, + PC, + PC, + PC, + PD, + PD, + PD, + PD, + PD, + PD, + PD, + PD, +}; + +const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { + _BV(1), //PA1, PA /* 0 */ /* 0 */ + _BV(2), //PA2, + _BV(3), //PA3, + _BV(4), //PF4, PF + _BV(7), //PB7, + _BV(6), //PB6, PB + _BV(5), //PB5, + _BV(4), //PB4, + _BV(3), //PB3, + _BV(2), //PB2, + _BV(1), //PB1, + _BV(0), //PB0, + _BV(5), //PE5, PE + _BV(1), //PC1, PC + _BV(2), //PC2, + _BV(3), //PC3, + _BV(4), //PC4, + _BV(5), //PC5, + _BV(6), //PC6, + _BV(7), //PC7, + _BV(0), //PD0, PD + _BV(1), //PD1, + _BV(2), //PD2, + _BV(3), //PD3, + _BV(4), //PD4, + _BV(5), //PD5, + _BV(6), //PD6, + _BV(7), //PD7, +}; +/* +*mapps the pins to te right Timers, if possible, otherwise returns NOT_ON_TIMER +*https://garretlab.web.fc2.com/en/arduino/inside/hardware/arduino/avr/cores/arduino/Arduino.h/digitalPinToTimer.html +*/ + +const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { + NOT_ON_TIMER, //0 PA1, PA /* 0 */ + NOT_ON_TIMER, //1 PA2, + TIMER23, //2 PA3, + NOT_ON_TIMER, //3 PF4, PF + NOT_ON_TIMER, //4 PB7, + NOT_ON_TIMER, //5 PB6, PB + NOT_ON_TIMER, //6 PB5, + NOT_ON_TIMER, //7 PB4, + NOT_ON_TIMER, //8 PB3, + NOT_ON_TIMER, //9 PB2, + NOT_ON_TIMER, //10 PB1, + NOT_ON_TIMER, //11 PB0, + NOT_ON_TIMER, //12 PE5, PE + TIMER11, //13 PC1, PC + TIMER12, //14 PC2, + TIMER13, //15 PC3, + TIMER14, //16 PC4, + NOT_ON_TIMER, //17 PC5, + NOT_ON_TIMER, //18 PC6, + NOT_ON_TIMER, //19 PC7, + NOT_ON_TIMER, //20 PD0, PD + NOT_ON_TIMER, //21 PD1, + NOT_ON_TIMER, //22 PD2, + TIMER22, //23 PD3, + TIMER21, //24 PD4, + NOT_ON_TIMER, //25 PD5, + NOT_ON_TIMER, //26 PD6, + NOT_ON_TIMER, //27 PD7, +}; + + +#endif /* ARDUINO_MAIN */ + +#define NEED_TIMER_23 +#define NEED_TIMER_11_12 + +#ifdef SUPPORT_ALTERNATE_MAPPINGS + #define NEED_TIMER_11_12 +#endif + +// 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 Serial + +#endif + +