Fixed compiler warnings with mixed types in enum declarations

This commit is contained in:
2021-06-28 10:46:56 +02:00
parent 964acb82f0
commit 2e0f97d6dd

View File

@ -10,30 +10,30 @@ template<bool isBack, bool isRight>
class MotorController class MotorController
{ {
private: private:
enum { // vvv enum : uint16_t { // vvv
DeviceTypeMotorController = 0b00000000000 DeviceTypeMotorController = 0b00000000000
}; };
enum { // ...v enum : uint16_t { // ...v
MotorControllerCommand = 0b00000000000, MotorControllerCommand = 0b00000000000,
MotorControllerFeedback = 0b00010000000, MotorControllerFeedback = 0b00010000000,
}; };
enum { // .........v enum : uint16_t { // .........v
MotorControllerFront = 0b00000000000, MotorControllerFront = 0b00000000000,
MotorControllerBack = 0b00000000010, MotorControllerBack = 0b00000000010,
}; };
enum { // ..........v enum : uint16_t { // ..........v
MotorControllerLeft = 0b00000000000, MotorControllerLeft = 0b00000000000,
MotorControllerRight = 0b00000000001, MotorControllerRight = 0b00000000001,
}; };
enum { enum : uint16_t {
MotorControllerMask = MotorControllerMask =
DeviceTypeMotorController | uint16_t(DeviceTypeMotorController) |
(isBack ? MotorControllerBack : MotorControllerFront) | uint16_t(isBack ? MotorControllerBack : MotorControllerFront) |
(isRight ? MotorControllerRight : MotorControllerLeft) uint16_t(isRight ? MotorControllerRight : MotorControllerLeft)
}; };
public: public:
@ -42,15 +42,17 @@ public:
class Command { class Command {
private: private:
enum { enum : uint16_t {
MotorControllerCommandMask = MotorControllerMask | MotorControllerCommand MotorControllerCommandMask =
uint16_t(MotorControllerMask) |
uint16_t(MotorControllerCommand)
}; };
public: public:
Command() = delete; Command() = delete;
~Command() = delete; ~Command() = delete;
enum { // ....vvvvv enum : uint16_t { // ....vvvvv
Enable = 0b00000000000 | MotorControllerCommandMask, Enable = 0b00000000000 | MotorControllerCommandMask,
InpTgt = 0b00000000100 | MotorControllerCommandMask, InpTgt = 0b00000000100 | MotorControllerCommandMask,
CtrlTyp = 0b00000001000 | MotorControllerCommandMask, CtrlTyp = 0b00000001000 | MotorControllerCommandMask,
@ -71,26 +73,28 @@ public:
class Feedback { class Feedback {
private: private:
enum { enum : uint16_t {
MotorControllerFeedbackMask = MotorControllerMask | MotorControllerFeedback MotorControllerFeedbackMask =
uint16_t(MotorControllerMask) |
uint16_t(MotorControllerFeedback)
}; };
public: public:
Feedback() = delete; Feedback() = delete;
~Feedback() = delete; ~Feedback() = delete;
enum { // ....vvvvv enum : uint16_t { // ....vvvvv
DcLink = 0b00000000000 | MotorControllerFeedbackMask, DcLink = 0b00000000000 | MotorControllerFeedbackMask,
Speed = 0b00000000100 | MotorControllerFeedbackMask, Speed = 0b00000000100 | MotorControllerFeedbackMask,
Error = 0b00000001000 | MotorControllerFeedbackMask, Error = 0b00000001000 | MotorControllerFeedbackMask,
Angle = 0b00000001100 | MotorControllerFeedbackMask, Angle = 0b00000001100 | MotorControllerFeedbackMask,
DcPhaA = 0b00000010000 | MotorControllerFeedbackMask, DcPhaA = 0b00000010000 | MotorControllerFeedbackMask,
DcPhaB = 0b00000010100 | MotorControllerFeedbackMask, DcPhaB = 0b00000010100 | MotorControllerFeedbackMask,
DcPhaC = 0b00000011000 | MotorControllerFeedbackMask, DcPhaC = 0b00000011000 | MotorControllerFeedbackMask,
Chops = 0b00000011100 | MotorControllerFeedbackMask, Chops = 0b00000011100 | MotorControllerFeedbackMask,
Hall = 0b00000100000 | MotorControllerFeedbackMask, Hall = 0b00000100000 | MotorControllerFeedbackMask,
Voltage = 0b00000100100 | MotorControllerFeedbackMask, Voltage = 0b00000100100 | MotorControllerFeedbackMask,
Temp = 0b00000101000 | MotorControllerFeedbackMask Temp = 0b00000101000 | MotorControllerFeedbackMask
}; };
}; };
}; };