-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ver 8s for additional module ids defined in the ModuleIds file ver 33.
Additional module ids defined in the ModuleIds file ver 33. Updated descriptive comments for some module types Updated CANDAT opcode to match RFC0004
- Loading branch information
Showing
24 changed files
with
397 additions
and
161 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,11 +6,11 @@ namespace merg.cbus | |
{ | ||
|
||
// | ||
// Copyright (C) Pete Brownlow 2011-2017 [email protected] | ||
// Copyright (C) Pete Brownlow 2011-2020 [email protected] | ||
// Originally derived from opcodes.h (c) Andrew Crosland. | ||
// CSV version by Ian Hogg inspired by David W Radcliffe | ||
// | ||
// | ||
// Ver 8s | ||
// | ||
// This work is licensed under the: | ||
// Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. | ||
|
@@ -78,7 +78,9 @@ namespace merg.cbus | |
// Pete Brownlow,09/1/18,Ver 8q Add new parameter flag for module can consume its own events | ||
// Ian Hogg,11/9/18,Ver 8r Added CANACE16CMIO, CANPiNODE, CANDISP, CANCOMPUTE | ||
// Richard Crawshaw,29/02/2020,Fixed order of columns in CbusCabSigAspect2. | ||
// | ||
// Pete Brownlow,01/09/20,Ver 8s for additional module ids defined in the ModuleIds file ver 33. | ||
// Updated descriptive comments for some module types | ||
// Updated CANDAT opcode to match RFC0004 | ||
// | ||
|
||
public static class CbusDefs | ||
|
@@ -103,10 +105,18 @@ public static class CbusBusTypes | |
public const int PB_MIWI = 3; // | ||
} | ||
|
||
public static class CbusCabSigAspect0 | ||
{ | ||
// | ||
// Sub opcodes for OPC_CABDAT | ||
// | ||
public const int CDAT_CABSIG = 1; // | ||
} | ||
|
||
public static class CbusCabSigAspect1 | ||
{ | ||
// | ||
// Aspect codes for OPC_CABSIG | ||
// Aspect codes for CDAT_CABSIG | ||
// | ||
// First aspect byte | ||
// | ||
|
@@ -121,15 +131,14 @@ public static class CbusCabSigAspect1 | |
public static class CbusCabSigAspect2 | ||
{ | ||
// | ||
// Aspect codes for OPC_CABSIG | ||
// | ||
// Aspect codes for CDAT_CABSIG | ||
// | ||
// Second Aspect byte | ||
// | ||
public const int SASP_LIT = 0; // Set bit 0 to indicate lit | ||
public const int SASP_LUNAR = 1; // Set bit 1 for lunar indication | ||
// | ||
// Remaining bits in second aspect byte yet to be defined - use for other signalling systems | ||
// Remaining bits in second aspect byte yet to be defined - can be used for other signalling systems | ||
} | ||
|
||
public static class CbusCmdErrs | ||
|
@@ -168,7 +177,7 @@ public static class CbusErrs | |
|
||
public static class CbusManufacturer | ||
{ | ||
// CBUS Manufacturer definitions,, | ||
// CBUS Manufacturer definitions | ||
// Where the manufacturer already has an NMRA code, this is used | ||
// | ||
public const int MANU_MERG = 165; // http://www.merg.co.uk | ||
|
@@ -178,6 +187,10 @@ public static class CbusManufacturer | |
|
||
public static class CbusMergModuleTypes | ||
{ | ||
// | ||
// MODULE TYPES | ||
// | ||
// Please note that the existance of a module type id does not necessarily mean that firmware has been implemented | ||
// | ||
// MERG Module types | ||
// | ||
|
@@ -213,11 +226,11 @@ public static class CbusMergModuleTypes | |
public const int MTYP_CANPAN = 29; // Control panel 32/32 | ||
public const int MTYP_CANACE3C = 30; // Newer version of CANACE3 firmware | ||
public const int MTYP_CANPanel = 31; // Control panel 64/64 | ||
public const int MTYP_CANMIO = 32; // Multiple I/O | ||
public const int MTYP_CANACE8MIO = 33; // Multiple IO module emulating ACE8C | ||
public const int MTYP_CANMIO = 32; // Multiple I/O – Universal CANMIO firmware | ||
public const int MTYP_CANACE8MIO = 33; // Multiple IO module 16 inputs emulating CANACE8C on CANMIO hardware | ||
public const int MTYP_CANSOL = 34; // Solenoid driver module | ||
public const int MTYP_CANBIP = 35; // Bipolar IO module with additional 8 I/O pins | ||
public const int MTYP_CANCDU = 36; // Solenoid driver module with additional 6 I/O pins | ||
public const int MTYP_CANBIP = 35; // Universal CANBIP firmware - Bipolar IO module with additional 8 I/O pins (CANMIO family) | ||
public const int MTYP_CANCDU = 36; // Solenoid driver module with additional 6 I/O pins (CANMIO family) | ||
public const int MTYP_CANACC4CDU = 37; // CANACC4 firmware ported to CANCDU | ||
public const int MTYP_CANWiBase = 38; // CAN to MiWi base station | ||
public const int MTYP_WiCAB = 39; // Wireless cab using MiWi protocol | ||
|
@@ -231,17 +244,25 @@ public static class CbusMergModuleTypes | |
public const int MTYP_CAN4DC = 47; // DC train controller | ||
public const int MTYP_CANELEV = 48; // Nelevator controller | ||
public const int MTYP_CANSCAN = 49; // 128 switch inputs | ||
public const int MTYP_CANMIO_SVO = 50; // 16MHz 25k80 version of CANSERVO8c | ||
public const int MTYP_CANMIO_INP = 51; // 16MHz 25k80 version of CANACE8MIO | ||
public const int MTYP_CANMIO_OUT = 52; // 16MHz 25k80 version of CANACC8 | ||
public const int MTYP_CANBIP_OUT = 53; // 16MHz 25k80 version of CANACC5 | ||
public const int MTYP_CANMIO_SVO = 50; // 16MHz 25k80 version of CANSERVO8c on CANMIO hardware | ||
public const int MTYP_CANMIO_INP = 51; // 16MHz 25k80 version of CANACE8MIO on CANMIO hardware | ||
public const int MTYP_CANMIO_OUT = 52; // 16MHz 25k80 version of CANACC8 on CANMIO hardware | ||
public const int MTYP_CANBIP_OUT = 53; // 16MHz 25k80 version of CANACC5 on CANBIP hardware | ||
public const int MTYP_CANASTOP = 54; // DCC stop generator | ||
public const int MTYP_CANCSB = 55; // CANCMD with on board 3A booster | ||
public const int MTYP_CANMAGOT = 56; // Magnet on Track detector | ||
public const int MTYP_CANACE16CMIO = 57; // 16 input equivaent to CANACE8C | ||
public const int MTYP_CANPiNODE = 58; // CBUS module based on Raspberry Pi | ||
public const int MTYP_CANDISP = 59; // 25K80 version of CANLED64 (IHart and MB) | ||
public const int MTYP_CANCOMPUTE = 60; // Event processing engine | ||
public const int MTYP_CANCOMPUTE = 60; // Compute Event processing engine | ||
public const int MTYP_CANRFC522 = 61; // Read/Write from/to RFC522 RFID tags | ||
public const int MTYP_CANINP = 62; // 8 inputs module (2g version of CANACE8c) | ||
public const int MTYP_CANOUT = 63; // 8 outputs module (2g version of CANACC8) | ||
public const int MTYP_CANEMIO = 64; // Extended CANMIO (24 I/O ports) | ||
public const int MTYP_CANCABDC = 65; // DC cab | ||
// | ||
// At the time of writing the list of defined MERG module types is maintained by Roger Healey | ||
// Please liaise with Roger before adding new module types | ||
// | ||
public const int MTYP_CAN_SW = 0xFF; // Software nodes | ||
public const int MTYP_EMPTY = 0xFE; // Empty module, bootloader only | ||
|
@@ -374,7 +395,7 @@ public static class CbusOpCodes | |
public const int OPC_WCVB = 0x83; // Write CV bit Ops mode by handle | ||
public const int OPC_QCVS = 0x84; // Read CV | ||
public const int OPC_PCVS = 0x85; // Report CV | ||
public const int OPC_CABSIG = 0x86; // Cab signalling | ||
public const int OPC_CABDAT = 0x86; // Cab data (cab signalling) | ||
// | ||
public const int OPC_ACON = 0x90; // on event | ||
public const int OPC_ACOF = 0x91; // off event | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
comment,,, | ||
comment,,,Copyright (C) Pete Brownlow 2011-2017 [email protected] | ||
comment,,,Copyright (C) Pete Brownlow 2011-2020 [email protected] | ||
comment,,,Originally derived from opcodes.h (c) Andrew Crosland. | ||
comment,,,CSV version by Ian Hogg inspired by David W Radcliffe | ||
comment,,, | ||
comment,,, | ||
comment,,,Ver 8s | ||
comment,,, | ||
comment,,, This work is licensed under the: | ||
comment,,, Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. | ||
|
@@ -71,15 +71,21 @@ comment,,,Pete Brownlow,29/7/17,Ver 8p Add new module ids and new cab signalling | |
comment,,,Pete Brownlow,09/1/18,Ver 8q Add new parameter flag for module can consume its own events | ||
comment,,,Ian Hogg,11/9/18,Ver 8r Added CANACE16CMIO, CANPiNODE, CANDISP, CANCOMPUTE | ||
comment,,,Richard Crawshaw,29/02/2020,Fixed order of columns in CbusCabSigAspect2. | ||
comment,,,Pete Brownlow,01/09/20,Ver 8s for additional module ids defined in the ModuleIds file ver 33. | ||
comment,,, Updated descriptive comments for some module types | ||
comment,,, Updated CANDAT opcode to match RFC0004 | ||
comment,,, | ||
comment,,, | ||
CbusManufacturer,,,CBUS Manufacturer definitions,, | ||
CbusManufacturer,,,CBUS Manufacturer definitions | ||
CbusManufacturer,,,Where the manufacturer already has an NMRA code, this is used | ||
CbusManufacturer,,, | ||
CbusManufacturer,MANU_MERG,165,http://www.merg.co.uk | ||
CbusManufacturer,MANU_ROCRAIL,70,http://www.rocrail.net | ||
CbusManufacturer,MANU_SPECTRUM,80,http://animatedmodeler.com (Spectrum Engineering) | ||
CbusMergModuleTypes,,, | ||
CbusMergModuleTypes,,,MODULE TYPES | ||
CbusMergModuleTypes,,, | ||
CbusMergModuleTypes,,,Please note that the existance of a module type id does not necessarily mean that firmware has been implemented | ||
CbusMergModuleTypes,,, | ||
CbusMergModuleTypes,,,MERG Module types | ||
CbusMergModuleTypes,,, | ||
CbusMergModuleTypes,MTYP_SLIM,0,default for SLiM nodes | ||
|
@@ -114,11 +120,11 @@ CbusMergModuleTypes,MTYP_CANCOND8C,28,Conditional event generation | |
CbusMergModuleTypes,MTYP_CANPAN,29,Control panel 32/32 | ||
CbusMergModuleTypes,MTYP_CANACE3C,30,Newer version of CANACE3 firmware | ||
CbusMergModuleTypes,MTYP_CANPanel,31,Control panel 64/64 | ||
CbusMergModuleTypes,MTYP_CANMIO,32,Multiple I/O | ||
CbusMergModuleTypes,MTYP_CANACE8MIO,33,Multiple IO module emulating ACE8C | ||
CbusMergModuleTypes,MTYP_CANMIO,32,Multiple I/O – Universal CANMIO firmware | ||
CbusMergModuleTypes,MTYP_CANACE8MIO,33,Multiple IO module 16 inputs emulating CANACE8C on CANMIO hardware | ||
CbusMergModuleTypes,MTYP_CANSOL,34,Solenoid driver module | ||
CbusMergModuleTypes,MTYP_CANBIP,35,Bipolar IO module with additional 8 I/O pins | ||
CbusMergModuleTypes,MTYP_CANCDU,36,Solenoid driver module with additional 6 I/O pins | ||
CbusMergModuleTypes,MTYP_CANBIP,35,Universal CANBIP firmware - Bipolar IO module with additional 8 I/O pins (CANMIO family) | ||
CbusMergModuleTypes,MTYP_CANCDU,36,Solenoid driver module with additional 6 I/O pins (CANMIO family) | ||
CbusMergModuleTypes,MTYP_CANACC4CDU,37,CANACC4 firmware ported to CANCDU | ||
CbusMergModuleTypes,MTYP_CANWiBase,38,CAN to MiWi base station | ||
CbusMergModuleTypes,MTYP_WiCAB,39,Wireless cab using MiWi protocol | ||
|
@@ -132,17 +138,25 @@ CbusMergModuleTypes,MTYP_CANPiWi,46,a Raspberry Pi based module for WiFi | |
CbusMergModuleTypes,MTYP_CAN4DC,47,DC train controller | ||
CbusMergModuleTypes,MTYP_CANELEV,48,Nelevator controller | ||
CbusMergModuleTypes,MTYP_CANSCAN,49,128 switch inputs | ||
CbusMergModuleTypes,MTYP_CANMIO_SVO,50,16MHz 25k80 version of CANSERVO8c | ||
CbusMergModuleTypes,MTYP_CANMIO_INP,51,16MHz 25k80 version of CANACE8MIO | ||
CbusMergModuleTypes,MTYP_CANMIO_OUT,52,16MHz 25k80 version of CANACC8 | ||
CbusMergModuleTypes,MTYP_CANBIP_OUT,53,16MHz 25k80 version of CANACC5 | ||
CbusMergModuleTypes,MTYP_CANMIO_SVO,50,16MHz 25k80 version of CANSERVO8c on CANMIO hardware | ||
CbusMergModuleTypes,MTYP_CANMIO_INP,51,16MHz 25k80 version of CANACE8MIO on CANMIO hardware | ||
CbusMergModuleTypes,MTYP_CANMIO_OUT,52,16MHz 25k80 version of CANACC8 on CANMIO hardware | ||
CbusMergModuleTypes,MTYP_CANBIP_OUT,53,16MHz 25k80 version of CANACC5 on CANBIP hardware | ||
CbusMergModuleTypes,MTYP_CANASTOP,54,DCC stop generator | ||
CbusMergModuleTypes,MTYP_CANCSB,55,CANCMD with on board 3A booster | ||
CbusMergModuleTypes,MTYP_CANMAGOT,56,Magnet on Track detector | ||
CbusMergModuleTypes,MTYP_CANACE16CMIO,57,16 input equivaent to CANACE8C | ||
CbusMergModuleTypes,MTYP_CANPiNODE,58,CBUS module based on Raspberry Pi | ||
CbusMergModuleTypes,MTYP_CANDISP,59,25K80 version of CANLED64 (IHart and MB) | ||
CbusMergModuleTypes,MTYP_CANCOMPUTE,60,Event processing engine | ||
CbusMergModuleTypes,MTYP_CANCOMPUTE,60,Compute Event processing engine | ||
CbusMergModuleTypes,MTYP_CANRFC522,61,Read/Write from/to RFC522 RFID tags | ||
CbusMergModuleTypes,MTYP_CANINP,62,8 inputs module (2g version of CANACE8c) | ||
CbusMergModuleTypes,MTYP_CANOUT,63,8 outputs module (2g version of CANACC8) | ||
CbusMergModuleTypes,MTYP_CANEMIO,64,Extended CANMIO (24 I/O ports) | ||
CbusMergModuleTypes,MTYP_CANCABDC,65,DC cab | ||
CbusMergModuleTypes,,, | ||
CbusMergModuleTypes,,,At the time of writing the list of defined MERG module types is maintained by Roger Healey | ||
CbusMergModuleTypes,,,Please liaise with Roger before adding new module types | ||
CbusMergModuleTypes,,, | ||
CbusMergModuleTypes,MTYP_CAN_SW,0xFF,Software nodes | ||
CbusMergModuleTypes,MTYP_EMPTY,0xFE,Empty module, bootloader only | ||
|
@@ -251,7 +265,7 @@ CbusOpCodes,OPC_WCVO,0x82,Write CV byte Ops mode by handle | |
CbusOpCodes,OPC_WCVB,0x83,Write CV bit Ops mode by handle | ||
CbusOpCodes,OPC_QCVS,0x84,Read CV | ||
CbusOpCodes,OPC_PCVS,0x85,Report CV | ||
CbusOpCodes,OPC_CABSIG,0x86,Cab signalling | ||
CbusOpCodes,OPC_CABDAT,0x86,Cab data (cab signalling) | ||
CbusOpCodes,,, | ||
CbusOpCodes,OPC_ACON,0x90,on event | ||
CbusOpCodes,OPC_ACOF,0x91,off event | ||
|
@@ -373,8 +387,12 @@ CbusCmdErrs,CMDERR_INV_PARAM_IDX,9, | |
CbusCmdErrs,CMDERR_INV_NV_IDX,10, | ||
CbusCmdErrs,CMDERR_INV_EV_VALUE,11, | ||
CbusCmdErrs,CMDERR_INV_NV_VALUE,12, | ||
CbusCabSigAspect0,,, | ||
CbusCabSigAspect0,,,Sub opcodes for OPC_CABDAT | ||
CbusCabSigAspect0,,, | ||
CbusCabSigAspect0,CDAT_CABSIG,1 | ||
CbusCabSigAspect1,,, | ||
CbusCabSigAspect1,,,Aspect codes for OPC_CABSIG | ||
CbusCabSigAspect1,,,Aspect codes for CDAT_CABSIG | ||
CbusCabSigAspect1,,, | ||
CbusCabSigAspect1,,,First aspect byte | ||
CbusCabSigAspect1,,, | ||
|
@@ -385,15 +403,14 @@ CbusCabSigAspect1,SASP_PROCEED,3, | |
CbusCabSigAspect1,SASP_CALLON,4,Set bit 2 for call-on - main aspect will usually be at danger | ||
CbusCabSigAspect1,SASP_THEATRE,8,Set bit 3 to 0 for upper nibble is feather lcoation, set 1 for upper nibble is theatre code | ||
CbusCabSigAspect2,,, | ||
CbusCabSigAspect2,,,Aspect codes for OPC_CABSIG | ||
CbusCabSigAspect2,,, | ||
CbusCabSigAspect2,,,Aspect codes for CDAT_CABSIG | ||
CbusCabSigAspect2,,, | ||
CbusCabSigAspect2,,,Second Aspect byte | ||
CbusCabSigAspect2,,, | ||
CbusCabSigAspect2,SASP_LIT,0,Set bit 0 to indicate lit | ||
CbusCabSigAspect2,SASP_LUNAR,1,Set bit 1 for lunar indication | ||
CbusCabSigAspect2,,, | ||
CbusCabSigAspect2,,,Remaining bits in second aspect byte yet to be defined - use for other signalling systems | ||
CbusCabSigAspect2,,,Remaining bits in second aspect byte yet to be defined - can be used for other signalling systems | ||
CbusParams,,, | ||
CbusParams,,, | ||
CbusParams,,,Parameter index numbers (readable by OPC_RQNPN, returned in OPC_PARAN) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,11 +9,11 @@ extern "C" { | |
#endif | ||
|
||
// | ||
// Copyright (C) Pete Brownlow 2011-2017 [email protected] | ||
// Copyright (C) Pete Brownlow 2011-2020 [email protected] | ||
// Originally derived from opcodes.h (c) Andrew Crosland. | ||
// CSV version by Ian Hogg inspired by David W Radcliffe | ||
// | ||
// | ||
// Ver 8s | ||
// | ||
// This work is licensed under the: | ||
// Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. | ||
|
@@ -81,15 +81,21 @@ extern "C" { | |
// Pete Brownlow,09/1/18,Ver 8q Add new parameter flag for module can consume its own events | ||
// Ian Hogg,11/9/18,Ver 8r Added CANACE16CMIO, CANPiNODE, CANDISP, CANCOMPUTE | ||
// Richard Crawshaw,29/02/2020,Fixed order of columns in CbusCabSigAspect2. | ||
// Pete Brownlow,01/09/20,Ver 8s for additional module ids defined in the ModuleIds file ver 33. | ||
// Updated descriptive comments for some module types | ||
// Updated CANDAT opcode to match RFC0004 | ||
// | ||
// | ||
// CBUS Manufacturer definitions,, | ||
// CBUS Manufacturer definitions | ||
// Where the manufacturer already has an NMRA code, this is used | ||
// | ||
#define MANU_MERG 165 // http://www.merg.co.uk | ||
#define MANU_ROCRAIL 70 // http://www.rocrail.net | ||
#define MANU_SPECTRUM 80 // http://animatedmodeler.com (Spectrum Engineering) | ||
// | ||
// MODULE TYPES | ||
// | ||
// Please note that the existance of a module type id does not necessarily mean that firmware has been implemented | ||
// | ||
// MERG Module types | ||
// | ||
#define MTYP_SLIM 0 // default for SLiM nodes | ||
|
@@ -124,11 +130,11 @@ extern "C" { | |
#define MTYP_CANPAN 29 // Control panel 32/32 | ||
#define MTYP_CANACE3C 30 // Newer version of CANACE3 firmware | ||
#define MTYP_CANPanel 31 // Control panel 64/64 | ||
#define MTYP_CANMIO 32 // Multiple I/O | ||
#define MTYP_CANACE8MIO 33 // Multiple IO module emulating ACE8C | ||
#define MTYP_CANMIO 32 // Multiple I/O – Universal CANMIO firmware | ||
#define MTYP_CANACE8MIO 33 // Multiple IO module 16 inputs emulating CANACE8C on CANMIO hardware | ||
#define MTYP_CANSOL 34 // Solenoid driver module | ||
#define MTYP_CANBIP 35 // Bipolar IO module with additional 8 I/O pins | ||
#define MTYP_CANCDU 36 // Solenoid driver module with additional 6 I/O pins | ||
#define MTYP_CANBIP 35 // Universal CANBIP firmware - Bipolar IO module with additional 8 I/O pins (CANMIO family) | ||
#define MTYP_CANCDU 36 // Solenoid driver module with additional 6 I/O pins (CANMIO family) | ||
#define MTYP_CANACC4CDU 37 // CANACC4 firmware ported to CANCDU | ||
#define MTYP_CANWiBase 38 // CAN to MiWi base station | ||
#define MTYP_WiCAB 39 // Wireless cab using MiWi protocol | ||
|
@@ -142,17 +148,25 @@ extern "C" { | |
#define MTYP_CAN4DC 47 // DC train controller | ||
#define MTYP_CANELEV 48 // Nelevator controller | ||
#define MTYP_CANSCAN 49 // 128 switch inputs | ||
#define MTYP_CANMIO_SVO 50 // 16MHz 25k80 version of CANSERVO8c | ||
#define MTYP_CANMIO_INP 51 // 16MHz 25k80 version of CANACE8MIO | ||
#define MTYP_CANMIO_OUT 52 // 16MHz 25k80 version of CANACC8 | ||
#define MTYP_CANBIP_OUT 53 // 16MHz 25k80 version of CANACC5 | ||
#define MTYP_CANMIO_SVO 50 // 16MHz 25k80 version of CANSERVO8c on CANMIO hardware | ||
#define MTYP_CANMIO_INP 51 // 16MHz 25k80 version of CANACE8MIO on CANMIO hardware | ||
#define MTYP_CANMIO_OUT 52 // 16MHz 25k80 version of CANACC8 on CANMIO hardware | ||
#define MTYP_CANBIP_OUT 53 // 16MHz 25k80 version of CANACC5 on CANBIP hardware | ||
#define MTYP_CANASTOP 54 // DCC stop generator | ||
#define MTYP_CANCSB 55 // CANCMD with on board 3A booster | ||
#define MTYP_CANMAGOT 56 // Magnet on Track detector | ||
#define MTYP_CANACE16CMIO 57 // 16 input equivaent to CANACE8C | ||
#define MTYP_CANPiNODE 58 // CBUS module based on Raspberry Pi | ||
#define MTYP_CANDISP 59 // 25K80 version of CANLED64 (IHart and MB) | ||
#define MTYP_CANCOMPUTE 60 // Event processing engine | ||
#define MTYP_CANCOMPUTE 60 // Compute Event processing engine | ||
#define MTYP_CANRFC522 61 // Read/Write from/to RFC522 RFID tags | ||
#define MTYP_CANINP 62 // 8 inputs module (2g version of CANACE8c) | ||
#define MTYP_CANOUT 63 // 8 outputs module (2g version of CANACC8) | ||
#define MTYP_CANEMIO 64 // Extended CANMIO (24 I/O ports) | ||
#define MTYP_CANCABDC 65 // DC cab | ||
// | ||
// At the time of writing the list of defined MERG module types is maintained by Roger Healey | ||
// Please liaise with Roger before adding new module types | ||
// | ||
#define MTYP_CAN_SW 0xFF // Software nodes | ||
#define MTYP_EMPTY 0xFE // Empty module, bootloader only | ||
|
@@ -261,7 +275,7 @@ extern "C" { | |
#define OPC_WCVB 0x83 // Write CV bit Ops mode by handle | ||
#define OPC_QCVS 0x84 // Read CV | ||
#define OPC_PCVS 0x85 // Report CV | ||
#define OPC_CABSIG 0x86 // Cab signalling | ||
#define OPC_CABDAT 0x86 // Cab data (cab signalling) | ||
// | ||
#define OPC_ACON 0x90 // on event | ||
#define OPC_ACOF 0x91 // off event | ||
|
@@ -384,7 +398,11 @@ extern "C" { | |
#define CMDERR_INV_EV_VALUE 11 // | ||
#define CMDERR_INV_NV_VALUE 12 // | ||
// | ||
// Aspect codes for OPC_CABSIG | ||
// Sub opcodes for OPC_CABDAT | ||
// | ||
#define CDAT_CABSIG 1 // | ||
// | ||
// Aspect codes for CDAT_CABSIG | ||
// | ||
// First aspect byte | ||
// | ||
|
@@ -395,15 +413,14 @@ extern "C" { | |
#define SASP_CALLON 4 // Set bit 2 for call-on - main aspect will usually be at danger | ||
#define SASP_THEATRE 8 // Set bit 3 to 0 for upper nibble is feather lcoation, set 1 for upper nibble is theatre code | ||
// | ||
// Aspect codes for OPC_CABSIG | ||
// | ||
// Aspect codes for CDAT_CABSIG | ||
// | ||
// Second Aspect byte | ||
// | ||
#define SASP_LIT 0 // Set bit 0 to indicate lit | ||
#define SASP_LUNAR 1 // Set bit 1 for lunar indication | ||
// | ||
// Remaining bits in second aspect byte yet to be defined - use for other signalling systems | ||
// Remaining bits in second aspect byte yet to be defined - can be used for other signalling systems | ||
// | ||
// | ||
// Parameter index numbers (readable by OPC_RQNPN, returned in OPC_PARAN) | ||
|
Oops, something went wrong.