From b1c5707ab4cfeebab9115d277a4ee313c016241c Mon Sep 17 00:00:00 2001 From: pietrea2 Date: Sat, 20 Mar 2021 22:33:28 -0400 Subject: [PATCH 01/35] First version of tests. --- .../Serial_CAN_Module_2.cpp | 408 ++++++++++++++++++ .../Serial_CAN_Module_2.h | 57 +++ recv_basic_test.ino | 56 +++ recv_mask_filt_test_2.ino | 75 ++++ send_basic_test.ino | 37 ++ send_mask_filt_test_2.ino | 37 ++ 6 files changed, 670 insertions(+) create mode 100644 Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp create mode 100644 Serial CAN Bus Module Library/Serial_CAN_Module_2.h create mode 100644 recv_basic_test.ino create mode 100644 recv_mask_filt_test_2.ino create mode 100644 send_basic_test.ino create mode 100644 send_mask_filt_test_2.ino diff --git a/Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp b/Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp new file mode 100644 index 0000000..bdb8d75 --- /dev/null +++ b/Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp @@ -0,0 +1,408 @@ +// ID3 ID2 ID1 ID0 EXT RTR DTA0 DTA1 DTA2 DTA3 DTA4 DTA5 DTA6 DTA7 + +#include +#include + +SoftwareSerial *canSerial = NULL; + +void Serial_CAN::begin(int can_tx, int can_rx, unsigned long baud) +{ + canSerial = new SoftwareSerial(can_tx, can_rx); + //Serial.println("Hello, we are inside begin()"); + canSerial->begin(baud); +} + +unsigned char Serial_CAN::send(unsigned long id, uchar ext, uchar rtrBit, uchar len, const uchar *buf) +{ + unsigned char dta[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + + dta[0] = id>>24; // id3 + dta[1] = id>>16&0xff; // id2 + dta[2] = id>>8&0xff; // id1 + dta[3] = id&0xff; // id0 + + dta[4] = ext; + dta[5] = rtrBit; + + + for(int i=0; iwrite(dta[i]); + } + + for(int i=0; i<14; i++) + { + //Serial.print( "Sending data frame:" ); + //Serial.println( dta[i] ); + } + + +} + + +// 0: no data +// 1: get data +unsigned char Serial_CAN::recv(unsigned long *id, uchar *buf) +{ + if(canSerial->available()) + { + unsigned long timer_s = millis(); + + int len = 0; + uchar dta[20]; + + while(1) + { + while(canSerial->available()) + { + dta[len++] = canSerial->read(); + if(len == 12) + break; + + if((millis()-timer_s) > 10) + { + canSerial->flush(); + return 0; // Reading 12 bytes should be faster than 10ms, abort if it takes longer, we loose the partial message in this case + } + } + + if(len == 12) // Just to be sure, must be 12 here + { + unsigned long __id = 0; + + for(int i=0; i<4; i++) // Store the id of the sender + { + __id <<= 8; + __id += dta[i]; + } + + *id = __id; + + for(int i=0; i<8; i++) // Store the message in the buffer + { + buf[i] = dta[i+4]; + } + return 1; + } + + if((millis()-timer_s) > 10) + { + canSerial->flush(); + return 0; // Reading 12 bytes should be faster than 10ms, abort if it takes longer, we loose the partial message in this case + } + + } + } + + return 0; +} + +unsigned char Serial_CAN::cmdOk(char *cmd) +{ + + unsigned long timer_s = millis(); + unsigned char len = 0; + + canSerial->println(cmd); + + //Serial.println(cmd); + //Serial.println("Printing cmd above."); + + while(1) + { + if(millis()-timer_s > 500) + { + return 0; + } + + while(canSerial->available()) + { + + str_tmp[len++] = canSerial->read(); + timer_s = millis(); + } + + if(len >= 4 && str_tmp[len-1] == '\n' && str_tmp[len-2] == '\r' && str_tmp[len-3] == 'K' && str_tmp[len-4] == 'O') + { + clear(); + return 1; + } + + } +} + +/* +value 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 +rate(kb/s) 5 10 20 25 31.2 33 40 50 80 83.3 95 100 125 200 250 500 666 1000 +*/ +unsigned char Serial_CAN::canRate(unsigned char rate) +{ + double rates[18] = {5, 10, 20, 25, 31.2, 33, 40, 50, 80, 83.3, 95, 100, 125, 200, 250, 500, 666, 1000}; + + enterSettingMode(); + if(rate < 10) + sprintf(str_tmp, "AT+C=0%d\r\n", rate); + else + sprintf(str_tmp, "AT+C=%d\r\n", rate); + + int ret = cmdOk(str_tmp); + + Serial.print("Serial CAN Rate set to: "); + Serial.println(rates[rate-1]); + + exitSettingMode(); + return ret; +} + +/* +value 0 1 2 3 4 +baud rate(b/s) 9600 19200 38400 57600 115200 +*/ + +unsigned char Serial_CAN::baudRate(unsigned char rate) +{ + unsigned long baud[5] = {9600, 19200, 38400, 57600, 115200}; + int baudNow = 0; + + for(int i=0; i<5; i++) + { + canSerial->begin(baud[i]); + canSerial->print("+++"); + delay(100); + + if(cmdOk( (char*)"AT\r\n" )) + { + //Serial.print("SERIAL BAUD RATE IS: "); + //Serial.println(baud[i]); + baudNow = i; + break; + } + } + + sprintf(str_tmp, "AT+S=%d\r\n", rate); + cmdOk(str_tmp); + + canSerial->begin(baud[rate]); + + int ret = cmdOk( (char*)"AT\r\n" ); + + if(ret) + { + Serial.print("Serial Baud Rate set to: "); + Serial.println(baud[rate]); + } + + exitSettingMode(); + return ret; +} + + +void Serial_CAN::clear() +{ + unsigned long timer_s = millis(); + while(1) + { + if(millis()-timer_s > 50)return; + while(canSerial->available()) + { + canSerial->read(); + timer_s = millis(); + } + } +} + +unsigned char Serial_CAN::enterSettingMode() +{ + canSerial->print("+++"); + clear(); + + //Serial.println("Inside enterSettingMode()"); + + return 1; +} + +unsigned char Serial_CAN::exitSettingMode() +{ + clear(); + int ret = cmdOk((char*)"AT+Q\r\n"); + clear(); + return ret; +} + +void make8zerochar(int n, char *str, unsigned long num) +{ + for(int i=0; i>= 4; + } + str[n] = '\0'; +} + +/* ++++ Switch from Normal mode to Config mode +AT+S=[value] Set serial baud rate +AT+C=[value] Set CAN Bus baud rate +AT+M=[N][EXT][value] Set mask,AT+M=[1][0][000003DF] +AT+F=[N][EXT][value] Set filter,AT+F=[1][0][000003DF] +AT+Q Switch to Normal Mode +*/ +unsigned char Serial_CAN::setMask(unsigned long *dta) +{ + enterSettingMode(); + char __str[10]; + + + for(int i=0; i<2; i++) + { + make8zerochar(8, __str, dta[1+2*i]); + //Serial.println(__str); + sprintf(str_tmp, "AT+M=[%d][%d][", i, dta[2*i]); + for(int i=0; i<8; i++) + { + str_tmp[12+i] = __str[i]; + } + str_tmp[20] = ']'; + str_tmp[21] = '\r'; + str_tmp[22] = '\n'; + str_tmp[23] = '\0'; + + //Serial.println(str_tmp); + + if(!cmdOk(str_tmp)) + { + Serial.print("mask fail - "); + Serial.println(i); + exitSettingMode(); + return 0; + } + clear(); + delay(10); + // + } + exitSettingMode(); + return 1; + +} + +unsigned char Serial_CAN::setFilt(unsigned long *dta) +{ + enterSettingMode(); + + char __str[10]; + + for(int i=0; i<6; i++) + { + make8zerochar(8, __str, dta[1+2*i]); + //Serial.println(__str); + sprintf(str_tmp, "AT+F=[%d][%d][", i, dta[2*i]); + for(int i=0; i<8; i++) + { + str_tmp[12+i] = __str[i]; + } + str_tmp[20] = ']'; + str_tmp[21] = '\r'; + str_tmp[22] = '\n'; + str_tmp[23] = '\0'; + + //Serial.println(str_tmp); + + clear(); + if(!cmdOk(str_tmp)) + { + //Serial.print("filt fail at - "); + //Serial.println(i); + exitSettingMode(); + return 0; + } + clear(); + delay(10); + // + } + exitSettingMode(); + return 1; +} + +/* +value 0 1 2 3 4 +baud rate(b/s) 9600 19200 38400 57600 115200 +*/ +unsigned char Serial_CAN::factorySetting() +{ + // check baudrate + unsigned long baud[5] = {9600, 19200, 38400, 57600, 115200}; + + for(int i=0; i<5; i++) + { + canSerial->begin(baud[i]); + canSerial->print("+++"); + delay(100); + + if(cmdOk( (char*)"AT\r\n")) + { + Serial.print("SERIAL BAUD RATE IS: "); + Serial.println(baud[i]); + baudRate(0); // set serial baudrate to 9600 + Serial.println("SET SERIAL BAUD RATE TO: 9600 OK"); + canSerial->begin(9600); + break; + } + } + + if(canRate(CAN_RATE_500)) + { + Serial.println("SET CAN BUS BAUD RATE TO 500Kb/s OK"); + } + else + { + Serial.println("SET CAN BUS BAUD RATE TO 500Kb/s FAIL"); + return 0; + } + + unsigned long mask[4] = {0, 0, 0, 0,}; + unsigned long filt[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}; + + if(setFilt(filt)) + { + Serial.println("FACTORY SETTING FILTS OK"); + } + else + { + Serial.println("FACTORY SETTING FILTS FAIL"); + return 0; + } + + if(setMask(mask)) + { + Serial.println("FACTORY SETTING MASKS OK"); + } + else + { + Serial.println("FACTORY SETTING MASKS FAIL"); + return 0; + } + + return 1; +} + +void Serial_CAN::debugMode() +{ + while(Serial.available()) + { + canSerial->write(Serial.read()); + } + + while(canSerial->available()) + { + Serial.write(canSerial->read()); + } +} + +// END FILE diff --git a/Serial CAN Bus Module Library/Serial_CAN_Module_2.h b/Serial CAN Bus Module Library/Serial_CAN_Module_2.h new file mode 100644 index 0000000..c053ccf --- /dev/null +++ b/Serial CAN Bus Module Library/Serial_CAN_Module_2.h @@ -0,0 +1,57 @@ +#ifndef __SERIAL_CAN_MODULE_H__ +#define __SERIAL_CAN_MODULE_H__ +// ID3 ID2 ID1 ID0 EXT RTR DTA0 DTA1 DTA2 DTA3 DTA4 DTA5 DTA6 DTA7 +#include +#define uchar unsigned char + + +#define CAN_RATE_5 1 +#define CAN_RATE_10 2 +#define CAN_RATE_20 3 +#define CAN_RATE_25 4 +#define CAN_RATE_31_2 5 +#define CAN_RATE_33 6 +#define CAN_RATE_40 7 +#define CAN_RATE_50 8 +#define CAN_RATE_80 9 +#define CAN_RATE_83_3 10 +#define CAN_RATE_95 11 +#define CAN_RATE_100 12 +#define CAN_RATE_125 13 +#define CAN_RATE_200 14 +#define CAN_RATE_250 15 +#define CAN_RATE_500 16 +#define CAN_RATE_666 17 +#define CAN_RATE_1000 18 + +#define SERIAL_RATE_9600 0 +#define SERIAL_RATE_19200 1 +#define SERIAL_RATE_38400 2 +#define SERIAL_RATE_57600 3 +#define SERIAL_RATE_115200 4 + +class Serial_CAN +{ +private: + unsigned char cmdOk(char *cmd); + unsigned char enterSettingMode(); + unsigned char exitSettingMode(); + void clear(); + char str_tmp[100]; +public: + + void begin(int can_tx, int can_rx, unsigned long baud); + unsigned char send(unsigned long id, uchar ext, uchar rtrBit, uchar len, const uchar *buf); + unsigned char recv(unsigned long *id, uchar *buf); + + unsigned char canRate(unsigned char rate); + unsigned char baudRate(unsigned char rate); + + unsigned char setMask(unsigned long *dta); + unsigned char setFilt(unsigned long *dta); + + unsigned char factorySetting(); + void debugMode(); + +}; +#endif \ No newline at end of file diff --git a/recv_basic_test.ino b/recv_basic_test.ino new file mode 100644 index 0000000..29a3b51 --- /dev/null +++ b/recv_basic_test.ino @@ -0,0 +1,56 @@ +// RECV EXAMPLE OF SERIAL CAN MODULE +// unsigned char recv(unsigned long *id, uchar *buf); +// SUPPORT: joney.sui@longan-labs.cc +//First recv() test by Adam P + +#include +#include + +Serial_CAN can; + +#define can_tx 10 //TX of Serial CAN Module connected to D10 +#define can_rx 11 //RX of Serial CAN Module connected to D11 + + +void setup() +{ + Serial.begin(9600); + while(!Serial); + can.begin(can_tx, can_rx, 9600); + + if(can.canRate(CAN_RATE_500)) + { + Serial.println("Set CAN rate OK"); + } + else + { + Serial.println("Set CAN rate FAIL"); + } +} + +unsigned long id = 5; +unsigned char dta[8]; + +// send(unsigned long id, byte ext, byte rtrBit, byte len, const byte *buf); +void loop() +{ + + can.debugMode(); + if(can.recv(&id, dta)) + { + Serial.print("GETTING DATA FROM ID: "); + Serial.println(id); + for(int i=0; i<8; i++) + { + Serial.print("0x"); + Serial.print(dta[i], HEX); + Serial.print('\t'); + } + Serial.println(); + } + else{ + //Serial.print("Didn't work!!!"); + } +} + +// END FILE diff --git a/recv_mask_filt_test_2.ino b/recv_mask_filt_test_2.ino new file mode 100644 index 0000000..17c653a --- /dev/null +++ b/recv_mask_filt_test_2.ino @@ -0,0 +1,75 @@ +// RECV EXAMPLE OF SERIAL CAN MODULE - WITH MASK/FILTERING +// +// SUPPORT: joney.sui@longan-labs.cc +//Second recv() test by Adam P + +#include +#include + +Serial_CAN can; + +#define can_tx 10 //TX of Serial CAN Module connected to D10 +#define can_rx 11 //RX of Serial CAN Module connected to D11 + +unsigned long mask[4] = +{ + 0, 0x0f, // ext, maks 0 + 0, 0x0f, // ext, mask 1 +}; + +unsigned long filt[12] = +{ + 0, 0xff, // ext, filt 0 + 0, 0xff, // ext, filt 1 + 0, 0xff, // ext, filt 2 + 0, 0xff, // ext, filt 3 + 0, 0xff, // ext, filt 4 + 0, 0xff, // ext, filt 5 +}; + +void setup() +{ + Serial.begin(9600); + while(!Serial); + can.begin(can_tx, can_rx, 9600); // tx, rx + + if(can.setFilt(filt)) + { + Serial.println("set filt ok"); + } + else + { + Serial.println("set filt fail"); + } + + if(can.setMask(mask)) + { + Serial.println("set mask ok"); + } + else + { + Serial.println("set mask fail"); + } + +} + +void loop() +{ + unsigned long id = 0; + unsigned char dta[8]; + + if(can.recv(&id, dta)) + { + Serial.print("GET DATA FROM ID: "); + Serial.println(id); + for(int i=0; i<8; i++) + { + Serial.print("0x"); + Serial.print(dta[i], HEX); + Serial.print('\t'); + } + Serial.println(); + } +} + +// END FILE diff --git a/send_basic_test.ino b/send_basic_test.ino new file mode 100644 index 0000000..39368be --- /dev/null +++ b/send_basic_test.ino @@ -0,0 +1,37 @@ +// SEND EXAMPLE OF SERIAL CAN MODULE +// unsigned char send(unsigned long id, uchar ext, uchar rtrBit, uchar len, const uchar *buf); +// SUPPORT: joney.sui@longan-labs.cc +//First send() test by Adam P + +#include +#include + +Serial_CAN can; + +#define can_tx 10 //TX of Serial CAN Module connected to D10 +#define can_rx 11 //RX of Serial CAN Module connected to D11 + + +void setup() +{ + Serial.begin(9600); //Baud Rates: 9600, 19200, 38400, 57600, 74880, 115200 + //9600 works the best, higher rates start to have problems + can.begin(can_tx, can_rx, 9600); + Serial.println("Starting:"); + //can.debugMode(); +} + + +unsigned char dta[8] = {1, 2, 3, 4, 5, 10, 11, 12}; + + +// send(unsigned long id, byte ext, byte rtrBit, byte len, const byte *buf); +void loop() +{ + can.send(0x77, 0, 0, 8, dta); // SEND TO ID:0X77 + // CAN ID is not important for testing, all frames will be recieved + delay(100); + //can.debugMode(); +} + +// END FILE diff --git a/send_mask_filt_test_2.ino b/send_mask_filt_test_2.ino new file mode 100644 index 0000000..7d556e7 --- /dev/null +++ b/send_mask_filt_test_2.ino @@ -0,0 +1,37 @@ +// SEND EXAMPLE OF SERIAL CAN MODULE - WITH MASK/FILTERING +// unsigned char send(unsigned long id, uchar ext, uchar rtrBit, uchar len, const uchar *buf); +// SUPPORT: joney.sui@longan-labs.cc +//Second send() test by Adam P + +#include +#include + +Serial_CAN can; + +#define can_tx 10 //TX of Serial CAN Module connected to D10 +#define can_rx 11 //RX of Serial CAN Module connected to D11 + + +void setup() +{ + Serial.begin(9600); //Baud Rates: 9600, 19200, 38400, 57600, 74880, 115200 + //9600 works the best, higher rates start to have problems + can.begin(can_tx, can_rx, 9600); + Serial.println("Starting:"); + //can.debugMode(); +} + + +unsigned char dta[8] = {1, 2, 3, 4, 5, 10, 11, 12}; + + +// send(unsigned long id, byte ext, byte rtrBit, byte len, const byte *buf); +void loop() +{ + can.send(0x0f, 0, 0, 8, dta); // SEND TO ID:0x0f + // CAN ID is not important for testing, all frames will be recieved + delay(100); + //can.debugMode(); +} + +// END FILE From 41ba35ff7a1154ffcc1c3b26d0d0e824f7002e41 Mon Sep 17 00:00:00 2001 From: pietrea2 Date: Sat, 20 Mar 2021 22:43:25 -0400 Subject: [PATCH 02/35] Removed old folder --- ExampleSensor/ExampleSensor.ino | 11 -------- ExampleSensor/README.md | 29 ---------------------- ExampleSensor/libraries/ExampleLibrary.cpp | 16 ------------ ExampleSensor/libraries/ExampleLibrary.h | 17 ------------- ExampleSensor/libraries/ExampleSensor.cpp | 9 ------- ExampleSensor/libraries/ExampleSensor.h | 10 -------- 6 files changed, 92 deletions(-) delete mode 100644 ExampleSensor/ExampleSensor.ino delete mode 100644 ExampleSensor/README.md delete mode 100644 ExampleSensor/libraries/ExampleLibrary.cpp delete mode 100644 ExampleSensor/libraries/ExampleLibrary.h delete mode 100644 ExampleSensor/libraries/ExampleSensor.cpp delete mode 100644 ExampleSensor/libraries/ExampleSensor.h diff --git a/ExampleSensor/ExampleSensor.ino b/ExampleSensor/ExampleSensor.ino deleted file mode 100644 index 6f90f3a..0000000 --- a/ExampleSensor/ExampleSensor.ino +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include "ExampleSensor.h" - -void setup(){ - init(); -} - -void loop(){ - int x = getValue(); - delay(1000); -} \ No newline at end of file diff --git a/ExampleSensor/README.md b/ExampleSensor/README.md deleted file mode 100644 index f0fa077..0000000 --- a/ExampleSensor/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Example Sensor - -This is an example `README` for the sensor "Example Sensor". All sensor `README`s should include the following content: - -- ***Read-only*** links to UTHT Google Drive sensor documentation, and/or other references; -- Setup, testing, and expected output documentation (screenshot, pictures, logs/stack traces, etc.); -- A list of dependencies (and links to those); -- Everything else that is listed under [the master `README`](../README.md). - -# Development - -## Dependencies - -- ExampleLibrary -- ... - -## Testing - -### Setup - -... - -### Procedure - -... - -### Expected Output - -... \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleLibrary.cpp b/ExampleSensor/libraries/ExampleLibrary.cpp deleted file mode 100644 index c014881..0000000 --- a/ExampleSensor/libraries/ExampleLibrary.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -// Example library code - -Example::Example(int* address, int defaultvalue) : Example((int*)malloc(sizeof(int)), 0){ - this->address = address; - *address = defaultvalue; -} - -int Example::read(){ - return *(this->address); -} - -void Example::write(int value){ - *(this->address) = value; -} \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleLibrary.h b/ExampleSensor/libraries/ExampleLibrary.h deleted file mode 100644 index 0f9859e..0000000 --- a/ExampleSensor/libraries/ExampleLibrary.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef ExampleLibrary_H -#define ExampleLibrary_H - -#include - -// Example library header - -class Example { - public: - Example(int* address, int defaultvalue) - private: - float read(); - void write(int value); - int* address; -} - -#endif \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleSensor.cpp b/ExampleSensor/libraries/ExampleSensor.cpp deleted file mode 100644 index e6efcfe..0000000 --- a/ExampleSensor/libraries/ExampleSensor.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -void init(){ - example = Example(); -} - -int getValue(){ - example.read(); -} \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleSensor.h b/ExampleSensor/libraries/ExampleSensor.h deleted file mode 100644 index 6ee8437..0000000 --- a/ExampleSensor/libraries/ExampleSensor.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef ExampleSensor_H -#define ExampleSensor_H -#include "ExampleLibrary.h" - -Example ex; - -void init(); -int getValue(); - -#endif // !ExampleSensor_h \ No newline at end of file From 61ce8d604fbc23a908b703f6b445daf7fd19d1b2 Mon Sep 17 00:00:00 2001 From: Urmil Modi Date: Sun, 28 Mar 2021 15:44:11 -0400 Subject: [PATCH 03/35] restructured repo and added readme --- ExampleSensor/ExampleSensor.ino | 11 +++++++ ExampleSensor/README.md | 29 ++++++++++++++++++ ExampleSensor/libraries/ExampleLibrary.cpp | 16 ++++++++++ ExampleSensor/libraries/ExampleLibrary.h | 17 +++++++++++ ExampleSensor/libraries/ExampleSensor.cpp | 9 ++++++ ExampleSensor/libraries/ExampleSensor.h | 10 +++++++ Serial-CAN-Bus/README.md | 30 +++++++++++++++++++ .../libraries}/Serial_CAN_Module_2.cpp | 0 .../libraries}/Serial_CAN_Module_2.h | 0 .../recv_basic_test.ino | 0 .../recv_mask_filt_test_2.ino | 0 .../send_basic_test.ino | 0 .../send_mask_filt_test_2.ino | 0 13 files changed, 122 insertions(+) create mode 100644 ExampleSensor/ExampleSensor.ino create mode 100644 ExampleSensor/README.md create mode 100644 ExampleSensor/libraries/ExampleLibrary.cpp create mode 100644 ExampleSensor/libraries/ExampleLibrary.h create mode 100644 ExampleSensor/libraries/ExampleSensor.cpp create mode 100644 ExampleSensor/libraries/ExampleSensor.h create mode 100644 Serial-CAN-Bus/README.md rename {Serial CAN Bus Module Library => Serial-CAN-Bus/libraries}/Serial_CAN_Module_2.cpp (100%) rename {Serial CAN Bus Module Library => Serial-CAN-Bus/libraries}/Serial_CAN_Module_2.h (100%) rename recv_basic_test.ino => Serial-CAN-Bus/recv_basic_test.ino (100%) rename recv_mask_filt_test_2.ino => Serial-CAN-Bus/recv_mask_filt_test_2.ino (100%) rename send_basic_test.ino => Serial-CAN-Bus/send_basic_test.ino (100%) rename send_mask_filt_test_2.ino => Serial-CAN-Bus/send_mask_filt_test_2.ino (100%) diff --git a/ExampleSensor/ExampleSensor.ino b/ExampleSensor/ExampleSensor.ino new file mode 100644 index 0000000..6f90f3a --- /dev/null +++ b/ExampleSensor/ExampleSensor.ino @@ -0,0 +1,11 @@ +#include +#include "ExampleSensor.h" + +void setup(){ + init(); +} + +void loop(){ + int x = getValue(); + delay(1000); +} \ No newline at end of file diff --git a/ExampleSensor/README.md b/ExampleSensor/README.md new file mode 100644 index 0000000..f0fa077 --- /dev/null +++ b/ExampleSensor/README.md @@ -0,0 +1,29 @@ +# Example Sensor + +This is an example `README` for the sensor "Example Sensor". All sensor `README`s should include the following content: + +- ***Read-only*** links to UTHT Google Drive sensor documentation, and/or other references; +- Setup, testing, and expected output documentation (screenshot, pictures, logs/stack traces, etc.); +- A list of dependencies (and links to those); +- Everything else that is listed under [the master `README`](../README.md). + +# Development + +## Dependencies + +- ExampleLibrary +- ... + +## Testing + +### Setup + +... + +### Procedure + +... + +### Expected Output + +... \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleLibrary.cpp b/ExampleSensor/libraries/ExampleLibrary.cpp new file mode 100644 index 0000000..c014881 --- /dev/null +++ b/ExampleSensor/libraries/ExampleLibrary.cpp @@ -0,0 +1,16 @@ +#include + +// Example library code + +Example::Example(int* address, int defaultvalue) : Example((int*)malloc(sizeof(int)), 0){ + this->address = address; + *address = defaultvalue; +} + +int Example::read(){ + return *(this->address); +} + +void Example::write(int value){ + *(this->address) = value; +} \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleLibrary.h b/ExampleSensor/libraries/ExampleLibrary.h new file mode 100644 index 0000000..0f9859e --- /dev/null +++ b/ExampleSensor/libraries/ExampleLibrary.h @@ -0,0 +1,17 @@ +#ifndef ExampleLibrary_H +#define ExampleLibrary_H + +#include + +// Example library header + +class Example { + public: + Example(int* address, int defaultvalue) + private: + float read(); + void write(int value); + int* address; +} + +#endif \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleSensor.cpp b/ExampleSensor/libraries/ExampleSensor.cpp new file mode 100644 index 0000000..e6efcfe --- /dev/null +++ b/ExampleSensor/libraries/ExampleSensor.cpp @@ -0,0 +1,9 @@ +#include + +void init(){ + example = Example(); +} + +int getValue(){ + example.read(); +} \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleSensor.h b/ExampleSensor/libraries/ExampleSensor.h new file mode 100644 index 0000000..6ee8437 --- /dev/null +++ b/ExampleSensor/libraries/ExampleSensor.h @@ -0,0 +1,10 @@ +#ifndef ExampleSensor_H +#define ExampleSensor_H +#include "ExampleLibrary.h" + +Example ex; + +void init(); +int getValue(); + +#endif // !ExampleSensor_h \ No newline at end of file diff --git a/Serial-CAN-Bus/README.md b/Serial-CAN-Bus/README.md new file mode 100644 index 0000000..8dba15f --- /dev/null +++ b/Serial-CAN-Bus/README.md @@ -0,0 +1,30 @@ +# Serial CAN Bus Module + +> Documentation for the **Serial CAN Bus Module** can be found [here](https://drive.google.com/drive/folders/1rzmLET68QOWb4At4mAyN4rDsj-VGBLyh?usp=sharing). + + +## Todo + +- [ ] Setup, testing, and expected output documentation (screenshot, pictures, logs/stack traces, etc.); +- [ ] A list of dependencies (and links to those); +- [ ] Everything else that is listed under [the master `README`](../README.md). + +# Development + +## Dependencies + +- ... + +## Testing + +### Setup + +... + +### Procedure + +... + +### Expected Output + +... \ No newline at end of file diff --git a/Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp b/Serial-CAN-Bus/libraries/Serial_CAN_Module_2.cpp similarity index 100% rename from Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp rename to Serial-CAN-Bus/libraries/Serial_CAN_Module_2.cpp diff --git a/Serial CAN Bus Module Library/Serial_CAN_Module_2.h b/Serial-CAN-Bus/libraries/Serial_CAN_Module_2.h similarity index 100% rename from Serial CAN Bus Module Library/Serial_CAN_Module_2.h rename to Serial-CAN-Bus/libraries/Serial_CAN_Module_2.h diff --git a/recv_basic_test.ino b/Serial-CAN-Bus/recv_basic_test.ino similarity index 100% rename from recv_basic_test.ino rename to Serial-CAN-Bus/recv_basic_test.ino diff --git a/recv_mask_filt_test_2.ino b/Serial-CAN-Bus/recv_mask_filt_test_2.ino similarity index 100% rename from recv_mask_filt_test_2.ino rename to Serial-CAN-Bus/recv_mask_filt_test_2.ino diff --git a/send_basic_test.ino b/Serial-CAN-Bus/send_basic_test.ino similarity index 100% rename from send_basic_test.ino rename to Serial-CAN-Bus/send_basic_test.ino diff --git a/send_mask_filt_test_2.ino b/Serial-CAN-Bus/send_mask_filt_test_2.ino similarity index 100% rename from send_mask_filt_test_2.ino rename to Serial-CAN-Bus/send_mask_filt_test_2.ino From 303522dff3bc30aa02dc6fc56c3ef43eb7a70243 Mon Sep 17 00:00:00 2001 From: Urmil Modi Date: Sun, 28 Mar 2021 15:45:53 -0400 Subject: [PATCH 04/35] corrected readme name --- Serial-CAN-Bus/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Serial-CAN-Bus/README.md b/Serial-CAN-Bus/README.md index 8dba15f..61565f5 100644 --- a/Serial-CAN-Bus/README.md +++ b/Serial-CAN-Bus/README.md @@ -1,6 +1,6 @@ -# Serial CAN Bus Module +# Serial CAN Bus -> Documentation for the **Serial CAN Bus Module** can be found [here](https://drive.google.com/drive/folders/1rzmLET68QOWb4At4mAyN4rDsj-VGBLyh?usp=sharing). +> Documentation for the **Serial CAN Bus** can be found [here](https://drive.google.com/drive/folders/1rzmLET68QOWb4At4mAyN4rDsj-VGBLyh?usp=sharing). ## Todo From 5af7d31f13fcacf2619d6d88ce5e6f8f96938afc Mon Sep 17 00:00:00 2001 From: Jayden Lefebvre Date: Sat, 17 Apr 2021 15:54:06 -0400 Subject: [PATCH 05/35] Added Gitignore From 805b4f67fc61d60c00bcb373faa832c4b74dd828 Mon Sep 17 00:00:00 2001 From: pietrea2 Date: Sat, 20 Mar 2021 22:33:28 -0400 Subject: [PATCH 06/35] First version of tests. --- .../Serial_CAN_Module_2.cpp | 408 ++++++++++++++++++ .../Serial_CAN_Module_2.h | 57 +++ recv_basic_test.ino | 56 +++ recv_mask_filt_test_2.ino | 75 ++++ send_basic_test.ino | 37 ++ send_mask_filt_test_2.ino | 37 ++ 6 files changed, 670 insertions(+) create mode 100644 Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp create mode 100644 Serial CAN Bus Module Library/Serial_CAN_Module_2.h create mode 100644 recv_basic_test.ino create mode 100644 recv_mask_filt_test_2.ino create mode 100644 send_basic_test.ino create mode 100644 send_mask_filt_test_2.ino diff --git a/Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp b/Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp new file mode 100644 index 0000000..bdb8d75 --- /dev/null +++ b/Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp @@ -0,0 +1,408 @@ +// ID3 ID2 ID1 ID0 EXT RTR DTA0 DTA1 DTA2 DTA3 DTA4 DTA5 DTA6 DTA7 + +#include +#include + +SoftwareSerial *canSerial = NULL; + +void Serial_CAN::begin(int can_tx, int can_rx, unsigned long baud) +{ + canSerial = new SoftwareSerial(can_tx, can_rx); + //Serial.println("Hello, we are inside begin()"); + canSerial->begin(baud); +} + +unsigned char Serial_CAN::send(unsigned long id, uchar ext, uchar rtrBit, uchar len, const uchar *buf) +{ + unsigned char dta[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + + dta[0] = id>>24; // id3 + dta[1] = id>>16&0xff; // id2 + dta[2] = id>>8&0xff; // id1 + dta[3] = id&0xff; // id0 + + dta[4] = ext; + dta[5] = rtrBit; + + + for(int i=0; iwrite(dta[i]); + } + + for(int i=0; i<14; i++) + { + //Serial.print( "Sending data frame:" ); + //Serial.println( dta[i] ); + } + + +} + + +// 0: no data +// 1: get data +unsigned char Serial_CAN::recv(unsigned long *id, uchar *buf) +{ + if(canSerial->available()) + { + unsigned long timer_s = millis(); + + int len = 0; + uchar dta[20]; + + while(1) + { + while(canSerial->available()) + { + dta[len++] = canSerial->read(); + if(len == 12) + break; + + if((millis()-timer_s) > 10) + { + canSerial->flush(); + return 0; // Reading 12 bytes should be faster than 10ms, abort if it takes longer, we loose the partial message in this case + } + } + + if(len == 12) // Just to be sure, must be 12 here + { + unsigned long __id = 0; + + for(int i=0; i<4; i++) // Store the id of the sender + { + __id <<= 8; + __id += dta[i]; + } + + *id = __id; + + for(int i=0; i<8; i++) // Store the message in the buffer + { + buf[i] = dta[i+4]; + } + return 1; + } + + if((millis()-timer_s) > 10) + { + canSerial->flush(); + return 0; // Reading 12 bytes should be faster than 10ms, abort if it takes longer, we loose the partial message in this case + } + + } + } + + return 0; +} + +unsigned char Serial_CAN::cmdOk(char *cmd) +{ + + unsigned long timer_s = millis(); + unsigned char len = 0; + + canSerial->println(cmd); + + //Serial.println(cmd); + //Serial.println("Printing cmd above."); + + while(1) + { + if(millis()-timer_s > 500) + { + return 0; + } + + while(canSerial->available()) + { + + str_tmp[len++] = canSerial->read(); + timer_s = millis(); + } + + if(len >= 4 && str_tmp[len-1] == '\n' && str_tmp[len-2] == '\r' && str_tmp[len-3] == 'K' && str_tmp[len-4] == 'O') + { + clear(); + return 1; + } + + } +} + +/* +value 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 +rate(kb/s) 5 10 20 25 31.2 33 40 50 80 83.3 95 100 125 200 250 500 666 1000 +*/ +unsigned char Serial_CAN::canRate(unsigned char rate) +{ + double rates[18] = {5, 10, 20, 25, 31.2, 33, 40, 50, 80, 83.3, 95, 100, 125, 200, 250, 500, 666, 1000}; + + enterSettingMode(); + if(rate < 10) + sprintf(str_tmp, "AT+C=0%d\r\n", rate); + else + sprintf(str_tmp, "AT+C=%d\r\n", rate); + + int ret = cmdOk(str_tmp); + + Serial.print("Serial CAN Rate set to: "); + Serial.println(rates[rate-1]); + + exitSettingMode(); + return ret; +} + +/* +value 0 1 2 3 4 +baud rate(b/s) 9600 19200 38400 57600 115200 +*/ + +unsigned char Serial_CAN::baudRate(unsigned char rate) +{ + unsigned long baud[5] = {9600, 19200, 38400, 57600, 115200}; + int baudNow = 0; + + for(int i=0; i<5; i++) + { + canSerial->begin(baud[i]); + canSerial->print("+++"); + delay(100); + + if(cmdOk( (char*)"AT\r\n" )) + { + //Serial.print("SERIAL BAUD RATE IS: "); + //Serial.println(baud[i]); + baudNow = i; + break; + } + } + + sprintf(str_tmp, "AT+S=%d\r\n", rate); + cmdOk(str_tmp); + + canSerial->begin(baud[rate]); + + int ret = cmdOk( (char*)"AT\r\n" ); + + if(ret) + { + Serial.print("Serial Baud Rate set to: "); + Serial.println(baud[rate]); + } + + exitSettingMode(); + return ret; +} + + +void Serial_CAN::clear() +{ + unsigned long timer_s = millis(); + while(1) + { + if(millis()-timer_s > 50)return; + while(canSerial->available()) + { + canSerial->read(); + timer_s = millis(); + } + } +} + +unsigned char Serial_CAN::enterSettingMode() +{ + canSerial->print("+++"); + clear(); + + //Serial.println("Inside enterSettingMode()"); + + return 1; +} + +unsigned char Serial_CAN::exitSettingMode() +{ + clear(); + int ret = cmdOk((char*)"AT+Q\r\n"); + clear(); + return ret; +} + +void make8zerochar(int n, char *str, unsigned long num) +{ + for(int i=0; i>= 4; + } + str[n] = '\0'; +} + +/* ++++ Switch from Normal mode to Config mode +AT+S=[value] Set serial baud rate +AT+C=[value] Set CAN Bus baud rate +AT+M=[N][EXT][value] Set mask,AT+M=[1][0][000003DF] +AT+F=[N][EXT][value] Set filter,AT+F=[1][0][000003DF] +AT+Q Switch to Normal Mode +*/ +unsigned char Serial_CAN::setMask(unsigned long *dta) +{ + enterSettingMode(); + char __str[10]; + + + for(int i=0; i<2; i++) + { + make8zerochar(8, __str, dta[1+2*i]); + //Serial.println(__str); + sprintf(str_tmp, "AT+M=[%d][%d][", i, dta[2*i]); + for(int i=0; i<8; i++) + { + str_tmp[12+i] = __str[i]; + } + str_tmp[20] = ']'; + str_tmp[21] = '\r'; + str_tmp[22] = '\n'; + str_tmp[23] = '\0'; + + //Serial.println(str_tmp); + + if(!cmdOk(str_tmp)) + { + Serial.print("mask fail - "); + Serial.println(i); + exitSettingMode(); + return 0; + } + clear(); + delay(10); + // + } + exitSettingMode(); + return 1; + +} + +unsigned char Serial_CAN::setFilt(unsigned long *dta) +{ + enterSettingMode(); + + char __str[10]; + + for(int i=0; i<6; i++) + { + make8zerochar(8, __str, dta[1+2*i]); + //Serial.println(__str); + sprintf(str_tmp, "AT+F=[%d][%d][", i, dta[2*i]); + for(int i=0; i<8; i++) + { + str_tmp[12+i] = __str[i]; + } + str_tmp[20] = ']'; + str_tmp[21] = '\r'; + str_tmp[22] = '\n'; + str_tmp[23] = '\0'; + + //Serial.println(str_tmp); + + clear(); + if(!cmdOk(str_tmp)) + { + //Serial.print("filt fail at - "); + //Serial.println(i); + exitSettingMode(); + return 0; + } + clear(); + delay(10); + // + } + exitSettingMode(); + return 1; +} + +/* +value 0 1 2 3 4 +baud rate(b/s) 9600 19200 38400 57600 115200 +*/ +unsigned char Serial_CAN::factorySetting() +{ + // check baudrate + unsigned long baud[5] = {9600, 19200, 38400, 57600, 115200}; + + for(int i=0; i<5; i++) + { + canSerial->begin(baud[i]); + canSerial->print("+++"); + delay(100); + + if(cmdOk( (char*)"AT\r\n")) + { + Serial.print("SERIAL BAUD RATE IS: "); + Serial.println(baud[i]); + baudRate(0); // set serial baudrate to 9600 + Serial.println("SET SERIAL BAUD RATE TO: 9600 OK"); + canSerial->begin(9600); + break; + } + } + + if(canRate(CAN_RATE_500)) + { + Serial.println("SET CAN BUS BAUD RATE TO 500Kb/s OK"); + } + else + { + Serial.println("SET CAN BUS BAUD RATE TO 500Kb/s FAIL"); + return 0; + } + + unsigned long mask[4] = {0, 0, 0, 0,}; + unsigned long filt[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}; + + if(setFilt(filt)) + { + Serial.println("FACTORY SETTING FILTS OK"); + } + else + { + Serial.println("FACTORY SETTING FILTS FAIL"); + return 0; + } + + if(setMask(mask)) + { + Serial.println("FACTORY SETTING MASKS OK"); + } + else + { + Serial.println("FACTORY SETTING MASKS FAIL"); + return 0; + } + + return 1; +} + +void Serial_CAN::debugMode() +{ + while(Serial.available()) + { + canSerial->write(Serial.read()); + } + + while(canSerial->available()) + { + Serial.write(canSerial->read()); + } +} + +// END FILE diff --git a/Serial CAN Bus Module Library/Serial_CAN_Module_2.h b/Serial CAN Bus Module Library/Serial_CAN_Module_2.h new file mode 100644 index 0000000..c053ccf --- /dev/null +++ b/Serial CAN Bus Module Library/Serial_CAN_Module_2.h @@ -0,0 +1,57 @@ +#ifndef __SERIAL_CAN_MODULE_H__ +#define __SERIAL_CAN_MODULE_H__ +// ID3 ID2 ID1 ID0 EXT RTR DTA0 DTA1 DTA2 DTA3 DTA4 DTA5 DTA6 DTA7 +#include +#define uchar unsigned char + + +#define CAN_RATE_5 1 +#define CAN_RATE_10 2 +#define CAN_RATE_20 3 +#define CAN_RATE_25 4 +#define CAN_RATE_31_2 5 +#define CAN_RATE_33 6 +#define CAN_RATE_40 7 +#define CAN_RATE_50 8 +#define CAN_RATE_80 9 +#define CAN_RATE_83_3 10 +#define CAN_RATE_95 11 +#define CAN_RATE_100 12 +#define CAN_RATE_125 13 +#define CAN_RATE_200 14 +#define CAN_RATE_250 15 +#define CAN_RATE_500 16 +#define CAN_RATE_666 17 +#define CAN_RATE_1000 18 + +#define SERIAL_RATE_9600 0 +#define SERIAL_RATE_19200 1 +#define SERIAL_RATE_38400 2 +#define SERIAL_RATE_57600 3 +#define SERIAL_RATE_115200 4 + +class Serial_CAN +{ +private: + unsigned char cmdOk(char *cmd); + unsigned char enterSettingMode(); + unsigned char exitSettingMode(); + void clear(); + char str_tmp[100]; +public: + + void begin(int can_tx, int can_rx, unsigned long baud); + unsigned char send(unsigned long id, uchar ext, uchar rtrBit, uchar len, const uchar *buf); + unsigned char recv(unsigned long *id, uchar *buf); + + unsigned char canRate(unsigned char rate); + unsigned char baudRate(unsigned char rate); + + unsigned char setMask(unsigned long *dta); + unsigned char setFilt(unsigned long *dta); + + unsigned char factorySetting(); + void debugMode(); + +}; +#endif \ No newline at end of file diff --git a/recv_basic_test.ino b/recv_basic_test.ino new file mode 100644 index 0000000..29a3b51 --- /dev/null +++ b/recv_basic_test.ino @@ -0,0 +1,56 @@ +// RECV EXAMPLE OF SERIAL CAN MODULE +// unsigned char recv(unsigned long *id, uchar *buf); +// SUPPORT: joney.sui@longan-labs.cc +//First recv() test by Adam P + +#include +#include + +Serial_CAN can; + +#define can_tx 10 //TX of Serial CAN Module connected to D10 +#define can_rx 11 //RX of Serial CAN Module connected to D11 + + +void setup() +{ + Serial.begin(9600); + while(!Serial); + can.begin(can_tx, can_rx, 9600); + + if(can.canRate(CAN_RATE_500)) + { + Serial.println("Set CAN rate OK"); + } + else + { + Serial.println("Set CAN rate FAIL"); + } +} + +unsigned long id = 5; +unsigned char dta[8]; + +// send(unsigned long id, byte ext, byte rtrBit, byte len, const byte *buf); +void loop() +{ + + can.debugMode(); + if(can.recv(&id, dta)) + { + Serial.print("GETTING DATA FROM ID: "); + Serial.println(id); + for(int i=0; i<8; i++) + { + Serial.print("0x"); + Serial.print(dta[i], HEX); + Serial.print('\t'); + } + Serial.println(); + } + else{ + //Serial.print("Didn't work!!!"); + } +} + +// END FILE diff --git a/recv_mask_filt_test_2.ino b/recv_mask_filt_test_2.ino new file mode 100644 index 0000000..17c653a --- /dev/null +++ b/recv_mask_filt_test_2.ino @@ -0,0 +1,75 @@ +// RECV EXAMPLE OF SERIAL CAN MODULE - WITH MASK/FILTERING +// +// SUPPORT: joney.sui@longan-labs.cc +//Second recv() test by Adam P + +#include +#include + +Serial_CAN can; + +#define can_tx 10 //TX of Serial CAN Module connected to D10 +#define can_rx 11 //RX of Serial CAN Module connected to D11 + +unsigned long mask[4] = +{ + 0, 0x0f, // ext, maks 0 + 0, 0x0f, // ext, mask 1 +}; + +unsigned long filt[12] = +{ + 0, 0xff, // ext, filt 0 + 0, 0xff, // ext, filt 1 + 0, 0xff, // ext, filt 2 + 0, 0xff, // ext, filt 3 + 0, 0xff, // ext, filt 4 + 0, 0xff, // ext, filt 5 +}; + +void setup() +{ + Serial.begin(9600); + while(!Serial); + can.begin(can_tx, can_rx, 9600); // tx, rx + + if(can.setFilt(filt)) + { + Serial.println("set filt ok"); + } + else + { + Serial.println("set filt fail"); + } + + if(can.setMask(mask)) + { + Serial.println("set mask ok"); + } + else + { + Serial.println("set mask fail"); + } + +} + +void loop() +{ + unsigned long id = 0; + unsigned char dta[8]; + + if(can.recv(&id, dta)) + { + Serial.print("GET DATA FROM ID: "); + Serial.println(id); + for(int i=0; i<8; i++) + { + Serial.print("0x"); + Serial.print(dta[i], HEX); + Serial.print('\t'); + } + Serial.println(); + } +} + +// END FILE diff --git a/send_basic_test.ino b/send_basic_test.ino new file mode 100644 index 0000000..39368be --- /dev/null +++ b/send_basic_test.ino @@ -0,0 +1,37 @@ +// SEND EXAMPLE OF SERIAL CAN MODULE +// unsigned char send(unsigned long id, uchar ext, uchar rtrBit, uchar len, const uchar *buf); +// SUPPORT: joney.sui@longan-labs.cc +//First send() test by Adam P + +#include +#include + +Serial_CAN can; + +#define can_tx 10 //TX of Serial CAN Module connected to D10 +#define can_rx 11 //RX of Serial CAN Module connected to D11 + + +void setup() +{ + Serial.begin(9600); //Baud Rates: 9600, 19200, 38400, 57600, 74880, 115200 + //9600 works the best, higher rates start to have problems + can.begin(can_tx, can_rx, 9600); + Serial.println("Starting:"); + //can.debugMode(); +} + + +unsigned char dta[8] = {1, 2, 3, 4, 5, 10, 11, 12}; + + +// send(unsigned long id, byte ext, byte rtrBit, byte len, const byte *buf); +void loop() +{ + can.send(0x77, 0, 0, 8, dta); // SEND TO ID:0X77 + // CAN ID is not important for testing, all frames will be recieved + delay(100); + //can.debugMode(); +} + +// END FILE diff --git a/send_mask_filt_test_2.ino b/send_mask_filt_test_2.ino new file mode 100644 index 0000000..7d556e7 --- /dev/null +++ b/send_mask_filt_test_2.ino @@ -0,0 +1,37 @@ +// SEND EXAMPLE OF SERIAL CAN MODULE - WITH MASK/FILTERING +// unsigned char send(unsigned long id, uchar ext, uchar rtrBit, uchar len, const uchar *buf); +// SUPPORT: joney.sui@longan-labs.cc +//Second send() test by Adam P + +#include +#include + +Serial_CAN can; + +#define can_tx 10 //TX of Serial CAN Module connected to D10 +#define can_rx 11 //RX of Serial CAN Module connected to D11 + + +void setup() +{ + Serial.begin(9600); //Baud Rates: 9600, 19200, 38400, 57600, 74880, 115200 + //9600 works the best, higher rates start to have problems + can.begin(can_tx, can_rx, 9600); + Serial.println("Starting:"); + //can.debugMode(); +} + + +unsigned char dta[8] = {1, 2, 3, 4, 5, 10, 11, 12}; + + +// send(unsigned long id, byte ext, byte rtrBit, byte len, const byte *buf); +void loop() +{ + can.send(0x0f, 0, 0, 8, dta); // SEND TO ID:0x0f + // CAN ID is not important for testing, all frames will be recieved + delay(100); + //can.debugMode(); +} + +// END FILE From 5d7cd80a6c97bd406d02ee34588641f0448e98c0 Mon Sep 17 00:00:00 2001 From: pietrea2 Date: Sat, 20 Mar 2021 22:43:25 -0400 Subject: [PATCH 07/35] Removed old folder --- ExampleSensor/ExampleSensor.ino | 11 -------- ExampleSensor/README.md | 29 ---------------------- ExampleSensor/libraries/ExampleLibrary.cpp | 16 ------------ ExampleSensor/libraries/ExampleLibrary.h | 17 ------------- ExampleSensor/libraries/ExampleSensor.cpp | 9 ------- ExampleSensor/libraries/ExampleSensor.h | 10 -------- 6 files changed, 92 deletions(-) delete mode 100644 ExampleSensor/ExampleSensor.ino delete mode 100644 ExampleSensor/README.md delete mode 100644 ExampleSensor/libraries/ExampleLibrary.cpp delete mode 100644 ExampleSensor/libraries/ExampleLibrary.h delete mode 100644 ExampleSensor/libraries/ExampleSensor.cpp delete mode 100644 ExampleSensor/libraries/ExampleSensor.h diff --git a/ExampleSensor/ExampleSensor.ino b/ExampleSensor/ExampleSensor.ino deleted file mode 100644 index 6f90f3a..0000000 --- a/ExampleSensor/ExampleSensor.ino +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include "ExampleSensor.h" - -void setup(){ - init(); -} - -void loop(){ - int x = getValue(); - delay(1000); -} \ No newline at end of file diff --git a/ExampleSensor/README.md b/ExampleSensor/README.md deleted file mode 100644 index f0fa077..0000000 --- a/ExampleSensor/README.md +++ /dev/null @@ -1,29 +0,0 @@ -# Example Sensor - -This is an example `README` for the sensor "Example Sensor". All sensor `README`s should include the following content: - -- ***Read-only*** links to UTHT Google Drive sensor documentation, and/or other references; -- Setup, testing, and expected output documentation (screenshot, pictures, logs/stack traces, etc.); -- A list of dependencies (and links to those); -- Everything else that is listed under [the master `README`](../README.md). - -# Development - -## Dependencies - -- ExampleLibrary -- ... - -## Testing - -### Setup - -... - -### Procedure - -... - -### Expected Output - -... \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleLibrary.cpp b/ExampleSensor/libraries/ExampleLibrary.cpp deleted file mode 100644 index c014881..0000000 --- a/ExampleSensor/libraries/ExampleLibrary.cpp +++ /dev/null @@ -1,16 +0,0 @@ -#include - -// Example library code - -Example::Example(int* address, int defaultvalue) : Example((int*)malloc(sizeof(int)), 0){ - this->address = address; - *address = defaultvalue; -} - -int Example::read(){ - return *(this->address); -} - -void Example::write(int value){ - *(this->address) = value; -} \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleLibrary.h b/ExampleSensor/libraries/ExampleLibrary.h deleted file mode 100644 index 0f9859e..0000000 --- a/ExampleSensor/libraries/ExampleLibrary.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef ExampleLibrary_H -#define ExampleLibrary_H - -#include - -// Example library header - -class Example { - public: - Example(int* address, int defaultvalue) - private: - float read(); - void write(int value); - int* address; -} - -#endif \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleSensor.cpp b/ExampleSensor/libraries/ExampleSensor.cpp deleted file mode 100644 index e6efcfe..0000000 --- a/ExampleSensor/libraries/ExampleSensor.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include - -void init(){ - example = Example(); -} - -int getValue(){ - example.read(); -} \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleSensor.h b/ExampleSensor/libraries/ExampleSensor.h deleted file mode 100644 index 6ee8437..0000000 --- a/ExampleSensor/libraries/ExampleSensor.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef ExampleSensor_H -#define ExampleSensor_H -#include "ExampleLibrary.h" - -Example ex; - -void init(); -int getValue(); - -#endif // !ExampleSensor_h \ No newline at end of file From ec763cad113810bc182c1d232aa3bbaca53add38 Mon Sep 17 00:00:00 2001 From: Urmil Modi Date: Sun, 28 Mar 2021 15:44:11 -0400 Subject: [PATCH 08/35] restructured repo and added readme --- ExampleSensor/ExampleSensor.ino | 11 +++++++ ExampleSensor/README.md | 29 ++++++++++++++++++ ExampleSensor/libraries/ExampleLibrary.cpp | 16 ++++++++++ ExampleSensor/libraries/ExampleLibrary.h | 17 +++++++++++ ExampleSensor/libraries/ExampleSensor.cpp | 9 ++++++ ExampleSensor/libraries/ExampleSensor.h | 10 +++++++ Serial-CAN-Bus/README.md | 30 +++++++++++++++++++ .../libraries}/Serial_CAN_Module_2.cpp | 0 .../libraries}/Serial_CAN_Module_2.h | 0 .../recv_basic_test.ino | 0 .../recv_mask_filt_test_2.ino | 0 .../send_basic_test.ino | 0 .../send_mask_filt_test_2.ino | 0 13 files changed, 122 insertions(+) create mode 100644 ExampleSensor/ExampleSensor.ino create mode 100644 ExampleSensor/README.md create mode 100644 ExampleSensor/libraries/ExampleLibrary.cpp create mode 100644 ExampleSensor/libraries/ExampleLibrary.h create mode 100644 ExampleSensor/libraries/ExampleSensor.cpp create mode 100644 ExampleSensor/libraries/ExampleSensor.h create mode 100644 Serial-CAN-Bus/README.md rename {Serial CAN Bus Module Library => Serial-CAN-Bus/libraries}/Serial_CAN_Module_2.cpp (100%) rename {Serial CAN Bus Module Library => Serial-CAN-Bus/libraries}/Serial_CAN_Module_2.h (100%) rename recv_basic_test.ino => Serial-CAN-Bus/recv_basic_test.ino (100%) rename recv_mask_filt_test_2.ino => Serial-CAN-Bus/recv_mask_filt_test_2.ino (100%) rename send_basic_test.ino => Serial-CAN-Bus/send_basic_test.ino (100%) rename send_mask_filt_test_2.ino => Serial-CAN-Bus/send_mask_filt_test_2.ino (100%) diff --git a/ExampleSensor/ExampleSensor.ino b/ExampleSensor/ExampleSensor.ino new file mode 100644 index 0000000..6f90f3a --- /dev/null +++ b/ExampleSensor/ExampleSensor.ino @@ -0,0 +1,11 @@ +#include +#include "ExampleSensor.h" + +void setup(){ + init(); +} + +void loop(){ + int x = getValue(); + delay(1000); +} \ No newline at end of file diff --git a/ExampleSensor/README.md b/ExampleSensor/README.md new file mode 100644 index 0000000..f0fa077 --- /dev/null +++ b/ExampleSensor/README.md @@ -0,0 +1,29 @@ +# Example Sensor + +This is an example `README` for the sensor "Example Sensor". All sensor `README`s should include the following content: + +- ***Read-only*** links to UTHT Google Drive sensor documentation, and/or other references; +- Setup, testing, and expected output documentation (screenshot, pictures, logs/stack traces, etc.); +- A list of dependencies (and links to those); +- Everything else that is listed under [the master `README`](../README.md). + +# Development + +## Dependencies + +- ExampleLibrary +- ... + +## Testing + +### Setup + +... + +### Procedure + +... + +### Expected Output + +... \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleLibrary.cpp b/ExampleSensor/libraries/ExampleLibrary.cpp new file mode 100644 index 0000000..c014881 --- /dev/null +++ b/ExampleSensor/libraries/ExampleLibrary.cpp @@ -0,0 +1,16 @@ +#include + +// Example library code + +Example::Example(int* address, int defaultvalue) : Example((int*)malloc(sizeof(int)), 0){ + this->address = address; + *address = defaultvalue; +} + +int Example::read(){ + return *(this->address); +} + +void Example::write(int value){ + *(this->address) = value; +} \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleLibrary.h b/ExampleSensor/libraries/ExampleLibrary.h new file mode 100644 index 0000000..0f9859e --- /dev/null +++ b/ExampleSensor/libraries/ExampleLibrary.h @@ -0,0 +1,17 @@ +#ifndef ExampleLibrary_H +#define ExampleLibrary_H + +#include + +// Example library header + +class Example { + public: + Example(int* address, int defaultvalue) + private: + float read(); + void write(int value); + int* address; +} + +#endif \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleSensor.cpp b/ExampleSensor/libraries/ExampleSensor.cpp new file mode 100644 index 0000000..e6efcfe --- /dev/null +++ b/ExampleSensor/libraries/ExampleSensor.cpp @@ -0,0 +1,9 @@ +#include + +void init(){ + example = Example(); +} + +int getValue(){ + example.read(); +} \ No newline at end of file diff --git a/ExampleSensor/libraries/ExampleSensor.h b/ExampleSensor/libraries/ExampleSensor.h new file mode 100644 index 0000000..6ee8437 --- /dev/null +++ b/ExampleSensor/libraries/ExampleSensor.h @@ -0,0 +1,10 @@ +#ifndef ExampleSensor_H +#define ExampleSensor_H +#include "ExampleLibrary.h" + +Example ex; + +void init(); +int getValue(); + +#endif // !ExampleSensor_h \ No newline at end of file diff --git a/Serial-CAN-Bus/README.md b/Serial-CAN-Bus/README.md new file mode 100644 index 0000000..8dba15f --- /dev/null +++ b/Serial-CAN-Bus/README.md @@ -0,0 +1,30 @@ +# Serial CAN Bus Module + +> Documentation for the **Serial CAN Bus Module** can be found [here](https://drive.google.com/drive/folders/1rzmLET68QOWb4At4mAyN4rDsj-VGBLyh?usp=sharing). + + +## Todo + +- [ ] Setup, testing, and expected output documentation (screenshot, pictures, logs/stack traces, etc.); +- [ ] A list of dependencies (and links to those); +- [ ] Everything else that is listed under [the master `README`](../README.md). + +# Development + +## Dependencies + +- ... + +## Testing + +### Setup + +... + +### Procedure + +... + +### Expected Output + +... \ No newline at end of file diff --git a/Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp b/Serial-CAN-Bus/libraries/Serial_CAN_Module_2.cpp similarity index 100% rename from Serial CAN Bus Module Library/Serial_CAN_Module_2.cpp rename to Serial-CAN-Bus/libraries/Serial_CAN_Module_2.cpp diff --git a/Serial CAN Bus Module Library/Serial_CAN_Module_2.h b/Serial-CAN-Bus/libraries/Serial_CAN_Module_2.h similarity index 100% rename from Serial CAN Bus Module Library/Serial_CAN_Module_2.h rename to Serial-CAN-Bus/libraries/Serial_CAN_Module_2.h diff --git a/recv_basic_test.ino b/Serial-CAN-Bus/recv_basic_test.ino similarity index 100% rename from recv_basic_test.ino rename to Serial-CAN-Bus/recv_basic_test.ino diff --git a/recv_mask_filt_test_2.ino b/Serial-CAN-Bus/recv_mask_filt_test_2.ino similarity index 100% rename from recv_mask_filt_test_2.ino rename to Serial-CAN-Bus/recv_mask_filt_test_2.ino diff --git a/send_basic_test.ino b/Serial-CAN-Bus/send_basic_test.ino similarity index 100% rename from send_basic_test.ino rename to Serial-CAN-Bus/send_basic_test.ino diff --git a/send_mask_filt_test_2.ino b/Serial-CAN-Bus/send_mask_filt_test_2.ino similarity index 100% rename from send_mask_filt_test_2.ino rename to Serial-CAN-Bus/send_mask_filt_test_2.ino From 63c7a08f2b77641ae3f85ae1dec52a04927ea5a1 Mon Sep 17 00:00:00 2001 From: Urmil Modi Date: Sun, 28 Mar 2021 15:45:53 -0400 Subject: [PATCH 09/35] corrected readme name --- Serial-CAN-Bus/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Serial-CAN-Bus/README.md b/Serial-CAN-Bus/README.md index 8dba15f..61565f5 100644 --- a/Serial-CAN-Bus/README.md +++ b/Serial-CAN-Bus/README.md @@ -1,6 +1,6 @@ -# Serial CAN Bus Module +# Serial CAN Bus -> Documentation for the **Serial CAN Bus Module** can be found [here](https://drive.google.com/drive/folders/1rzmLET68QOWb4At4mAyN4rDsj-VGBLyh?usp=sharing). +> Documentation for the **Serial CAN Bus** can be found [here](https://drive.google.com/drive/folders/1rzmLET68QOWb4At4mAyN4rDsj-VGBLyh?usp=sharing). ## Todo From 157a71516ef19f3697d5ed08638cb064aff0bfdf Mon Sep 17 00:00:00 2001 From: Jayden Lefebvre Date: Fri, 21 May 2021 13:51:15 -0400 Subject: [PATCH 10/35] Sensor Implementation Template --- Template.ino | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Template.ino diff --git a/Template.ino b/Template.ino new file mode 100644 index 0000000..5aa5fc3 --- /dev/null +++ b/Template.ino @@ -0,0 +1,69 @@ +// Headers for each sensor type +#include "YourSensorClass.h" +//... + +#include "Sensor.h" +#define NUMSENSORS 1 //Or however many +#define BAUDRATE 115200 + +// Objects for each sensor +SensorClass sensor(/*Arguments, arduino enum*/); +//... + +Sensor* sensors[NUMSENSORS] = { + // Entry for each sensor object + &sensor, + //... +}; + +// !#!#!#!--- EVERYTHING AFTER HERE DOES NOT NEED TO BE CHANGED FOR SENSOR IMPLEMENTATION ---!#!#!#! + +void setup(){ + Serial.begin(BAUDRATE); + + bool success = true; + for(int i = 0; i < NUMSENSORS; i++){ + SensorState* state = sensors[i]->begin(); + // Print/send sensor post-setup state data here. For example: + bool _success = (state->error == ERR_NONE); + if(_success){ + Serial.print("Sensor "); + Serial.print(sensors[i]->sensor); + Serial.println(" initialized."); + } else { + Serial.print("Sensor "); + Serial.print(sensors[i]->sensor); + Serial.println(" failed to initialize!"); + } + success &= _success; + } + if(!success){ + Serial.println("POST failed on one or more sensors, freezing..."); + while(1){delay(1000);} + } +} + +void loop(){ + for(int i = 0; i < NUMSENSORS; i++){ + SensorState* state = sensors[i]->update(); + // Print/send sensor post-setup state data here. For example: + bool _success = (state->error == ERR_NONE); + bool _new = (state->debug == DS_NEWREAD); + if(_success && _new){ + Serial.print("Sensor "); + Serial.print(sensors[i]->sensor); + Serial.print(" read success: "); + for(int x = 0; x < state.numdata; x++){ + Serial.print(state->data[x].data); + Serial.print(' '); + Serial.print(state->data[x].units); + if(x < state.numdata-1){Serial.print(", ");} + } + } else { + Serial.print("Sensor "); + Serial.print(sensors[i]->sensor); + Serial.println(" failed to update!"); + // TODO: Recover failed sensor? + } + } +} \ No newline at end of file From 05a75d94ffa2a59292a886a033e76f1d78e85a84 Mon Sep 17 00:00:00 2001 From: Jayden Lefebvre Date: Thu, 27 May 2021 00:44:29 -0400 Subject: [PATCH 11/35] Adafruit Compatibility Fix --- Sensor.cpp | 4 ++-- Sensor.h | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Sensor.cpp b/Sensor.cpp index 455b21d..9c0f9ad 100644 --- a/Sensor.cpp +++ b/Sensor.cpp @@ -4,12 +4,12 @@ /** * Constructor. - * @param sensor - sensor_t - Which sensor is this? + * @param sensor - sensors_t - Which sensor is this? * @param arduino - arduino_t - Which Arduino are we attached to? * @param setup - t_datasetup - How many datasets are there? What are their units? * @param delta - uint16_t - The minimum time (in ms) between sensor read attempts. **/ -Sensor::Sensor(sensor_t sensor, arduino_t arduino, t_datasetup setup, uint16_t delta){ +Sensor::Sensor(sensors_t sensor, arduino_t arduino, t_datasetup setup, uint16_t delta){ // Set up cache this->sensor = sensor; this->arduino = arduino; diff --git a/Sensor.h b/Sensor.h index b46809b..4885e95 100644 --- a/Sensor.h +++ b/Sensor.h @@ -5,7 +5,7 @@ #include "stdlib.h" // Sensor identifiers -typedef enum sensor_t { +typedef enum sensors_t { S_OPT2002, S_VN200, S_PROSENSERTD, @@ -15,7 +15,7 @@ typedef enum sensor_t { S_SPTD25_20_1000H, S_SPTD25_20_0200A, S_CANBUS -} sensor_t; +} sensors_t; // Arduino identifiers typedef enum arduino_t { @@ -72,7 +72,7 @@ typedef struct SensorState { // Wrapper for all sensor stuff - this is what gets passed to the main computer typedef struct SensorData { - sensor_t sensor; + sensors_t sensor; arduino_t arduino; SensorState state; } SensorData; @@ -96,11 +96,11 @@ class Sensor{ SensorState state; //Stores all the latest state data for this sensor. public: arduino_t arduino; - sensor_t sensor; + sensors_t sensor; // Wrappers return pointer to updated state SensorState* update(); //Calls read(), manages delta, and wraps all t_datum SensorState* begin(); //Sets state in accordance with init() - Sensor(sensor_t sensor, arduino_t arduino, t_datasetup setup, uint16_t delta); + Sensor(sensors_t sensor, arduino_t arduino, t_datasetup setup, uint16_t delta); }; #endif \ No newline at end of file From c675e2d9ad526e1dac0c5d923d9bd9d1dfaf2c61 Mon Sep 17 00:00:00 2001 From: Jayden Lefebvre Date: Thu, 15 Jul 2021 02:30:26 -0400 Subject: [PATCH 12/35] Added Inverter Message Reference --- Serial-CAN-Bus/README.md | 58 +++++++++++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/Serial-CAN-Bus/README.md b/Serial-CAN-Bus/README.md index 61565f5..786c870 100644 --- a/Serial-CAN-Bus/README.md +++ b/Serial-CAN-Bus/README.md @@ -8,23 +8,61 @@ - [ ] Setup, testing, and expected output documentation (screenshot, pictures, logs/stack traces, etc.); - [ ] A list of dependencies (and links to those); - [ ] Everything else that is listed under [the master `README`](../README.md). +
+
-# Development +# PM100 Inverter/Controller CAN Bus Message Reference -## Dependencies +> Prepared by Adam Pietrewicz, adapted to Markdown by Jayden Lefebvre (@JLefebvre55) +> +> Last Updated - July 14th 2021 -- ... +*** -## Testing +## Broadcast Messages -### Setup +> CAN ID: `0x0A0-0x0AF`. See doc for example implementation (pgs.) and per-byte breakdown. -... +| Address | Frequency | Content | CAN Active Messages (Low Word) | +|-----------|---------------|---------------------------------------------------------|----------------------------------| +| `0x0A0` | Slow/10Hz | Temperatures #1 | `0x0001` | +| `0x0A1` | Slow/10Hz | Temperatures #2 | `0x0002` | +| `0x0A2` | Slow/10Hz | Temperatures #3 | `0x0004` | +| `0x0A3` | Fast/100Hz | Analog Inputs Voltages | `0x0008` | +| `0x0A4` | Fast/100Hz | Digital Input Status | `0x0010` | +| `0x0A5` | Fast/100Hz | Motor Position Information | `0x0020` | +| `0x0A6` | Fast/100Hz | Current Information | `0x0040` | +| `0x0A7` | Fast/100Hz | Voltage Information | `0x0080` | +| `0x0A8` | Fast/100Hz | Flux Information | `0x0100` | +| `0x0A9` | Slow/10Hz | Internal Voltages | `0x0200` | +| `0x0AA` | Fast/100Hz | Internal States | `0x0400` | +| `0x0AB` | Fast/100Hz | Fault Codes | `0x0800` | +| `0x0AC` | Fast/100Hz | Torque & Timer Information | `0x1000` | +| `0x0AD` | Fast/100Hz | Modulation Index & Flux Weakening
Output Information | `0x2000` | +| `0x0AE` | Slow/10Hz | Firmware Information | `0x4000` | +| `0x0AF` | 100Hz (fixed) | Diagnostic Data | `0x8000` | -### Procedure +*** +## Command Messages -... +> CAN ID: `0x0C0`. See doc for example implementation. -### Expected Output +| Byte(s) | Name | Format | Description | +|----------|------------------------|------------------|------------------------------------------------------------------------------------------------------------------------| +| 0, 1 | Torque Command | Torque | Torque command used when in torque mode. | +| 2, 3 | Speed Command | Angular Velocity | Speed command used when in speed mode. | +| 4 | Direction Command | Boolean | `0` - "Reverse", `1` - "Forward" (See Section 2.3.2.2) | +| 5: Bit 0 | Inverter Enable | Boolean | `0` - Inverter Off, `1` - Inverter On | +| 5: Bit 1 | Inverter Discharge | Boolean | `0` - Disable Discharge, `1` - Enable Discharge | +| 5, 2 | Speed Mode Enable | Boolean | `0` - Do not override mode, `1` - Overrides from torque
mode to speed mode ONLY (See "Using Speed Mode" in manual) | +| 6, 7 | Commanded Torque Limit | Torque | Motor and Regen Torque limits. If set to `0`, default
torque limit from EEPROM is used. | -... \ No newline at end of file +*** +## Parameter Messages + +> Sets EEPROM parameters. See doc for example implementation. + +**CAN ID `0x0C1`** - Used to send message *to* controller. + +**CAN ID `0x0C2`** - Response *from* controller. +*** \ No newline at end of file From e24bb9c8a1c1b15784dacbdfefe82cdf2b48fd8b Mon Sep 17 00:00:00 2001 From: Jayden Lefebvre Date: Thu, 15 Jul 2021 13:56:33 -0400 Subject: [PATCH 13/35] Add Page Numbers for Doc Reference --- Serial-CAN-Bus/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Serial-CAN-Bus/README.md b/Serial-CAN-Bus/README.md index 786c870..eab40f8 100644 --- a/Serial-CAN-Bus/README.md +++ b/Serial-CAN-Bus/README.md @@ -21,7 +21,7 @@ ## Broadcast Messages -> CAN ID: `0x0A0-0x0AF`. See doc for example implementation (pgs.) and per-byte breakdown. +> CAN ID: `0x0A0-0x0AF`. See doc for example implementation (pgs. 4-5) and per-byte breakdown (pgs. 5-11). | Address | Frequency | Content | CAN Active Messages (Low Word) | |-----------|---------------|---------------------------------------------------------|----------------------------------| @@ -45,7 +45,7 @@ *** ## Command Messages -> CAN ID: `0x0C0`. See doc for example implementation. +> CAN ID: `0x0C0`. See doc for example implementation (pgs. 2-3). | Byte(s) | Name | Format | Description | |----------|------------------------|------------------|------------------------------------------------------------------------------------------------------------------------| @@ -60,7 +60,7 @@ *** ## Parameter Messages -> Sets EEPROM parameters. See doc for example implementation. +> Sets EEPROM parameters. **CAN ID `0x0C1`** - Used to send message *to* controller. From f6019b0e1e592f06304e28de162650125cf54287 Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Sat, 31 Jul 2021 13:54:52 -0400 Subject: [PATCH 14/35] Add files via upload First version of send_command_message() function for Arduino to Inverter communication. --- Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino | 93 ++++++++++++++++++++++++++++ Serial-CAN-Bus/PM100_CAN_BUS.h.ino | 44 +++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino create mode 100644 Serial-CAN-Bus/PM100_CAN_BUS.h.ino diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino b/Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino new file mode 100644 index 0000000..05435c6 --- /dev/null +++ b/Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino @@ -0,0 +1,93 @@ +#include +#include +#include +#include + + +command_message::send_command_message( message_type command_message, + float torque_val, //Value in N.m + float speed_val, //RPM + inverter_direction direction_command, + inverter_enable enable_command ){ + + int inverter_torque_val; + int data_high_byte; + int data_low_byte; + int direction_byte; + int enable_byte; + + unsigned int can_data_bytes[8]; + + + if( command_message == COMMAND_TOURQUE_M ){ + + //calculate the int values for byte 0 & byte 1 (torque data) + inverter_torque_val = int(torque_val * 10); + data_low_byte = inverter_torque_val % 256; + data_high_byte = inverter_torque_val / 256; + + if( direction_command == REVERSE ){ + direction_byte = 0; + } + else if( direction_command == FORWARD ){ + direction_byte = 1; + } + else{ + //WE GOT A PROBLEM + } + + + if( enable_command == ENABLE ){ + enable_byte = 1; + } + else if( enable_command == DISABLE ){ + enable_byte = 0; + } + else{ + //WE GOT A PROBLEM + } + + + //Finally, format the CAN message data bytes + can_data_bytes[8] = { data_low_byte, data_high_byte, 0, 0, direction_byte, enable_byte, 0, 0 }; + + } + + + + + + + else if( command_message == COMMAND_SPEED_M ){ + + data_low_byte = speed_val % 256; + data_high_byte = speed_val / 256; + + if( direction_command == REVERSE ){ + direction_byte = 0; + } + else if( direction_command == FORWARD ){ + direction_byte = 1; + } + else{ + //WE GOT A PROBLEM + } + + + if( enable_command == ENABLE ){ + enable_byte = 1; + } + else if( enable_command == DISABLE ){ + enable_byte = 0; + } + else{ + //WE GOT A PROBLEM + } + + + //Finally, format the CAN message data bytes + can_data_bytes[8] = { 0, 0, data_low_byte, data_high_byte, direction_byte, enable_byte, 0, 0 }; + + } + +} diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.h.ino b/Serial-CAN-Bus/PM100_CAN_BUS.h.ino new file mode 100644 index 0000000..cc6a549 --- /dev/null +++ b/Serial-CAN-Bus/PM100_CAN_BUS.h.ino @@ -0,0 +1,44 @@ +#ifndef PM100_CAN_BUS_H +#define PM100_CAN_BUS_H + +//types of CAN messages +typedef enum message_type { + BROADCAST_M, + COMMAND_TOURQUE_M + COMMAND_SPEED_M +} message_type; + +//command message variables for inverter +typedef enum inverter_direction { + REVERSE, //clock-wise + FORWARD //counter-clock-wise +} inverter_direction; + +typedef enum inverter_enable { + ENABLE, + DISABLE +} inverter_enable; + + + +class command_message{ + + public: + + message_type command_message; + + int send_command_message( message_type command_message, + float torque_val, //Value in N.m + float speed_val, //RPM + inverter_direction direction_command, + inverter_enable enable_command ); + + + + + + + + + +} From d9f41501e0aed7c8633c9d826eff25865531aa94 Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Mon, 9 Aug 2021 00:25:07 -0400 Subject: [PATCH 15/35] Update and rename PM100_CAN_BUS.cpp.ino to PM100_CAN_BUS.cpp Fixed compilation problems. Added main() for testing send_command_message() --- Serial-CAN-Bus/PM100_CAN_BUS.cpp | 154 +++++++++++++++++++++++++++ Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino | 93 ---------------- 2 files changed, 154 insertions(+), 93 deletions(-) create mode 100644 Serial-CAN-Bus/PM100_CAN_BUS.cpp delete mode 100644 Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.cpp b/Serial-CAN-Bus/PM100_CAN_BUS.cpp new file mode 100644 index 0000000..3e40df6 --- /dev/null +++ b/Serial-CAN-Bus/PM100_CAN_BUS.cpp @@ -0,0 +1,154 @@ +//#include +//#include +//#include +#include +#include +//#include + +using namespace std; + + +int* command_message::send_command_message( message_type command_message, + float torque_val, //Value in N.m + float speed_val, //RPM + inverter_direction direction_command, + inverter_enable enable_command ){ + + int inverter_torque_val; + int data_high_byte; + int data_low_byte; + int direction_byte; + int enable_byte; + + //int can_data_bytes[8]; + + + if( command_message == COMMAND_TOURQUE_M ){ + + //calculate the int values for byte 0 & byte 1 (torque data) + inverter_torque_val = int(torque_val * 10); + data_low_byte = inverter_torque_val % 256; + data_high_byte = inverter_torque_val / 256; + + if( direction_command == REVERSE ){ + direction_byte = 0; + } + else if( direction_command == FORWARD ){ + direction_byte = 1; + } + else{ + //WE GOT A PROBLEM, should not be here + cout << "Problem!" << endl; + } + + + if( enable_command == ENABLE ){ + enable_byte = 1; + } + else if( enable_command == DISABLE ){ + enable_byte = 0; + } + else{ + //WE GOT A PROBLEM + cout << "Problem, no enable command!" << endl; + } + + + //Finally, format the CAN message data bytes + static int can_data_bytes[8] = { data_low_byte, data_high_byte, 0, 0, direction_byte, enable_byte, 0, 0 }; + + /* + cout << "Printintg CAN Message inside the function here:..." << endl; + for ( int i = 0; i < 8; i++ ) { + + cout << can_data_bytes[i] << endl; + + } + */ + + return can_data_bytes; + + } + + + + /* + + + else if( command_message == COMMAND_SPEED_M ){ + + data_low_byte = int(speed_val) % 256; + data_high_byte = speed_val / 256; + + if( direction_command == REVERSE ){ + direction_byte = 0; + } + else if( direction_command == FORWARD ){ + direction_byte = 1; + } + else{ + //WE GOT A PROBLEM + } + + + if( enable_command == ENABLE ){ + enable_byte = 1; + } + else if( enable_command == DISABLE ){ + enable_byte = 0; + } + else{ + //WE GOT A PROBLEM + } + + + //Finally, format the CAN message data bytes + int can_data_bytes[8] = { 0, 0, data_low_byte, data_high_byte, direction_byte, enable_byte, 0, 0 }; + + cout << "Printintg CAN Message inside the function here WRONG ONE:..." << endl; + for ( int i = 0; i < 8; i++ ) { + + cout << can_data_bytes[i] << endl; + + } + + + + return can_data_bytes; + + } + + */ + +} + + + +int main(){ + + float torque_val; + + cout << "Hello" << endl; + cout << "Please enter a Torque Value:"; + cin >> torque_val; + + cout << torque_val; + + command_message test_message; //class + message_type test_type = COMMAND_TOURQUE_M; //specify command type + inverter_direction test_direction = FORWARD; //inverter direction + inverter_enable test_enable = ENABLE; //inverter enable + + //test command message + //pass all the necessary parameters needed to make CAN Message + int *CAM_mssg = test_message.send_command_message( test_type, torque_val, 0, test_direction, test_enable ); + + cout << "CAN Message generated: " << endl; + for ( int i = 0; i < 8; i++ ) { + cout << CAM_mssg[i] << endl; + } + + + + +} diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino b/Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino deleted file mode 100644 index 05435c6..0000000 --- a/Serial-CAN-Bus/PM100_CAN_BUS.cpp.ino +++ /dev/null @@ -1,93 +0,0 @@ -#include -#include -#include -#include - - -command_message::send_command_message( message_type command_message, - float torque_val, //Value in N.m - float speed_val, //RPM - inverter_direction direction_command, - inverter_enable enable_command ){ - - int inverter_torque_val; - int data_high_byte; - int data_low_byte; - int direction_byte; - int enable_byte; - - unsigned int can_data_bytes[8]; - - - if( command_message == COMMAND_TOURQUE_M ){ - - //calculate the int values for byte 0 & byte 1 (torque data) - inverter_torque_val = int(torque_val * 10); - data_low_byte = inverter_torque_val % 256; - data_high_byte = inverter_torque_val / 256; - - if( direction_command == REVERSE ){ - direction_byte = 0; - } - else if( direction_command == FORWARD ){ - direction_byte = 1; - } - else{ - //WE GOT A PROBLEM - } - - - if( enable_command == ENABLE ){ - enable_byte = 1; - } - else if( enable_command == DISABLE ){ - enable_byte = 0; - } - else{ - //WE GOT A PROBLEM - } - - - //Finally, format the CAN message data bytes - can_data_bytes[8] = { data_low_byte, data_high_byte, 0, 0, direction_byte, enable_byte, 0, 0 }; - - } - - - - - - - else if( command_message == COMMAND_SPEED_M ){ - - data_low_byte = speed_val % 256; - data_high_byte = speed_val / 256; - - if( direction_command == REVERSE ){ - direction_byte = 0; - } - else if( direction_command == FORWARD ){ - direction_byte = 1; - } - else{ - //WE GOT A PROBLEM - } - - - if( enable_command == ENABLE ){ - enable_byte = 1; - } - else if( enable_command == DISABLE ){ - enable_byte = 0; - } - else{ - //WE GOT A PROBLEM - } - - - //Finally, format the CAN message data bytes - can_data_bytes[8] = { 0, 0, data_low_byte, data_high_byte, direction_byte, enable_byte, 0, 0 }; - - } - -} From 371c29b682a0bff644af2f2f2729f81e0ef250cc Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Mon, 9 Aug 2021 00:27:39 -0400 Subject: [PATCH 16/35] Fixed compilation errors --- Serial-CAN-Bus/{PM100_CAN_BUS.h.ino => PM100_CAN_BUS.h} | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) rename Serial-CAN-Bus/{PM100_CAN_BUS.h.ino => PM100_CAN_BUS.h} (91%) diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.h.ino b/Serial-CAN-Bus/PM100_CAN_BUS.h similarity index 91% rename from Serial-CAN-Bus/PM100_CAN_BUS.h.ino rename to Serial-CAN-Bus/PM100_CAN_BUS.h index cc6a549..5942132 100644 --- a/Serial-CAN-Bus/PM100_CAN_BUS.h.ino +++ b/Serial-CAN-Bus/PM100_CAN_BUS.h @@ -4,7 +4,7 @@ //types of CAN messages typedef enum message_type { BROADCAST_M, - COMMAND_TOURQUE_M + COMMAND_TOURQUE_M, COMMAND_SPEED_M } message_type; @@ -42,3 +42,5 @@ class command_message{ } + +#endif From dadb85bafbb5b6a8c5ab4bbc853b542fa024d1c2 Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Mon, 9 Aug 2021 12:26:51 -0400 Subject: [PATCH 17/35] Added Speed Command. Cleaned up code, formatted main menu --- Serial-CAN-Bus/PM100_CAN_BUS.cpp | 235 ++++++++++++++++++------------- 1 file changed, 134 insertions(+), 101 deletions(-) diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.cpp b/Serial-CAN-Bus/PM100_CAN_BUS.cpp index 3e40df6..a85cfcc 100644 --- a/Serial-CAN-Bus/PM100_CAN_BUS.cpp +++ b/Serial-CAN-Bus/PM100_CAN_BUS.cpp @@ -13,112 +13,97 @@ int* command_message::send_command_message( message_type command_message, float speed_val, //RPM inverter_direction direction_command, inverter_enable enable_command ){ - + + //All necessary variables for CAN Message (data bytes) int inverter_torque_val; int data_high_byte; int data_low_byte; int direction_byte; int enable_byte; - //int can_data_bytes[8]; - - + //There are 2 types of CAN Command Messages to generate: + //Torque Message code below if( command_message == COMMAND_TOURQUE_M ){ - - //calculate the int values for byte 0 & byte 1 (torque data) - inverter_torque_val = int(torque_val * 10); - data_low_byte = inverter_torque_val % 256; - data_high_byte = inverter_torque_val / 256; - - if( direction_command == REVERSE ){ - direction_byte = 0; - } - else if( direction_command == FORWARD ){ - direction_byte = 1; - } - else{ - //WE GOT A PROBLEM, should not be here - cout << "Problem!" << endl; - } - - - if( enable_command == ENABLE ){ - enable_byte = 1; - } - else if( enable_command == DISABLE ){ - enable_byte = 0; - } - else{ - //WE GOT A PROBLEM - cout << "Problem, no enable command!" << endl; - } - - - //Finally, format the CAN message data bytes - static int can_data_bytes[8] = { data_low_byte, data_high_byte, 0, 0, direction_byte, enable_byte, 0, 0 }; - - /* - cout << "Printintg CAN Message inside the function here:..." << endl; - for ( int i = 0; i < 8; i++ ) { + + //Calculate the int values for byte 0 & byte 1 (torque data) + //PM100 requires (Torque Val * 10) to be sent through CAN + inverter_torque_val = int(torque_val * 10); + data_low_byte = inverter_torque_val % 256; + data_high_byte = inverter_torque_val / 256; + + //Set direction command byte accordingly + if( direction_command == REVERSE ){ direction_byte = 0; } + else if( direction_command == FORWARD ){ direction_byte = 1; } + else{ + //SHOULD NOT BE HERE, raise ERROR + cout << "--ERROR-- Un-identified Inverter Direction Command" << endl; + } + + //Set inverter enable byte accordingly + if( enable_command == ENABLE ){ enable_byte = 1; } + else if( enable_command == DISABLE ){ enable_byte = 0; } + else{ + //SHOULD NOT BE HERE, raise ERROR + cout << "--ERROR-- Un-identified Inverter Enable Command" << endl; + } - cout << can_data_bytes[i] << endl; + + //Finally, format the CAN message data bytes + //Represented as int array + static int can_data_bytes[8] = { data_low_byte, data_high_byte, 0, 0, direction_byte, enable_byte, 0, 0 }; - } - */ - - return can_data_bytes; - + /* DEBUG---PRINT OUT CAN DATA BYTES---------------------------------- + cout << "Printintg CAN Message inside the function here:..." << endl; + for ( int i = 0; i < 8; i++ ) { + cout << can_data_bytes[i] << endl; + }------------------------------------------------------------------- + */ + + return can_data_bytes; } - /* + else if( command_message == COMMAND_SPEED_M ){ - data_low_byte = int(speed_val) % 256; - data_high_byte = speed_val / 256; - - if( direction_command == REVERSE ){ - direction_byte = 0; - } - else if( direction_command == FORWARD ){ - direction_byte = 1; - } - else{ - //WE GOT A PROBLEM - } - - - if( enable_command == ENABLE ){ - enable_byte = 1; - } - else if( enable_command == DISABLE ){ - enable_byte = 0; - } - else{ - //WE GOT A PROBLEM - } - - - //Finally, format the CAN message data bytes - int can_data_bytes[8] = { 0, 0, data_low_byte, data_high_byte, direction_byte, enable_byte, 0, 0 }; - - cout << "Printintg CAN Message inside the function here WRONG ONE:..." << endl; - for ( int i = 0; i < 8; i++ ) { - - cout << can_data_bytes[i] << endl; - - } - - + + data_low_byte = int(speed_val) % 256; + data_high_byte = speed_val / 256; + + + if( direction_command == REVERSE ){ direction_byte = 0; } + else if( direction_command == FORWARD ){ direction_byte = 1; } + else{ + //SHOULD NOT BE HERE, raise ERROR + cout << "--ERROR-- Un-identified Inverter Direction Command" << endl; + } + + if( enable_command == ENABLE ){ enable_byte = 1; } + else if( enable_command == DISABLE ){ enable_byte = 0; } + else{ + //SHOULD NOT BE HERE, raise ERROR + cout << "--ERROR-- Un-identified Inverter Enable Command" << endl; + } + + + //Finally, format the CAN message data bytes + static int can_data_bytes[8] = { 0, 0, data_low_byte, data_high_byte, direction_byte, enable_byte, 0, 0 }; - return can_data_bytes; + /* DEBUG---PRINT OUT CAN DATA BYTES---------------------------------- + cout << "Printintg CAN Message inside the function here:..." << endl; + for ( int i = 0; i < 8; i++ ) { + cout << can_data_bytes[i] << endl; + }------------------------------------------------------------------- + */ + + return can_data_bytes; } - */ + } @@ -126,29 +111,77 @@ int* command_message::send_command_message( message_type command_message, int main(){ - float torque_val; + char speed_or_torque; + char inv_direction; + float torque_val = 0; + float speed_val = 0; - cout << "Hello" << endl; - cout << "Please enter a Torque Value:"; - cin >> torque_val; + //These variables are all custom made + command_message test_message; //message class + message_type test_type; + inverter_direction test_direction; + inverter_enable test_enable = ENABLE; //inverter enable - cout << torque_val; - command_message test_message; //class - message_type test_type = COMMAND_TOURQUE_M; //specify command type - inverter_direction test_direction = FORWARD; //inverter direction - inverter_enable test_enable = ENABLE; //inverter enable + cout << "-----------------------------------------------------------------------------" << endl; + cout << "| PM100 CAN Bus Message Generator (TESTING) |" << endl; + cout << "| |" << endl; + cout << "| |" << endl; + cout << "| |" << endl; + cout << "-----------------------------------------------------------------------------" << endl; + cout << "\nWelcome :) \n" << endl; + cout << "Do you want to make a Speed or Torque Command Message?" << endl; + cout << " _______________________________" << endl; + cout << "| [s] for Speed, [t] for Torque |" << endl; + cout << "|_______________________________|" << endl; + cout << ">"; + cin >> speed_or_torque; - //test command message - //pass all the necessary parameters needed to make CAN Message - int *CAM_mssg = test_message.send_command_message( test_type, torque_val, 0, test_direction, test_enable ); + if( speed_or_torque == 's' || speed_or_torque == 'S' ){ + + test_type = COMMAND_SPEED_M; + cout << "\nPlease enter a Speed Value: (RPM)" << endl; + cout << ">"; + cin >> speed_val; + } + else if( speed_or_torque == 't' || speed_or_torque == 'T' ){ + + test_type = COMMAND_TOURQUE_M; + cout << "\nPlease enter a Torque Value: (N*m)" << endl; + cout << ">"; + cin >> torque_val; + } - cout << "CAN Message generated: " << endl; - for ( int i = 0; i < 8; i++ ) { - cout << CAM_mssg[i] << endl; - } + cout << "\nNow, specify the Inverter's Direction:" << endl; + cout << " ____________________________________________" << endl; + cout << "| [f] for FORWARD (default), [r] for REVERSE |" << endl; + cout << "|____________________________________________|" << endl; + cout << ">"; + cin >> inv_direction; + + if( inv_direction == 'f' || inv_direction == 'F' ){ test_direction = FORWARD; } + else if( inv_direction == 'r' || inv_direction == 'R' ){ test_direction = REVERSE; } + + //test command message + //pass all the necessary parameters needed to make CAN Message + int *CAM_mssg = test_message.send_command_message( test_type, torque_val, speed_val, test_direction, test_enable ); + + //Printing out CAN Message (data bytes) + cout << "\n _______________________________________" << endl; + cout << "| CAN Message generated: |" << endl; + cout << "| { "; + for ( int i = 0; i < 8; i++ ) { + cout << CAM_mssg[i]; + if( i != 7 ){ cout << ", "; } + } + cout << " }" << endl; + cout << "| |" << endl; + cout << "|_______________________________________|" << endl; + + } + From 91f0175c05f3b8806da512dbcf351985da1140ba Mon Sep 17 00:00:00 2001 From: Angus Wu Date: Sat, 14 Aug 2021 02:18:49 -0400 Subject: [PATCH 18/35] Broadcast Message Class Functions that print out the vsm and inverter state according to broadcasted message --- Serial-CAN-Bus/BROADCAST_MESSAGE.cpp | 87 ++++++++++++++++++++++++++++ Serial-CAN-Bus/BROADCAST_MESSAGE.h | 41 +++++++++++++ 2 files changed, 128 insertions(+) create mode 100644 Serial-CAN-Bus/BROADCAST_MESSAGE.cpp create mode 100644 Serial-CAN-Bus/BROADCAST_MESSAGE.h diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp new file mode 100644 index 0000000..ba63700 --- /dev/null +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp @@ -0,0 +1,87 @@ +#include +#include "BROADCAST_MESSAGE.h" + +using namesapce std; + +// fyi unsigned char message_arr[9] = {CAN ID, data byte 1, data byte 2, ...} + +void print_vsm_state(unsigned char message_arr[9]) +{ + if (message_arr[0] != 0xAA) + { + cout << "Message CAN ID is not 0xAA" << endl; + return; + } + + switch (message_arr[2]) // message_arr[1] should be 0 + { + case 0: + cout << "VSM State: VSM Start State"; + break; + case 1: + cout << "VSM State: Pre-charge Init State"; + break; + case 2: + cout << "VSM State: Pre-charge Active State"; + break; + case 3: + cout << "VSM State: Pre-charge Complete State"; + break; + case 4: + cout << "VSM State: VSM Wait State"; + break; + case 5: + cout << "VSM State: VSM Ready State"; + break; + case 6: + cout << "VSM State: Motor Running State"; + break; + case 7: + cout << "VSM State: Blink Fault Code State"; + break; + case 14: + cout << "VSM State: Shutdown in Process"; + break; + case 15: + cout << "VSM State: Recycle Power State"; + break; + default: + cout << "Invalid VSM State"; + } +} + +void print_inverter_state(unsigned char message_arr[9]) +{ + if (message_arr[0] != 0xAA) + { + cout << "Message CAN ID is not 0xAA" << endl; + return; + } + + switch (message_arr[3]) + { + case 0: + cout << "Inverter State: Power on State"; + break; + case 1: + cout << "Inverter State: Stop State"; + break; + case 2: + cout << "Inverter State: Open Loop State"; + break; + case 3: + cout << "Inverter State: Closed Loop State"; + break; + case 4: + cout << "Inverter State: Wait State"; + break; + case 8: + cout << "Inverter State: Idle Run State"; + break; + case 9: + cout << "Inverter State: Idle Stop State"; + break; + default: + cout << "Invalid Inverter State"; + } +} \ No newline at end of file diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.h b/Serial-CAN-Bus/BROADCAST_MESSAGE.h new file mode 100644 index 0000000..2deee04 --- /dev/null +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.h @@ -0,0 +1,41 @@ +#ifndef BROADCAST_MESSAGE_H +#define BROADCAST_MESSAGE_H + +#include "PM100_CAN_BUS.h" + +// Reference 0x0AA - Internal States, Byte #0,1 +typedef enum vsm_state +{ + VSM_START, + PRE_CHARGE_INIT, + PRE_CHARGE_ACTIVE, + PRE_CHARGE_COMPLETE, + VSM_WAIT, + VSM_READY, + MOTOR_RUNNING, + BLINK_FAULT_CODE, + SHUTDOWN_IN_PROGRESS = 14, + RECYCLE_POWER +} vsm_state; + +// Reference 0x0AA - Internal States, Byte #2 +typedef enum inverter_state +{ + POWER_ON, + STOP, + OPEN_LOOP, + CLOSED_LOOP, + WAIT, + IDLE_RUN = 8, + IDLE_STOP +} inverter_state; + +class broadcast_message +{ +public: + message_type broadcast_message; + void print_vsm_state(int message_arr[9]); + void print_inverter_state(int message_arr[9]); +} + +#endif \ No newline at end of file From 3c67435126921a7e57653a95d00563ce21c279eb Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Sat, 14 Aug 2021 10:56:14 -0400 Subject: [PATCH 19/35] Renamed function to create_command_message --- Serial-CAN-Bus/PM100_CAN_BUS.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.h b/Serial-CAN-Bus/PM100_CAN_BUS.h index 5942132..a3c1e25 100644 --- a/Serial-CAN-Bus/PM100_CAN_BUS.h +++ b/Serial-CAN-Bus/PM100_CAN_BUS.h @@ -2,19 +2,19 @@ #define PM100_CAN_BUS_H //types of CAN messages -typedef enum message_type { +typedef enum m_type { BROADCAST_M, COMMAND_TOURQUE_M, COMMAND_SPEED_M } message_type; //command message variables for inverter -typedef enum inverter_direction { +typedef enum i_direction { REVERSE, //clock-wise FORWARD //counter-clock-wise } inverter_direction; -typedef enum inverter_enable { +typedef enum i_enable { ENABLE, DISABLE } inverter_enable; @@ -27,11 +27,11 @@ class command_message{ message_type command_message; - int send_command_message( message_type command_message, - float torque_val, //Value in N.m - float speed_val, //RPM - inverter_direction direction_command, - inverter_enable enable_command ); + int* create_command_message( message_type command_message, + float torque_val, //Value in N.m + float speed_val, //RPM + inverter_direction direction_command, + inverter_enable enable_command ); From c6793f41035d827edcb39f3831cdca5adc52bb4e Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Sat, 14 Aug 2021 11:03:57 -0400 Subject: [PATCH 20/35] Added negative torque option/calculation --- Serial-CAN-Bus/PM100_CAN_BUS.cpp | 44 ++++++++++++++++++++++++++------ 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.cpp b/Serial-CAN-Bus/PM100_CAN_BUS.cpp index a85cfcc..f9bb2e2 100644 --- a/Serial-CAN-Bus/PM100_CAN_BUS.cpp +++ b/Serial-CAN-Bus/PM100_CAN_BUS.cpp @@ -4,15 +4,17 @@ #include #include //#include +#include using namespace std; -int* command_message::send_command_message( message_type command_message, - float torque_val, //Value in N.m - float speed_val, //RPM - inverter_direction direction_command, - inverter_enable enable_command ){ +//given all inverter parameters, this creates an int array of the CAN message data bytes +int* command_message::create_command_message ( message_type command_message, + float torque_val, //Value in N.m + float speed_val, //RPM + inverter_direction direction_command, + inverter_enable enable_command ){ //All necessary variables for CAN Message (data bytes) int inverter_torque_val; @@ -27,9 +29,17 @@ int* command_message::send_command_message( message_type command_message, //Calculate the int values for byte 0 & byte 1 (torque data) //PM100 requires (Torque Val * 10) to be sent through CAN - inverter_torque_val = int(torque_val * 10); - data_low_byte = inverter_torque_val % 256; - data_high_byte = inverter_torque_val / 256; + if( torque_val > 0 ){ + inverter_torque_val = int(torque_val * 10); + data_low_byte = inverter_torque_val % 256; + data_high_byte = inverter_torque_val / 256; + } + else if( torque_val < 0 ){ + inverter_torque_val = int(torque_val * 10); + data_low_byte = ( inverter_torque_val & 255 ); + data_high_byte = ( inverter_torque_val & 65280 ) >> 8; + } + //Set direction command byte accordingly if( direction_command == REVERSE ){ direction_byte = 0; } @@ -123,6 +133,24 @@ int main(){ inverter_enable test_enable = ENABLE; //inverter enable + //BITWISE TESTING (ADAM) + /* + int test_int = 100; + int bitwise_not = ~test_int + 1; + + cout << "test int: " << test_int << endl; + cout << "bitwise NOT: " << bitwise_not << endl; + + cout << "binary of test int: " << bitset<16>(test_int) << endl; + cout << "binary of bitwise NOT: " << bitset<16>(bitwise_not) << endl; + + int low_byte = ( bitwise_not & 255 ); + int high_byte = ( bitwise_not & 65280 ) >> 8; + cout << "low byte: " << low_byte << endl; + cout << "high byte: " << high_byte << endl; + */ + + cout << "-----------------------------------------------------------------------------" << endl; cout << "| PM100 CAN Bus Message Generator (TESTING) |" << endl; cout << "| |" << endl; From 7e8a9133f427621c425d6c3f88b6bb30357ccd7c Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Sat, 14 Aug 2021 11:44:12 -0400 Subject: [PATCH 21/35] Visual map of current state of code --- Serial-CAN-Bus/Code Overview - Map.png | Bin 0 -> 547751 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Serial-CAN-Bus/Code Overview - Map.png diff --git a/Serial-CAN-Bus/Code Overview - Map.png b/Serial-CAN-Bus/Code Overview - Map.png new file mode 100644 index 0000000000000000000000000000000000000000..84a5cb6ab697509282a63baf75b0cac37dbb5ab1 GIT binary patch literal 547751 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 _cHujc0|J7n@eDOX2_nWRG#;8DSN{T0}C+y6> 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≈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

=~9N6c#AFsr;M>Ld60?T%G=%jX1BgL&> zA7sIVj0(p8v~f+V9j>otvlhgQjKn8N27wad6fnbAqWT{neZ#!F&zf z`s1U*7|HR6;ttEQpbVmQ^*jZQLUk=`8nOx77Sg*0>Kg;)sZ+O_RMfg;#DoqTH}bLFm7d;_hbifx(ScA~g_Ve3h1CTNZjs{xOb1AUUN6b0E0=91JCTjTIX*%3Ld zfETg1fAQGY(okDKM!;`bBg+~qL96hadwOVNaf)Mf8&W9Wx?96yu)ITW!%W|+-SS(u zXxh9+R99qG4FS%SUt)Q@azoKNzpj)MdCR zqSn4D&{n20cSllknOf`2!9|)LjLRm1a&km3cvKW(Y+8s!)}YiNh_x-OPtr7FwsZt> zr<>(mD=J!#4Cx6>)o0(2m5G_gn~9n#*0b|Vc&`f+RblvO|^~X(u8aLuNZuOfQ7@@RkrWpWz)7i zvLuZ%#Xn{5Pqn`YRwjsZ>!%k;>EGuUylH-qdi$zSrBcd;Gg_#r^yN}>d)cBRC0-ezFHOn9u8cYP$y)5{w#2IQi#QDaq$t9>u&wWylnTaVDiKzBkl*(mM zvuwFOy!Fib%zviIHFjT}ojTh3&w#@|n>eX@9E((h>=l5&j8F)Ja?f>)!i{87rzA8V)a(?6za%$NTN9#^K9P=SP__F}I{iU6 zN~7wts?!N9PeDG(G{~#$udNaE>$n0f7E!p+)#rSTGAhE;@H~UxHECb!WtJssqJ9tV z>)azPAx5aL59A_TWRC~K#f?5sisX(BrBqO{ zB6h8|k}I;Gjk*+fJtHs6P;oKr^8$mm@n(v~;#(sx_I%O?SzZZogY?gWEyQuoUNU$n zWg^$QlgA2Ekh|s~ty8fB`@%rPkv6tpiqeL4`Rl$S!Y-YGHnXJH{7@SXQ1Q)DvWyt< z8T+d@?Jr?u__j0y!zM|ADGxf)M$NBUUaxSy=#qOAd%~Pujwi`QXY;DlEjkU4U*tYGYvDIi} z+iKX@c4H?E-~ILfet@&rwa=OJ%-oon4()~Qzkl1gG@gvL79^2xeL=@92HEw3B7_rR%{Ul<4o


r0sU0Ls4=ub{Xz`cG8K;CU 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

j?zIK6Ox)10(4X;)k2lhBh5L@anH13`-?4n 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%0D{ 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 literal 0 HcmV?d00001 From 1755d5db106a42c3c48f6d5901a3ba5eeb0ec8ca Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Sat, 14 Aug 2021 11:49:23 -0400 Subject: [PATCH 22/35] Renamed file, to match naming convention ( /w broadcast) --- Serial-CAN-Bus/{PM100_CAN_BUS.h => COMMAND_MESSAGE.h} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename Serial-CAN-Bus/{PM100_CAN_BUS.h => COMMAND_MESSAGE.h} (88%) diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.h b/Serial-CAN-Bus/COMMAND_MESSAGE.h similarity index 88% rename from Serial-CAN-Bus/PM100_CAN_BUS.h rename to Serial-CAN-Bus/COMMAND_MESSAGE.h index a3c1e25..4d20045 100644 --- a/Serial-CAN-Bus/PM100_CAN_BUS.h +++ b/Serial-CAN-Bus/COMMAND_MESSAGE.h @@ -1,5 +1,5 @@ -#ifndef PM100_CAN_BUS_H -#define PM100_CAN_BUS_H +#ifndef COMMAND_MESSAGE_H +#define COMMAND_MESSAGE_H //types of CAN messages typedef enum m_type { From 7d2824f8937917d17e02185a1d6ccf441896538b Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Sat, 14 Aug 2021 11:50:47 -0400 Subject: [PATCH 23/35] Renamed file to match naming convention ( /w broadcast) --- Serial-CAN-Bus/PM100_CAN_BUS.cpp => COMMAND_MESSAGE.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename Serial-CAN-Bus/PM100_CAN_BUS.cpp => COMMAND_MESSAGE.cpp (95%) diff --git a/Serial-CAN-Bus/PM100_CAN_BUS.cpp b/COMMAND_MESSAGE.cpp similarity index 95% rename from Serial-CAN-Bus/PM100_CAN_BUS.cpp rename to COMMAND_MESSAGE.cpp index f9bb2e2..05f9027 100644 --- a/Serial-CAN-Bus/PM100_CAN_BUS.cpp +++ b/COMMAND_MESSAGE.cpp @@ -2,8 +2,8 @@ //#include <SoftwareSerial.h> //#include <Arduino.h> #include <iostream> -#include <PM100_CAN_BUS_testing.h> -//#include <C:\adam\utht\extra low level\PM100_CAN_BUS_testing.h> +#include <COMMAND_MESSAGE.h> +//#include <C:\adam\utht\extra low level\COMMAND_MESSAGE.h> #include <bitset> using namespace std; From 09abedabff43455473fb06a1fa150e9ddf9b7d74 Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Sat, 14 Aug 2021 11:54:44 -0400 Subject: [PATCH 24/35] Rename COMMAND_MESSAGE.cpp to Serial-CAN-Bus/COMMAND_MESSAGE.cpp --- COMMAND_MESSAGE.cpp => Serial-CAN-Bus/COMMAND_MESSAGE.cpp | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename COMMAND_MESSAGE.cpp => Serial-CAN-Bus/COMMAND_MESSAGE.cpp (100%) diff --git a/COMMAND_MESSAGE.cpp b/Serial-CAN-Bus/COMMAND_MESSAGE.cpp similarity index 100% rename from COMMAND_MESSAGE.cpp rename to Serial-CAN-Bus/COMMAND_MESSAGE.cpp From ed8c6abcb63f491ed3dbe096e620c574a9b928da Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Mon, 16 Aug 2021 13:57:45 -0400 Subject: [PATCH 25/35] 1st Ver of reading CAN Fault Code messages --- Serial-CAN-Bus/BROADCAST_FAULTS.cpp | 291 ++++++++++++++++++++++++++++ Serial-CAN-Bus/BROADCAST_FAULTS.h | 118 +++++++++++ 2 files changed, 409 insertions(+) create mode 100644 Serial-CAN-Bus/BROADCAST_FAULTS.cpp create mode 100644 Serial-CAN-Bus/BROADCAST_FAULTS.h diff --git a/Serial-CAN-Bus/BROADCAST_FAULTS.cpp b/Serial-CAN-Bus/BROADCAST_FAULTS.cpp new file mode 100644 index 0000000..f2cbc29 --- /dev/null +++ b/Serial-CAN-Bus/BROADCAST_FAULTS.cpp @@ -0,0 +1,291 @@ +//#include <Serial_CAN_Module_2.h> +//#include <SoftwareSerial.h> +//#include <Arduino.h> +#include <iostream> +//#include <BROADCAST_FAULTS.h> +#include <C:\adam\utht\extra low level\BROADCAST_FAULTS.h> +#include <bitset> +#include <vector> + +using namespace std; + +PM100_FAULT_CODE FAULT_CODE_ARRAY[65] = { + //POST FAULTS + //Byte 0 + Hardware_Gate_Desaturation_Fault, + HW_Over_current_Fault, + Accelerator_Shorted, + Accelerator_Open, + Current_Sensor_Low, + Current_Sensor_High, + Module_Temperature_Low, + Module_Temperature_High, + //Byte 1 + Control_PCB_Temperature_Low, + Control_PCB_Temperature_High, + Gate_Drive_PCB_Temperature_Low, + Gate_Drive_PCB_Temperature_High, + Sense_Voltage_Low_5V, + Sense_Voltage_High_5V, + Sense_Voltage_Low_12V, + Sense_Voltage_High_12V, + //Byte 2 + Sense_Voltage_Low_2_5V, + Sense_Voltage_High_2_5V, + Sense_Voltage_Low_1_5V, + Sense_Voltage_High_1_5V, + DC_Bus_Voltage_High, + DC_Bus_Voltage_Low, + Pre_charge_Timeout, + Pre_charge_Voltage_Failure, + //Byte 3 + EEPROM_Checksum_Invalid, + EEPROM_Data_Out_of_Range, + EEPROM_Update_Required, + RESERVED_1, + RESERVED_2, + RESERVED_3, + Brake_Shorted, + Brake_Open, + //Byte 4 + //RUN FAULTS + Motor_Over_speed_Fault, + Over_current_Fault, + Over_voltage_Fault, + Inverter_Over_temperature_Fault, + Accelerator_Input_Shorted_Fault, + Accelerator_Input_Open_Fault, + Direction_Command_Fault, + Inverter_Response_Time_out_Fault, + //Byte 5 + Hardware_Gate_Desaturation_RUN_Fault, + Hardware_Over_current_Fault, + Under_voltage_Fault, + CAN_Command_Message_Lost_Fault, + Motor_Over_temperature_Fault, + RESERVED_4, + RESERVED_5, + RESERVED_6, + //Byte 6 + Brake_Input_Shorted_Fault, + Brake_Input_Open_Fault, + Module_A_Over_temperature_Fault, + Module_B_Over_temperature_Fault, + Module_C_Over_temperature_Fault, + PCB_Over_temperature_Fault, + Gate_Drive_Board_1_Over_temperature_Fault, + Gate_Drive_Board_2_Over_temperature_Fault, + //Byte 7 + Gate_Drive_Board_3_Over_temperature_Fault, + Current_Sensor_Fault, + RESERVED_7, + Hardware_Over_Voltage_Fault, + RESERVED_8, + RESERVED_9, + Resolver_Not_Connected, + Inverter_Discharge_Active, + + //Finally, error if the CAN mssg is NOT for fault codes + NOT_FAULT_CAN_MSSG + +}; + + +std::ostream& operator<<(std::ostream& lhs, PM100_FAULT_CODE fault) { + + switch(fault) { + case Hardware_Gate_Desaturation_Fault: lhs << "Hardware_Gate_Desaturation_Fault"; break; + case HW_Over_current_Fault: lhs << "HW_Over_current_Fault"; break; + case Accelerator_Shorted: lhs << "Accelerator_Shorted"; break; + case Accelerator_Open: lhs << "Accelerator_Open"; break; + case Current_Sensor_Low: lhs << "Current_Sensor_Low"; break; + case Current_Sensor_High: lhs << "Current_Sensor_High"; break; + case Module_Temperature_Low: lhs << "Module_Temperature_Low"; break; + case Module_Temperature_High: lhs << "Module_Temperature_High"; break; + case Control_PCB_Temperature_Low: lhs << "Control_PCB_Temperature_Low"; break; + case Control_PCB_Temperature_High: lhs << "Control_PCB_Temperature_High"; break; + case Gate_Drive_PCB_Temperature_Low: lhs << "Gate_Drive_PCB_Temperature_Low"; break; + case Gate_Drive_PCB_Temperature_High: lhs << "Gate_Drive_PCB_Temperature_High"; break; + case Sense_Voltage_Low_5V: lhs << "Sense_Voltage_Low_5V"; break; + case Sense_Voltage_High_5V: lhs << "Sense_Voltage_High_5V"; break; + case Sense_Voltage_Low_12V: lhs << "Sense_Voltage_Low_12V"; break; + case Sense_Voltage_High_12V: lhs << "Sense_Voltage_High_12V"; break; + case Sense_Voltage_Low_2_5V: lhs << "Sense_Voltage_Low_2_5V"; break; + case Sense_Voltage_High_2_5V: lhs << "Sense_Voltage_High_2_5V"; break; + case Sense_Voltage_Low_1_5V: lhs << "Sense_Voltage_Low_1_5V"; break; + case Sense_Voltage_High_1_5V: lhs << "Sense_Voltage_High_1_5V"; break; + case DC_Bus_Voltage_High: lhs << "DC_Bus_Voltage_High"; break; + case DC_Bus_Voltage_Low: lhs << "DC_Bus_Voltage_Low"; break; + case Pre_charge_Timeout: lhs << "Pre_charge_Timeout"; break; + case Pre_charge_Voltage_Failure: lhs << "Pre_charge_Voltage_Failure"; break; + case EEPROM_Checksum_Invalid: lhs << "EEPROM_Checksum_Invalid"; break; + case EEPROM_Data_Out_of_Range: lhs << "EEPROM_Data_Out_of_Range"; break; + case EEPROM_Update_Required: lhs << "EEPROM_Update_Required"; break; + case RESERVED_1: lhs << "RESERVED_1"; break; + case RESERVED_2: lhs << "RESERVED_2"; break; + case RESERVED_3: lhs << "RESERVED_3"; break; + case Brake_Shorted: lhs << "Brake_Shorted"; break; + case Brake_Open: lhs << "Brake_Open"; break; + case Motor_Over_speed_Fault: lhs << "Motor_Over_speed_Fault"; break; + case Over_current_Fault: lhs << "Over_current_Fault"; break; + case Over_voltage_Fault: lhs << "Over_voltage_Fault"; break; + case Inverter_Over_temperature_Fault: lhs << "Inverter_Over_temperature_Fault"; break; + case Accelerator_Input_Shorted_Fault: lhs << "Accelerator_Input_Shorted_Fault"; break; + case Accelerator_Input_Open_Fault: lhs << "Accelerator_Input_Open_Fault"; break; + case Direction_Command_Fault: lhs << "Direction_Command_Fault"; break; + case Inverter_Response_Time_out_Fault: lhs << "Inverter_Response_Time_out_Fault"; break; + case Hardware_Gate_Desaturation_RUN_Fault: lhs << "Hardware_Gate_Desaturation_RUN_Fault"; break; + case Hardware_Over_current_Fault: lhs << "Hardware_Over_current_Fault"; break; + case Under_voltage_Fault: lhs << "Under_voltage_Fault"; break; + case CAN_Command_Message_Lost_Fault: lhs << "CAN_Command_Message_Lost_Fault"; break; + case Motor_Over_temperature_Fault: lhs << "Motor_Over_temperature_Fault"; break; + case RESERVED_4: lhs << "RESERVED_4"; break; + case RESERVED_5: lhs << "RESERVED_5"; break; + case RESERVED_6: lhs << "RESERVED_6"; break; + case Brake_Input_Shorted_Fault: lhs << "Brake_Input_Shorted_Fault"; break; + case Brake_Input_Open_Fault: lhs << "Brake_Input_Open_Fault"; break; + case Module_A_Over_temperature_Fault: lhs << "Module_A_Over_temperature_Fault"; break; + case Module_B_Over_temperature_Fault: lhs << "Module_B_Over_temperature_Fault"; break; + case Module_C_Over_temperature_Fault: lhs << "Module_C_Over_temperature_Fault"; break; + case PCB_Over_temperature_Fault: lhs << "PCB_Over_temperature_Fault"; break; + case Gate_Drive_Board_1_Over_temperature_Fault: lhs << "Gate_Drive_Board_1_Over_temperature_Fault"; break; + case Gate_Drive_Board_2_Over_temperature_Fault: lhs << "Gate_Drive_Board_2_Over_temperature_Fault"; break; + case Gate_Drive_Board_3_Over_temperature_Fault: lhs << "Gate_Drive_Board_3_Over_temperature_Fault"; break; + case Current_Sensor_Fault: lhs << "Current_Sensor_Fault"; break; + case RESERVED_7: lhs << "RESERVED_7"; break; + case Hardware_Over_Voltage_Fault: lhs << "Hardware_Over_Voltage_Fault"; break; + case RESERVED_8: lhs << "RESERVED_8"; break; + case RESERVED_9: lhs << "RESERVED_9"; break; + case Resolver_Not_Connected: lhs << "Resolver_Not_Connected"; break; + case Inverter_Discharge_Active: lhs << "Inverter_Discharge_Active"; break; + case NOT_FAULT_CAN_MSSG: lhs << "ERROR - This CAN Message is NOT for FAULT CODES!"; break; + + + } + + return lhs; + +} + + +int return_fault_index_val( PM100_FAULT_CODE fault ){ + + int index_value = fault; + return index_value; + +} + + + +std::vector<PM100_FAULT_CODE> broadcast_message::read_fault_codes_VER_2( int CAN_mssg[9] ){ + + int CAN_ID = CAN_mssg[0]; + vector<PM100_FAULT_CODE> faults_found; + PM100_FAULT_CODE byte_0_fault; + + if( CAN_ID != 0x0AB ){ + //return an error code for this case, make it up + cout << NOT_FAULT_CAN_MSSG; + faults_found.push_back( NOT_FAULT_CAN_MSSG ); + + } + else if( CAN_ID == 0x0AB ){ + //confirmed that this CAN Message is for Fault Codes + + int fault_code_index = 0; + for( int i = 1; i < 9; i++ ){ + + int byte_i = CAN_mssg[i]; + cout << "Byte " << i << " Faults: " << endl; + + switch(byte_i){ + case 0: //NO FAULTS IN THIS BYTE + cout << " No FAULTS found in Byte " << i << endl; + fault_code_index = fault_code_index + 8; + continue; + case 1: + byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index ]; + break; + case 2: + byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 1 ]; + break; + case 4: + byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 2 ]; + break; + case 8: + byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 3 ]; + break; + case 16: + byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 4 ]; + break; + case 32: + byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 5 ]; + break; + case 64: + byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 6 ]; + break; + case 128: + byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 7 ]; + break; + } + fault_code_index = fault_code_index + 8; + + cout << " " << byte_0_fault << " -- Fault #" << return_fault_index_val(byte_0_fault) << endl; + faults_found.push_back( byte_0_fault ); + } + + + } + return faults_found; + +} + + + + + + +int main(){ + + cout << "----------------------------------------------------------------" << endl; + cout << "- -" << endl; + cout << "- CAN PM100 -" << endl; + cout << "- Fault Code Function Testing -" << endl; + cout << "- -" << endl; + cout << "- -" << endl; + cout << "- -" << endl; + cout << "----------------------------------------------------------------\n" << endl; + + cout << "< Hello there! Here we'll test out reading Fault Codes from the PM100 >" << endl; + cout << "< >" << endl; + cout << "< >" << endl; + cout << "< >\n" << endl; + + cout << "< The CAN message we're testing is: >" << endl; + + broadcast_message testing_class; + int test_message_2[9] = { 0x0AB, 128, 32, 0, 0, 0, 0, 2, 0 }; + + cout << "< {"; + for ( int i = 0; i < 8; i++ ){ + /* + if(i == 0){ + cout << " 0x0" << hex << test_message_2[i] << ","; + continue; + } + */ + cout << " " << test_message_2[i] << ","; + } + cout << " }\n" << endl; + + + + vector<PM100_FAULT_CODE> returned_faults_vector; + returned_faults_vector = testing_class.read_fault_codes_VER_2( test_message_2 ); + + + + + +} + diff --git a/Serial-CAN-Bus/BROADCAST_FAULTS.h b/Serial-CAN-Bus/BROADCAST_FAULTS.h new file mode 100644 index 0000000..9a39ec2 --- /dev/null +++ b/Serial-CAN-Bus/BROADCAST_FAULTS.h @@ -0,0 +1,118 @@ +#ifndef BROADCAST_FAULTS_H +#define BROADCAST_FAULTS_H + +#include <C:\adam\utht\extra low level\COMMAND_MESSAGE.h> +//#include <COMMAND_MESSAGE.h> +#include <iostream> +#include <vector> +//types of CAN messages +typedef enum fault_code { + //POST FAULTS + //Byte 0 + Hardware_Gate_Desaturation_Fault, + HW_Over_current_Fault, + Accelerator_Shorted, + Accelerator_Open, + Current_Sensor_Low, + Current_Sensor_High, + Module_Temperature_Low, + Module_Temperature_High, + //Byte 1 + Control_PCB_Temperature_Low, + Control_PCB_Temperature_High, + Gate_Drive_PCB_Temperature_Low, + Gate_Drive_PCB_Temperature_High, + Sense_Voltage_Low_5V, + Sense_Voltage_High_5V, + Sense_Voltage_Low_12V, + Sense_Voltage_High_12V, + //Byte 2 + Sense_Voltage_Low_2_5V, + Sense_Voltage_High_2_5V, + Sense_Voltage_Low_1_5V, + Sense_Voltage_High_1_5V, + DC_Bus_Voltage_High, + DC_Bus_Voltage_Low, + Pre_charge_Timeout, + Pre_charge_Voltage_Failure, + //Byte 3 + EEPROM_Checksum_Invalid, + EEPROM_Data_Out_of_Range, + EEPROM_Update_Required, + RESERVED_1, + RESERVED_2, + RESERVED_3, + Brake_Shorted, + Brake_Open, + //Byte 4 + //RUN FAULTS + Motor_Over_speed_Fault, + Over_current_Fault, + Over_voltage_Fault, + Inverter_Over_temperature_Fault, + Accelerator_Input_Shorted_Fault, + Accelerator_Input_Open_Fault, + Direction_Command_Fault, + Inverter_Response_Time_out_Fault, + //Byte 5 + Hardware_Gate_Desaturation_RUN_Fault, + Hardware_Over_current_Fault, + Under_voltage_Fault, + CAN_Command_Message_Lost_Fault, + Motor_Over_temperature_Fault, + RESERVED_4, + RESERVED_5, + RESERVED_6, + //Byte 6 + Brake_Input_Shorted_Fault, + Brake_Input_Open_Fault, + Module_A_Over_temperature_Fault, + Module_B_Over_temperature_Fault, + Module_C_Over_temperature_Fault, + PCB_Over_temperature_Fault, + Gate_Drive_Board_1_Over_temperature_Fault, + Gate_Drive_Board_2_Over_temperature_Fault, + //Byte 7 + Gate_Drive_Board_3_Over_temperature_Fault, + Current_Sensor_Fault, + RESERVED_7, + Hardware_Over_Voltage_Fault, + RESERVED_8, + RESERVED_9, + Resolver_Not_Connected, + Inverter_Discharge_Active, + + //Finally, error if the CAN mssg is NOT for fault codes + NOT_FAULT_CAN_MSSG + + +} PM100_FAULT_CODE; + + + +using namespace std; + + + +class broadcast_message{ + + public: + + message_type command_message; + + friend ostream& operator<<( ostream& lhs, PM100_FAULT_CODE fault ); + + friend int return_fault_index_val( PM100_FAULT_CODE fault ); + + vector<PM100_FAULT_CODE> read_fault_codes_VER_2( int CAN_mssg[9] ); + + + + + + + + +}; + +#endif From 77e993651d03f9d7a629bfc47122c6847a21bbe2 Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Sat, 21 Aug 2021 01:35:34 -0400 Subject: [PATCH 26/35] function analyzes EVERY BIT now, returns vector of faults --- Serial-CAN-Bus/BROADCAST_FAULTS.cpp | 103 +++++++++++----------------- 1 file changed, 41 insertions(+), 62 deletions(-) diff --git a/Serial-CAN-Bus/BROADCAST_FAULTS.cpp b/Serial-CAN-Bus/BROADCAST_FAULTS.cpp index f2cbc29..ee2e6df 100644 --- a/Serial-CAN-Bus/BROADCAST_FAULTS.cpp +++ b/Serial-CAN-Bus/BROADCAST_FAULTS.cpp @@ -2,8 +2,8 @@ //#include <SoftwareSerial.h> //#include <Arduino.h> #include <iostream> -//#include <BROADCAST_FAULTS.h> -#include <C:\adam\utht\extra low level\BROADCAST_FAULTS.h> +#include <BROADCAST_FAULTS.h> +//#include <C:\adam\utht\extra low level\BROADCAST_FAULTS.h> #include <bitset> #include <vector> @@ -93,12 +93,13 @@ PM100_FAULT_CODE FAULT_CODE_ARRAY[65] = { std::ostream& operator<<(std::ostream& lhs, PM100_FAULT_CODE fault) { - switch(fault) { - case Hardware_Gate_Desaturation_Fault: lhs << "Hardware_Gate_Desaturation_Fault"; break; - case HW_Over_current_Fault: lhs << "HW_Over_current_Fault"; break; - case Accelerator_Shorted: lhs << "Accelerator_Shorted"; break; - case Accelerator_Open: lhs << "Accelerator_Open"; break; - case Current_Sensor_Low: lhs << "Current_Sensor_Low"; break; + switch(fault) { + + case Hardware_Gate_Desaturation_Fault: lhs << "Hardware_Gate_Desaturation_Fault"; break; + case HW_Over_current_Fault: lhs << "HW_Over_current_Fault"; break; + case Accelerator_Shorted: lhs << "Accelerator_Shorted"; break; + case Accelerator_Open: lhs << "Accelerator_Open"; break; + case Current_Sensor_Low: lhs << "Current_Sensor_Low"; break; case Current_Sensor_High: lhs << "Current_Sensor_High"; break; case Module_Temperature_Low: lhs << "Module_Temperature_Low"; break; case Module_Temperature_High: lhs << "Module_Temperature_High"; break; @@ -124,10 +125,10 @@ std::ostream& operator<<(std::ostream& lhs, PM100_FAULT_CODE fault) { case RESERVED_1: lhs << "RESERVED_1"; break; case RESERVED_2: lhs << "RESERVED_2"; break; case RESERVED_3: lhs << "RESERVED_3"; break; - case Brake_Shorted: lhs << "Brake_Shorted"; break; - case Brake_Open: lhs << "Brake_Open"; break; - case Motor_Over_speed_Fault: lhs << "Motor_Over_speed_Fault"; break; - case Over_current_Fault: lhs << "Over_current_Fault"; break; + case Brake_Shorted: lhs << "Brake_Shorted"; break; + case Brake_Open: lhs << "Brake_Open"; break; + case Motor_Over_speed_Fault: lhs << "Motor_Over_speed_Fault"; break; + case Over_current_Fault: lhs << "Over_current_Fault"; break; case Over_voltage_Fault: lhs << "Over_voltage_Fault"; break; case Inverter_Over_temperature_Fault: lhs << "Inverter_Over_temperature_Fault"; break; case Accelerator_Input_Shorted_Fault: lhs << "Accelerator_Input_Shorted_Fault"; break; @@ -159,12 +160,9 @@ std::ostream& operator<<(std::ostream& lhs, PM100_FAULT_CODE fault) { case Resolver_Not_Connected: lhs << "Resolver_Not_Connected"; break; case Inverter_Discharge_Active: lhs << "Inverter_Discharge_Active"; break; case NOT_FAULT_CAN_MSSG: lhs << "ERROR - This CAN Message is NOT for FAULT CODES!"; break; - - } - return lhs; - + return lhs; } @@ -172,72 +170,53 @@ int return_fault_index_val( PM100_FAULT_CODE fault ){ int index_value = fault; return index_value; - } std::vector<PM100_FAULT_CODE> broadcast_message::read_fault_codes_VER_2( int CAN_mssg[9] ){ + //extract the CAN ID & define return vector of fault codes int CAN_ID = CAN_mssg[0]; vector<PM100_FAULT_CODE> faults_found; - PM100_FAULT_CODE byte_0_fault; + PM100_FAULT_CODE fault; + //check if CAN message is FAULT message if( CAN_ID != 0x0AB ){ - //return an error code for this case, make it up cout << NOT_FAULT_CAN_MSSG; faults_found.push_back( NOT_FAULT_CAN_MSSG ); - } else if( CAN_ID == 0x0AB ){ - //confirmed that this CAN Message is for Fault Codes - int fault_code_index = 0; + int fault_code_index = 0; //var used for indexing fault code array + + //here we'll loop 8 times, analyze each CAN data byte for( int i = 1; i < 9; i++ ){ int byte_i = CAN_mssg[i]; cout << "Byte " << i << " Faults: " << endl; - - switch(byte_i){ - case 0: //NO FAULTS IN THIS BYTE - cout << " No FAULTS found in Byte " << i << endl; - fault_code_index = fault_code_index + 8; - continue; - case 1: - byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index ]; - break; - case 2: - byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 1 ]; - break; - case 4: - byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 2 ]; - break; - case 8: - byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 3 ]; - break; - case 16: - byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 4 ]; - break; - case 32: - byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 5 ]; - break; - case 64: - byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 6 ]; - break; - case 128: - byte_0_fault = FAULT_CODE_ARRAY[ fault_code_index + 7 ]; - break; - } - fault_code_index = fault_code_index + 8; - - cout << " " << byte_0_fault << " -- Fault #" << return_fault_index_val(byte_0_fault) << endl; - faults_found.push_back( byte_0_fault ); + + //vars to check each bit of current byte + int current_bit; + int int_to_binary = byte_i; + for( int i = 0; i < 8; i++ ){ + + current_bit = int_to_binary % 2; + int_to_binary = int_to_binary / 2; + + if( current_bit ){ + fault = FAULT_CODE_ARRAY[ fault_code_index + i ]; + cout << " " << fault << " -- Fault #" << return_fault_index_val( fault ) << endl; + faults_found.push_back( fault ); + } + } + + fault_code_index = fault_code_index + 8; } - } - return faults_found; + return faults_found; } @@ -264,7 +243,7 @@ int main(){ cout << "< The CAN message we're testing is: >" << endl; broadcast_message testing_class; - int test_message_2[9] = { 0x0AB, 128, 32, 0, 0, 0, 0, 2, 0 }; + int test_message_2[9] = { 0x0AB, 128, 32, 0, 0, 0, 0, 2, 0 }; cout << "< {"; for ( int i = 0; i < 8; i++ ){ @@ -280,8 +259,8 @@ int main(){ - vector<PM100_FAULT_CODE> returned_faults_vector; - returned_faults_vector = testing_class.read_fault_codes_VER_2( test_message_2 ); + vector<PM100_FAULT_CODE> returned_faults_vector; + returned_faults_vector = testing_class.read_fault_codes_VER_2( test_message_2 ); From 9b942ea19abb6e6dbb5da51beffde8b1cff98b26 Mon Sep 17 00:00:00 2001 From: Angus Wu <wuangusjh@gmail.com> Date: Sat, 21 Aug 2021 03:08:37 -0400 Subject: [PATCH 27/35] Added disable broadcast messages function --- Serial-CAN-Bus/BROADCAST_MESSAGE.cpp | 32 ++++++++++++++++------ Serial-CAN-Bus/BROADCAST_MESSAGE.h | 41 ++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 8 deletions(-) diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp index ba63700..3c34d46 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp @@ -1,19 +1,19 @@ #include <iostream> #include "BROADCAST_MESSAGE.h" -using namesapce std; +using namespace std; -// fyi unsigned char message_arr[9] = {CAN ID, data byte 1, data byte 2, ...} +// fyi unsigned char CAN_mssg[9] = {CAN ID, data byte 1, data byte 2, ...} -void print_vsm_state(unsigned char message_arr[9]) +void print_vsm_state(unsigned char CAN_mssg[9]) // TODO restructure like Fault Code File { - if (message_arr[0] != 0xAA) + if (CAN_mssg[0] != 0xAA) { cout << "Message CAN ID is not 0xAA" << endl; return; } - switch (message_arr[2]) // message_arr[1] should be 0 + switch (CAN_mssg[2]) // CAN_mssg[1] should be 0 { case 0: cout << "VSM State: VSM Start State"; @@ -50,15 +50,15 @@ void print_vsm_state(unsigned char message_arr[9]) } } -void print_inverter_state(unsigned char message_arr[9]) +void print_inverter_state(unsigned char CAN_mssg[9]) // TODO restructure like Fault Code File { - if (message_arr[0] != 0xAA) + if (CAN_mssg[0] != 0xAA) { cout << "Message CAN ID is not 0xAA" << endl; return; } - switch (message_arr[3]) + switch (CAN_mssg[3]) { case 0: cout << "Inverter State: Power on State"; @@ -84,4 +84,20 @@ void print_inverter_state(unsigned char message_arr[9]) default: cout << "Invalid Inverter State"; } +} + +// Disabling a specific broadcast message +// TODO ability to disable multiple broadcast messages at a time (Vector?, bitwise and param?) +void disable_broadcast_message(unsigned char (&CAN_mssg)[9], can_active_messages_lo_word content) +{ + if (CAN_mssg[1] != 148) // Data Byte 0 + { + cout << "Message Parameter Address is not 148" << endl; + return; + } + + if (content < 8) + CAN_mssg[5] &= ~(1U << content); // Clearing the corresponding bit in Data Byte 4 + else + CAN_mssg[6] &= ~(1U << (content - 8)); // Clearing the corresponding bit in Data Byte 5 } \ No newline at end of file diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.h b/Serial-CAN-Bus/BROADCAST_MESSAGE.h index 2deee04..328cbf3 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.h +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.h @@ -30,12 +30,53 @@ typedef enum inverter_state IDLE_STOP } inverter_state; +// Reference Param Address 148 +typedef enum can_active_messages_lo_word +{ + // Data Byte 4 + TEMPERATURE_1, + TEMPERATURE_2, + TEMPERATURE_3, + ANALOG_INPUT_VOLTAGES, + DIGITAL_INPUT_STATUS, + MOTOR_POSITION_INFORMATION, + CURRENT_INFORMATION, + VOLTAGE_INFORMATION, + // Data Byte 5 + FLUX_INFORMATION, + INTERNAL_VOLTAGES, + INTERNAL_STATES, + FAULT_CODES, + TORQUE_AND_TIMER_INFORMATION, + MODULATION_INDEX_AND_FLUX_WEAKENING_OUTPUT_INFORMATION, + FIRMWARE_INFORMATION, + DIAG_DATA +} can_active_messages_lo_word; + +// Reference Param Address 148, should always be enabled (default) +typedef enum can_active_messages_hi_word +{ + // Data Byte 6 + SLAVE_MODE_COMMAND_MESSAGE = 6, + BMS_COMMAND_MESSAGE, + // Data Byte 7 + OBD2_GENERAL_QUERY, + OBD2_SPECIFIC_QUERY, + OBD2_RESPONSE, + U2C_TX_MESSAGE, + U2C_RX_MESSAGE, + PARAMETER_RESPONSE_MESAGE, + PARAMETER_COMMAND_MESSAGE, + CAN_COMMAND_MESSAGE +} can_active_messages_hi_word; + class broadcast_message { public: message_type broadcast_message; void print_vsm_state(int message_arr[9]); void print_inverter_state(int message_arr[9]); + void disable_broadcast_message(unsigned char (&CAN_mssg)[9], can_active_messages_lo_word content); } #endif \ No newline at end of file From 863b060b1b42083bdb19e442d11dcb24cb7b3faf Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Tue, 24 Aug 2021 11:03:07 -0400 Subject: [PATCH 28/35] vms & inverter functions updated - return states now --- Serial-CAN-Bus/BROADCAST_MESSAGE.h | 33 ++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.h b/Serial-CAN-Bus/BROADCAST_MESSAGE.h index 328cbf3..8642b25 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.h +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.h @@ -1,7 +1,8 @@ #ifndef BROADCAST_MESSAGE_H #define BROADCAST_MESSAGE_H -#include "PM100_CAN_BUS.h" +//#include <C:\adam\utht\extra low level\COMMAND_MESSAGE.h> +#include <COMMAND_MESSAGE.h> // Reference 0x0AA - Internal States, Byte #0,1 typedef enum vsm_state @@ -15,7 +16,8 @@ typedef enum vsm_state MOTOR_RUNNING, BLINK_FAULT_CODE, SHUTDOWN_IN_PROGRESS = 14, - RECYCLE_POWER + RECYCLE_POWER, + NOT_A_VSM_STATE } vsm_state; // Reference 0x0AA - Internal States, Byte #2 @@ -27,7 +29,8 @@ typedef enum inverter_state CLOSED_LOOP, WAIT, IDLE_RUN = 8, - IDLE_STOP + IDLE_STOP, + NOT_AN_INVERTER_STATE = 13 } inverter_state; // Reference Param Address 148 @@ -70,13 +73,21 @@ typedef enum can_active_messages_hi_word CAN_COMMAND_MESSAGE } can_active_messages_hi_word; -class broadcast_message -{ -public: - message_type broadcast_message; - void print_vsm_state(int message_arr[9]); - void print_inverter_state(int message_arr[9]); - void disable_broadcast_message(unsigned char (&CAN_mssg)[9], can_active_messages_lo_word content); +class broadcast_message{ + + public: + + message_type broadcast_message; + + vsm_state read_vsm_state( int message_arr[9] ); + friend std::ostream& operator<<( std::ostream& lhs, vsm_state state ); + friend int return_vsm_state_val( vsm_state state ); + + inverter_state read_inverter_state( int message_arr[9] ); + friend std::ostream& operator<<( std::ostream& lhs, inverter_state state ); + friend int return_inverter_state_val( inverter_state state ); + + void disable_broadcast_message(unsigned char (&CAN_mssg)[9], can_active_messages_lo_word content); } -#endif \ No newline at end of file +#endif From 831f14494dafeea90d12dc1814908feb527d288e Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Tue, 24 Aug 2021 11:09:17 -0400 Subject: [PATCH 29/35] VSM & Inverter functions update - return states now --- Serial-CAN-Bus/BROADCAST_MESSAGE.cpp | 203 +++++++++++++++++++++------ 1 file changed, 161 insertions(+), 42 deletions(-) diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp index 3c34d46..d95d0ba 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp @@ -1,91 +1,155 @@ #include <iostream> -#include "BROADCAST_MESSAGE.h" +//#include <C:\\adam\\utht\\extra low level\\BROADCAST_MESSAGE.h> +#include <BROADCAST_MESSAGE.h> using namespace std; // fyi unsigned char CAN_mssg[9] = {CAN ID, data byte 1, data byte 2, ...} -void print_vsm_state(unsigned char CAN_mssg[9]) // TODO restructure like Fault Code File -{ - if (CAN_mssg[0] != 0xAA) - { - cout << "Message CAN ID is not 0xAA" << endl; - return; +std::ostream& operator<<( std::ostream& lhs, vsm_state state ) { + + switch( state ) { + case VSM_START: lhs << "VSM Start State"; break; + case PRE_CHARGE_INIT: lhs << "Pre-Charge Init State"; break; + case PRE_CHARGE_ACTIVE: lhs << "Pre-Charge Active State"; break; + case PRE_CHARGE_COMPLETE: lhs << "Pre-Charge Complete State"; break; + case VSM_WAIT: lhs << "VSM Wait State"; break; + case VSM_READY: lhs << "VSM Ready State"; break; + case MOTOR_RUNNING: lhs << "Motor Running State"; break; + case BLINK_FAULT_CODE: lhs << "Blink Fault Code State"; break; + case SHUTDOWN_IN_PROCESS: lhs << "Shutdown in Process"; break; + case RECYCLE_POWER: lhs << "Recycle Power State"; break; + case NOT_A_VSM_STATE: lhs << "ERROR - NOT a VSM State - Invalid Value"; break; + } + + return lhs; +} + + +int return_vsm_state_val( vsm_state state ) { + + int index_value = state; + return index_value; + +} + + +vsm_state broadcast_message::read_vsm_state( int CAN_mssg[9] ) { + + vsm_state state; + + if ( CAN_mssg[0] != 0x0AA ){ + cout << "Message CAN ID is not 0x0AA, this is NOT a VSM message" << endl; + return state = NOT_A_VSM_STATE; } - switch (CAN_mssg[2]) // CAN_mssg[1] should be 0 - { + switch ( CAN_mssg[2] ){ // CAN_mssg[1] should be 0 case 0: cout << "VSM State: VSM Start State"; - break; + state = VSM_START; break; case 1: cout << "VSM State: Pre-charge Init State"; - break; + state = PRE_CHARGE_INIT; break; case 2: cout << "VSM State: Pre-charge Active State"; - break; + state = PRE_CHARGE_ACTIVE; break; case 3: cout << "VSM State: Pre-charge Complete State"; - break; + state = PRE_CHARGE_COMPLETE; break; case 4: cout << "VSM State: VSM Wait State"; - break; + state = VSM_WAIT; break; case 5: cout << "VSM State: VSM Ready State"; - break; + state = VSM_READY; break; case 6: cout << "VSM State: Motor Running State"; - break; + state = MOTOR_RUNNING; break; case 7: cout << "VSM State: Blink Fault Code State"; - break; + state = BLINK_FAULT_CODE; break; case 14: cout << "VSM State: Shutdown in Process"; - break; + state = SHUTDOWN_IN_PROCESS; break; case 15: cout << "VSM State: Recycle Power State"; - break; + state = RECYCLE_POWER; break; default: cout << "Invalid VSM State"; + state = NOT_A_VSM_STATE; } + + return state; } -void print_inverter_state(unsigned char CAN_mssg[9]) // TODO restructure like Fault Code File -{ - if (CAN_mssg[0] != 0xAA) - { + + + +std::ostream& operator<<( std::ostream& lhs, inverter_state state ) { + + switch( state ) { + case POWER_ON: lhs << "Power On State"; break; + case STOP: lhs << "Stop State"; break; + case OPEN_LOOP: lhs << "Open Loop State"; break; + case CLOSED_LOOP: lhs << "Closed Loop State"; break; + case WAIT: lhs << "Wait State"; break; + case IDLE_RUN: lhs << "Idle Run State"; break; + case IDLE_STOP: lhs << "Idle Stop State"; break; + case NOT_AN_INVERTER_STATE: lhs << "ERROR - NOT an Inverter State - Invalid Value"; break; + } + + return lhs; +} + + +int return_inverter_state_val( inverter_state state ) { + + int index_value = state; + return index_value; + +} + + +inverter_state broadcast_message::read_inverter_state( int CAN_mssg[9] ) { + + inverter_state state; + + if ( CAN_mssg[0] != 0x0AA ) { cout << "Message CAN ID is not 0xAA" << endl; - return; + return state = NOT_AN_INVERTER_STATE; } - switch (CAN_mssg[3]) - { + switch ( CAN_mssg[3] ) { case 0: - cout << "Inverter State: Power on State"; - break; + cout << "Inverter State: Power on State" << endl; + state = POWER_ON; break; case 1: - cout << "Inverter State: Stop State"; - break; + cout << "Inverter State: Stop State" << endl; + state = STOP; break; case 2: - cout << "Inverter State: Open Loop State"; - break; + cout << "Inverter State: Open Loop State" << endl; + state = OPEN_LOOP; break; case 3: - cout << "Inverter State: Closed Loop State"; - break; + cout << "Inverter State: Closed Loop State" << endl; + state = CLOSED_LOOP; break; case 4: - cout << "Inverter State: Wait State"; - break; + cout << "Inverter State: Wait State" << endl; + state = WAIT; break; case 8: - cout << "Inverter State: Idle Run State"; - break; + cout << "Inverter State: Idle Run State" << endl; + state = IDLE_RUN; break; case 9: - cout << "Inverter State: Idle Stop State"; - break; + cout << "Inverter State: Idle Stop State" << endl; + state = IDLE_STOP; break; default: - cout << "Invalid Inverter State"; + cout << "Invalid Inverter State" << endl; + state = NOT_AN_INVERTER_STATE; break; } + + return state; } + // Disabling a specific broadcast message // TODO ability to disable multiple broadcast messages at a time (Vector?, bitwise and param?) void disable_broadcast_message(unsigned char (&CAN_mssg)[9], can_active_messages_lo_word content) @@ -100,4 +164,59 @@ void disable_broadcast_message(unsigned char (&CAN_mssg)[9], can_active_messages CAN_mssg[5] &= ~(1U << content); // Clearing the corresponding bit in Data Byte 4 else CAN_mssg[6] &= ~(1U << (content - 8)); // Clearing the corresponding bit in Data Byte 5 -} \ No newline at end of file +} + + + + + + +int main(){ + + cout << "Testing print_vms_state function: " << endl; + + broadcast_message testing_class; + vsm_state CAN_MSSG_VSM_STATE; + + int test_CAN_message[9] = { 0x0AA, 0, 1, 0, 0, 0, 0, 0, 0 }; + + cout << "CAN Message--------------------" << endl; + cout << "{"; + for ( int i = 0; i < 9; i++ ){ + + cout << " " << test_CAN_message[i]; + if( i != 8 ){ + cout << ","; + } + } + cout << " }\n" << endl; + + CAN_MSSG_VSM_STATE = testing_class.read_vsm_state( test_CAN_message ); + cout << "\n\nThe VSM State retrieved from the CAN Message is: " << CAN_MSSG_VSM_STATE << endl; + cout << "Value of VSM State: " << return_vsm_state_val(CAN_MSSG_VSM_STATE) << endl; + + + /////////////////////////////////////////////////////////////////////////////////////////////// + + cout << "\n\n\nTesting print_inverter_state function: " << endl; + inverter_state CAN_MSSG_INVERTER_STATE; + + int test_CAN_message_2[9] = { 0x0AA, 0, 0, 2, 0, 0, 0, 0, 0 }; + + cout << "CAN Message--------------------" << endl; + cout << "{"; + for ( int i = 0; i < 9; i++ ){ + + cout << " " << test_CAN_message_2[i]; + if( i != 8 ){ + cout << ","; + } + } + cout << " }\n" << endl; + + CAN_MSSG_INVERTER_STATE = testing_class.read_inverter_state( test_CAN_message_2 ); + cout << "\nThe Inverter State retrieved from the CAN Message is: " << CAN_MSSG_INVERTER_STATE << endl; + cout << "Value of Inverter State: " << return_inverter_state_val( CAN_MSSG_INVERTER_STATE ) << endl; + + +} From 79dace8653bac458b569b98b39f017d0ca9eb9ba Mon Sep 17 00:00:00 2001 From: Angus Wu <wuangusjh@gmail.com> Date: Tue, 24 Aug 2021 14:22:28 -0400 Subject: [PATCH 30/35] Updated Disable Broadcast Message Function Function now accepts multiple inputs in the form of bitwise OR params --- Serial-CAN-Bus/BROADCAST_MESSAGE.cpp | 232 ++++++++++++++++----------- Serial-CAN-Bus/BROADCAST_MESSAGE.h | 63 ++++---- Serial-CAN-Bus/COMMAND_MESSAGE.h | 2 +- 3 files changed, 173 insertions(+), 124 deletions(-) diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp index d95d0ba..885110c 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp @@ -4,46 +4,43 @@ using namespace std; -// fyi unsigned char CAN_mssg[9] = {CAN ID, data byte 1, data byte 2, ...} - -std::ostream& operator<<( std::ostream& lhs, vsm_state state ) { - - switch( state ) { - case VSM_START: lhs << "VSM Start State"; break; - case PRE_CHARGE_INIT: lhs << "Pre-Charge Init State"; break; - case PRE_CHARGE_ACTIVE: lhs << "Pre-Charge Active State"; break; - case PRE_CHARGE_COMPLETE: lhs << "Pre-Charge Complete State"; break; - case VSM_WAIT: lhs << "VSM Wait State"; break; - case VSM_READY: lhs << "VSM Ready State"; break; - case MOTOR_RUNNING: lhs << "Motor Running State"; break; - case BLINK_FAULT_CODE: lhs << "Blink Fault Code State"; break; - case SHUTDOWN_IN_PROCESS: lhs << "Shutdown in Process"; break; - case RECYCLE_POWER: lhs << "Recycle Power State"; break; - case NOT_A_VSM_STATE: lhs << "ERROR - NOT a VSM State - Invalid Value"; break; - } - +std::ostream &operator<<(std::ostream &lhs, vsm_state state) +{ + switch (state) { + case VSM_START: lhs << "VSM Start State"; break; + case PRE_CHARGE_INIT: lhs << "Pre-Charge Init State"; break; + case PRE_CHARGE_ACTIVE: lhs << "Pre-Charge Active State"; break; + case PRE_CHARGE_COMPLETE: lhs << "Pre-Charge Complete State"; break; + case VSM_WAIT: lhs << "VSM Wait State"; break; + case VSM_READY: lhs << "VSM Ready State"; break; + case MOTOR_RUNNING: lhs << "Motor Running State"; break; + case BLINK_FAULT_CODE: lhs << "Blink Fault Code State"; break; + case SHUTDOWN_IN_PROGRESS: lhs << "Shutdown in Process"; break; + case RECYCLE_POWER: lhs << "Recycle Power State"; break; + case NOT_A_VSM_STATE: lhs << "ERROR - NOT a VSM State - Invalid Value"; break; + } + return lhs; } - -int return_vsm_state_val( vsm_state state ) { - - int index_value = state; - return index_value; - +int return_vsm_state_val(vsm_state state) +{ + int index_value = state; + return index_value; } - -vsm_state broadcast_message::read_vsm_state( int CAN_mssg[9] ) { - +vsm_state broadcast_message::read_vsm_state(int CAN_mssg[9]) +{ vsm_state state; - if ( CAN_mssg[0] != 0x0AA ){ + if (CAN_mssg[0] != 0x0AA) + { cout << "Message CAN ID is not 0x0AA, this is NOT a VSM message" << endl; return state = NOT_A_VSM_STATE; } - switch ( CAN_mssg[2] ){ // CAN_mssg[1] should be 0 + switch (CAN_mssg[2]) + { case 0: cout << "VSM State: VSM Start State"; state = VSM_START; break; @@ -52,7 +49,7 @@ vsm_state broadcast_message::read_vsm_state( int CAN_mssg[9] ) { state = PRE_CHARGE_INIT; break; case 2: cout << "VSM State: Pre-charge Active State"; - state = PRE_CHARGE_ACTIVE; break; + state = PRE_CHARGE_ACTIVE; break; case 3: cout << "VSM State: Pre-charge Complete State"; state = PRE_CHARGE_COMPLETE; break; @@ -70,7 +67,7 @@ vsm_state broadcast_message::read_vsm_state( int CAN_mssg[9] ) { state = BLINK_FAULT_CODE; break; case 14: cout << "VSM State: Shutdown in Process"; - state = SHUTDOWN_IN_PROCESS; break; + state = SHUTDOWN_IN_PROGRESS; break; case 15: cout << "VSM State: Recycle Power State"; state = RECYCLE_POWER; break; @@ -82,44 +79,40 @@ vsm_state broadcast_message::read_vsm_state( int CAN_mssg[9] ) { return state; } +std::ostream &operator<<(std::ostream &lhs, inverter_state state) +{ + switch (state) { + case POWER_ON: lhs << "Power On State"; break; + case STOP: lhs << "Stop State"; break; + case OPEN_LOOP: lhs << "Open Loop State"; break; + case CLOSED_LOOP: lhs << "Closed Loop State"; break; + case WAIT: lhs << "Wait State"; break; + case IDLE_RUN: lhs << "Idle Run State"; break; + case IDLE_STOP: lhs << "Idle Stop State"; break; + case NOT_AN_INVERTER_STATE: lhs << "ERROR - NOT an Inverter State - Invalid Value"; break; + } - - -std::ostream& operator<<( std::ostream& lhs, inverter_state state ) { - - switch( state ) { - case POWER_ON: lhs << "Power On State"; break; - case STOP: lhs << "Stop State"; break; - case OPEN_LOOP: lhs << "Open Loop State"; break; - case CLOSED_LOOP: lhs << "Closed Loop State"; break; - case WAIT: lhs << "Wait State"; break; - case IDLE_RUN: lhs << "Idle Run State"; break; - case IDLE_STOP: lhs << "Idle Stop State"; break; - case NOT_AN_INVERTER_STATE: lhs << "ERROR - NOT an Inverter State - Invalid Value"; break; - } - return lhs; } - -int return_inverter_state_val( inverter_state state ) { - - int index_value = state; - return index_value; - +int return_inverter_state_val(inverter_state state) +{ + int index_value = state; + return index_value; } - -inverter_state broadcast_message::read_inverter_state( int CAN_mssg[9] ) { - +inverter_state broadcast_message::read_inverter_state(int CAN_mssg[9]) +{ inverter_state state; - if ( CAN_mssg[0] != 0x0AA ) { + if (CAN_mssg[0] != 0x0AA) + { cout << "Message CAN ID is not 0xAA" << endl; return state = NOT_AN_INVERTER_STATE; } - switch ( CAN_mssg[3] ) { + switch (CAN_mssg[3]) + { case 0: cout << "Inverter State: Power on State" << endl; state = POWER_ON; break; @@ -149,74 +142,131 @@ inverter_state broadcast_message::read_inverter_state( int CAN_mssg[9] ) { return state; } - -// Disabling a specific broadcast message -// TODO ability to disable multiple broadcast messages at a time (Vector?, bitwise and param?) -void disable_broadcast_message(unsigned char (&CAN_mssg)[9], can_active_messages_lo_word content) +/* Disable one or more messages at a time + * Example usage: disable_broadcast_message(test_msg, TEMPERATURE_2 | CURRENT_INFORMATION | DIAG_DATA); + */ +void disable_broadcast_message(int CAN_mssg[9], int listOfMsgs) { + if (CAN_mssg[0] != 0x0C1) // CAN ID + { + cout << "Message CAN Address is not 0x0C1" << endl; + return; + } + if (CAN_mssg[1] != 148) // Data Byte 0 { cout << "Message Parameter Address is not 148" << endl; return; } - if (content < 8) - CAN_mssg[5] &= ~(1U << content); // Clearing the corresponding bit in Data Byte 4 - else - CAN_mssg[6] &= ~(1U << (content - 8)); // Clearing the corresponding bit in Data Byte 5 + int loWord = (CAN_mssg[6] << 8) | CAN_mssg[5]; // loWord = [6] concatenated with [5] + + if ((TEMPERATURE_1 & listOfMsgs) == TEMPERATURE_1) + loWord &= ~(1U); + if ((TEMPERATURE_2 & listOfMsgs) == TEMPERATURE_2) + loWord &= ~(1U << 1); + if ((TEMPERATURE_3 & listOfMsgs) == TEMPERATURE_3) + loWord &= ~(1U << 2); + if ((ANALOG_INPUT_VOLTAGES & listOfMsgs) == ANALOG_INPUT_VOLTAGES) + loWord &= ~(1U << 3); + if ((DIGITAL_INPUT_STATUS & listOfMsgs) == DIGITAL_INPUT_STATUS) + loWord &= ~(1U << 4); + if ((MOTOR_POSITION_INFORMATION & listOfMsgs) == MOTOR_POSITION_INFORMATION) + loWord &= ~(1U << 5); + if ((CURRENT_INFORMATION & listOfMsgs) == CURRENT_INFORMATION) + loWord &= ~(1U << 6); + if ((VOLTAGE_INFORMATION & listOfMsgs) == VOLTAGE_INFORMATION) + loWord &= ~(1U << 7); + + if ((FLUX_INFORMATION & listOfMsgs) == FLUX_INFORMATION) + loWord &= ~(1U << 8); + if ((INTERNAL_VOLTAGES & listOfMsgs) == INTERNAL_VOLTAGES) + loWord &= ~(1U << 9); + if ((INTERNAL_STATES & listOfMsgs) == INTERNAL_STATES) + loWord &= ~(1U << 10); + if ((FAULT_CODES & listOfMsgs) == FAULT_CODES) + loWord &= ~(1U << 11); + if ((TORQUE_AND_TIMER_INFORMATION & listOfMsgs) == TORQUE_AND_TIMER_INFORMATION) + loWord &= ~(1U << 12); + if ((MOD_INDEX_FLUX_WEAKENING_OUTPUT_INFO & listOfMsgs) == MOD_INDEX_FLUX_WEAKENING_OUTPUT_INFO) + loWord &= ~(1U << 13); + if ((FIRMWARE_INFORMATION & listOfMsgs) == FIRMWARE_INFORMATION) + loWord &= ~(1U << 14); + if ((DIAG_DATA & listOfMsgs) == DIAG_DATA) + loWord &= ~(1U << 15); + + // Separate loWord back into two bytes + CAN_mssg[5] = loWord & 0xFF; + CAN_mssg[6] = (loWord >> 8) & 0xFF; } - - - - - -int main(){ - +int main() +{ cout << "Testing print_vms_state function: " << endl; broadcast_message testing_class; vsm_state CAN_MSSG_VSM_STATE; - int test_CAN_message[9] = { 0x0AA, 0, 1, 0, 0, 0, 0, 0, 0 }; + int test_CAN_message[9] = {0x0AA, 0, 1, 0, 0, 0, 0, 0, 0}; cout << "CAN Message--------------------" << endl; cout << "{"; - for ( int i = 0; i < 9; i++ ){ - - cout << " " << test_CAN_message[i]; - if( i != 8 ){ - cout << ","; - } + for (int i = 0; i < 9; i++) + { + + cout << " " << test_CAN_message[i]; + if (i != 8) + { + cout << ","; } + } cout << " }\n" << endl; - CAN_MSSG_VSM_STATE = testing_class.read_vsm_state( test_CAN_message ); + CAN_MSSG_VSM_STATE = testing_class.read_vsm_state(test_CAN_message); cout << "\n\nThe VSM State retrieved from the CAN Message is: " << CAN_MSSG_VSM_STATE << endl; cout << "Value of VSM State: " << return_vsm_state_val(CAN_MSSG_VSM_STATE) << endl; - /////////////////////////////////////////////////////////////////////////////////////////////// cout << "\n\n\nTesting print_inverter_state function: " << endl; inverter_state CAN_MSSG_INVERTER_STATE; - int test_CAN_message_2[9] = { 0x0AA, 0, 0, 2, 0, 0, 0, 0, 0 }; + int test_CAN_message_2[9] = {0x0AA, 0, 0, 2, 0, 0, 0, 0, 0}; cout << "CAN Message--------------------" << endl; cout << "{"; - for ( int i = 0; i < 9; i++ ){ - - cout << " " << test_CAN_message_2[i]; - if( i != 8 ){ - cout << ","; - } + for (int i = 0; i < 9; i++) + { + + cout << " " << test_CAN_message_2[i]; + if (i != 8) + { + cout << ","; } + } cout << " }\n" << endl; - CAN_MSSG_INVERTER_STATE = testing_class.read_inverter_state( test_CAN_message_2 ); + CAN_MSSG_INVERTER_STATE = testing_class.read_inverter_state(test_CAN_message_2); cout << "\nThe Inverter State retrieved from the CAN Message is: " << CAN_MSSG_INVERTER_STATE << endl; - cout << "Value of Inverter State: " << return_inverter_state_val( CAN_MSSG_INVERTER_STATE ) << endl; + cout << "Value of Inverter State: " << return_inverter_state_val(CAN_MSSG_INVERTER_STATE) << endl; + /////////////////////////////////////////////////////////////////////////////////////////////// -} + cout << "\n\n\nTesting disable_broadcast_message function: " << endl; + + int test_msg[9] = {0x0C1, 148, 0, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF}; + + cout << "CAN Message--------------------" << endl; + cout << "{ " << test_msg[0]; + for (int i = 1; i < 9; i++) + cout << ", " << test_msg[i]; + cout << " }\n" << endl; + + disable_broadcast_message(test_msg, TEMPERATURE_2 | DIAG_DATA); + + cout << "New CAN Message--------------------" << endl; + cout << "{ " << test_msg[0]; + for (int i = 1; i < 9; i++) + cout << ", " << test_msg[i]; + cout << " }\n" << endl; +} \ No newline at end of file diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.h b/Serial-CAN-Bus/BROADCAST_MESSAGE.h index 8642b25..b314c6b 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.h +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.h @@ -37,23 +37,23 @@ typedef enum inverter_state typedef enum can_active_messages_lo_word { // Data Byte 4 - TEMPERATURE_1, - TEMPERATURE_2, - TEMPERATURE_3, - ANALOG_INPUT_VOLTAGES, - DIGITAL_INPUT_STATUS, - MOTOR_POSITION_INFORMATION, - CURRENT_INFORMATION, - VOLTAGE_INFORMATION, + TEMPERATURE_1 = 0x0001, + TEMPERATURE_2 = 0x0002, + TEMPERATURE_3 = 0x0004, + ANALOG_INPUT_VOLTAGES = 0x0008, + DIGITAL_INPUT_STATUS = 0x0010, + MOTOR_POSITION_INFORMATION = 0x0020, + CURRENT_INFORMATION = 0x0040, + VOLTAGE_INFORMATION = 0x0080, // Data Byte 5 - FLUX_INFORMATION, - INTERNAL_VOLTAGES, - INTERNAL_STATES, - FAULT_CODES, - TORQUE_AND_TIMER_INFORMATION, - MODULATION_INDEX_AND_FLUX_WEAKENING_OUTPUT_INFORMATION, - FIRMWARE_INFORMATION, - DIAG_DATA + FLUX_INFORMATION = 0x0100, + INTERNAL_VOLTAGES = 0x0200, + INTERNAL_STATES = 0x0400, + FAULT_CODES = 0x0800, + TORQUE_AND_TIMER_INFORMATION = 0x1000, + MOD_INDEX_FLUX_WEAKENING_OUTPUT_INFO = 0x2000, + FIRMWARE_INFORMATION = 0x4000, + DIAG_DATA = 0x8000 } can_active_messages_lo_word; // Reference Param Address 148, should always be enabled (default) @@ -73,21 +73,20 @@ typedef enum can_active_messages_hi_word CAN_COMMAND_MESSAGE } can_active_messages_hi_word; -class broadcast_message{ - - public: - - message_type broadcast_message; - - vsm_state read_vsm_state( int message_arr[9] ); - friend std::ostream& operator<<( std::ostream& lhs, vsm_state state ); - friend int return_vsm_state_val( vsm_state state ); - - inverter_state read_inverter_state( int message_arr[9] ); - friend std::ostream& operator<<( std::ostream& lhs, inverter_state state ); - friend int return_inverter_state_val( inverter_state state ); - - void disable_broadcast_message(unsigned char (&CAN_mssg)[9], can_active_messages_lo_word content); -} +class broadcast_message +{ +public: + message_type broadcast_message; + + vsm_state read_vsm_state(int message_arr[9]); + friend std::ostream &operator<<(std::ostream &lhs, vsm_state state); + friend int return_vsm_state_val(vsm_state state); + + inverter_state read_inverter_state(int message_arr[9]); + friend std::ostream &operator<<(std::ostream &lhs, inverter_state state); + friend int return_inverter_state_val(inverter_state state); + + void disable_broadcast_message(int CAN_mssg[9], int listOfMsgs); +}; #endif diff --git a/Serial-CAN-Bus/COMMAND_MESSAGE.h b/Serial-CAN-Bus/COMMAND_MESSAGE.h index 4d20045..3c306f1 100644 --- a/Serial-CAN-Bus/COMMAND_MESSAGE.h +++ b/Serial-CAN-Bus/COMMAND_MESSAGE.h @@ -41,6 +41,6 @@ class command_message{ -} +}; #endif From cf98fbe6fe3001d3484f736cb3b615ff32b7fe29 Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Fri, 3 Sep 2021 22:44:14 -0400 Subject: [PATCH 31/35] Added read_fault_codes() function here --- Serial-CAN-Bus/BROADCAST_MESSAGE.cpp | 272 ++++++++++++++++++++++++++- 1 file changed, 271 insertions(+), 1 deletion(-) diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp index 885110c..20950ad 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp @@ -1,4 +1,6 @@ #include <iostream> +#include <bitset> +#include <vector> //#include <C:\\adam\\utht\\extra low level\\BROADCAST_MESSAGE.h> #include <BROADCAST_MESSAGE.h> @@ -200,6 +202,226 @@ void disable_broadcast_message(int CAN_mssg[9], int listOfMsgs) CAN_mssg[6] = (loWord >> 8) & 0xFF; } + + + +//Fault Code Functions and Array defined below + +PM100_FAULT_CODE FAULT_CODE_ARRAY[65] = { + //POST FAULTS + //Byte 0 + Hardware_Gate_Desaturation_Fault, + HW_Over_current_Fault, + Accelerator_Shorted, + Accelerator_Open, + Current_Sensor_Low, + Current_Sensor_High, + Module_Temperature_Low, + Module_Temperature_High, + //Byte 1 + Control_PCB_Temperature_Low, + Control_PCB_Temperature_High, + Gate_Drive_PCB_Temperature_Low, + Gate_Drive_PCB_Temperature_High, + Sense_Voltage_Low_5V, + Sense_Voltage_High_5V, + Sense_Voltage_Low_12V, + Sense_Voltage_High_12V, + //Byte 2 + Sense_Voltage_Low_2_5V, + Sense_Voltage_High_2_5V, + Sense_Voltage_Low_1_5V, + Sense_Voltage_High_1_5V, + DC_Bus_Voltage_High, + DC_Bus_Voltage_Low, + Pre_charge_Timeout, + Pre_charge_Voltage_Failure, + //Byte 3 + EEPROM_Checksum_Invalid, + EEPROM_Data_Out_of_Range, + EEPROM_Update_Required, + RESERVED_1, + RESERVED_2, + RESERVED_3, + Brake_Shorted, + Brake_Open, + //Byte 4 + //RUN FAULTS + Motor_Over_speed_Fault, + Over_current_Fault, + Over_voltage_Fault, + Inverter_Over_temperature_Fault, + Accelerator_Input_Shorted_Fault, + Accelerator_Input_Open_Fault, + Direction_Command_Fault, + Inverter_Response_Time_out_Fault, + //Byte 5 + Hardware_Gate_Desaturation_RUN_Fault, + Hardware_Over_current_Fault, + Under_voltage_Fault, + CAN_Command_Message_Lost_Fault, + Motor_Over_temperature_Fault, + RESERVED_4, + RESERVED_5, + RESERVED_6, + //Byte 6 + Brake_Input_Shorted_Fault, + Brake_Input_Open_Fault, + Module_A_Over_temperature_Fault, + Module_B_Over_temperature_Fault, + Module_C_Over_temperature_Fault, + PCB_Over_temperature_Fault, + Gate_Drive_Board_1_Over_temperature_Fault, + Gate_Drive_Board_2_Over_temperature_Fault, + //Byte 7 + Gate_Drive_Board_3_Over_temperature_Fault, + Current_Sensor_Fault, + RESERVED_7, + Hardware_Over_Voltage_Fault, + RESERVED_8, + RESERVED_9, + Resolver_Not_Connected, + Inverter_Discharge_Active, + + //Finally, error if the CAN mssg is NOT for fault codes + NOT_FAULT_CAN_MSSG + +}; + + +std::ostream& operator<<(std::ostream& lhs, PM100_FAULT_CODE fault) +{ + + switch(fault) + { + case Hardware_Gate_Desaturation_Fault: lhs << "Hardware_Gate_Desaturation_Fault"; break; + case HW_Over_current_Fault: lhs << "HW_Over_current_Fault"; break; + case Accelerator_Shorted: lhs << "Accelerator_Shorted"; break; + case Accelerator_Open: lhs << "Accelerator_Open"; break; + case Current_Sensor_Low: lhs << "Current_Sensor_Low"; break; + case Current_Sensor_High: lhs << "Current_Sensor_High"; break; + case Module_Temperature_Low: lhs << "Module_Temperature_Low"; break; + case Module_Temperature_High: lhs << "Module_Temperature_High"; break; + case Control_PCB_Temperature_Low: lhs << "Control_PCB_Temperature_Low"; break; + case Control_PCB_Temperature_High: lhs << "Control_PCB_Temperature_High"; break; + case Gate_Drive_PCB_Temperature_Low: lhs << "Gate_Drive_PCB_Temperature_Low"; break; + case Gate_Drive_PCB_Temperature_High: lhs << "Gate_Drive_PCB_Temperature_High"; break; + case Sense_Voltage_Low_5V: lhs << "Sense_Voltage_Low_5V"; break; + case Sense_Voltage_High_5V: lhs << "Sense_Voltage_High_5V"; break; + case Sense_Voltage_Low_12V: lhs << "Sense_Voltage_Low_12V"; break; + case Sense_Voltage_High_12V: lhs << "Sense_Voltage_High_12V"; break; + case Sense_Voltage_Low_2_5V: lhs << "Sense_Voltage_Low_2_5V"; break; + case Sense_Voltage_High_2_5V: lhs << "Sense_Voltage_High_2_5V"; break; + case Sense_Voltage_Low_1_5V: lhs << "Sense_Voltage_Low_1_5V"; break; + case Sense_Voltage_High_1_5V: lhs << "Sense_Voltage_High_1_5V"; break; + case DC_Bus_Voltage_High: lhs << "DC_Bus_Voltage_High"; break; + case DC_Bus_Voltage_Low: lhs << "DC_Bus_Voltage_Low"; break; + case Pre_charge_Timeout: lhs << "Pre_charge_Timeout"; break; + case Pre_charge_Voltage_Failure: lhs << "Pre_charge_Voltage_Failure"; break; + case EEPROM_Checksum_Invalid: lhs << "EEPROM_Checksum_Invalid"; break; + case EEPROM_Data_Out_of_Range: lhs << "EEPROM_Data_Out_of_Range"; break; + case EEPROM_Update_Required: lhs << "EEPROM_Update_Required"; break; + case RESERVED_1: lhs << "RESERVED_1"; break; + case RESERVED_2: lhs << "RESERVED_2"; break; + case RESERVED_3: lhs << "RESERVED_3"; break; + case Brake_Shorted: lhs << "Brake_Shorted"; break; + case Brake_Open: lhs << "Brake_Open"; break; + case Motor_Over_speed_Fault: lhs << "Motor_Over_speed_Fault"; break; + case Over_current_Fault: lhs << "Over_current_Fault"; break; + case Over_voltage_Fault: lhs << "Over_voltage_Fault"; break; + case Inverter_Over_temperature_Fault: lhs << "Inverter_Over_temperature_Fault"; break; + case Accelerator_Input_Shorted_Fault: lhs << "Accelerator_Input_Shorted_Fault"; break; + case Accelerator_Input_Open_Fault: lhs << "Accelerator_Input_Open_Fault"; break; + case Direction_Command_Fault: lhs << "Direction_Command_Fault"; break; + case Inverter_Response_Time_out_Fault: lhs << "Inverter_Response_Time_out_Fault"; break; + case Hardware_Gate_Desaturation_RUN_Fault: lhs << "Hardware_Gate_Desaturation_RUN_Fault"; break; + case Hardware_Over_current_Fault: lhs << "Hardware_Over_current_Fault"; break; + case Under_voltage_Fault: lhs << "Under_voltage_Fault"; break; + case CAN_Command_Message_Lost_Fault: lhs << "CAN_Command_Message_Lost_Fault"; break; + case Motor_Over_temperature_Fault: lhs << "Motor_Over_temperature_Fault"; break; + case RESERVED_4: lhs << "RESERVED_4"; break; + case RESERVED_5: lhs << "RESERVED_5"; break; + case RESERVED_6: lhs << "RESERVED_6"; break; + case Brake_Input_Shorted_Fault: lhs << "Brake_Input_Shorted_Fault"; break; + case Brake_Input_Open_Fault: lhs << "Brake_Input_Open_Fault"; break; + case Module_A_Over_temperature_Fault: lhs << "Module_A_Over_temperature_Fault"; break; + case Module_B_Over_temperature_Fault: lhs << "Module_B_Over_temperature_Fault"; break; + case Module_C_Over_temperature_Fault: lhs << "Module_C_Over_temperature_Fault"; break; + case PCB_Over_temperature_Fault: lhs << "PCB_Over_temperature_Fault"; break; + case Gate_Drive_Board_1_Over_temperature_Fault: lhs << "Gate_Drive_Board_1_Over_temperature_Fault"; break; + case Gate_Drive_Board_2_Over_temperature_Fault: lhs << "Gate_Drive_Board_2_Over_temperature_Fault"; break; + case Gate_Drive_Board_3_Over_temperature_Fault: lhs << "Gate_Drive_Board_3_Over_temperature_Fault"; break; + case Current_Sensor_Fault: lhs << "Current_Sensor_Fault"; break; + case RESERVED_7: lhs << "RESERVED_7"; break; + case Hardware_Over_Voltage_Fault: lhs << "Hardware_Over_Voltage_Fault"; break; + case RESERVED_8: lhs << "RESERVED_8"; break; + case RESERVED_9: lhs << "RESERVED_9"; break; + case Resolver_Not_Connected: lhs << "Resolver_Not_Connected"; break; + case Inverter_Discharge_Active: lhs << "Inverter_Discharge_Active"; break; + case NOT_FAULT_CAN_MSSG: lhs << "ERROR - This CAN Message is NOT for FAULT CODES!"; break; + } + + return lhs; +} + + + +int return_fault_index_val( PM100_FAULT_CODE fault ) +{ + int index_value = fault; + return index_value; +} + + + +std::vector<PM100_FAULT_CODE> broadcast_message::read_fault_codes_VER_2( int CAN_mssg[9] ) +{ + //extract the CAN ID & define return vector of fault codes + int CAN_ID = CAN_mssg[0]; + vector<PM100_FAULT_CODE> faults_found; + PM100_FAULT_CODE fault; + + //check if CAN message is FAULT message + if( CAN_ID != 0x0AB ) + { + cout << NOT_FAULT_CAN_MSSG; + faults_found.push_back( NOT_FAULT_CAN_MSSG ); + } + else if( CAN_ID == 0x0AB ) + { + int fault_code_index = 0; //var used for indexing fault code array + + //here we'll loop 8 times, analyze each CAN data byte + for( int i = 1; i < 9; i++ ) + { + int byte_i = CAN_mssg[i]; + cout << "Byte " << i << " Faults: " << endl; + + //vars to check each bit of current byte + int current_bit; + int int_to_binary = byte_i; + for( int i = 0; i < 8; i++ ) + { + current_bit = int_to_binary % 2; + int_to_binary = int_to_binary / 2; + + if( current_bit ) + { + fault = FAULT_CODE_ARRAY[ fault_code_index + i ]; + cout << " " << fault << " -- Fault #" << return_fault_index_val( fault ) << endl; + faults_found.push_back( fault ); + } + } + + fault_code_index = fault_code_index + 8; + } + } + + return faults_found; +} + + + int main() { cout << "Testing print_vms_state function: " << endl; @@ -226,8 +448,10 @@ int main() cout << "\n\nThe VSM State retrieved from the CAN Message is: " << CAN_MSSG_VSM_STATE << endl; cout << "Value of VSM State: " << return_vsm_state_val(CAN_MSSG_VSM_STATE) << endl; + /////////////////////////////////////////////////////////////////////////////////////////////// + cout << "\n\n\nTesting print_inverter_state function: " << endl; inverter_state CAN_MSSG_INVERTER_STATE; @@ -250,8 +474,10 @@ int main() cout << "\nThe Inverter State retrieved from the CAN Message is: " << CAN_MSSG_INVERTER_STATE << endl; cout << "Value of Inverter State: " << return_inverter_state_val(CAN_MSSG_INVERTER_STATE) << endl; + /////////////////////////////////////////////////////////////////////////////////////////////// + cout << "\n\n\nTesting disable_broadcast_message function: " << endl; int test_msg[9] = {0x0C1, 148, 0, 1, 0, 0xFF, 0xFF, 0xFF, 0xFF}; @@ -269,4 +495,48 @@ int main() for (int i = 1; i < 9; i++) cout << ", " << test_msg[i]; cout << " }\n" << endl; -} \ No newline at end of file + + + /////////////////////////////////////////////////////////////////////////////////////////////// + + + cout << "----------------------------------------------------------------" << endl; + cout << "- -" << endl; + cout << "- CAN PM100 -" << endl; + cout << "- Fault Code Function Testing -" << endl; + cout << "- -" << endl; + cout << "- -" << endl; + cout << "- -" << endl; + cout << "----------------------------------------------------------------\n" << endl; + + cout << "< Hello there! Here we'll test out reading Fault Codes from the PM100 >" << endl; + cout << "< >" << endl; + cout << "< >" << endl; + cout << "< >\n" << endl; + + cout << "< The CAN message we're testing is: >" << endl; + + broadcast_message testing_class; + int test_message_2[9] = { 0x0AB, 128, 32, 0, 0, 0, 0, 2, 0 }; + + cout << "< {"; + for ( int i = 0; i < 8; i++ ) + { + /* + if(i == 0) + { + cout << " 0x0" << hex << test_message_2[i] << ","; + continue; + } + */ + cout << " " << test_message_2[i] << ","; + } + cout << " }\n" << endl; + + vector<PM100_FAULT_CODE> returned_faults_vector; + returned_faults_vector = testing_class.read_fault_codes_VER_2( test_message_2 ); + + + + +} From b808732d61833a36bd944f413428ae0567bec245 Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Fri, 3 Sep 2021 23:05:19 -0400 Subject: [PATCH 32/35] fixed weird white-space indexing --- Serial-CAN-Bus/BROADCAST_MESSAGE.cpp | 275 +++++++++++++-------------- 1 file changed, 136 insertions(+), 139 deletions(-) diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp index 20950ad..8edc713 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp @@ -291,85 +291,84 @@ PM100_FAULT_CODE FAULT_CODE_ARRAY[65] = { std::ostream& operator<<(std::ostream& lhs, PM100_FAULT_CODE fault) { - - switch(fault) + switch(fault) { - case Hardware_Gate_Desaturation_Fault: lhs << "Hardware_Gate_Desaturation_Fault"; break; - case HW_Over_current_Fault: lhs << "HW_Over_current_Fault"; break; - case Accelerator_Shorted: lhs << "Accelerator_Shorted"; break; - case Accelerator_Open: lhs << "Accelerator_Open"; break; - case Current_Sensor_Low: lhs << "Current_Sensor_Low"; break; - case Current_Sensor_High: lhs << "Current_Sensor_High"; break; - case Module_Temperature_Low: lhs << "Module_Temperature_Low"; break; - case Module_Temperature_High: lhs << "Module_Temperature_High"; break; - case Control_PCB_Temperature_Low: lhs << "Control_PCB_Temperature_Low"; break; - case Control_PCB_Temperature_High: lhs << "Control_PCB_Temperature_High"; break; - case Gate_Drive_PCB_Temperature_Low: lhs << "Gate_Drive_PCB_Temperature_Low"; break; - case Gate_Drive_PCB_Temperature_High: lhs << "Gate_Drive_PCB_Temperature_High"; break; - case Sense_Voltage_Low_5V: lhs << "Sense_Voltage_Low_5V"; break; - case Sense_Voltage_High_5V: lhs << "Sense_Voltage_High_5V"; break; - case Sense_Voltage_Low_12V: lhs << "Sense_Voltage_Low_12V"; break; - case Sense_Voltage_High_12V: lhs << "Sense_Voltage_High_12V"; break; - case Sense_Voltage_Low_2_5V: lhs << "Sense_Voltage_Low_2_5V"; break; - case Sense_Voltage_High_2_5V: lhs << "Sense_Voltage_High_2_5V"; break; - case Sense_Voltage_Low_1_5V: lhs << "Sense_Voltage_Low_1_5V"; break; - case Sense_Voltage_High_1_5V: lhs << "Sense_Voltage_High_1_5V"; break; - case DC_Bus_Voltage_High: lhs << "DC_Bus_Voltage_High"; break; - case DC_Bus_Voltage_Low: lhs << "DC_Bus_Voltage_Low"; break; - case Pre_charge_Timeout: lhs << "Pre_charge_Timeout"; break; - case Pre_charge_Voltage_Failure: lhs << "Pre_charge_Voltage_Failure"; break; - case EEPROM_Checksum_Invalid: lhs << "EEPROM_Checksum_Invalid"; break; - case EEPROM_Data_Out_of_Range: lhs << "EEPROM_Data_Out_of_Range"; break; - case EEPROM_Update_Required: lhs << "EEPROM_Update_Required"; break; - case RESERVED_1: lhs << "RESERVED_1"; break; - case RESERVED_2: lhs << "RESERVED_2"; break; - case RESERVED_3: lhs << "RESERVED_3"; break; - case Brake_Shorted: lhs << "Brake_Shorted"; break; - case Brake_Open: lhs << "Brake_Open"; break; - case Motor_Over_speed_Fault: lhs << "Motor_Over_speed_Fault"; break; - case Over_current_Fault: lhs << "Over_current_Fault"; break; - case Over_voltage_Fault: lhs << "Over_voltage_Fault"; break; - case Inverter_Over_temperature_Fault: lhs << "Inverter_Over_temperature_Fault"; break; - case Accelerator_Input_Shorted_Fault: lhs << "Accelerator_Input_Shorted_Fault"; break; - case Accelerator_Input_Open_Fault: lhs << "Accelerator_Input_Open_Fault"; break; - case Direction_Command_Fault: lhs << "Direction_Command_Fault"; break; - case Inverter_Response_Time_out_Fault: lhs << "Inverter_Response_Time_out_Fault"; break; - case Hardware_Gate_Desaturation_RUN_Fault: lhs << "Hardware_Gate_Desaturation_RUN_Fault"; break; - case Hardware_Over_current_Fault: lhs << "Hardware_Over_current_Fault"; break; - case Under_voltage_Fault: lhs << "Under_voltage_Fault"; break; - case CAN_Command_Message_Lost_Fault: lhs << "CAN_Command_Message_Lost_Fault"; break; - case Motor_Over_temperature_Fault: lhs << "Motor_Over_temperature_Fault"; break; - case RESERVED_4: lhs << "RESERVED_4"; break; - case RESERVED_5: lhs << "RESERVED_5"; break; - case RESERVED_6: lhs << "RESERVED_6"; break; - case Brake_Input_Shorted_Fault: lhs << "Brake_Input_Shorted_Fault"; break; - case Brake_Input_Open_Fault: lhs << "Brake_Input_Open_Fault"; break; - case Module_A_Over_temperature_Fault: lhs << "Module_A_Over_temperature_Fault"; break; - case Module_B_Over_temperature_Fault: lhs << "Module_B_Over_temperature_Fault"; break; - case Module_C_Over_temperature_Fault: lhs << "Module_C_Over_temperature_Fault"; break; - case PCB_Over_temperature_Fault: lhs << "PCB_Over_temperature_Fault"; break; - case Gate_Drive_Board_1_Over_temperature_Fault: lhs << "Gate_Drive_Board_1_Over_temperature_Fault"; break; - case Gate_Drive_Board_2_Over_temperature_Fault: lhs << "Gate_Drive_Board_2_Over_temperature_Fault"; break; - case Gate_Drive_Board_3_Over_temperature_Fault: lhs << "Gate_Drive_Board_3_Over_temperature_Fault"; break; - case Current_Sensor_Fault: lhs << "Current_Sensor_Fault"; break; - case RESERVED_7: lhs << "RESERVED_7"; break; - case Hardware_Over_Voltage_Fault: lhs << "Hardware_Over_Voltage_Fault"; break; - case RESERVED_8: lhs << "RESERVED_8"; break; - case RESERVED_9: lhs << "RESERVED_9"; break; - case Resolver_Not_Connected: lhs << "Resolver_Not_Connected"; break; - case Inverter_Discharge_Active: lhs << "Inverter_Discharge_Active"; break; - case NOT_FAULT_CAN_MSSG: lhs << "ERROR - This CAN Message is NOT for FAULT CODES!"; break; - } - - return lhs; + case Hardware_Gate_Desaturation_Fault: lhs << "Hardware_Gate_Desaturation_Fault"; break; + case HW_Over_current_Fault: lhs << "HW_Over_current_Fault"; break; + case Accelerator_Shorted: lhs << "Accelerator_Shorted"; break; + case Accelerator_Open: lhs << "Accelerator_Open"; break; + case Current_Sensor_Low: lhs << "Current_Sensor_Low"; break; + case Current_Sensor_High: lhs << "Current_Sensor_High"; break; + case Module_Temperature_Low: lhs << "Module_Temperature_Low"; break; + case Module_Temperature_High: lhs << "Module_Temperature_High"; break; + case Control_PCB_Temperature_Low: lhs << "Control_PCB_Temperature_Low"; break; + case Control_PCB_Temperature_High: lhs << "Control_PCB_Temperature_High"; break; + case Gate_Drive_PCB_Temperature_Low: lhs << "Gate_Drive_PCB_Temperature_Low"; break; + case Gate_Drive_PCB_Temperature_High: lhs << "Gate_Drive_PCB_Temperature_High"; break; + case Sense_Voltage_Low_5V: lhs << "Sense_Voltage_Low_5V"; break; + case Sense_Voltage_High_5V: lhs << "Sense_Voltage_High_5V"; break; + case Sense_Voltage_Low_12V: lhs << "Sense_Voltage_Low_12V"; break; + case Sense_Voltage_High_12V: lhs << "Sense_Voltage_High_12V"; break; + case Sense_Voltage_Low_2_5V: lhs << "Sense_Voltage_Low_2_5V"; break; + case Sense_Voltage_High_2_5V: lhs << "Sense_Voltage_High_2_5V"; break; + case Sense_Voltage_Low_1_5V: lhs << "Sense_Voltage_Low_1_5V"; break; + case Sense_Voltage_High_1_5V: lhs << "Sense_Voltage_High_1_5V"; break; + case DC_Bus_Voltage_High: lhs << "DC_Bus_Voltage_High"; break; + case DC_Bus_Voltage_Low: lhs << "DC_Bus_Voltage_Low"; break; + case Pre_charge_Timeout: lhs << "Pre_charge_Timeout"; break; + case Pre_charge_Voltage_Failure: lhs << "Pre_charge_Voltage_Failure"; break; + case EEPROM_Checksum_Invalid: lhs << "EEPROM_Checksum_Invalid"; break; + case EEPROM_Data_Out_of_Range: lhs << "EEPROM_Data_Out_of_Range"; break; + case EEPROM_Update_Required: lhs << "EEPROM_Update_Required"; break; + case RESERVED_1: lhs << "RESERVED_1"; break; + case RESERVED_2: lhs << "RESERVED_2"; break; + case RESERVED_3: lhs << "RESERVED_3"; break; + case Brake_Shorted: lhs << "Brake_Shorted"; break; + case Brake_Open: lhs << "Brake_Open"; break; + case Motor_Over_speed_Fault: lhs << "Motor_Over_speed_Fault"; break; + case Over_current_Fault: lhs << "Over_current_Fault"; break; + case Over_voltage_Fault: lhs << "Over_voltage_Fault"; break; + case Inverter_Over_temperature_Fault: lhs << "Inverter_Over_temperature_Fault"; break; + case Accelerator_Input_Shorted_Fault: lhs << "Accelerator_Input_Shorted_Fault"; break; + case Accelerator_Input_Open_Fault: lhs << "Accelerator_Input_Open_Fault"; break; + case Direction_Command_Fault: lhs << "Direction_Command_Fault"; break; + case Inverter_Response_Time_out_Fault: lhs << "Inverter_Response_Time_out_Fault"; break; + case Hardware_Gate_Desaturation_RUN_Fault: lhs << "Hardware_Gate_Desaturation_RUN_Fault"; break; + case Hardware_Over_current_Fault: lhs << "Hardware_Over_current_Fault"; break; + case Under_voltage_Fault: lhs << "Under_voltage_Fault"; break; + case CAN_Command_Message_Lost_Fault: lhs << "CAN_Command_Message_Lost_Fault"; break; + case Motor_Over_temperature_Fault: lhs << "Motor_Over_temperature_Fault"; break; + case RESERVED_4: lhs << "RESERVED_4"; break; + case RESERVED_5: lhs << "RESERVED_5"; break; + case RESERVED_6: lhs << "RESERVED_6"; break; + case Brake_Input_Shorted_Fault: lhs << "Brake_Input_Shorted_Fault"; break; + case Brake_Input_Open_Fault: lhs << "Brake_Input_Open_Fault"; break; + case Module_A_Over_temperature_Fault: lhs << "Module_A_Over_temperature_Fault"; break; + case Module_B_Over_temperature_Fault: lhs << "Module_B_Over_temperature_Fault"; break; + case Module_C_Over_temperature_Fault: lhs << "Module_C_Over_temperature_Fault"; break; + case PCB_Over_temperature_Fault: lhs << "PCB_Over_temperature_Fault"; break; + case Gate_Drive_Board_1_Over_temperature_Fault: lhs << "Gate_Drive_Board_1_Over_temperature_Fault"; break; + case Gate_Drive_Board_2_Over_temperature_Fault: lhs << "Gate_Drive_Board_2_Over_temperature_Fault"; break; + case Gate_Drive_Board_3_Over_temperature_Fault: lhs << "Gate_Drive_Board_3_Over_temperature_Fault"; break; + case Current_Sensor_Fault: lhs << "Current_Sensor_Fault"; break; + case RESERVED_7: lhs << "RESERVED_7"; break; + case Hardware_Over_Voltage_Fault: lhs << "Hardware_Over_Voltage_Fault"; break; + case RESERVED_8: lhs << "RESERVED_8"; break; + case RESERVED_9: lhs << "RESERVED_9"; break; + case Resolver_Not_Connected: lhs << "Resolver_Not_Connected"; break; + case Inverter_Discharge_Active: lhs << "Inverter_Discharge_Active"; break; + case NOT_FAULT_CAN_MSSG: lhs << "ERROR - This CAN Message is NOT for FAULT CODES!"; break; + } + + return lhs; } int return_fault_index_val( PM100_FAULT_CODE fault ) { - int index_value = fault; - return index_value; + int index_value = fault; + return index_value; } @@ -377,47 +376,47 @@ int return_fault_index_val( PM100_FAULT_CODE fault ) std::vector<PM100_FAULT_CODE> broadcast_message::read_fault_codes_VER_2( int CAN_mssg[9] ) { //extract the CAN ID & define return vector of fault codes - int CAN_ID = CAN_mssg[0]; - vector<PM100_FAULT_CODE> faults_found; - PM100_FAULT_CODE fault; - + int CAN_ID = CAN_mssg[0]; + vector<PM100_FAULT_CODE> faults_found; + PM100_FAULT_CODE fault; + //check if CAN message is FAULT message - if( CAN_ID != 0x0AB ) + if( CAN_ID != 0x0AB ) { - cout << NOT_FAULT_CAN_MSSG; - faults_found.push_back( NOT_FAULT_CAN_MSSG ); - } - else if( CAN_ID == 0x0AB ) + cout << NOT_FAULT_CAN_MSSG; + faults_found.push_back( NOT_FAULT_CAN_MSSG ); + } + else if( CAN_ID == 0x0AB ) { - int fault_code_index = 0; //var used for indexing fault code array + int fault_code_index = 0; //var used for indexing fault code array //here we'll loop 8 times, analyze each CAN data byte - for( int i = 1; i < 9; i++ ) + for( int i = 1; i < 9; i++ ) { - int byte_i = CAN_mssg[i]; - cout << "Byte " << i << " Faults: " << endl; + int byte_i = CAN_mssg[i]; + cout << "Byte " << i << " Faults: " << endl; - //vars to check each bit of current byte - int current_bit; - int int_to_binary = byte_i; - for( int i = 0; i < 8; i++ ) + //vars to check each bit of current byte + int current_bit; + int int_to_binary = byte_i; + for( int i = 0; i < 8; i++ ) { - current_bit = int_to_binary % 2; - int_to_binary = int_to_binary / 2; - - if( current_bit ) + current_bit = int_to_binary % 2; + int_to_binary = int_to_binary / 2; + + if( current_bit ) { - fault = FAULT_CODE_ARRAY[ fault_code_index + i ]; - cout << " " << fault << " -- Fault #" << return_fault_index_val( fault ) << endl; - faults_found.push_back( fault ); - } + fault = FAULT_CODE_ARRAY[ fault_code_index + i ]; + cout << " " << fault << " -- Fault #" << return_fault_index_val( fault ) << endl; + faults_found.push_back( fault ); + } } fault_code_index = fault_code_index + 8; - } - } + } + } - return faults_found; + return faults_found; } @@ -498,45 +497,43 @@ int main() /////////////////////////////////////////////////////////////////////////////////////////////// - - - cout << "----------------------------------------------------------------" << endl; - cout << "- -" << endl; - cout << "- CAN PM100 -" << endl; - cout << "- Fault Code Function Testing -" << endl; - cout << "- -" << endl; - cout << "- -" << endl; - cout << "- -" << endl; - cout << "----------------------------------------------------------------\n" << endl; - - cout << "< Hello there! Here we'll test out reading Fault Codes from the PM100 >" << endl; - cout << "< >" << endl; - cout << "< >" << endl; - cout << "< >\n" << endl; - - cout << "< The CAN message we're testing is: >" << endl; - - broadcast_message testing_class; - int test_message_2[9] = { 0x0AB, 128, 32, 0, 0, 0, 0, 2, 0 }; - - cout << "< {"; - for ( int i = 0; i < 8; i++ ) + + + cout << "----------------------------------------------------------------" << endl; + cout << "- -" << endl; + cout << "- CAN PM100 -" << endl; + cout << "- Fault Code Function Testing -" << endl; + cout << "- -" << endl; + cout << "- -" << endl; + cout << "- -" << endl; + cout << "----------------------------------------------------------------\n" << endl; + + cout << "< Hello there! Here we'll test out reading Fault Codes from the PM100 >" << endl; + cout << "< >" << endl; + cout << "< >" << endl; + cout << "< >\n" << endl; + + cout << "< The CAN message we're testing is: >" << endl; + + broadcast_message testing_class; + int test_message_2[9] = { 0x0AB, 128, 32, 0, 0, 0, 0, 2, 0 }; + + cout << "< {"; + for ( int i = 0; i < 8; i++ ) { - /* - if(i == 0) + /* + if(i == 0) { - cout << " 0x0" << hex << test_message_2[i] << ","; - continue; - } - */ - cout << " " << test_message_2[i] << ","; - } - cout << " }\n" << endl; - - vector<PM100_FAULT_CODE> returned_faults_vector; - returned_faults_vector = testing_class.read_fault_codes_VER_2( test_message_2 ); - - - - + cout << " 0x0" << hex << test_message_2[i] << ","; + continue; + } + */ + cout << " " << test_message_2[i] << ","; + } + cout << " }\n" << endl; + + vector<PM100_FAULT_CODE> returned_faults_vector; + returned_faults_vector = testing_class.read_fault_codes_VER_2( test_message_2 ); + + } From 2c442b96807918ff5e7a608e2ec5547f1acb33f4 Mon Sep 17 00:00:00 2001 From: pietrea2 <60241038+pietrea2@users.noreply.github.com> Date: Fri, 3 Sep 2021 23:12:46 -0400 Subject: [PATCH 33/35] Added read_fault_codes() function code --- Serial-CAN-Bus/BROADCAST_MESSAGE.h | 91 ++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.h b/Serial-CAN-Bus/BROADCAST_MESSAGE.h index b314c6b..1ce598a 100644 --- a/Serial-CAN-Bus/BROADCAST_MESSAGE.h +++ b/Serial-CAN-Bus/BROADCAST_MESSAGE.h @@ -3,6 +3,8 @@ //#include <C:\adam\utht\extra low level\COMMAND_MESSAGE.h> #include <COMMAND_MESSAGE.h> +#include <iostream> +#include <vector> // Reference 0x0AA - Internal States, Byte #0,1 typedef enum vsm_state @@ -73,6 +75,91 @@ typedef enum can_active_messages_hi_word CAN_COMMAND_MESSAGE } can_active_messages_hi_word; +//All types of Fault Codes +typedef enum fault_code +{ + //POST FAULTS + //Byte 0 + Hardware_Gate_Desaturation_Fault, + HW_Over_current_Fault, + Accelerator_Shorted, + Accelerator_Open, + Current_Sensor_Low, + Current_Sensor_High, + Module_Temperature_Low, + Module_Temperature_High, + //Byte 1 + Control_PCB_Temperature_Low, + Control_PCB_Temperature_High, + Gate_Drive_PCB_Temperature_Low, + Gate_Drive_PCB_Temperature_High, + Sense_Voltage_Low_5V, + Sense_Voltage_High_5V, + Sense_Voltage_Low_12V, + Sense_Voltage_High_12V, + //Byte 2 + Sense_Voltage_Low_2_5V, + Sense_Voltage_High_2_5V, + Sense_Voltage_Low_1_5V, + Sense_Voltage_High_1_5V, + DC_Bus_Voltage_High, + DC_Bus_Voltage_Low, + Pre_charge_Timeout, + Pre_charge_Voltage_Failure, + //Byte 3 + EEPROM_Checksum_Invalid, + EEPROM_Data_Out_of_Range, + EEPROM_Update_Required, + RESERVED_1, + RESERVED_2, + RESERVED_3, + Brake_Shorted, + Brake_Open, + //Byte 4 + //RUN FAULTS + Motor_Over_speed_Fault, + Over_current_Fault, + Over_voltage_Fault, + Inverter_Over_temperature_Fault, + Accelerator_Input_Shorted_Fault, + Accelerator_Input_Open_Fault, + Direction_Command_Fault, + Inverter_Response_Time_out_Fault, + //Byte 5 + Hardware_Gate_Desaturation_RUN_Fault, + Hardware_Over_current_Fault, + Under_voltage_Fault, + CAN_Command_Message_Lost_Fault, + Motor_Over_temperature_Fault, + RESERVED_4, + RESERVED_5, + RESERVED_6, + //Byte 6 + Brake_Input_Shorted_Fault, + Brake_Input_Open_Fault, + Module_A_Over_temperature_Fault, + Module_B_Over_temperature_Fault, + Module_C_Over_temperature_Fault, + PCB_Over_temperature_Fault, + Gate_Drive_Board_1_Over_temperature_Fault, + Gate_Drive_Board_2_Over_temperature_Fault, + //Byte 7 + Gate_Drive_Board_3_Over_temperature_Fault, + Current_Sensor_Fault, + RESERVED_7, + Hardware_Over_Voltage_Fault, + RESERVED_8, + RESERVED_9, + Resolver_Not_Connected, + Inverter_Discharge_Active, + + //Finally, error if the CAN mssg is NOT for fault codes + NOT_FAULT_CAN_MSSG + +} PM100_FAULT_CODE; + + + class broadcast_message { public: @@ -87,6 +174,10 @@ class broadcast_message friend int return_inverter_state_val(inverter_state state); void disable_broadcast_message(int CAN_mssg[9], int listOfMsgs); + + vector<PM100_FAULT_CODE> read_fault_codes_VER_2( int CAN_mssg[9] ); + friend ostream& operator<<( ostream& lhs, PM100_FAULT_CODE fault ); + friend int return_fault_index_val( PM100_FAULT_CODE fault ); }; #endif From 4c4a449b96633d10cc8968a173f9c671b1a52983 Mon Sep 17 00:00:00 2001 From: Jayden Lefebvre <jayden.lefebvre55@gmail.com> Date: Sat, 4 Sep 2021 14:01:35 -0400 Subject: [PATCH 34/35] Inverter Class --- .../Code Overview - Map.png | Bin Inverter/Inverter.ino | 129 +++++++++++++ {Serial-CAN-Bus => Inverter}/README.md | 0 .../old}/BROADCAST_FAULTS.cpp | 0 .../old}/BROADCAST_FAULTS.h | 0 .../old}/BROADCAST_MESSAGE.cpp | 0 .../old}/BROADCAST_MESSAGE.h | 0 .../old}/COMMAND_MESSAGE.cpp | 0 .../old}/COMMAND_MESSAGE.h | 0 Inverter/src/Actuator.h | 32 ++++ Inverter/src/Base.h | 32 ++++ Inverter/src/Inverter.cpp | 33 ++++ Inverter/src/Inverter.h | 36 ++++ Inverter/src/InverterDebug.cpp | 127 +++++++++++++ Inverter/src/InverterDebug.h | 176 ++++++++++++++++++ Inverter/src/Sensor.h | 69 +++++++ .../src/Serial_CAN_Module.cpp | 2 +- .../src/Serial_CAN_Module.h | 0 .../tests}/recv_basic_test.ino | 0 .../tests}/recv_mask_filt_test_2.ino | 0 .../tests}/send_basic_test.ino | 0 .../tests}/send_mask_filt_test_2.ino | 0 Sensor.h | 3 +- 23 files changed, 637 insertions(+), 2 deletions(-) rename {Serial-CAN-Bus => Inverter}/Code Overview - Map.png (100%) create mode 100644 Inverter/Inverter.ino rename {Serial-CAN-Bus => Inverter}/README.md (100%) rename {Serial-CAN-Bus => Inverter/old}/BROADCAST_FAULTS.cpp (100%) rename {Serial-CAN-Bus => Inverter/old}/BROADCAST_FAULTS.h (100%) rename {Serial-CAN-Bus => Inverter/old}/BROADCAST_MESSAGE.cpp (100%) rename {Serial-CAN-Bus => Inverter/old}/BROADCAST_MESSAGE.h (100%) rename {Serial-CAN-Bus => Inverter/old}/COMMAND_MESSAGE.cpp (100%) rename {Serial-CAN-Bus => Inverter/old}/COMMAND_MESSAGE.h (100%) create mode 100644 Inverter/src/Actuator.h create mode 100644 Inverter/src/Base.h create mode 100644 Inverter/src/Inverter.cpp create mode 100644 Inverter/src/Inverter.h create mode 100644 Inverter/src/InverterDebug.cpp create mode 100644 Inverter/src/InverterDebug.h create mode 100644 Inverter/src/Sensor.h rename Serial-CAN-Bus/libraries/Serial_CAN_Module_2.cpp => Inverter/src/Serial_CAN_Module.cpp (99%) rename Serial-CAN-Bus/libraries/Serial_CAN_Module_2.h => Inverter/src/Serial_CAN_Module.h (100%) rename {Serial-CAN-Bus => Inverter/tests}/recv_basic_test.ino (100%) rename {Serial-CAN-Bus => Inverter/tests}/recv_mask_filt_test_2.ino (100%) rename {Serial-CAN-Bus => Inverter/tests}/send_basic_test.ino (100%) rename {Serial-CAN-Bus => Inverter/tests}/send_mask_filt_test_2.ino (100%) diff --git a/Serial-CAN-Bus/Code Overview - Map.png b/Inverter/Code Overview - Map.png similarity index 100% rename from Serial-CAN-Bus/Code Overview - Map.png rename to Inverter/Code Overview - Map.png diff --git a/Inverter/Inverter.ino b/Inverter/Inverter.ino new file mode 100644 index 0000000..0fca4f9 --- /dev/null +++ b/Inverter/Inverter.ino @@ -0,0 +1,129 @@ +// Headers for each sensor type +#include "src/InverterDebug.h" +//... +#include "src/Inverter.h" + +#include "src/Serial_CAN_Module.h" + +#include "Base.h" +#include "Sensor.h" +#include "Actuator.h" +#define NUMSENSORS 1 //Or however many +#define NUMACTUATORS 1 //Or however many +#define BAUDRATE 115200 +#define THISARDUINO ARDUINO_ONE + +#define CANBAUD 9600 +#define CANTX 10 +#define CANRX 11 + +Serial_CAN canbus(); + +// Objects for each sensor +InverterDebug inverterDebug(&canbus, THISARDUINO); +//... +Inverter inverter(&canbus, THISARDUINO); +//... + +Sensor* sensors[NUMSENSORS] = { + &inverterDebug +}; + +Actuator* actuators[NUMACTUATORS] = { + &inverter +}; + +// !#!#!#!--- EVERYTHING AFTER HERE DOES NOT NEED TO BE CHANGED FOR SENSOR IMPLEMENTATION ---!#!#!#! + +void setup(){ + Serial.begin(BAUDRATE); + canbus.begin(CANTX, CANRX, CANBAUD); + + bool success = true; + for(int i = 0; i < NUMSENSORS; i++){ + SensorState* state = sensors[i]->begin(); + // Print/send sensor post-setup state data here. For example: + bool _success = (state->error == ERR_NONE); + if(_success){ + Serial.print("Sensor "); + Serial.print(sensors[i]->sensor); + Serial.println(" initialized."); + } else { + Serial.print("Sensor "); + Serial.print(sensors[i]->sensor); + Serial.println(" failed to initialize!"); + } + success &= _success; + } + for(int i = 0; i < NUMACTUATORS; i++){ + ActuatorState* state = actuators[i]->begin(); + // Print/send sensor post-setup state data here. For example: + bool _success = (state->error == ERR_NONE); + if(_success){ + Serial.print("Actuator "); + Serial.print(actuators[i]->actuator); + Serial.print(" initialized. "); + + state = actuators[i]->update(); // Initial set to default target + _success = (state->error == ERR_NONE); + if(_success){ + Serial.print("Set to "); + Serial.println(state->target); + } else { + Serial.print("\nActuator "); + Serial.print(sensors[i]->sensor); + Serial.println(" failed to set!"); + } + } else { + Serial.print("Actuator "); + Serial.print(sensors[i]->sensor); + Serial.println(" failed to initialize!"); + } + success &= _success; + } + if(!success){ + Serial.println("POST failed on one or more devices, freezing..."); + while(1){delay(1000);} + } +} + +void loop(){ + for(int i = 0; i < NUMSENSORS; i++){ + SensorState* state = sensors[i]->update(); + // Print/send sensor post-setup state data here. For example: + bool _success = (state->error == ERR_NONE); + bool _new = (state->debug == DS_SUCCESS); + if(_success && _new) { + Serial.print("Sensor "); + Serial.print(sensors[i]->sensor); + Serial.print(" read success: "); + for(int x = 0; x < state->numdata; x++) { + Serial.print(state->data[x].data); + Serial.print(' '); + Serial.print(state->data[x].units); + if(x < state->numdata-1){Serial.print(", ");} + } + } else if (!_success) { + Serial.print("Sensor "); + Serial.print(sensors[i]->sensor); + Serial.println(" failed to update!"); + // TODO: Recover failed sensor? + } + } + for(int i = 0; i < NUMACTUATORS; i++){ + ActuatorState* state = actuators[i]->update(); + + bool _success = (state->error == ERR_NONE) && (state->debug == DS_SUCCESS); + if(_success){ + Serial.print("Actuator "); + Serial.print(actuators[i]->actuator); + Serial.print(" set success: "); + Serial.println(state->target); + } else { + Serial.print("Actuator "); + Serial.print(actuators[i]->actuator); + Serial.println(" failed to set!"); + // TODO: Recover failed sensor? + } + } +} \ No newline at end of file diff --git a/Serial-CAN-Bus/README.md b/Inverter/README.md similarity index 100% rename from Serial-CAN-Bus/README.md rename to Inverter/README.md diff --git a/Serial-CAN-Bus/BROADCAST_FAULTS.cpp b/Inverter/old/BROADCAST_FAULTS.cpp similarity index 100% rename from Serial-CAN-Bus/BROADCAST_FAULTS.cpp rename to Inverter/old/BROADCAST_FAULTS.cpp diff --git a/Serial-CAN-Bus/BROADCAST_FAULTS.h b/Inverter/old/BROADCAST_FAULTS.h similarity index 100% rename from Serial-CAN-Bus/BROADCAST_FAULTS.h rename to Inverter/old/BROADCAST_FAULTS.h diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.cpp b/Inverter/old/BROADCAST_MESSAGE.cpp similarity index 100% rename from Serial-CAN-Bus/BROADCAST_MESSAGE.cpp rename to Inverter/old/BROADCAST_MESSAGE.cpp diff --git a/Serial-CAN-Bus/BROADCAST_MESSAGE.h b/Inverter/old/BROADCAST_MESSAGE.h similarity index 100% rename from Serial-CAN-Bus/BROADCAST_MESSAGE.h rename to Inverter/old/BROADCAST_MESSAGE.h diff --git a/Serial-CAN-Bus/COMMAND_MESSAGE.cpp b/Inverter/old/COMMAND_MESSAGE.cpp similarity index 100% rename from Serial-CAN-Bus/COMMAND_MESSAGE.cpp rename to Inverter/old/COMMAND_MESSAGE.cpp diff --git a/Serial-CAN-Bus/COMMAND_MESSAGE.h b/Inverter/old/COMMAND_MESSAGE.h similarity index 100% rename from Serial-CAN-Bus/COMMAND_MESSAGE.h rename to Inverter/old/COMMAND_MESSAGE.h diff --git a/Inverter/src/Actuator.h b/Inverter/src/Actuator.h new file mode 100644 index 0000000..37d7675 --- /dev/null +++ b/Inverter/src/Actuator.h @@ -0,0 +1,32 @@ +#ifndef Actuator_H +#define Actuator_H + +#include "Base.h" + +// Actuator identifiers +typedef enum actuators_t { + A_BRAKES, + A_INVERTER +} actuators_t; + +typedef struct ActuatorState { + errorlevel_t error; + debuglevel_t debug; + float target; +} ActuatorState; + +class Actuator{ + protected: + virtual errorlevel_t set(float target) = 0; + virtual errorlevel_t init() = 0; + ActuatorState state; + public: + arduino_t arduino; + actuators_t actuator; + float failtarget; // what should we default to in case of failure? + Actuator(actuators_t actuator, arduino_t arduino, float failtarget); + ActuatorState* update(); + ActuatorState* begin(); +}; + +#endif \ No newline at end of file diff --git a/Inverter/src/Base.h b/Inverter/src/Base.h new file mode 100644 index 0000000..623ae26 --- /dev/null +++ b/Inverter/src/Base.h @@ -0,0 +1,32 @@ +#ifndef BASE_H +#define BASE_H + +#include "Arduino.h" +#include "stdlib.h" + +// Arduino identifiers +typedef enum arduino_t { + ARDUINO_ONE, + ARDUINO_TWO, + ARDUINO_THREE +} arduino_t; + +// Degree of error occurred +// TODO: Maybe add more specific codes? (i.e. hardware/wiring fail, comms/protocol fail, etc.) +typedef enum errorlevel_t { + ERR_NONE, + ERR_WARN, + ERR_FAIL //NOTE: Implies debug level 'DISABLED' +} errorlevel_t; + +// General state - On fail != 0, what state did it last complete successfully? +typedef enum debuglevel_t { + //NOTE: The various debug states imply the value of cache.state.data as follows: + DS_DISABLED, //NULL + DS_INIT, //NULL + // DS_CALIBRATING, //NULL if first time, otherwise unknown + DS_WAITING, //NOT NULL, age > 0 + DS_SUCCESS //NOT NULL, age == 0 +} debuglevel_t; + +#endif \ No newline at end of file diff --git a/Inverter/src/Inverter.cpp b/Inverter/src/Inverter.cpp new file mode 100644 index 0000000..ffdb9db --- /dev/null +++ b/Inverter/src/Inverter.cpp @@ -0,0 +1,33 @@ +#include "Actuator.h" +#include "Inverter.h" + +Inverter::Inverter(Serial_CAN* CANBus, arduino_t arduino) : Actuator(A_INVERTER, arduino, 0) { + this->CANBus = CANBus; +} + +int* create_command_message (message_type command, float value, inverter_direction direction, inverter_enable enable){ + int data_high_byte; + int data_low_byte; + + if(command == COMMAND_TOURQUE_M){ + if(value >= 0){ + data_low_byte = int(value * 10) % 256; + data_high_byte = int(value * 10) / 256; + } else{ + data_low_byte = ( int(value * 10) & 255 ); + data_high_byte = ( int(value * 10) & 65280 ) >> 8; + } + + static int can_data_bytes[8] = { data_low_byte, data_high_byte, 0, 0, direction, enable, 0, 0 }; + + return can_data_bytes; + } else if(command == COMMAND_SPEED_M){ + + data_low_byte = int(value) % 256; + data_high_byte = value / 256; + + static int can_data_bytes[8] = { 0, 0, data_low_byte, data_high_byte, direction, enable, 0, 0 }; + + return can_data_bytes; + } +} \ No newline at end of file diff --git a/Inverter/src/Inverter.h b/Inverter/src/Inverter.h new file mode 100644 index 0000000..755b7ba --- /dev/null +++ b/Inverter/src/Inverter.h @@ -0,0 +1,36 @@ +#ifndef INVERTER_H +#define INVERTER_H + +#include "Actuator.h" +#include "Serial_CAN_Module.h" + +//types of CAN messages +typedef enum m_type { + BROADCAST_M, + COMMAND_TOURQUE_M, + COMMAND_SPEED_M +} message_type; + +// COMMAND + +//command message variables for inverter +typedef enum i_direction { + REVERSE, //clock-wise + FORWARD //counter-clock-wise +} inverter_direction; + +typedef enum i_enable { + DISABLE, + ENABLE +} inverter_enable; + +class Inverter : public Actuator { + public: + Inverter(Serial_CAN* CANBus, arduino_t arduino); + private: + Serial_CAN* CANBus; + errorlevel_t set(float target) override; + errorlevel_t init() override; +}; + +#endif \ No newline at end of file diff --git a/Inverter/src/InverterDebug.cpp b/Inverter/src/InverterDebug.cpp new file mode 100644 index 0000000..81dec18 --- /dev/null +++ b/Inverter/src/InverterDebug.cpp @@ -0,0 +1,127 @@ +#include "Sensor.h" +#include "InverterDebug.h" + +InverterDebug::InverterDebug(Serial_CAN* CANBus, arduino_t arduino) : Sensor(S_INVERTERDEBUG, arduino, 1000) { + this->CANBus = CANBus; +} + +InverterDebug::init(){ + return ERR_NONE; +} + +errorlevel_t InverterDebug::read(t_datum* data, uint8_t numdata){ + // TODO: Get can message + int msg[9] = {0,0,0,0,0,0,0,0,0}; + data[0].data = read_vsm_state(msg); + data[1].data = read_inverter_state(msg); + data[2].data = read_fault_codes(msg); + // TODO: fault triggers return error + return ERR_NONE; +} + +vsm_state read_vsm_state(int CAN_msg[9]) +{ + if (CAN_msg[0] != 0x0AA || !((CAN_msg[2] >= 0 && CAN_msg[2] <= 7) || CAN_msg[2] == 14 || CAN_msg[2] == 15)){ + // cout << "Message CAN ID is not 0x0AA, this is NOT a VSM message" << endl; + return NOT_A_VSM_STATE; + } + return (vsm_state)CAN_msg[2]; +} + +inverter_state read_inverter_state(int CAN_msg[9]) +{ + if (CAN_msg[0] != 0x0AA || !((CAN_msg[3] >=0 && CAN_msg[3] <= 4) || CAN_msg[3] == 8 || CAN_msg[3] == 9)) + { + // cout << "Message CAN ID is not 0xAA, this is NOT an inverter" << endl; + return NOT_AN_INVERTER_STATE; + } + + return (inverter_state)CAN_msg[3]; +} + +/* Disable one or more messages at a time + * Example usage: disable_broadcast_message(test_msg, TEMPERATURE_2 | CURRENT_INFORMATION | DIAG_DATA); + */ +void disable_broadcast_message(int CAN_msg[9], int listOfMsgs) +{ + if (CAN_msg[0] != 0x0C1 || CAN_msg[1] != 148) // CAN ID + { + // cout << "Message CAN Address is not 0x0C1" << endl; + // cout << "Message Parameter Address is not 148" << endl; + return; + } + + int loWord = (CAN_msg[6] << 8) | CAN_msg[5]; // loWord = [6] concatenated with [5] + + if ((TEMPERATURE_1 & listOfMsgs) == TEMPERATURE_1) + loWord &= ~(1U); + if ((TEMPERATURE_2 & listOfMsgs) == TEMPERATURE_2) + loWord &= ~(1U << 1); + if ((TEMPERATURE_3 & listOfMsgs) == TEMPERATURE_3) + loWord &= ~(1U << 2); + if ((ANALOG_INPUT_VOLTAGES & listOfMsgs) == ANALOG_INPUT_VOLTAGES) + loWord &= ~(1U << 3); + if ((DIGITAL_INPUT_STATUS & listOfMsgs) == DIGITAL_INPUT_STATUS) + loWord &= ~(1U << 4); + if ((MOTOR_POSITION_INFORMATION & listOfMsgs) == MOTOR_POSITION_INFORMATION) + loWord &= ~(1U << 5); + if ((CURRENT_INFORMATION & listOfMsgs) == CURRENT_INFORMATION) + loWord &= ~(1U << 6); + if ((VOLTAGE_INFORMATION & listOfMsgs) == VOLTAGE_INFORMATION) + loWord &= ~(1U << 7); + if ((FLUX_INFORMATION & listOfMsgs) == FLUX_INFORMATION) + loWord &= ~(1U << 8); + if ((INTERNAL_VOLTAGES & listOfMsgs) == INTERNAL_VOLTAGES) + loWord &= ~(1U << 9); + if ((INTERNAL_STATES & listOfMsgs) == INTERNAL_STATES) + loWord &= ~(1U << 10); + if ((FAULT_CODES & listOfMsgs) == FAULT_CODES) + loWord &= ~(1U << 11); + if ((TORQUE_AND_TIMER_INFORMATION & listOfMsgs) == TORQUE_AND_TIMER_INFORMATION) + loWord &= ~(1U << 12); + if ((MOD_INDEX_FLUX_WEAKENING_OUTPUT_INFO & listOfMsgs) == MOD_INDEX_FLUX_WEAKENING_OUTPUT_INFO) + loWord &= ~(1U << 13); + if ((FIRMWARE_INFORMATION & listOfMsgs) == FIRMWARE_INFORMATION) + loWord &= ~(1U << 14); + if ((DIAG_DATA & listOfMsgs) == DIAG_DATA) + loWord &= ~(1U << 15); + + // Separate loWord back into two bytes + CAN_msg[5] = loWord & 0xFF; + CAN_msg[6] = (loWord >> 8) & 0xFF; +} + +int64_t read_fault_codes(int CAN_msg[9]) { + //extract the CAN ID & define return vector of fault codes + int CAN_ID = CAN_msg[0]; + int64_t faults; + + //check if CAN message is FAULT message + if( CAN_ID != 0x0AB ){ + faults |= 1UL << 64; + } else if( CAN_ID == 0x0AB ){ + int fault_byte = 0; //var used for indexing fault code array + + //here we'll loop 8 times, analyze each CAN data byte + for( int msgbyte = 0; msgbyte < 8; msgbyte++ ) + { + int byte_i = CAN_msg[msgbyte]; + + //vars to check each bit of current byte + int current_bit; + int int_to_binary = byte_i; + for( int i = 0; i < 8; i++ ){ + current_bit = int_to_binary % 2; + int_to_binary = int_to_binary / 2; + + if( current_bit ){ + faults |= 1UL << (fault_byte*8 + i); + } + } + + fault_byte++; + } + } + + return faults; +} \ No newline at end of file diff --git a/Inverter/src/InverterDebug.h b/Inverter/src/InverterDebug.h new file mode 100644 index 0000000..de65ce4 --- /dev/null +++ b/Inverter/src/InverterDebug.h @@ -0,0 +1,176 @@ +#ifndef INVERTERDEBUG_H +#define INVERTERDEBUG_H + +#include "Sensor.h" +#include "Serial_CAN_Module.h" + +//types of CAN messages +typedef enum m_type { + BROADCAST_M, + COMMAND_TOURQUE_M, + COMMAND_SPEED_M +} message_type; + +// BROADCAST + +typedef enum vsm_state +{ + VSM_START, + PRE_CHARGE_INIT, + PRE_CHARGE_ACTIVE, + PRE_CHARGE_COMPLETE, + VSM_WAIT, + VSM_READY, + MOTOR_RUNNING, + BLINK_FAULT_CODE, + SHUTDOWN_IN_PROGRESS = 14, + RECYCLE_POWER, + NOT_A_VSM_STATE +} vsm_state; + +// Reference 0x0AA - Internal States, Byte #2 +typedef enum inverter_state +{ + POWER_ON, + STOP, + OPEN_LOOP, + CLOSED_LOOP, + WAIT, + IDLE_RUN = 8, + IDLE_STOP, + NOT_AN_INVERTER_STATE = 13 +} inverter_state; + +// Reference Param Address 148 +typedef enum can_active_messages_lo_word +{ + // Data Byte 4 + TEMPERATURE_1 = 0x0001, + TEMPERATURE_2 = 0x0002, + TEMPERATURE_3 = 0x0004, + ANALOG_INPUT_VOLTAGES = 0x0008, + DIGITAL_INPUT_STATUS = 0x0010, + MOTOR_POSITION_INFORMATION = 0x0020, + CURRENT_INFORMATION = 0x0040, + VOLTAGE_INFORMATION = 0x0080, + // Data Byte 5 + FLUX_INFORMATION = 0x0100, + INTERNAL_VOLTAGES = 0x0200, + INTERNAL_STATES = 0x0400, + FAULT_CODES = 0x0800, + TORQUE_AND_TIMER_INFORMATION = 0x1000, + MOD_INDEX_FLUX_WEAKENING_OUTPUT_INFO = 0x2000, + FIRMWARE_INFORMATION = 0x4000, + DIAG_DATA = 0x8000 +} can_active_messages_lo_word; + +// Reference Param Address 148, should always be enabled (default) +typedef enum can_active_messages_hi_word +{ + // Data Byte 6 + SLAVE_MODE_COMMAND_MESSAGE = 6, + BMS_COMMAND_MESSAGE, + // Data Byte 7 + OBD2_GENERAL_QUERY, + OBD2_SPECIFIC_QUERY, + OBD2_RESPONSE, + U2C_TX_MESSAGE, + U2C_RX_MESSAGE, + PARAMETER_RESPONSE_MESAGE, + PARAMETER_COMMAND_MESSAGE, + CAN_COMMAND_MESSAGE +} can_active_messages_hi_word; + +//All types of Fault Codes +typedef enum fault_code +{ + //POST FAULTS + //Byte 0 + Hardware_Gate_Desaturation_Fault, + HW_Over_current_Fault, + Accelerator_Shorted, + Accelerator_Open, + Current_Sensor_Low, + Current_Sensor_High, + Module_Temperature_Low, + Module_Temperature_High, + //Byte 1 + Control_PCB_Temperature_Low, + Control_PCB_Temperature_High, + Gate_Drive_PCB_Temperature_Low, + Gate_Drive_PCB_Temperature_High, + Sense_Voltage_Low_5V, + Sense_Voltage_High_5V, + Sense_Voltage_Low_12V, + Sense_Voltage_High_12V, + //Byte 2 + Sense_Voltage_Low_2_5V, + Sense_Voltage_High_2_5V, + Sense_Voltage_Low_1_5V, + Sense_Voltage_High_1_5V, + DC_Bus_Voltage_High, + DC_Bus_Voltage_Low, + Pre_charge_Timeout, + Pre_charge_Voltage_Failure, + //Byte 3 + EEPROM_Checksum_Invalid, + EEPROM_Data_Out_of_Range, + EEPROM_Update_Required, + RESERVED_1, + RESERVED_2, + RESERVED_3, + Brake_Shorted, + Brake_Open, + //Byte 4 + //RUN FAULTS + Motor_Over_speed_Fault, + Over_current_Fault, + Over_voltage_Fault, + Inverter_Over_temperature_Fault, + Accelerator_Input_Shorted_Fault, + Accelerator_Input_Open_Fault, + Direction_Command_Fault, + Inverter_Response_Time_out_Fault, + //Byte 5 + Hardware_Gate_Desaturation_RUN_Fault, + Hardware_Over_current_Fault, + Under_voltage_Fault, + CAN_Command_Message_Lost_Fault, + Motor_Over_temperature_Fault, + RESERVED_4, + RESERVED_5, + RESERVED_6, + //Byte 6 + Brake_Input_Shorted_Fault, + Brake_Input_Open_Fault, + Module_A_Over_temperature_Fault, + Module_B_Over_temperature_Fault, + Module_C_Over_temperature_Fault, + PCB_Over_temperature_Fault, + Gate_Drive_Board_1_Over_temperature_Fault, + Gate_Drive_Board_2_Over_temperature_Fault, + //Byte 7 + Gate_Drive_Board_3_Over_temperature_Fault, + Current_Sensor_Fault, + RESERVED_7, + Hardware_Over_Voltage_Fault, + RESERVED_8, + RESERVED_9, + Resolver_Not_Connected, + Inverter_Discharge_Active, + + //Finally, error if the CAN mssg is NOT for fault codes + NOT_FAULT_CAN_MSSG + +} PM100_FAULT_CODE; + +class InverterDebug : public Sensor { + public: + InverterDebug(Serial_CAN* CANBus, arduino_t arduino); + private: + Serial_CAN* CANBus; + errorlevel_t read(t_datum* data, uint8_t numdata) override; + errorlevel_t init() override; +}; + +#endif \ No newline at end of file diff --git a/Inverter/src/Sensor.h b/Inverter/src/Sensor.h new file mode 100644 index 0000000..3fa9c50 --- /dev/null +++ b/Inverter/src/Sensor.h @@ -0,0 +1,69 @@ +#ifndef Sensor_H +#define Sensor_H + +#include "Base.h" + +// Sensor identifiers +typedef enum sensors_t { + S_OPT2002, + S_VN200, + S_PROSENSERTD, + S_TMP006, + S_MPU9250, + S_DCT500, + S_SPTD25_20_1000H, + S_SPTD25_20_0200A, + S_CANBUS, + S_INVERTERDEBUG +} sensors_t; + +// Single datapoint +typedef struct t_datum { + float data; + const char* units; +} t_datum; + +// All sensor state info + latest datum - used as the "cache" in the sensor object +// TODO: Replace state enums with state structs containing messages, etc. +typedef struct SensorState { + errorlevel_t error; + debuglevel_t debug; + uint16_t timestamp; //Last data update (millis since start) + t_datum* data; //Array of datum + uint8_t numdata; +} SensorState; + +// Wrapper for all sensor stuff - this is what gets passed to the main computer +typedef struct SensorData { + sensors_t sensor; + arduino_t arduino; + SensorState state; +} SensorData; + +struct t_datasetup { + uint8_t numdata; + const char** units; +}; + +// Sensor class - note the difference in exposure and implementation in read/init and getRead/begin +class Sensor{ + private: + unsigned long delta; //The minimum time (milliseconds) between sensor updates. + unsigned long lastread; //Timestamp of last read ATTEMPT + protected: + // Sensor-specific functionality initialize and read functions - to be implemented by sensor classes + virtual errorlevel_t init() = 0; //Connect to sensor, calibrate, set data count and units, and update state accordingly + virtual errorlevel_t read(t_datum* data, uint8_t numdata) = 0; //Get ALL data from the sensor hardware -> data[i in numdata] + + // State and IDs + SensorState state; //Stores all the latest state data for this sensor. + public: + arduino_t arduino; + sensors_t sensor; + // Wrappers return pointer to updated state + SensorState* update(); //Calls read(), manages delta, and wraps all t_datum + SensorState* begin(); //Sets state in accordance with init() + Sensor(sensors_t sensor, arduino_t arduino, t_datasetup setup, unsigned long delta); +}; + +#endif \ No newline at end of file diff --git a/Serial-CAN-Bus/libraries/Serial_CAN_Module_2.cpp b/Inverter/src/Serial_CAN_Module.cpp similarity index 99% rename from Serial-CAN-Bus/libraries/Serial_CAN_Module_2.cpp rename to Inverter/src/Serial_CAN_Module.cpp index bdb8d75..c1c6638 100644 --- a/Serial-CAN-Bus/libraries/Serial_CAN_Module_2.cpp +++ b/Inverter/src/Serial_CAN_Module.cpp @@ -1,6 +1,6 @@ // ID3 ID2 ID1 ID0 EXT RTR DTA0 DTA1 DTA2 DTA3 DTA4 DTA5 DTA6 DTA7 -#include <Serial_CAN_Module_2.h> +#include <Serial_CAN_Module.h> #include <SoftwareSerial.h> SoftwareSerial *canSerial = NULL; diff --git a/Serial-CAN-Bus/libraries/Serial_CAN_Module_2.h b/Inverter/src/Serial_CAN_Module.h similarity index 100% rename from Serial-CAN-Bus/libraries/Serial_CAN_Module_2.h rename to Inverter/src/Serial_CAN_Module.h diff --git a/Serial-CAN-Bus/recv_basic_test.ino b/Inverter/tests/recv_basic_test.ino similarity index 100% rename from Serial-CAN-Bus/recv_basic_test.ino rename to Inverter/tests/recv_basic_test.ino diff --git a/Serial-CAN-Bus/recv_mask_filt_test_2.ino b/Inverter/tests/recv_mask_filt_test_2.ino similarity index 100% rename from Serial-CAN-Bus/recv_mask_filt_test_2.ino rename to Inverter/tests/recv_mask_filt_test_2.ino diff --git a/Serial-CAN-Bus/send_basic_test.ino b/Inverter/tests/send_basic_test.ino similarity index 100% rename from Serial-CAN-Bus/send_basic_test.ino rename to Inverter/tests/send_basic_test.ino diff --git a/Serial-CAN-Bus/send_mask_filt_test_2.ino b/Inverter/tests/send_mask_filt_test_2.ino similarity index 100% rename from Serial-CAN-Bus/send_mask_filt_test_2.ino rename to Inverter/tests/send_mask_filt_test_2.ino diff --git a/Sensor.h b/Sensor.h index 9d384e4..3fa9c50 100644 --- a/Sensor.h +++ b/Sensor.h @@ -13,7 +13,8 @@ typedef enum sensors_t { S_DCT500, S_SPTD25_20_1000H, S_SPTD25_20_0200A, - S_CANBUS + S_CANBUS, + S_INVERTERDEBUG } sensors_t; // Single datapoint From ac4a4f79e10ff97362407fd6925fb91ebea123c8 Mon Sep 17 00:00:00 2001 From: Jayden Lefebvre <jayden.lefebvre55@gmail.com> Date: Sat, 4 Sep 2021 14:35:34 -0400 Subject: [PATCH 35/35] minor fix --- Inverter/src/InverterDebug.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Inverter/src/InverterDebug.cpp b/Inverter/src/InverterDebug.cpp index 81dec18..ba5fad7 100644 --- a/Inverter/src/InverterDebug.cpp +++ b/Inverter/src/InverterDebug.cpp @@ -115,7 +115,7 @@ int64_t read_fault_codes(int CAN_msg[9]) { int_to_binary = int_to_binary / 2; if( current_bit ){ - faults |= 1UL << (fault_byte*8 + i); + faults |= 1ULL << (fault_byte*8 + i); } }

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