Additional functionality for scripting interface.
In progress but raw CAN works now.
This commit is contained in:
+46
-10
@@ -4,30 +4,64 @@
|
||||
#include "can_structs.h"
|
||||
#include "canfilter.h"
|
||||
|
||||
#include <QElapsedTimer>
|
||||
#include <QJSEngine>
|
||||
#include <QTimer>
|
||||
#include <qlistwidget.h>
|
||||
|
||||
class CANScriptHelper: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CANScriptHelper(QJSEngine *engine);
|
||||
|
||||
public slots:
|
||||
void setFilter(QJSValue id, QJSValue mask, QJSValue bus);
|
||||
void clearFilters();
|
||||
void sendFrame(QJSValue bus, QJSValue id, QJSValue length, QJSValue data);
|
||||
void setRxCallback(QJSValue cb);
|
||||
|
||||
private slots:
|
||||
void gotTargettedFrame(const CANFrame &frame);
|
||||
|
||||
private:
|
||||
QList<CANFilter> filters;
|
||||
QJSValue gotFrameFunction;
|
||||
QJSEngine *scriptEngine;
|
||||
};
|
||||
|
||||
class ISOTPScriptHelper: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
QJSValue gotFrameFunction;
|
||||
QJSEngine *scriptEngine;
|
||||
};
|
||||
|
||||
class UDSScriptHelper: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
QJSValue gotFrameFunction;
|
||||
QJSEngine *scriptEngine;
|
||||
};
|
||||
|
||||
class ScriptContainer : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ScriptContainer(QString&);
|
||||
void gotFrame(const CANFrame &frame);
|
||||
ScriptContainer();
|
||||
void setLogWidget(QListWidget *list);
|
||||
|
||||
QString fileName;
|
||||
QString filePath;
|
||||
QString scriptText;
|
||||
QString mConName;
|
||||
|
||||
public slots:
|
||||
void compileScript();
|
||||
void setErrorWidget(QListWidget *list);
|
||||
void setFilter(QJSValue id, QJSValue mask, QJSValue bus);
|
||||
void setTickInterval(QJSValue interval);
|
||||
void clearFilters();
|
||||
void sendFrame(QJSValue bus, QJSValue id, QJSValue length, QJSValue data);
|
||||
void log(QJSValue logString);
|
||||
|
||||
private slots:
|
||||
void tick();
|
||||
@@ -36,11 +70,13 @@ private:
|
||||
QJSEngine scriptEngine;
|
||||
QJSValue compiledScript;
|
||||
QJSValue setupFunction;
|
||||
QJSValue gotFrameFunction;
|
||||
QJSValue tickFunction;
|
||||
QTimer timer;
|
||||
QListWidget *errorWidget;
|
||||
QList<CANFilter> filters;
|
||||
QListWidget *logWidget;
|
||||
CANScriptHelper *canHelper;
|
||||
ISOTPScriptHelper *isoHelper;
|
||||
UDSScriptHelper *udsHelper;
|
||||
QElapsedTimer elapsedTime;
|
||||
};
|
||||
|
||||
#endif // SCRIPTCONTAINER_H
|
||||
|
||||
Reference in New Issue
Block a user