Added more CAN addresses for buttons and adc inputs
This commit is contained in:
281
bobbycar-can.h
281
bobbycar-can.h
@ -6,17 +6,18 @@ namespace bobbycar {
|
|||||||
namespace protocol {
|
namespace protocol {
|
||||||
namespace can {
|
namespace can {
|
||||||
|
|
||||||
|
enum : uint16_t { // vvv
|
||||||
|
DeviceTypeMotorController = 0b00000000000,
|
||||||
|
DeviceTypeBoardcomputer = 0b00100000000
|
||||||
|
};
|
||||||
|
|
||||||
template<bool isBack, bool isRight>
|
template<bool isBack, bool isRight>
|
||||||
class MotorController
|
class MotorController
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
enum : uint16_t { // vvv
|
|
||||||
DeviceTypeMotorController = 0b00000000000
|
|
||||||
};
|
|
||||||
|
|
||||||
enum : uint16_t { // ...v
|
enum : uint16_t { // ...v
|
||||||
MotorControllerCommand = 0b00000000000,
|
MotorControllerCommand = 0b00000000000, // send only TO the motor controller
|
||||||
MotorControllerFeedback = 0b00010000000,
|
MotorControllerFeedback = 0b00010000000, // send only FROM the motor controller
|
||||||
};
|
};
|
||||||
|
|
||||||
enum : uint16_t { // .........v
|
enum : uint16_t { // .........v
|
||||||
@ -40,7 +41,9 @@ public:
|
|||||||
MotorController() = delete;
|
MotorController() = delete;
|
||||||
~MotorController() = delete;
|
~MotorController() = delete;
|
||||||
|
|
||||||
class Command {
|
// send only TO the motor controller
|
||||||
|
class Command
|
||||||
|
{
|
||||||
private:
|
private:
|
||||||
enum : uint16_t {
|
enum : uint16_t {
|
||||||
MotorControllerCommandMask =
|
MotorControllerCommandMask =
|
||||||
@ -71,7 +74,9 @@ public:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Feedback {
|
// send only FROM the motor controller
|
||||||
|
class Feedback
|
||||||
|
{
|
||||||
private:
|
private:
|
||||||
enum : uint16_t {
|
enum : uint16_t {
|
||||||
MotorControllerFeedbackMask =
|
MotorControllerFeedbackMask =
|
||||||
@ -99,106 +104,174 @@ public:
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Boardcomputer
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
enum : uint16_t { // ...v
|
||||||
|
BoardcomputerCommand = 0b00000000000, // send only TO the boardcomputer
|
||||||
|
BoardcomputerFeedback = 0b00010000000, // send only FROM the boardcomputer
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
Boardcomputer() = delete;
|
||||||
|
~Boardcomputer() = delete;
|
||||||
|
|
||||||
|
enum {
|
||||||
|
ButtonUp = 1,
|
||||||
|
ButtonDown = 2,
|
||||||
|
ButtonConfirm = 4,
|
||||||
|
ButtonBack = 8,
|
||||||
|
ButtonProfile0 = 16,
|
||||||
|
ButtonProfile1 = 32,
|
||||||
|
ButtonProfile2 = 64,
|
||||||
|
ButtonProfile3 = 128,
|
||||||
|
};
|
||||||
|
|
||||||
|
// send only TO the boardcomputer
|
||||||
|
class Command
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
enum : uint16_t {
|
||||||
|
BoardcomputerCommandMask =
|
||||||
|
uint16_t(DeviceTypeBoardcomputer) |
|
||||||
|
uint16_t(BoardcomputerCommand)
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
Command() = delete;
|
||||||
|
~Command() = delete;
|
||||||
|
|
||||||
|
enum : uint16_t { // ....vvvvvvv
|
||||||
|
ButtonPress = 0b00000000000 | BoardcomputerCommandMask,
|
||||||
|
RawGas = 0b00000000001 | BoardcomputerCommandMask,
|
||||||
|
RawBrems = 0b00000000010 | BoardcomputerCommandMask
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// send only FROM the boardcomputer
|
||||||
|
class Feedback
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
enum : uint16_t {
|
||||||
|
BoardcomputerFeedbackMask =
|
||||||
|
uint16_t(DeviceTypeBoardcomputer) |
|
||||||
|
uint16_t(BoardcomputerFeedback)
|
||||||
|
};
|
||||||
|
|
||||||
|
public:
|
||||||
|
Feedback() = delete;
|
||||||
|
~Feedback() = delete;
|
||||||
|
|
||||||
|
enum : uint16_t { // ....vvvvvvv
|
||||||
|
ButtonLeds = 0b00000000000 | BoardcomputerFeedbackMask,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
inline const char *bobbycarCanIdDesc(uint16_t id)
|
inline const char *bobbycarCanIdDesc(uint16_t id)
|
||||||
{
|
{
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
case MotorController<false, false>::Command::Enable: return "Enable (Command, Front, Left)";
|
case MotorController<false, false>::Command::Enable: return "Enable (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::Enable: return "Enable (Command, Front, Right)";
|
case MotorController<false, true>::Command::Enable: return "Enable (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::Enable: return "Enable (Command, Back, Left)";
|
case MotorController<true, false>::Command::Enable: return "Enable (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::Enable: return "Enable (Command, Back, Right)";
|
case MotorController<true, true>::Command::Enable: return "Enable (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::InpTgt: return "InpTgt (Command, Front, Left)";
|
case MotorController<false, false>::Command::InpTgt: return "InpTgt (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::InpTgt: return "InpTgt (Command, Front, Right)";
|
case MotorController<false, true>::Command::InpTgt: return "InpTgt (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::InpTgt: return "InpTgt (Command, Back, Left)";
|
case MotorController<true, false>::Command::InpTgt: return "InpTgt (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::InpTgt: return "InpTgt (Command, Back, Right)";
|
case MotorController<true, true>::Command::InpTgt: return "InpTgt (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::CtrlTyp: return "CtrlTyp (Command, Front, Left)";
|
case MotorController<false, false>::Command::CtrlTyp: return "CtrlTyp (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::CtrlTyp: return "CtrlTyp (Command, Front, Right)";
|
case MotorController<false, true>::Command::CtrlTyp: return "CtrlTyp (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::CtrlTyp: return "CtrlTyp (Command, Back, Left)";
|
case MotorController<true, false>::Command::CtrlTyp: return "CtrlTyp (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::CtrlTyp: return "CtrlTyp (Command, Back, Right)";
|
case MotorController<true, true>::Command::CtrlTyp: return "CtrlTyp (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::CtrlMod: return "CtrlMod (Command, Front, Left)";
|
case MotorController<false, false>::Command::CtrlMod: return "CtrlMod (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::CtrlMod: return "CtrlMod (Command, Front, Right)";
|
case MotorController<false, true>::Command::CtrlMod: return "CtrlMod (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::CtrlMod: return "CtrlMod (Command, Back, Left)";
|
case MotorController<true, false>::Command::CtrlMod: return "CtrlMod (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::CtrlMod: return "CtrlMod (Command, Back, Right)";
|
case MotorController<true, true>::Command::CtrlMod: return "CtrlMod (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::IMotMax: return "IMotMax (Command, Front, Left)";
|
case MotorController<false, false>::Command::IMotMax: return "IMotMax (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::IMotMax: return "IMotMax (Command, Front, Right)";
|
case MotorController<false, true>::Command::IMotMax: return "IMotMax (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::IMotMax: return "IMotMax (Command, Back, Left)";
|
case MotorController<true, false>::Command::IMotMax: return "IMotMax (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::IMotMax: return "IMotMax (Command, Back, Right)";
|
case MotorController<true, true>::Command::IMotMax: return "IMotMax (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::IDcMax: return "IDcMax (Command, Front, Left)";
|
case MotorController<false, false>::Command::IDcMax: return "IDcMax (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::IDcMax: return "IDcMax (Command, Front, Right)";
|
case MotorController<false, true>::Command::IDcMax: return "IDcMax (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::IDcMax: return "IDcMax (Command, Back, Left)";
|
case MotorController<true, false>::Command::IDcMax: return "IDcMax (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::IDcMax: return "IDcMax (Command, Back, Right)";
|
case MotorController<true, true>::Command::IDcMax: return "IDcMax (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::NMotMax: return "NMotMax (Command, Front, Left)";
|
case MotorController<false, false>::Command::NMotMax: return "NMotMax (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::NMotMax: return "NMotMax (Command, Front, Right)";
|
case MotorController<false, true>::Command::NMotMax: return "NMotMax (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::NMotMax: return "NMotMax (Command, Back, Left)";
|
case MotorController<true, false>::Command::NMotMax: return "NMotMax (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::NMotMax: return "NMotMax (Command, Back, Right)";
|
case MotorController<true, true>::Command::NMotMax: return "NMotMax (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::FieldWeakMax: return "FieldWeakMax (Command, Front, Left)";
|
case MotorController<false, false>::Command::FieldWeakMax: return "FieldWeakMax (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::FieldWeakMax: return "FieldWeakMax (Command, Front, Right)";
|
case MotorController<false, true>::Command::FieldWeakMax: return "FieldWeakMax (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::FieldWeakMax: return "FieldWeakMax (Command, Back, Left)";
|
case MotorController<true, false>::Command::FieldWeakMax: return "FieldWeakMax (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::FieldWeakMax: return "FieldWeakMax (Command, Back, Right)";
|
case MotorController<true, true>::Command::FieldWeakMax: return "FieldWeakMax (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::PhaseAdvMax: return "PhaseAdvMax (Command, Front, Left)";
|
case MotorController<false, false>::Command::PhaseAdvMax: return "PhaseAdvMax (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::PhaseAdvMax: return "PhaseAdvMax (Command, Front, Right)";
|
case MotorController<false, true>::Command::PhaseAdvMax: return "PhaseAdvMax (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::PhaseAdvMax: return "PhaseAdvMax (Command, Back, Left)";
|
case MotorController<true, false>::Command::PhaseAdvMax: return "PhaseAdvMax (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::PhaseAdvMax: return "PhaseAdvMax (Command, Back, Right)";
|
case MotorController<true, true>::Command::PhaseAdvMax: return "PhaseAdvMax (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::BuzzerFreq: return "BuzzerFreq (Command, Front, Left)";
|
case MotorController<false, false>::Command::BuzzerFreq: return "BuzzerFreq (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::BuzzerFreq: return "BuzzerFreq (Command, Front, Right)";
|
case MotorController<false, true>::Command::BuzzerFreq: return "BuzzerFreq (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::BuzzerFreq: return "BuzzerFreq (Command, Back, Left)";
|
case MotorController<true, false>::Command::BuzzerFreq: return "BuzzerFreq (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::BuzzerFreq: return "BuzzerFreq (Command, Back, Right)";
|
case MotorController<true, true>::Command::BuzzerFreq: return "BuzzerFreq (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::BuzzerPattern: return "BuzzerPattern (Command, Front, Left)";
|
case MotorController<false, false>::Command::BuzzerPattern: return "BuzzerPattern (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::BuzzerPattern: return "BuzzerPattern (Command, Front, Right)";
|
case MotorController<false, true>::Command::BuzzerPattern: return "BuzzerPattern (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::BuzzerPattern: return "BuzzerPattern (Command, Back, Left)";
|
case MotorController<true, false>::Command::BuzzerPattern: return "BuzzerPattern (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::BuzzerPattern: return "BuzzerPattern (Command, Back, Right)";
|
case MotorController<true, true>::Command::BuzzerPattern: return "BuzzerPattern (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::Led: return "Led (Command, Front, Left)";
|
case MotorController<false, false>::Command::Led: return "Led (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::Led: return "Led (Command, Front, Right)";
|
case MotorController<false, true>::Command::Led: return "Led (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::Led: return "Led (Command, Back, Left)";
|
case MotorController<true, false>::Command::Led: return "Led (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::Led: return "Led (Command, Back, Right)";
|
case MotorController<true, true>::Command::Led: return "Led (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Command::Poweroff: return "Poweroff (Command, Front, Left)";
|
case MotorController<false, false>::Command::Poweroff: return "Poweroff (MotorController, Command, Front, Left)";
|
||||||
case MotorController<false, true>::Command::Poweroff: return "Poweroff (Command, Front, Right)";
|
case MotorController<false, true>::Command::Poweroff: return "Poweroff (MotorController, Command, Front, Right)";
|
||||||
case MotorController<true, false>::Command::Poweroff: return "Poweroff (Command, Back, Left)";
|
case MotorController<true, false>::Command::Poweroff: return "Poweroff (MotorController, Command, Back, Left)";
|
||||||
case MotorController<true, true>::Command::Poweroff: return "Poweroff (Command, Back, Right)";
|
case MotorController<true, true>::Command::Poweroff: return "Poweroff (MotorController, Command, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::DcLink: return "DcLink (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::DcLink: return "DcLink (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::DcLink: return "DcLink (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::DcLink: return "DcLink (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::DcLink: return "DcLink (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::DcLink: return "DcLink (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::DcLink: return "DcLink (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::DcLink: return "DcLink (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::Speed: return "Speed (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::Speed: return "Speed (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::Speed: return "Speed (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::Speed: return "Speed (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::Speed: return "Speed (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::Speed: return "Speed (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::Speed: return "Speed (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::Speed: return "Speed (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::Error: return "Error (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::Error: return "Error (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::Error: return "Error (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::Error: return "Error (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::Error: return "Error (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::Error: return "Error (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::Error: return "Error (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::Error: return "Error (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::Angle: return "Angle (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::Angle: return "Angle (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::Angle: return "Angle (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::Angle: return "Angle (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::Angle: return "Angle (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::Angle: return "Angle (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::Angle: return "Angle (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::Angle: return "Angle (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::DcPhaA: return "DcPhaA (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::DcPhaA: return "DcPhaA (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::DcPhaA: return "DcPhaA (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::DcPhaA: return "DcPhaA (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::DcPhaA: return "DcPhaA (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::DcPhaA: return "DcPhaA (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::DcPhaA: return "DcPhaA (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::DcPhaA: return "DcPhaA (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::DcPhaB: return "DcPhaB (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::DcPhaB: return "DcPhaB (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::DcPhaB: return "DcPhaB (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::DcPhaB: return "DcPhaB (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::DcPhaB: return "DcPhaB (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::DcPhaB: return "DcPhaB (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::DcPhaB: return "DcPhaB (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::DcPhaB: return "DcPhaB (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::DcPhaC: return "DcPhaC (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::DcPhaC: return "DcPhaC (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::DcPhaC: return "DcPhaC (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::DcPhaC: return "DcPhaC (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::DcPhaC: return "DcPhaC (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::DcPhaC: return "DcPhaC (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::DcPhaC: return "DcPhaC (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::DcPhaC: return "DcPhaC (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::Chops: return "Chops (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::Chops: return "Chops (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::Chops: return "Chops (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::Chops: return "Chops (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::Chops: return "Chops (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::Chops: return "Chops (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::Chops: return "Chops (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::Chops: return "Chops (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::Hall: return "Hall (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::Hall: return "Hall (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::Hall: return "Hall (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::Hall: return "Hall (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::Hall: return "Hall (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::Hall: return "Hall (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::Hall: return "Hall (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::Hall: return "Hall (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::Voltage: return "Voltage (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::Voltage: return "Voltage (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::Voltage: return "Voltage (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::Voltage: return "Voltage (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::Voltage: return "Voltage (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::Voltage: return "Voltage (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::Voltage: return "Voltage (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::Voltage: return "Voltage (MotorController, Feedback, Back, Right)";
|
||||||
case MotorController<false, false>::Feedback::Temp: return "Temp (Feedback, Front, Left)";
|
case MotorController<false, false>::Feedback::Temp: return "Temp (MotorController, Feedback, Front, Left)";
|
||||||
case MotorController<false, true>::Feedback::Temp: return "Temp (Feedback, Front, Right)";
|
case MotorController<false, true>::Feedback::Temp: return "Temp (MotorController, Feedback, Front, Right)";
|
||||||
case MotorController<true, false>::Feedback::Temp: return "Temp (Feedback, Back, Left)";
|
case MotorController<true, false>::Feedback::Temp: return "Temp (MotorController, Feedback, Back, Left)";
|
||||||
case MotorController<true, true>::Feedback::Temp: return "Temp (Feedback, Back, Right)";
|
case MotorController<true, true>::Feedback::Temp: return "Temp (MotorController, Feedback, Back, Right)";
|
||||||
|
case Boardcomputer::Command::ButtonPress: return "ButtonPress (Boardcomputer, Command)";
|
||||||
|
case Boardcomputer::Command::RawGas: return "RawGas (Boardcomputer, Command)";
|
||||||
|
case Boardcomputer::Command::RawBrems: return "RawBrems (Boardcomputer, Command)";
|
||||||
|
case Boardcomputer::Feedback::ButtonLeds: return "ButtonLeds (Boardcomputer, Feedback)";
|
||||||
}
|
}
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user