mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2024-12-23 12:51:24 +01:00
Merge branch 'PORTX_HAL-cursense2' of https://github.com/DCC-EX/CommandStation-EX into PORTX_HAL-cursense2
This commit is contained in:
commit
d60a55091f
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* © 2022 Paul M Antoine
|
* © 2022 Paul M. Antoine
|
||||||
* © 2021 Mike S
|
* © 2021 Mike S
|
||||||
* © 2021 Harald Barth
|
* © 2021 Harald Barth
|
||||||
* © 2021 Fred Decker
|
* © 2021 Fred Decker
|
||||||
@ -37,6 +37,11 @@
|
|||||||
#if defined(STM32F411RE)
|
#if defined(STM32F411RE)
|
||||||
// STM32F411RE doesn't have Serial1 defined by default
|
// STM32F411RE doesn't have Serial1 defined by default
|
||||||
HardwareSerial Serial1(PB7, PA15); // Rx=PB7, Tx=PA15 -- CN7 pins 17 and 21 - F411RE
|
HardwareSerial Serial1(PB7, PA15); // Rx=PB7, Tx=PA15 -- CN7 pins 17 and 21 - F411RE
|
||||||
|
// Serial2 is defined to use USART2 by default, but is in fact used as the diag console
|
||||||
|
// via the debugger on the Nucleo-64 STM32F411RE. It is therefore unavailable
|
||||||
|
// for other DCC-EX uses like WiFi, DFPlayer, etc.
|
||||||
|
// Let's define Serial6 as an additional serial port (the only other option for the F411RE)
|
||||||
|
HardwareSerial Serial6(PA12, PA11); // Rx=PA12, Tx=PA11 -- CN10 pins 12 and 14 - F411RE
|
||||||
#elif defined(STM32F446ZE)
|
#elif defined(STM32F446ZE)
|
||||||
// STM32F446ZE doesn't have Serial1 defined by default
|
// STM32F446ZE doesn't have Serial1 defined by default
|
||||||
HardwareSerial Serial1(PG9, PG14); // Rx=PG9, Tx=PG14 -- D0, D1 - F446ZE
|
HardwareSerial Serial1(PG9, PG14); // Rx=PG9, Tx=PG14 -- D0, D1 - F446ZE
|
||||||
@ -127,4 +132,31 @@ void DCCTimer::reset() {
|
|||||||
while(true) {};
|
while(true) {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int16_t ADCee::ADCmax() {
|
||||||
|
return 4095;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ADCee::init(uint8_t pin) {
|
||||||
|
return analogRead(pin);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Read function ADCee::read(pin) to get value instead of analogRead(pin)
|
||||||
|
*/
|
||||||
|
int ADCee::read(uint8_t pin, bool fromISR) {
|
||||||
|
int current;
|
||||||
|
if (!fromISR) noInterrupts();
|
||||||
|
current = analogRead(pin);
|
||||||
|
if (!fromISR) interrupts();
|
||||||
|
return current;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* Scan function that is called from interrupt
|
||||||
|
*/
|
||||||
|
void ADCee::scan() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void ADCee::begin() {
|
||||||
|
noInterrupts();
|
||||||
|
interrupts();
|
||||||
|
}
|
||||||
#endif
|
#endif
|
8
FSH.h
8
FSH.h
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* © 2022 Paul M Antoine
|
* © 2022 Paul M. Antoine
|
||||||
* © 2021 Neil McKechnie
|
* © 2021 Neil McKechnie
|
||||||
* © 2021 Harald Barth
|
* © 2021 Harald Barth
|
||||||
* © 2021 Fred Decker
|
* © 2021 Fred Decker
|
||||||
@ -48,10 +48,10 @@ typedef char FSH;
|
|||||||
#define FLASH
|
#define FLASH
|
||||||
#define strlen_P strlen
|
#define strlen_P strlen
|
||||||
#define strcpy_P strcpy
|
#define strcpy_P strcpy
|
||||||
#elif defined(ARDUINO_ARCH_STM32)
|
#elif defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_STM32)
|
||||||
typedef __FlashStringHelper FSH;
|
typedef __FlashStringHelper FSH;
|
||||||
#define GETFLASH(addr) pgm_read_byte_near(addr)
|
#define GETFLASH(addr) pgm_read_byte(addr)
|
||||||
#define GETFLASHW(addr) pgm_read_word_near(addr)
|
#define GETFLASHW(addr) (*(const unsigned int8_t *)(addr)) | ((*(const unsigned int8_t *)(addr+1)) << 8)
|
||||||
#ifdef FLASH
|
#ifdef FLASH
|
||||||
#undef FLASH
|
#undef FLASH
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* © 2022 Paul M Antoine
|
* © 2022 Paul M. Antoine
|
||||||
* © 2021 Chris Harlow
|
* © 2021 Chris Harlow
|
||||||
* © 2022 Harald Barth
|
* © 2022 Harald Barth
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
@ -51,6 +51,18 @@ void SerialManager::init() {
|
|||||||
while (!USB_SERIAL && millis() < 5000); // wait max 5s for Serial to start
|
while (!USB_SERIAL && millis() < 5000); // wait max 5s for Serial to start
|
||||||
new SerialManager(&USB_SERIAL);
|
new SerialManager(&USB_SERIAL);
|
||||||
|
|
||||||
|
#ifdef SERIAL6_COMMANDS
|
||||||
|
Serial6.begin(115200);
|
||||||
|
new SerialManager(&Serial6);
|
||||||
|
#endif
|
||||||
|
#ifdef SERIAL5_COMMANDS
|
||||||
|
Serial5.begin(115200);
|
||||||
|
new SerialManager(&Serial5);
|
||||||
|
#endif
|
||||||
|
#ifdef SERIAL4_COMMANDS
|
||||||
|
Serial4.begin(115200);
|
||||||
|
new SerialManager(&Serial4);
|
||||||
|
#endif
|
||||||
#ifdef SERIAL3_COMMANDS
|
#ifdef SERIAL3_COMMANDS
|
||||||
Serial3.begin(115200);
|
Serial3.begin(115200);
|
||||||
new SerialManager(&Serial3);
|
new SerialManager(&Serial3);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
|
* © 2022 Paul M. Antoine
|
||||||
* © 2021 Neil McKechnie
|
* © 2021 Neil McKechnie
|
||||||
* © 2020-2021 Harald Barth
|
* © 2020-2021 Harald Barth
|
||||||
* © 2020-2021 Fred Decker
|
* © 2020-2021 Fred Decker
|
||||||
@ -191,14 +192,18 @@ The configuration file for DCC-EX Command Station
|
|||||||
// HANDLING MULTIPLE SERIAL THROTTLES
|
// HANDLING MULTIPLE SERIAL THROTTLES
|
||||||
// The command station always operates with the default Serial port.
|
// The command station always operates with the default Serial port.
|
||||||
// Diagnostics are only emitted on the default serial port and not broadcast.
|
// Diagnostics are only emitted on the default serial port and not broadcast.
|
||||||
// Other serial throttles may be added to the Serial1, Serial2, Serial3 ports
|
// Other serial throttles may be added to the Serial1, Serial2, Serial3, Serial4,
|
||||||
// which may or may not exist on your CPU. (Mega has all 3)
|
// Serial5, and Serial6 ports which may or may not exist on your CPU. (Mega has 3,
|
||||||
|
// SAMD/SAMC and STM32 have up to 6.)
|
||||||
// To monitor a throttle on one or more serial ports, uncomment the defines below.
|
// To monitor a throttle on one or more serial ports, uncomment the defines below.
|
||||||
// NOTE: do not define here the WiFi shield serial port or your wifi will not work.
|
// NOTE: do not define here the WiFi shield serial port or your wifi will not work.
|
||||||
//
|
//
|
||||||
//#define SERIAL1_COMMANDS
|
//#define SERIAL1_COMMANDS
|
||||||
//#define SERIAL2_COMMANDS
|
//#define SERIAL2_COMMANDS
|
||||||
//#define SERIAL3_COMMANDS
|
//#define SERIAL3_COMMANDS
|
||||||
|
//#define SERIAL4_COMMANDS
|
||||||
|
//#define SERIAL5_COMMANDS
|
||||||
|
//#define SERIAL6_COMMANDS
|
||||||
//
|
//
|
||||||
// BLUETOOTH SERIAL ON ESP32
|
// BLUETOOTH SERIAL ON ESP32
|
||||||
// On ESP32 you have the possibility to use the builtin BT serial to connect to
|
// On ESP32 you have the possibility to use the builtin BT serial to connect to
|
||||||
|
Loading…
Reference in New Issue
Block a user