| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- void CAN_READ(
- Slave_Ports_Status_T* Slave_Ports_Status_A ,
- Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_T &Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A ,
- Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_T* Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
- Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_T* Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
- Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_T* Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
-
- DISPLAY_T* DISPLAY_A , DISPLAY_T_ARDUINO_ATTR_ARRAY_T &DISPLAY_T_ARDUINO_ATTR_ARRAY_A
- ) {
- // If pin 2 is low, read receive buffer
- {
- CAN0.readMsgBuf(&CANrxId, &CANlen, CANrxBuf); // Read data: len = data length, buf = data byte(s)
- Serial.print("#5555CAN_READ read ID: ");
- Serial.print(CANrxId, HEX);
- Serial.print(" Data: [");Serial.print(CANlen); Serial.print("]");
-
-
- if(CANlen == CAN_MSG_DATA8_LEN) {
-
-
-
- // DISPLAY__print_loop(DISPLAY_CURSOR_Y_CHARS_CAN_DEBUG, "CAN RECV DATA", 13, DISPLAY__print_loop_ACTION_ADD ) ;
- _CAN_REMOTE_ID_T _CAN_REMOTE_ID = CANrxId ;
-
- CAN_MSG8_BIT_1_T CAN_MSG8_BIT_1_A = int(CANrxBuf[1] < 0x10) ;
- CAN_MSG8_BIT_2_T CAN_MSG8_BIT_2_A = int(CANrxBuf[2] < 0x10) ;
- CAN_MSG8_BIT_3_T CAN_MSG8_BIT_3_A = int(CANrxBuf[3] < 0x10) ;
- CAN_MSG8_BIT_4_T CAN_MSG8_BIT_4_A = int(CANrxBuf[4] < 0x10) ;
- CAN_MSG8_BIT_5_T CAN_MSG8_BIT_5_A = int(CANrxBuf[5] < 0x10) ;
- CAN_MSG8_BIT_6_T CAN_MSG8_BIT_6_A = int(CANrxBuf[6] < 0x10) ;
- CAN_MSG8_BIT_7_T CAN_MSG8_BIT_7_A = int(CANrxBuf[7] < 0x10) ;
- CAN_MSG8_BIT_8_T CAN_MSG8_BIT_8_A = int(CANrxBuf[8] < 0x10) ;
-
- // Serial.print();
-
- Serial.print("1:");Serial.print(CAN_MSG8_BIT_1_A, HEX);Serial.print(",2:");
- Serial.print(CAN_MSG8_BIT_2_A, HEX);Serial.print(",3:");
- Serial.print(CAN_MSG8_BIT_3_A, HEX);Serial.print(",4:");
- Serial.print(CAN_MSG8_BIT_4_A, HEX);Serial.print(",5:");
- Serial.print(CAN_MSG8_BIT_5_A, BIN);Serial.print(",6:");
- Serial.print(CAN_MSG8_BIT_6_A, HEX);Serial.print(",7:");
- Serial.print(CAN_MSG8_BIT_7_A, HEX);Serial.print(",8:");
- Serial.print(CAN_MSG8_BIT_8_A, HEX);Serial.println(" ] ");
-
-
- Slave_Ports_Status_add_port(
- Slave_Ports_Status_A ,
- Slave_Ports_Status_T_ARDUINO_ATTR_ARRAY_A,
- Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_TABLE_A,
- Slave_Ports_Status_T_ARDUINO_ARRAY_INDEX_T_TO_DELETE_A,
- Slave_Ports_Status_T_ARDUINO_ARRAY_ASSOC_TABLE_S_Port_ID_A,
- CAN_MSG8_BIT_3_A, // int Port_ID,
- CANrxId , //int _Slave_ID,
- CAN_MSG8_BIT_4_A , //int PortTypes,
- 0 , //int Address,
- 0 , //int LocalPort,
- CAN_MSG8_BIT_5_A , //Exp_state_BLINK, //int Exp_state,
- CAN_MSG8_BIT_6_A, //Exp_state_ttl_TO_REFRESH, //int Exp_state_ttl,
- CAN_MSG8_BIT_7_A, //Broadcast_state_TO_REFRESH, //int Broadcast_state,
- 0 , //int I2C_port,
- 0 ,//int I2C_driver
- IS_Local_FALSE
- );
-
-
-
- } else { //if(CANlen == CAN_MSG_DATA8_LEN)
-
-
- for(int i = 0; i<CANlen; i++) // Print each byte of the data
- {
- if(CANrxBuf[i] < 0x10) // If data byte is less than 0x10, add a leading zero
- {
- Serial.print("0");
-
- }
- Serial.print(CANrxBuf[i], HEX);
- Serial.print(" ");
-
-
- }
- }
-
- Serial.println();
-
-
- // else Serial.println(" [CAN] [NOT][digitalRead(CAN_INTpin)] ");
-
- }
- }
|