driver-twinfury.h 613 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #ifndef BFG_DRIVER_TWINFURY_H
  2. #define BFG_DRIVER_TWINFURY_H
  3. #define BPM_BAUD 115200
  4. #define NUM_BITFURY_CHIPS 2
  5. struct twinfury_identity
  6. {
  7. uint8_t version;
  8. char product[16];
  9. char serial[23];
  10. } __attribute__((packed));
  11. struct twinfury_state
  12. {
  13. uint8_t chip;
  14. uint8_t state;
  15. uint8_t switched;
  16. uint32_t nonce;
  17. } __attribute__((packed));
  18. struct twinfury_info
  19. {
  20. uint32_t baud;
  21. struct work *prev_work;
  22. struct work *work;
  23. bool work_sent;
  24. struct twinfury_identity id;
  25. uint8_t tx_buffer[46];
  26. uint8_t rx_buffer[1024];
  27. int16_t rx_len;
  28. uint32_t voltage;
  29. bool send_voltage;
  30. };
  31. #endif