a32u4_interface.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include "a32u4_interface.h"
  2. HardwareSerial MySerial_two(2);
  3. void A32u4Interface::begin() {
  4. MySerial_two.begin(BAUD32U4, SERIAL_8N1, 25, 4);
  5. delay(2000);
  6. Serial.println("Setup A32U4 Serial Interface");
  7. MySerial_two.println("DELAY 1");
  8. delay(1000);
  9. uint8_t a32u4_rep = 0;
  10. if (MySerial_two.available()) {
  11. a32u4_rep = (uint8_t)MySerial_two.read();
  12. }
  13. //display_string.trim();
  14. //Serial.println("\nDisplay string: " + (String)display_string);
  15. if (a32u4_rep != 0) {
  16. this->supported = true;
  17. #ifdef HAS_SCREEN
  18. display_obj.tft.setTextColor(TFT_GREEN, TFT_BLACK);
  19. display_obj.tft.println("ATmega32U4 Found!");
  20. display_obj.tft.setTextColor(TFT_CYAN, TFT_BLACK);
  21. #endif
  22. }
  23. else {
  24. #ifdef HAS_SCREEN
  25. display_obj.tft.setTextColor(TFT_RED, TFT_BLACK);
  26. display_obj.tft.println("ATmega32U4 Not Found");
  27. display_obj.tft.setTextColor(TFT_CYAN, TFT_BLACK);
  28. #endif
  29. Serial.print("A32U4 Said: ");
  30. Serial.println(a32u4_rep);
  31. }
  32. this->initTime = millis();
  33. }
  34. void A32u4Interface::runScript(String script) {
  35. MySerial_two.println(script);
  36. }
  37. void A32u4Interface::test() {
  38. MySerial_two.println("STRING Hello, World!");
  39. }
  40. void A32u4Interface::main(uint32_t current_time) {
  41. if (current_time - this->initTime >= 1000) {
  42. this->initTime = millis();
  43. //MySerial_two.write("PING");
  44. //delay(1);
  45. if (MySerial_two.available()) {
  46. Serial.println("Got A32U4 Serial data");
  47. Serial.println(MySerial_two.read());
  48. }
  49. }
  50. }