Index: sources/canbus/messagehandler.h =================================================================== diff -u -rf36dd9c29f633b54bf7f0232093ecaefa5452ca8 -r4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3 --- sources/canbus/messagehandler.h (.../messagehandler.h) (revision f36dd9c29f633b54bf7f0232093ecaefa5452ca8) +++ sources/canbus/messagehandler.h (.../messagehandler.h) (revision 4c53c7c62df7562a6c0915f0c5af7ea0ed884ca3) @@ -68,9 +68,9 @@ // friends friend class ::unittests; - const QHash payloadLen { - {GuiActionType::PowerOff, 0x01}, - {GuiActionType::Check_In, 0x00} + const QHash payloadLen { + {GuiActionType::PowerOff, 1}, + {GuiActionType::Check_In, 0} }; // constants @@ -82,6 +82,7 @@ enum Frame_Data : quint8 { eLenCanFrame = 8, eLenMaxHeaderData = 3, + eLenMaxData = 255, eLenSyncByte = 1, eLenActionId = 2, @@ -134,16 +135,15 @@ void initConnections(); void checked_in(); - void transmitFrame(MessageHandler::Can_Id vCan_Id, GuiActionType vAction, GuiActionData vData = GuiActionData::NoData); + void transmitFrame(MessageHandler::Can_Id vCan_Id, GuiActionType vAction, const QByteArray &vData = 0); bool ignoreChannel(const QCanBusFrame &vFrame); // build message to be sent - QByteArray buildMessage (GuiActionType vAction , GuiActionData vData); + QList buildMessage(GuiActionType vAction , const QByteArray &vData); void addSyncByte (QByteArray &vPayload); void addActionId (QByteArray &vPayload, GuiActionType vAction); - void addLegth (QByteArray &vPayload, GuiActionType vAction); - void addData (QByteArray &vPayload, GuiActionData vData); + void addData (QByteArray &vPayload, GuiActionType vAction, const QByteArray &vData); void addCRC (QByteArray &vPayload); void addPadding (QByteArray &vPayload); @@ -152,7 +152,7 @@ bool checkCRC (const QByteArray &vData, quint8 vCRC); // strip message to its parts - bool stripMessage(const QCanBusFrame &vFrame, Message &vMessage); + bool stripMessage (const QCanBusFrame &vFrame, Message &vMessage); bool hasSyncByte (QByteArray &vPayload); GuiActionType getActionId (QByteArray &vPayload); quint8 getLength (QByteArray &vPayload); @@ -162,8 +162,8 @@ bool interpretData(const Message &vMessage, GuiActionType &vActionId, GuiActionData &vData); private slots: // Should be private for thread safety and is connected internally. - void onActionTransmit(GuiActionType vAction, GuiActionData vData); // UI => HD/DG - void onFrameReceive (const QCanBusFrame &vFrame ); // UI <= HD/DG + void onActionTransmit(GuiActionType vAction, const QByteArray &vData); // UI => HD/DG + void onFrameReceive (const QCanBusFrame &vFrame ); // UI <= HD/DG void onMainTimerTimeout();