Index: sources/canbus/frameinterface.h =================================================================== diff -u -r805119c460b4a266d6401c8705f4427e7fbe270f -rf7dfb1584c0cef395be168832f809fc0f8c863d8 --- sources/canbus/frameinterface.h (.../frameinterface.h) (revision 805119c460b4a266d6401c8705f4427e7fbe270f) +++ sources/canbus/frameinterface.h (.../frameinterface.h) (revision f7dfb1584c0cef395be168832f809fc0f8c863d8) @@ -16,6 +16,7 @@ // Qt #include #include +#include // Project #include "main.h" @@ -60,6 +61,21 @@ QThread *_thread = nullptr; bool _init = false; + struct Frame { + Can_Id can_Id; + QByteArray data ; + + Frame(Can_Id vCan_Id, const QByteArray &vData) { + can_Id = vCan_Id; + data = vData ; + } + }; + QList _frameList; + bool _transmitted = false; + const quint8 _interval = 7; + + QString _time ; + // Singleton SINGLETON(FrameInterface) @@ -79,9 +95,15 @@ void transmitFrame(Can_Id vCan_Id, const QByteArray &vData = 0); ChannelGroup checkChannel(quint32 vFrameId, bool *vOK = nullptr); + void appendHead(Can_Id vCan_Id, const QByteArray &vData); + void trnsmtHead(); + void removeHead(); + + private slots: // Should be private for thread safety and is connected internally. void onFrameTransmit(Can_Id vCan_Id, const QByteArray &vData ); // GUI => CAN void onFrameReceive ( const QCanBusFrame &vFrame ); // GUI <= CAN + void onFrameWritten (qint64 vCount ); // GUI <= CAN signals: /*! @@ -108,5 +130,7 @@ * \param vFrame - The frame which has been created to be transmitted. */ void didFrameTransmit( const QCanBusFrame &vFrame ); // GUI => CAN +protected: + void timerEvent(QTimerEvent *); }; }