mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2024-11-26 17:46:14 +01:00
Serials 1-6 in exrail
This commit is contained in:
parent
7840c24e21
commit
3507631b22
35
EXRAIL2.cpp
35
EXRAIL2.cpp
|
@ -1141,9 +1141,36 @@ void RMFT2::thrungeString(uint32_t strfar, thrunger mode, byte id) {
|
|||
break;
|
||||
|
||||
case thrunge_serial: stream=&Serial; break;
|
||||
case thrunge_serial1: stream=&Serial1; break;
|
||||
case thrunge_serial2: stream=&Serial2; break;
|
||||
case thrunge_serial3: stream=&Serial3; break;
|
||||
case thrunge_serial1:
|
||||
#ifdef SERIAL1_COMMANDS
|
||||
stream=&Serial1;
|
||||
#endif
|
||||
break;
|
||||
case thrunge_serial2:
|
||||
#ifdef SERIAL2_COMMANDS
|
||||
stream=&Serial2;
|
||||
#endif
|
||||
break;
|
||||
case thrunge_serial3:
|
||||
#ifdef SERIAL3_COMMANDS
|
||||
stream=&Serial3;
|
||||
#endif
|
||||
break;
|
||||
case thrunge_serial4:
|
||||
#ifdef SERIAL4_COMMANDS
|
||||
stream=&Serial4;
|
||||
#endif
|
||||
break;
|
||||
case thrunge_serial5:
|
||||
#ifdef SERIAL5_COMMANDS
|
||||
stream=&Serial5;
|
||||
#endif
|
||||
break;
|
||||
case thrunge_serial6:
|
||||
#ifdef SERIAL6_COMMANDS
|
||||
stream=&Serial6;
|
||||
#endif
|
||||
break;
|
||||
// TODO more serials for SAMx case thrunge_serial4: stream=&Serial4; break;
|
||||
case thrunge_lcn:
|
||||
#if defined(LCN_SERIAL)
|
||||
|
@ -1170,7 +1197,7 @@ void RMFT2::thrungeString(uint32_t strfar, thrunger mode, byte id) {
|
|||
#else
|
||||
// UNO/NANO CPUs dont have high memory
|
||||
// 32 bit cpus dont care anyway
|
||||
stream.print((FSH *)strfar)
|
||||
stream->print((FSH *)strfar);
|
||||
#endif
|
||||
|
||||
// and decide what to do next
|
||||
|
|
|
@ -70,6 +70,7 @@ enum OPCODE : byte {OPCODE_THROW,OPCODE_CLOSE,
|
|||
enum thrunger: byte {
|
||||
thrunge_print, thrunge_broadcast, thrunge_serial,thrunge_parse,
|
||||
thrunge_serial1, thrunge_serial2, thrunge_serial3,
|
||||
thrunge_serial4, thrunge_serial5, thrunge_serial6,
|
||||
thrunge_lcd, thrunge_lcn};
|
||||
|
||||
|
||||
|
|
|
@ -110,6 +110,9 @@
|
|||
#undef SERIAL1
|
||||
#undef SERIAL2
|
||||
#undef SERIAL3
|
||||
#undef SERIAL4
|
||||
#undef SERIAL5
|
||||
#undef SERIAL6
|
||||
#undef SERVO
|
||||
#undef SERVO2
|
||||
#undef SERVO_TURNOUT
|
||||
|
@ -220,6 +223,9 @@
|
|||
#define SERIAL1(msg)
|
||||
#define SERIAL2(msg)
|
||||
#define SERIAL3(msg)
|
||||
#define SERIAL4(msg)
|
||||
#define SERIAL5(msg)
|
||||
#define SERIAL6(msg)
|
||||
#define SERVO(id,position,profile)
|
||||
#define SERVO2(id,position,duration)
|
||||
#define SERVO_SIGNAL(vpin,redpos,amberpos,greenpos)
|
||||
|
|
|
@ -123,6 +123,12 @@ const int StringMacroTracker1=__COUNTER__;
|
|||
#define SERIAL2(msg) THRUNGE(msg,thrunge_serial2)
|
||||
#undef SERIAL3
|
||||
#define SERIAL3(msg) THRUNGE(msg,thrunge_serial3)
|
||||
#undef SERIAL4
|
||||
#define SERIAL4(msg) THRUNGE(msg,thrunge_serial4)
|
||||
#undef SERIAL5
|
||||
#define SERIAL5(msg) THRUNGE(msg,thrunge_serial5)
|
||||
#undef SERIAL6
|
||||
#define SERIAL6(msg) THRUNGE(msg,thrunge_serial6)
|
||||
#undef LCD
|
||||
#define LCD(id,msg) \
|
||||
case (__COUNTER__ - StringMacroTracker1) : {\
|
||||
|
@ -317,6 +323,9 @@ const HIGHFLASH int16_t RMFT2::SignalDefinitions[] = {
|
|||
#define SERIAL1(msg) PRINT(msg)
|
||||
#define SERIAL2(msg) PRINT(msg)
|
||||
#define SERIAL3(msg) PRINT(msg)
|
||||
#define SERIAL4(msg) PRINT(msg)
|
||||
#define SERIAL5(msg) PRINT(msg)
|
||||
#define SERIAL6(msg) PRINT(msg)
|
||||
#define SERVO(id,position,profile) OPCODE_SERVO,V(id),OPCODE_PAD,V(position),OPCODE_PAD,V(PCA9685::profile),OPCODE_PAD,V(0),
|
||||
#define SERVO2(id,position,ms) OPCODE_SERVO,V(id),OPCODE_PAD,V(position),OPCODE_PAD,V(PCA9685::Instant),OPCODE_PAD,V(ms/100L),
|
||||
#define SERVO_SIGNAL(vpin,redpos,amberpos,greenpos)
|
||||
|
|
7
FSH.h
7
FSH.h
|
@ -59,7 +59,7 @@ typedef __FlashStringHelper FSH;
|
|||
// AVR_UNO/NANO runtime does not support _far functions so just use _near equivalent
|
||||
// as there is no progmem above 32kb anyway.
|
||||
#define HIGHFLASH PROGMEM
|
||||
#define GETFARPTR(data) ((const byte *)(data))
|
||||
#define GETFARPTR(data) ((uint32_t)(data))
|
||||
#define GETHIGHFLASH(data,offset) pgm_read_byte_near(GETFARPTR(data)+(offset))
|
||||
#define GETHIGHFLASHW(data,offset) pgm_read_word_near(GETFARPTR(data)+(offset))
|
||||
#endif
|
||||
|
@ -69,11 +69,14 @@ typedef __FlashStringHelper FSH;
|
|||
#ifdef F
|
||||
#undef F
|
||||
#endif
|
||||
#ifdef FLASH
|
||||
#undef FLASH
|
||||
#endif
|
||||
#define F(str) (str)
|
||||
typedef char FSH;
|
||||
#define FLASH
|
||||
#define HIGHFLASH
|
||||
#define GETFARPTR(data) ((const byte *)(data))
|
||||
#define GETFARPTR(data) ((uint32_t)(data))
|
||||
#define GETFLASH(addr) (*(const byte *)(addr))
|
||||
#define GETHIGHFLASH(data,offset) (*(const byte *)(GETFARPTR(data)+offset))
|
||||
#define GETHIGHFLASHW(data,offset) (*(const uint16_t *)(GETFARPTR(data)+offset))
|
||||
|
|
Loading…
Reference in New Issue
Block a user