_SlaveID_loop1.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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. /*
  65. #if defined(HAS_TFT_ILI9163C)
  66. delay(LCDtim);
  67. display.setCursor(0,60);
  68. display.print("#80 loop....");
  69. #endif
  70. */