Files
giesCANne/dbchandler.h
T
Collin Kidder 62e168905a Properly hooked up multiplexed signals. They now show up correctly
when "Interpret Frames" is selected on the main screen. Fixed some
bugs related to the new DBC code.
2016-01-10 21:54:33 -05:00

48 lines
1.2 KiB
C++

#ifndef DBCHANDLER_H
#define DBCHANDLER_H
#include <QObject>
#include "dbc_classes.h"
#include "can_structs.h"
/*
* For ease of quick testing and development this is all run together.
* It should be decoupled once the functionality is confirmed.
*/
class DBCHandler : public QObject
{
Q_OBJECT
public:
explicit DBCHandler(QObject *parent = 0);
void loadDBCFile(QString);
void saveDBCFile(QString);
void listDebugging();
QString processSignal(const CANFrame &frame, const DBC_SIGNAL &sig);
bool processSignalInt(const CANFrame &frame, const DBC_SIGNAL &sig, int32_t &outValue);
bool processSignalDouble(const CANFrame &frame, const DBC_SIGNAL &sig, double &outValue);
DBC_NODE *findNodeByName(QString name);
DBC_NODE *findNodeByIdx(int idx);
DBC_MESSAGE *findMsgByID(int id);
DBC_MESSAGE *findMsgByIdx(int idx);
DBC_MESSAGE *findMsgByName(QString name);
DBC_SIGNAL *findSignalByName(DBC_MESSAGE *msg, QString name);
DBC_SIGNAL *findSignalByIdx(DBC_MESSAGE *msg, int idx);
QList<DBC_NODE> dbc_nodes;
QList<DBC_MESSAGE> dbc_messages;
signals:
public slots:
private:
unsigned char reverseBits(unsigned char);
unsigned char processByte(unsigned char, int, int);
};
#endif // DBCHANDLER_H