mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2025-02-17 06:29:15 +01:00
Implement HAL macro in exrail
This commit is contained in:
parent
3496b99197
commit
044b467085
@ -58,6 +58,7 @@
|
|||||||
#undef FREE
|
#undef FREE
|
||||||
#undef FWD
|
#undef FWD
|
||||||
#undef GREEN
|
#undef GREEN
|
||||||
|
#undef HAL
|
||||||
#undef IF
|
#undef IF
|
||||||
#undef IFAMBER
|
#undef IFAMBER
|
||||||
#undef IFCLOSED
|
#undef IFCLOSED
|
||||||
@ -161,6 +162,7 @@
|
|||||||
#define FREE(blockid)
|
#define FREE(blockid)
|
||||||
#define FWD(speed)
|
#define FWD(speed)
|
||||||
#define GREEN(signal_id)
|
#define GREEN(signal_id)
|
||||||
|
#define HAL(haltype,params...)
|
||||||
#define IF(sensor_id)
|
#define IF(sensor_id)
|
||||||
#define IFAMBER(signal_id)
|
#define IFAMBER(signal_id)
|
||||||
#define IFCLOSED(turnout_id)
|
#define IFCLOSED(turnout_id)
|
||||||
|
@ -61,6 +61,14 @@
|
|||||||
#define ALIAS(name,value...) const int name= 1##value##0 ==10 ? -__COUNTER__ : value##0/10;
|
#define ALIAS(name,value...) const int name= 1##value##0 ==10 ? -__COUNTER__ : value##0/10;
|
||||||
#include "myAutomation.h"
|
#include "myAutomation.h"
|
||||||
|
|
||||||
|
// Pass 1h Implements HAL macro by creating exrailHalSetup function
|
||||||
|
#include "EXRAIL2MacroReset.h"
|
||||||
|
#undef HAL
|
||||||
|
#define HAL(haltype,params...) haltype::create(params);
|
||||||
|
void exrailHalSetup() {
|
||||||
|
#include "myAutomation.h"
|
||||||
|
}
|
||||||
|
|
||||||
// Pass 2 create throttle route list
|
// Pass 2 create throttle route list
|
||||||
#include "EXRAIL2MacroReset.h"
|
#include "EXRAIL2MacroReset.h"
|
||||||
#undef ROUTE
|
#undef ROUTE
|
||||||
@ -234,6 +242,7 @@ const FLASH int16_t RMFT2::SignalDefinitions[] = {
|
|||||||
#define FREE(blockid) OPCODE_FREE,V(blockid),
|
#define FREE(blockid) OPCODE_FREE,V(blockid),
|
||||||
#define FWD(speed) OPCODE_FWD,V(speed),
|
#define FWD(speed) OPCODE_FWD,V(speed),
|
||||||
#define GREEN(signal_id) OPCODE_GREEN,V(signal_id),
|
#define GREEN(signal_id) OPCODE_GREEN,V(signal_id),
|
||||||
|
#define HAL(haltype,params...)
|
||||||
#define IF(sensor_id) OPCODE_IF,V(sensor_id),
|
#define IF(sensor_id) OPCODE_IF,V(sensor_id),
|
||||||
#define IFAMBER(signal_id) OPCODE_IFAMBER,V(signal_id),
|
#define IFAMBER(signal_id) OPCODE_IFAMBER,V(signal_id),
|
||||||
#define IFCLOSED(turnout_id) OPCODE_IFCLOSED,V(turnout_id),
|
#define IFCLOSED(turnout_id) OPCODE_IFCLOSED,V(turnout_id),
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
// Link to halSetup function. If not defined, the function reference will be NULL.
|
// Link to halSetup function. If not defined, the function reference will be NULL.
|
||||||
extern __attribute__((weak)) void halSetup();
|
extern __attribute__((weak)) void halSetup();
|
||||||
|
extern __attribute__((weak)) void exrailHalSetup();
|
||||||
|
|
||||||
//==================================================================================================================
|
//==================================================================================================================
|
||||||
// Static methods
|
// Static methods
|
||||||
@ -55,6 +56,10 @@ void IODevice::begin() {
|
|||||||
if (halSetup)
|
if (halSetup)
|
||||||
halSetup();
|
halSetup();
|
||||||
|
|
||||||
|
// include any HAL devices defined in exrail.
|
||||||
|
if (exrailHalSetup)
|
||||||
|
exrailHalSetup();
|
||||||
|
|
||||||
// Initialise the IO subsystem defaults
|
// Initialise the IO subsystem defaults
|
||||||
ArduinoPins::create(2, NUM_DIGITAL_PINS-2); // Reserve pins for direct access
|
ArduinoPins::create(2, NUM_DIGITAL_PINS-2); // Reserve pins for direct access
|
||||||
// Predefine two PCA9685 modules 0x40-0x41
|
// Predefine two PCA9685 modules 0x40-0x41
|
||||||
|
Loading…
Reference in New Issue
Block a user