#ifndef PMS5003_H #define PMS5003_H #include "hardware/uart.h" #include typedef struct { float pm1; float pm2_5; float pm10; } pms5003_reading; typedef struct { uart_inst_t *uart; uint8_t enable_pin; uint8_t reset_pin; } pms5003_config; void pms5003_init(pms5003_config *config, uart_inst_t *uart, uint8_t tx_pin, uint8_t rx_pin, uint8_t enable_pin, uint8_t reset_pin); void pms5003_warmup(pms5003_config *config); void pms5003_start_reading(pms5003_config *config); pms5003_reading pms5003_finish_reading(pms5003_config *config); #endif /* PMS5003_H */