_SlaveID_loop1.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. if(!digitalRead(CAN_INTpin)) // If pin 2 is low, read receive buffer
  2. {
  3. CAN0.readMsgBuf(&CANrxId, &CANlen, CANrxBuf); // Read data: len = data length, buf = data byte(s)
  4. Serial.print("ID: ");
  5. Serial.print(CANrxId, HEX);
  6. Serial.print(" Data: ");
  7. #if defined(HAS_LCD1602)
  8. lcd.setCursor(0,0);
  9. lcd.print("ID: ");
  10. lcd.print(CANrxId, HEX);
  11. lcd.setCursor(0,1);
  12. lcd.print(" Data: ");
  13. #endif
  14. #if defined(HAS_TFT_ILI9163C)
  15. display.setCursor(0,40);
  16. display.print("ID: ");
  17. display.print(CANrxId, HEX);
  18. display.setCursor(0,50);
  19. display.print(" Data: ");
  20. #endif
  21. for(int i = 0; i<CANlen; i++) // Print each byte of the data
  22. {
  23. if(CANrxBuf[i] < 0x10) // If data byte is less than 0x10, add a leading zero
  24. {
  25. Serial.print("0");
  26. #if defined(HAS_LCD1602)
  27. lcd.print("0");
  28. #endif
  29. #if defined(HAS_TFT_ILI9163C)
  30. display.print("0");
  31. #endif
  32. }
  33. Serial.print(CANrxBuf[i], HEX);
  34. Serial.print(" ");
  35. #if defined(HAS_LCD1602)
  36. lcd.print(CANrxBuf[i], HEX);
  37. lcd.print(" ");
  38. #endif
  39. #if defined(HAS_TFT_ILI9163C)
  40. display.print(CANrxBuf[i], HEX);
  41. display.print(" ");
  42. #endif
  43. if(_Slave_Ports_queue_task_type_LIST[i]) {
  44. Serial.print(" ["); Serial.print(_Slave_Ports_queue_task_type_LIST[i]); Serial.print("] ");
  45. }
  46. }
  47. Serial.println();
  48. }
  49. //EOF CAN
  50. #if defined(HAS_LCD1602)
  51. delay(LCDtim);
  52. //lcd.setCursor(0,1);
  53. lcd.print(lcdPattern);
  54. //lcd.print(lcdPos % 10);
  55. if(lcdPos == 16) {
  56. //lcd.print("N");
  57. lcd.setCursor(0,1);
  58. lcdPos = 0;
  59. if(lcdPattern==".") lcdPattern = "-" ;
  60. else lcdPattern = "." ;
  61. }
  62. lcdPos ++;
  63. #endif
  64. #if defined(HAS_TFT_ILI9163C)
  65. delay(LCDtim);
  66. display.setCursor(0,60);
  67. display.print("loop....");
  68. #endif