15 inline byte ByteNumber(byte inFunctionNumber) {
return inFunctionNumber / 8; }
16 inline byte BitNumber(byte inFunctionNumber) {
return inFunctionNumber % 8; }
22 void Activate(byte inFunctionNumber);
23 void Inactivate(byte inFunctionNumber);
24 bool IsActivated(byte inFunctionNumber);
26 #ifdef DCCPP_DEBUG_MODE 27 void printActivated();
37 bool SetThrottle(
volatile RegisterList *inReg,
int nReg,
int inLocoId,
int inStepsNumber,
int inNewSpeed,
bool inToLeft);
38 int ReadCv(
volatile RegisterList *inReg,
int inLocoId, byte inCvId);
39 void WriteCv(
volatile RegisterList *inReg,
int inLocoId,
int inCvId, byte inCvValue);
52 void beginMain(uint8_t OptionalDirectionMotor, uint8_t Dummy, uint8_t SignalEnablePin, uint8_t
CurrentMonitor);
53 void beginProg(uint8_t OptionalDirectionMotor, uint8_t Dummy, uint8_t SignalEnablePin, uint8_t CurrentMonitor);
55 void beginEthernet(uint8_t *inMac, uint8_t *inIp);
60 void PanicStop(
bool inStop);
61 void StartProgramMode();
62 void EndProgramMode();
65 inline bool SetSpeedMain(
int nReg,
int inLocoId,
int inStepsNumber,
int inNewSpeed,
bool inToLeft) {
return this->SetThrottle(&(this->mainRegs), nReg, inLocoId, inStepsNumber, inNewSpeed, inToLeft); }
66 inline int ReadCvMain(
int inLocoId, byte inCvId) {
return this->ReadCv(&(this->mainRegs), inLocoId, inCvId); }
67 inline void WriteCvMain(
int inLocoId,
int inCvId, byte inValue) { this->WriteCv(&(this->mainRegs), inLocoId, inCvId, inValue); }
68 inline void SetFunctionsMain(
int nReg,
int inLocoId,
FunctionsState inStates) { this->SetFunctions(&(this->mainRegs), nReg, inLocoId, inStates); }
71 inline bool SetSpeedProg(
int nReg,
int inLocoId,
int inStepsNumber,
int inNewSpeed,
bool inToLeft) {
return this->SetThrottle(&(this->progRegs), nReg, inLocoId, inStepsNumber, inNewSpeed, inToLeft); }
72 inline int ReadCvProg(
int inLocoId, byte inCvId) {
return this->ReadCv(&(this->progRegs), inLocoId, inCvId); }
73 inline void WriteCvProg(
int inLocoId,
int inCvId, byte inValue) { this->WriteCv(&(this->progRegs), inLocoId, inCvId, inValue); }
74 inline void SetFunctionsProg(
int nReg,
int inLocoId,
FunctionsState inStates) { this->SetFunctions(&(this->progRegs), nReg, inLocoId, inStates); }
76 #ifdef DCCPP_PRINT_DCCPP 77 static void showConfiguration();
83 #define DCCpp DCCppClass::DCCppInstance