You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1009 B

12 months ago
  1. #pragma once
  2. #include "apphal.hpp"
  3. namespace iflytop {
  4. class AppHardware {
  5. private:
  6. /* data */
  7. public:
  8. M24M02_I2C_EEPROM eeprom;
  9. TMC51X0 MOTO1;
  10. TMC51X0 MOTO2;
  11. TMC51X0 MOTO3;
  12. TMC51X0 MOTO4;
  13. ZGPIO MOTO_POWER_EN;
  14. ZGPIO MOTO1_CSN;
  15. ZGPIO MOTO2_CSN;
  16. ZGPIO MOTO3_CSN;
  17. ZGPIO MOTO4_CSN;
  18. ZGPIO MOTO1_DRV_ENN;
  19. ZGPIO MOTO2_DRV_ENN;
  20. ZGPIO MOTO3_DRV_ENN;
  21. ZGPIO MOTO4_DRV_ENN;
  22. ZGPIO ID1;
  23. ZGPIO ID2;
  24. ZGPIO ID3;
  25. ZGPIO ID4;
  26. ZGPIO ID5;
  27. ZGPIO IO_OUT1;
  28. ZGPIO IO_OUT2;
  29. ZGPIO BLE_CONNECTED_STATE_IO_PE6;
  30. UART_HandleTypeDef* tjcUart;
  31. UART_HandleTypeDef* remoteContolerUart;
  32. static AppHardware* ins() {
  33. static AppHardware instance;
  34. return &instance;
  35. }
  36. void initialize();
  37. TMC51X0* getPump(int32_t index) {
  38. if (index == 0) return &MOTO1;
  39. if (index == 1) return &MOTO2;
  40. if (index == 2) return &MOTO3;
  41. if (index == 3) return &MOTO4;
  42. ZASSERT(false);
  43. return nullptr;
  44. }
  45. };
  46. } // namespace iflytop