Fixed CAN frame bug

This commit is contained in:
2024-03-06 11:47:50 -05:00
parent 8d472f4f64
commit b7d8fef0ab
8 changed files with 180 additions and 178 deletions

View File

@ -24,19 +24,19 @@
// based on .dbc data
typedef struct _DbcFilter {
// signal information
char Name[32]; // Signal name
regex_t preg;
// address range
u_int32_t CanAddrLo; // 29 bits
u_int32_t CanAddrHi;
// data conversion
u_char StartBit; // 0..63
u_char NumBits; // 1..32
int found;
// signal information
char Name[32]; // Signal name
regex_t preg;
// address range
u_int32_t CanAddrLo; // 29 bits
u_int32_t CanAddrHi;
// data conversion
u_char StartBit; // 0..63
u_char NumBits; // 1..32
int found;
} DbcFilter;
/* c class definitions ******************************************************/
@ -45,42 +45,42 @@ typedef struct _DbcFilter {
// Uses the Peak Systems CAN Linux driver and Nissan CAN data
//
class DbcParser {
// public data
// public data
public:
std::vector<DbcFilter *> MsgFilters; // message filter
std::vector<DbcFilter *> SigFilters; // signal filter
std::vector<CanMessage *> Messages;
std::vector<CanSignal *> Signals;
// private data
std::vector<DbcFilter *> MsgFilters; // message filter
std::vector<DbcFilter *> SigFilters; // signal filter
std::vector<CanMessage *> Messages;
std::vector<CanSignal *> Signals;
// private data
private:
// static data
// private methods
DbcFilter *AddFilter( char *name, u_int32_t addr1, u_int32_t addr2 );
// public methods
// static data
// private methods
DbcFilter *AddFilter( char *name, u_int32_t addr1, u_int32_t addr2 );
// public methods
public:
// constructors
DbcParser();
// destructor
virtual ~DbcParser();
// virtual functions
// public methods
int AddMsgFilter( char *name, u_int32_t addr1, u_int32_t addr2 );
int AddSigFilter( char *name, u_int32_t addr1, u_int32_t addr2 );
int AddMessage( char *name, u_int32_t addr, u_int32_t size, char *module );
int AddSignal( char *name, char *units, u_int32_t addr, char start, char num, char endian, char sign, float scale, float offset );
int LoadDatabase( const char *file );
// static methods
// private methods
// constructors
DbcParser();
// destructor
virtual ~DbcParser();
// virtual functions
// public methods
int AddMsgFilter( char *name, u_int32_t addr1, u_int32_t addr2 );
int AddSigFilter( char *name, u_int32_t addr1, u_int32_t addr2 );
int AddMessage( char *name, u_int32_t addr, u_int32_t size, char *module );
int AddSignal( char *name, char *units, u_int32_t addr, char start, char num, char endian, char sign, float scale, float offset );
int LoadDatabase( const char *file );
// static methods
// private methods
private:
};