driver-twinfury.h 567 B

12345678910111213141516171819202122232425262728293031323334353637
  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[8];
  9. uint8_t 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. char tx_buffer[46];
  26. char rx_buffer[1024];
  27. uint32_t rx_len;
  28. };
  29. #endif