gas_sensor.c 412 B

12345678910111213141516171819202122
  1. #include "gas_sensor.h"
  2. #include "bsp/bsp.h"
  3. #include "bsp/adc.h"
  4. static gas_t _gas;
  5. void gas_sensor_init(void){
  6. _gas.voltage = 0;
  7. _gas.lowpass = 5;
  8. gas_sample_voltage();
  9. }
  10. void gas_sample_voltage(void){
  11. u32 vadc = adc_sample_regular_chan(HANDLERBAR_CHAN, 16);
  12. _gas.voltage = ((float)vadc)/(65536.0f) * ADC_REFERENCE_VOLTAGE;
  13. }
  14. float gas_get_value(void){
  15. return _gas.voltage/ADC_REFERENCE_VOLTAGE;
  16. }