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,15 +73,17 @@ 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,