Index: sources/canbus/messagebuilder.h =================================================================== diff -u -r56d00a82669a7a2c00ab90109a89dbec8db27527 -r0e87420e50dd94c37eb25f289ef3262e0e45d7f4 --- sources/canbus/messagebuilder.h (.../messagebuilder.h) (revision 56d00a82669a7a2c00ab90109a89dbec8db27527) +++ sources/canbus/messagebuilder.h (.../messagebuilder.h) (revision 0e87420e50dd94c37eb25f289ef3262e0e45d7f4) @@ -1,6 +1,6 @@ /*! * - * Copyright (c) 2019-2019 Diality Inc. - All Rights Reserved. + * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. * copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, * IN PART OR IN WHOLE, @@ -29,10 +29,10 @@ * \details This class is handling the can message by building and striping it. * \n * // -- CAN PAYLOAD STRUCTURE -- \n - * #0 #1 #2 #3 #4 #5 #6 #7 \n - * +---+---+---+---+---+---+---+---+--.......--+ \n - * | A5| MsgId |Len| Data |CRC|..padding..| \n - * +---+---+---+---+---+---+---+---+--.......--+ \n + * #0 #1 #2 #3 #4 #5 #6 #7 #8 #9 \n + * +---+---+---+---+---+---+---+---+---+---+--.......--+ \n + * | A5| Seq# | MsgId |Len| Data |CRC|..padding..| \n + * +---+---+---+---+---+---+---+---+---+---+--.......--+ \n * \n * Header Frame: \n * 1 - CRC is last after payload \n @@ -52,15 +52,18 @@ bool _enableConsoleOut = false; void addSyncByte ( QByteArray &vPayload); - bool addActionId ( QByteArray &vPayload, Gui::GuiActionType vAction) __attribute_warn_unused_result__; - bool addData ( QByteArray &vPayload, Gui::GuiActionType vAction, const QByteArray &vData) __attribute_warn_unused_result__; + void addSequence (QByteArray &vPayload, Sequence vSequence); + bool addActionId ( QByteArray &vPayload, Gui::GuiActionType vAction) __attribute_warn_unused_result__; + bool addData ( QByteArray &vPayload, Gui::GuiActionType vAction, const QByteArray &vData) __attribute_warn_unused_result__; void addCRC ( QByteArray &vPayload); void addPadding ( QByteArray &vPayload); quint8 calcCRC (const QByteArray &vData ); - bool checkCRC (const QByteArray &vData , quint8 &vExpected, quint8 &vBeenRead); + bool checkCRC (const QByteArray &vData , quint8 &vExpected, quint8 &vActual); + bool checkCRC (const Message &vMessage); bool hasSyncByte ( QByteArray &vPayload); + Sequence getSequence ( QByteArray &vPayload); QByteArray getHeader (const QByteArray &vPayload); Gui::GuiActionType getActionId ( QByteArray &vPayload); int getLength ( QByteArray &vPayload); @@ -73,12 +76,14 @@ explicit MessageBuilder(QObject *parent = nullptr); // build message to be sent frame by frame - bool buildFrames(Gui::GuiActionType vAction , const QByteArray &vData, FrameList &vFrameList) __attribute_warn_unused_result__; + bool buildFrames (Gui::GuiActionType vAction , const QByteArray &vData, FrameList &vFrameList, Sequence vSequence) __attribute_warn_unused_result__; // build message from received frames - bool buildMessage(const QByteArray &vPayload, Message &vMessage, Can_Id vCan_Id) __attribute_warn_unused_result__; + bool buildMessage(const QByteArray &vPayload, Message &vMessage, Can_Id vCan_Id) __attribute_warn_unused_result__; - void enableConsoleOut( bool vEnabled) { _enableConsoleOut = vEnabled; } + void enableConsoleOut(bool vEnabled) { _enableConsoleOut = vEnabled; } + + signals: public slots: