gas_sensor.c 522 B

123456789101112131415161718192021222324252627
  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_channel(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. }
  17. /* 检测到有效转把信号 */
  18. bool gas_detect_speed_signal(void) {
  19. return gas_get_value() >= 1.0f;
  20. }