bluerobotics / ping-cpp

C++ API implementation of ping-protocol
12 stars 11 forks source link

Fix travis and improve generated code style #3

Closed patrickelectric closed 5 years ago

patrickelectric commented 5 years ago

Generated code here: http://ix.io/1MX4

Improve style from:

class common_ack : public ping_message
{
public:
    common_ack(const ping_message& msg) : ping_message { msg } {}
    common_ack(const uint8_t* buf, const uint16_t length) : ping_message { buf, length } {}
    common_ack()        : ping_message { static_cast<uint16_t>(12) }    {
        msgData[0] = 'B';
        msgData[1] = 'R';
        (uint16_t&)msgData[2] = 2; // payload size
        (uint16_t&)msgData[4] = 1; // ID
        msgData[6] = 0;
        msgData[7] = 0;
    }
...
};

class common_nack : public ping_message
{
public:
    common_nack(const ping_message& msg) : ping_message { msg } {}
    common_nack(const uint8_t* buf, const uint16_t length) : ping_message { buf, length } {}
    common_nack(uint16_t nack_message_length)        : ping_message { static_cast<uint16_t>(12 + nack_message_length) }    {
        msgData[0] = 'B';
        msgData[1] = 'R';
        (uint16_t&)msgData[2] = 2 + nack_message_length; // payload size
        (uint16_t&)msgData[4] = 2; // ID
        msgData[6] = 0;
        msgData[7] = 0;
    }
...
};

To:

class common_ack : public ping_message
{
public:
    common_ack(const ping_message& msg) : ping_message { msg } {}
    common_ack(const uint8_t* buf, const uint16_t length) : ping_message { buf, length } {}
    common_ack() : ping_message { static_cast<uint16_t>(12) }
    {
        msgData[0] = 'B';
        msgData[1] = 'R';
        (uint16_t&)msgData[2] = 2; // payload size
        (uint16_t&)msgData[4] = 1; // ID
        msgData[6] = 0;
        msgData[7] = 0;
    }
...
};

class common_nack : public ping_message
{
public:
    common_nack(const ping_message& msg) : ping_message { msg } {}
    common_nack(const uint8_t* buf, const uint16_t length) : ping_message { buf, length } {}
    common_nack(uint16_t nack_message_length) : ping_message { static_cast<uint16_t>(12 + nack_message_length) }
    {
        msgData[0] = 'B';
        msgData[1] = 'R';
        (uint16_t&)msgData[2] = 2 + nack_message_length; // payload size
        (uint16_t&)msgData[4] = 2; // ID
        msgData[6] = 0;
        msgData[7] = 0;
    }
...
};

Signed-off-by: Patrick José Pereira patrickelectric@gmail.com

jaxxzer commented 5 years ago

Appreciate it, the ci does output the diff: https://travis-ci.com/bluerobotics/ping-cpp/builds/117209767#L416 which I think is good enough here :-)