Working version of the code !

This commit is contained in:
Theiremi 2023-11-14 21:27:10 +01:00
parent 3805df529b
commit 5110bdd2da
1 changed files with 12 additions and 7 deletions

View File

@ -27,17 +27,21 @@
MCP_CAN CAN(MCP_CS); // Set CS pin MCP_CAN CAN(MCP_CS); // Set CS pin
uint8_t CAN_speed = CAN_500KBPS;
uint8_t CAN_freq = MCP_8MHZ;
void setup() { void setup() {
Serial.begin(SERIAL_SPEED); Serial.begin(SERIAL_SPEED);
if(CAN.begin(MCP_ANY, CAN_speed, CAN_freq) != CAN_OK) return slcanInvalidRX();
CAN.setMode(MCP_NORMAL);
} }
uint8_t rx_buffer[16] = {0}; uint8_t rx_buffer[16] = {0};
uint8_t rx_buffer_len = 0; uint8_t rx_buffer_len = 0;
uint8_t CAN_speed = CAN_500KBPS;
uint8_t CAN_freq = MCP_8MHZ; bool CAN_active = true;
bool CAN_active = false;
void loop() { void loop() {
serialCheckRX(); serialCheckRX();
@ -212,9 +216,10 @@ void slcanInvalidRX()
Serial.write(7); Serial.write(7);
} }
void serialTX(uint8_t *buf, uint8_t len) void serialTX(bool ext, uint8_t *buf, uint8_t len)
{ {
Serial.write('T'); if(ext) Serial.write('T');
else Serial.write('t');
for(int i = 0; i < len; i++) for(int i = 0; i < len; i++)
{ {
Serial.write(buf[i]); Serial.write(buf[i]);
@ -234,7 +239,7 @@ void canCheckRX()
id = id & 0x1FFFFFFF; id = id & 0x1FFFFFFF;
if(id <= 0x7FF) ext = false; if(id <= 0x7FF) ext = false;
uint8_t frame[2+len*2+ext*5] = {0}; uint8_t frame[4+len*2+ext*5] = {0};
if(!ext) if(!ext)
{ {
@ -264,7 +269,7 @@ void canCheckRX()
frame[(4+ext*5)+i] = (i_bufpos % 2 == 1) ? int2asciiHex(cdata[i_bufpos / 2] >> 4) : int2asciiHex(cdata[i_bufpos / 2] & 0xF); frame[(4+ext*5)+i] = (i_bufpos % 2 == 1) ? int2asciiHex(cdata[i_bufpos / 2] >> 4) : int2asciiHex(cdata[i_bufpos / 2] & 0xF);
} }
serialTX(frame, 2+len*2+ext*5); serialTX(ext, frame, 4+len*2+ext*5);
} }
} }