spidriver.h 679 B

123456789101112131415161718192021222324252627
  1. #ifndef SPIDRIVER_H
  2. #define SPIDRIVER_H
  3. #include <stdint.h>
  4. #define HANDLE int
  5. typedef struct {
  6. HANDLE port;
  7. char model[16], serial[9];
  8. uint64_t uptime;
  9. float voltage_v, current_ma, temp_celsius;
  10. unsigned int a, b, cs;
  11. unsigned int debug;
  12. } SPIDriver;
  13. void spi_connect(SPIDriver *sd, const char* portname);
  14. void spi_getstatus(SPIDriver *sd);
  15. void spi_sel(SPIDriver *sd);
  16. void spi_unsel(SPIDriver *sd);
  17. void spi_seta(SPIDriver *sd, char v);
  18. void spi_setb(SPIDriver *sd, char v);
  19. void spi_write(SPIDriver *sd, const char bytes[], size_t nn);
  20. void spi_read(SPIDriver *sd, char bytes[], size_t nn);
  21. void spi_writeread(SPIDriver *sd, char bytes[], size_t nn);
  22. #endif