server: Z21 use less hardcoded values
- Add new labels for message values - Remove unneeded Z21 namespace prefix - Fix newlines after case
Dieser Commit ist enthalten in:
Ursprung
52fdb3371e
Commit
0a5e654df7
@ -99,7 +99,7 @@ bool SimulationIOHandler::send(const Message& message)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xE3:
|
case LAN_X_GET_LOCO_INFO:
|
||||||
if(const auto& getLocoInfo = static_cast<const LanXGetLocoInfo&>(message);
|
if(const auto& getLocoInfo = static_cast<const LanXGetLocoInfo&>(message);
|
||||||
getLocoInfo.db0 == 0xF0)
|
getLocoInfo.db0 == 0xF0)
|
||||||
{
|
{
|
||||||
@ -107,7 +107,7 @@ bool SimulationIOHandler::send(const Message& message)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xE4:
|
case LAN_X_SET_LOCO:
|
||||||
if(const auto& setLocoDrive = static_cast<const LanXSetLocoDrive&>(message);
|
if(const auto& setLocoDrive = static_cast<const LanXSetLocoDrive&>(message);
|
||||||
setLocoDrive.db0 >= 0x10 && setLocoDrive.db0 <= 0x13)
|
setLocoDrive.db0 >= 0x10 && setLocoDrive.db0 <= 0x13)
|
||||||
{
|
{
|
||||||
@ -121,7 +121,7 @@ bool SimulationIOHandler::send(const Message& message)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xF1:
|
case LAN_X_GET_FIRMWARE_VERSION:
|
||||||
if(message == LanXGetFirmwareVersion())
|
if(message == LanXGetFirmwareVersion())
|
||||||
{
|
{
|
||||||
reply(LanXGetFirmwareVersionReply(firmwareVersionMajor, ServerConfig::firmwareVersionMinor));
|
reply(LanXGetFirmwareVersionReply(firmwareVersionMajor, ServerConfig::firmwareVersionMinor));
|
||||||
|
|||||||
@ -71,7 +71,7 @@ std::string toString(const Message& message, bool raw)
|
|||||||
switch(message.header())
|
switch(message.header())
|
||||||
{
|
{
|
||||||
case LAN_LOGOFF:
|
case LAN_LOGOFF:
|
||||||
if(message.dataLen() != sizeof(Z21::LanLogoff))
|
if(message.dataLen() != sizeof(LanLogoff))
|
||||||
raw = true;
|
raw = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ std::string toString(const Message& message, bool raw)
|
|||||||
raw = true;
|
raw = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x53:
|
case LAN_X_SET_TURNOUT:
|
||||||
{
|
{
|
||||||
const auto& setTurnout = static_cast<const LanXSetTurnout&>(message);
|
const auto& setTurnout = static_cast<const LanXSetTurnout&>(message);
|
||||||
s = "LAN_X_SET_TURNOUT";
|
s = "LAN_X_SET_TURNOUT";
|
||||||
@ -102,6 +102,7 @@ std::string toString(const Message& message, bool raw)
|
|||||||
s.append(" queue=").append(setTurnout.queue() ? "yes" : "no");
|
s.append(" queue=").append(setTurnout.queue() ? "yes" : "no");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case LAN_X_BC:
|
case LAN_X_BC:
|
||||||
if(message == LanXBCTrackPowerOff())
|
if(message == LanXBCTrackPowerOff())
|
||||||
s = "LAN_X_BC_TRACK_POWER_OFF";
|
s = "LAN_X_BC_TRACK_POWER_OFF";
|
||||||
@ -113,7 +114,7 @@ std::string toString(const Message& message, bool raw)
|
|||||||
raw = true;
|
raw = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x62:
|
case LAN_X_STATUS_CHANGED:
|
||||||
if(const LanXStatusChanged& statusChanged = static_cast<const LanXStatusChanged&>(message); statusChanged.db0 == 0x22)
|
if(const LanXStatusChanged& statusChanged = static_cast<const LanXStatusChanged&>(message); statusChanged.db0 == 0x22)
|
||||||
{
|
{
|
||||||
s = "LAN_X_STATUS_CHANGED";
|
s = "LAN_X_STATUS_CHANGED";
|
||||||
@ -140,7 +141,7 @@ std::string toString(const Message& message, bool raw)
|
|||||||
raw = true;
|
raw = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xE3:
|
case LAN_X_GET_LOCO_INFO:
|
||||||
if(const auto& getLocoInfo = static_cast<const LanXGetLocoInfo&>(message); getLocoInfo.db0 == 0xF0)
|
if(const auto& getLocoInfo = static_cast<const LanXGetLocoInfo&>(message); getLocoInfo.db0 == 0xF0)
|
||||||
{
|
{
|
||||||
s = "LAN_X_GET_LOCO_INFO";
|
s = "LAN_X_GET_LOCO_INFO";
|
||||||
@ -152,7 +153,7 @@ std::string toString(const Message& message, bool raw)
|
|||||||
raw = true;
|
raw = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xE4:
|
case LAN_X_SET_LOCO:
|
||||||
if(const auto& setLocoDrive = static_cast<const LanXSetLocoDrive&>(message);
|
if(const auto& setLocoDrive = static_cast<const LanXSetLocoDrive&>(message);
|
||||||
setLocoDrive.db0 >= 0x10 && setLocoDrive.db0 <= 0x13)
|
setLocoDrive.db0 >= 0x10 && setLocoDrive.db0 <= 0x13)
|
||||||
{
|
{
|
||||||
@ -181,7 +182,7 @@ std::string toString(const Message& message, bool raw)
|
|||||||
raw = true;
|
raw = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xEF:
|
case LAN_X_LOCO_INFO:
|
||||||
{
|
{
|
||||||
const auto& locoInfo = static_cast<const LanXLocoInfo&>(message);
|
const auto& locoInfo = static_cast<const LanXLocoInfo&>(message);
|
||||||
s = "LAN_X_LOCO_INFO";
|
s = "LAN_X_LOCO_INFO";
|
||||||
@ -199,14 +200,15 @@ std::string toString(const Message& message, bool raw)
|
|||||||
s.append(" busy=").append(locoInfo.isBusy() ? "1" : "0");
|
s.append(" busy=").append(locoInfo.isBusy() ? "1" : "0");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 0xF1:
|
|
||||||
|
case LAN_X_GET_FIRMWARE_VERSION:
|
||||||
if(message == LanXGetFirmwareVersion())
|
if(message == LanXGetFirmwareVersion())
|
||||||
s = "LAN_X_GET_FIRMWARE_VERSION";
|
s = "LAN_X_GET_FIRMWARE_VERSION";
|
||||||
else
|
else
|
||||||
raw = true;
|
raw = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xF3:
|
case LAN_X_GET_FIRMWARE_VERSION_REPLY:
|
||||||
if(message.dataLen() == sizeof(LanXGetFirmwareVersionReply))
|
if(message.dataLen() == sizeof(LanXGetFirmwareVersionReply))
|
||||||
{
|
{
|
||||||
const auto& getFirmwareVersion = static_cast<const LanXGetFirmwareVersionReply&>(message);
|
const auto& getFirmwareVersion = static_cast<const LanXGetFirmwareVersionReply&>(message);
|
||||||
@ -237,7 +239,7 @@ std::string toString(const Message& message, bool raw)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case LAN_SET_BROADCASTFLAGS:
|
case LAN_SET_BROADCASTFLAGS:
|
||||||
if(message.dataLen() == sizeof(Z21::LanSetBroadcastFlags))
|
if(message.dataLen() == sizeof(LanSetBroadcastFlags))
|
||||||
{
|
{
|
||||||
s = "LAN_SET_BROADCASTFLAGS";
|
s = "LAN_SET_BROADCASTFLAGS";
|
||||||
s.append(" flags=0x").append(toHex(static_cast<std::underlying_type_t<BroadcastFlags>>(static_cast<const LanSetBroadcastFlags&>(message).broadcastFlags())));
|
s.append(" flags=0x").append(toHex(static_cast<std::underlying_type_t<BroadcastFlags>>(static_cast<const LanSetBroadcastFlags&>(message).broadcastFlags())));
|
||||||
|
|||||||
@ -142,18 +142,37 @@ enum LocoMode : uint8_t
|
|||||||
Motorola = 1,
|
Motorola = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static constexpr uint8_t LAN_X_SET_STOP = 0x80;
|
|
||||||
static constexpr uint8_t LAN_X_TURNOUT_INFO = 0x43;
|
static constexpr uint8_t LAN_X_TURNOUT_INFO = 0x43;
|
||||||
|
static constexpr uint8_t LAN_X_SET_TURNOUT = 0x53;
|
||||||
|
|
||||||
static constexpr uint8_t LAN_X_BC = 0x61;
|
static constexpr uint8_t LAN_X_BC = 0x61;
|
||||||
|
|
||||||
|
static constexpr uint8_t LAN_X_STATUS_CHANGED = 0x62;
|
||||||
|
static constexpr uint8_t LAN_X_GET_VERSION_REPLY = 0x63;
|
||||||
|
|
||||||
|
//static constexpr uint8_t LAN_X_CV_NACK_SC = 0x12;
|
||||||
|
//static constexpr uint8_t LAN_X_CV_NACK = 0x13;
|
||||||
|
//static constexpr uint8_t LAN_X_UNKNOWN_COMMAND = 0x82;
|
||||||
|
|
||||||
|
static constexpr uint8_t LAN_X_SET_STOP = 0x80;
|
||||||
|
static constexpr uint8_t LAN_X_BC_STOPPED = 0x81;
|
||||||
|
|
||||||
|
static constexpr uint8_t LAN_X_GET_LOCO_INFO = 0xE3;
|
||||||
|
static constexpr uint8_t LAN_X_SET_LOCO = 0xE4;
|
||||||
|
static constexpr uint8_t LAN_X_LOCO_INFO = 0xEF;
|
||||||
|
|
||||||
|
static constexpr uint8_t LAN_X_GET_FIRMWARE_VERSION = 0xF1;
|
||||||
|
static constexpr uint8_t LAN_X_GET_FIRMWARE_VERSION_REPLY = 0xF3;
|
||||||
|
|
||||||
|
// db0 for xHeader 0x21
|
||||||
|
static constexpr uint8_t LAN_X_SET_TRACK_POWER_OFF = 0x80;
|
||||||
|
static constexpr uint8_t LAN_X_SET_TRACK_POWER_ON = 0x81;
|
||||||
|
|
||||||
|
// db0 for xHeader LAN_X_BC
|
||||||
static constexpr uint8_t LAN_X_BC_TRACK_POWER_OFF = 0x00;
|
static constexpr uint8_t LAN_X_BC_TRACK_POWER_OFF = 0x00;
|
||||||
static constexpr uint8_t LAN_X_BC_TRACK_POWER_ON = 0x01;
|
static constexpr uint8_t LAN_X_BC_TRACK_POWER_ON = 0x01;
|
||||||
//static constexpr uint8_t LAN_X_BC_PROGRAMMING_MODE = 0x02;
|
//static constexpr uint8_t LAN_X_BC_PROGRAMMING_MODE = 0x02;
|
||||||
static constexpr uint8_t LAN_X_BC_TRACK_SHORT_CIRCUIT = 0x08;
|
static constexpr uint8_t LAN_X_BC_TRACK_SHORT_CIRCUIT = 0x08;
|
||||||
//static constexpr uint8_t LAN_X_CV_NACK_SC = 0x12;
|
|
||||||
//static constexpr uint8_t LAN_X_CV_NACK = 0x13;
|
|
||||||
//static constexpr uint8_t LAN_X_UNKNOWN_COMMAND = 0x82;
|
|
||||||
static constexpr uint8_t LAN_X_BC_STOPPED = 0x81;
|
|
||||||
static constexpr uint8_t LAN_X_LOCO_INFO = 0xEF;
|
|
||||||
|
|
||||||
enum HardwareType : uint32_t
|
enum HardwareType : uint32_t
|
||||||
{
|
{
|
||||||
@ -332,7 +351,7 @@ struct LanXGetFirmwareVersion : LanX
|
|||||||
uint8_t checksum = 0xFB;
|
uint8_t checksum = 0xFB;
|
||||||
|
|
||||||
LanXGetFirmwareVersion() :
|
LanXGetFirmwareVersion() :
|
||||||
LanX(sizeof(LanXGetFirmwareVersion), 0xF1)
|
LanX(sizeof(LanXGetFirmwareVersion), LAN_X_GET_FIRMWARE_VERSION)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
} ATTRIBUTE_PACKED;
|
} ATTRIBUTE_PACKED;
|
||||||
@ -354,7 +373,7 @@ static_assert(sizeof(LanXGetStatus) == 7);
|
|||||||
// LAN_X_SET_TRACK_POWER_OFF
|
// LAN_X_SET_TRACK_POWER_OFF
|
||||||
struct LanXSetTrackPowerOff : LanX
|
struct LanXSetTrackPowerOff : LanX
|
||||||
{
|
{
|
||||||
uint8_t db0 = 0x80;
|
uint8_t db0 = LAN_X_SET_TRACK_POWER_OFF;
|
||||||
uint8_t checksum = 0xa1;
|
uint8_t checksum = 0xa1;
|
||||||
|
|
||||||
LanXSetTrackPowerOff() :
|
LanXSetTrackPowerOff() :
|
||||||
@ -367,7 +386,7 @@ static_assert(sizeof(LanXSetTrackPowerOff) == 7);
|
|||||||
// LAN_X_SET_TRACK_POWER_ON
|
// LAN_X_SET_TRACK_POWER_ON
|
||||||
struct LanXSetTrackPowerOn : LanX
|
struct LanXSetTrackPowerOn : LanX
|
||||||
{
|
{
|
||||||
uint8_t db0 = 0x81;
|
uint8_t db0 = LAN_X_SET_TRACK_POWER_OFF;
|
||||||
uint8_t checksum = 0xa0;
|
uint8_t checksum = 0xa0;
|
||||||
|
|
||||||
LanXSetTrackPowerOn() :
|
LanXSetTrackPowerOn() :
|
||||||
@ -422,7 +441,7 @@ struct LanXSetTurnout : LanX
|
|||||||
uint8_t checksum;
|
uint8_t checksum;
|
||||||
|
|
||||||
LanXSetTurnout(uint16_t linearAddress, bool activate, bool queue = false)
|
LanXSetTurnout(uint16_t linearAddress, bool activate, bool queue = false)
|
||||||
: LanX(sizeof(LanXSetTurnout), 0x53)
|
: LanX(sizeof(LanXSetTurnout), LAN_X_SET_TURNOUT)
|
||||||
, db0(linearAddress >> 9)
|
, db0(linearAddress >> 9)
|
||||||
, db1((linearAddress >> 1) & 0xFF)
|
, db1((linearAddress >> 1) & 0xFF)
|
||||||
{
|
{
|
||||||
@ -484,7 +503,7 @@ struct LanXGetLocoInfo : LanX
|
|||||||
uint8_t checksum;
|
uint8_t checksum;
|
||||||
|
|
||||||
LanXGetLocoInfo(uint16_t address, bool longAddress) :
|
LanXGetLocoInfo(uint16_t address, bool longAddress) :
|
||||||
LanX(sizeof(LanXGetLocoInfo), 0xE3)
|
LanX(sizeof(LanXGetLocoInfo), LAN_X_GET_LOCO_INFO)
|
||||||
{
|
{
|
||||||
setAddress(address, longAddress);
|
setAddress(address, longAddress);
|
||||||
updateChecksum();
|
updateChecksum();
|
||||||
@ -518,7 +537,7 @@ struct LanXSetLocoDrive : LanX
|
|||||||
uint8_t checksum;
|
uint8_t checksum;
|
||||||
|
|
||||||
LanXSetLocoDrive() :
|
LanXSetLocoDrive() :
|
||||||
LanX(sizeof(LanXSetLocoDrive), 0xE4)
|
LanX(sizeof(LanXSetLocoDrive), LAN_X_SET_LOCO)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -623,7 +642,7 @@ struct LanXSetLocoFunction : LanX
|
|||||||
uint8_t checksum;
|
uint8_t checksum;
|
||||||
|
|
||||||
LanXSetLocoFunction() :
|
LanXSetLocoFunction() :
|
||||||
LanX(sizeof(LanXSetLocoFunction), 0xE4)
|
LanX(sizeof(LanXSetLocoFunction), LAN_X_SET_LOCO)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -909,7 +928,7 @@ struct LanXGetVersionReply : LanX
|
|||||||
uint8_t checksum;
|
uint8_t checksum;
|
||||||
|
|
||||||
LanXGetVersionReply()
|
LanXGetVersionReply()
|
||||||
: LanX(sizeof(LanXGetVersionReply), 0x63)
|
: LanX(sizeof(LanXGetVersionReply), LAN_X_GET_VERSION_REPLY)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -945,7 +964,7 @@ struct LanXGetFirmwareVersionReply : LanX
|
|||||||
uint8_t checksum;
|
uint8_t checksum;
|
||||||
|
|
||||||
LanXGetFirmwareVersionReply() :
|
LanXGetFirmwareVersionReply() :
|
||||||
LanX(sizeof(LanXGetFirmwareVersionReply), 0xF3)
|
LanX(sizeof(LanXGetFirmwareVersionReply), LAN_X_GET_FIRMWARE_VERSION_REPLY)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1068,7 +1087,7 @@ struct LanXStatusChanged : LanX
|
|||||||
uint8_t checksum;
|
uint8_t checksum;
|
||||||
|
|
||||||
LanXStatusChanged() :
|
LanXStatusChanged() :
|
||||||
LanX(sizeof(LanXStatusChanged), 0x62)
|
LanX(sizeof(LanXStatusChanged), LAN_X_STATUS_CHANGED)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
} ATTRIBUTE_PACKED;
|
} ATTRIBUTE_PACKED;
|
||||||
|
|||||||
@ -150,7 +150,7 @@ void ServerKernel::receiveFrom(const Message& message, IOHandler::ClientId clien
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xE3:
|
case LAN_X_GET_LOCO_INFO:
|
||||||
if(const auto& getLocoInfo = static_cast<const LanXGetLocoInfo&>(message);
|
if(const auto& getLocoInfo = static_cast<const LanXGetLocoInfo&>(message);
|
||||||
getLocoInfo.db0 == 0xF0)
|
getLocoInfo.db0 == 0xF0)
|
||||||
{
|
{
|
||||||
@ -165,7 +165,7 @@ void ServerKernel::receiveFrom(const Message& message, IOHandler::ClientId clien
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xE4:
|
case LAN_X_SET_LOCO:
|
||||||
if(const auto& setLocoDrive = static_cast<const LanXSetLocoDrive&>(message);
|
if(const auto& setLocoDrive = static_cast<const LanXSetLocoDrive&>(message);
|
||||||
setLocoDrive.db0 >= 0x10 && setLocoDrive.db0 <= 0x13)
|
setLocoDrive.db0 >= 0x10 && setLocoDrive.db0 <= 0x13)
|
||||||
{
|
{
|
||||||
@ -221,7 +221,7 @@ void ServerKernel::receiveFrom(const Message& message, IOHandler::ClientId clien
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0xF1:
|
case LAN_X_GET_FIRMWARE_VERSION:
|
||||||
if(message == LanXGetFirmwareVersion())
|
if(message == LanXGetFirmwareVersion())
|
||||||
sendTo(LanXGetFirmwareVersionReply(ServerConfig::firmwareVersionMajor, ServerConfig::firmwareVersionMinor), clientId);
|
sendTo(LanXGetFirmwareVersionReply(ServerConfig::firmwareVersionMajor, ServerConfig::firmwareVersionMinor), clientId);
|
||||||
break;
|
break;
|
||||||
|
|||||||
Laden…
x
In neuem Issue referenzieren
Einen Benutzer sperren