Demo Heart Rate with PAH8011
Dependencies: pixart_heart_rate pixart_pah8011
Dependents: PAH8011_nRF52_Program PixArt_PAH8011_HeartRate_NUCLEO-L476RG PixArt_PAH8011_HR_NUCLEO-L476RG
pixart_heart_rate_demo.h@5:4fe132cb9273, 2019-01-23 (annotated)
- Committer:
- bell_huang
- Date:
- Wed Jan 23 08:10:59 2019 +0000
- Revision:
- 5:4fe132cb9273
- Parent:
- 0:45616b53ea33
Fix demo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bell_huang | 0:45616b53ea33 | 1 | #ifndef __pixart_heart_rate_demo_h__ |
bell_huang | 0:45616b53ea33 | 2 | #define __pixart_heart_rate_demo_h__ |
bell_huang | 0:45616b53ea33 | 3 | |
bell_huang | 0:45616b53ea33 | 4 | |
bell_huang | 0:45616b53ea33 | 5 | #include <mbed.h> |
bell_huang | 0:45616b53ea33 | 6 | #include <stdbool.h> |
bell_huang | 0:45616b53ea33 | 7 | #include <stdint.h> |
bell_huang | 0:45616b53ea33 | 8 | |
bell_huang | 0:45616b53ea33 | 9 | |
bell_huang | 0:45616b53ea33 | 10 | namespace pixart { |
bell_huang | 0:45616b53ea33 | 11 | |
bell_huang | 0:45616b53ea33 | 12 | |
bell_huang | 0:45616b53ea33 | 13 | class heart_rate_demo { |
bell_huang | 0:45616b53ea33 | 14 | public: |
bell_huang | 0:45616b53ea33 | 15 | heart_rate_demo(I2C &i2c, InterruptIn &interrupt, Serial &serial); |
bell_huang | 0:45616b53ea33 | 16 | |
bell_huang | 0:45616b53ea33 | 17 | void run(); |
bell_huang | 0:45616b53ea33 | 18 | |
bell_huang | 0:45616b53ea33 | 19 | private: |
bell_huang | 0:45616b53ea33 | 20 | static void error_handler(); |
bell_huang | 0:45616b53ea33 | 21 | static void debug_print(const char *fmt, ...); |
bell_huang | 0:45616b53ea33 | 22 | static uint64_t time_to_millisec(uint64_t time); |
bell_huang | 0:45616b53ea33 | 23 | |
bell_huang | 0:45616b53ea33 | 24 | private: |
bell_huang | 0:45616b53ea33 | 25 | void pah8011_interrupt_handle(void); |
bell_huang | 0:45616b53ea33 | 26 | |
bell_huang | 0:45616b53ea33 | 27 | I2C &m_i2c; |
bell_huang | 0:45616b53ea33 | 28 | InterruptIn &m_interrupt; |
bell_huang | 0:45616b53ea33 | 29 | |
bell_huang | 0:45616b53ea33 | 30 | volatile bool m_has_pah8011_interrupt; |
bell_huang | 0:45616b53ea33 | 31 | volatile uint64_t m_pah8011_interrupt_timestamp; |
bell_huang | 0:45616b53ea33 | 32 | |
bell_huang | 0:45616b53ea33 | 33 | }; |
bell_huang | 0:45616b53ea33 | 34 | |
bell_huang | 0:45616b53ea33 | 35 | |
bell_huang | 0:45616b53ea33 | 36 | } |
bell_huang | 0:45616b53ea33 | 37 | |
bell_huang | 0:45616b53ea33 | 38 | |
bell_huang | 0:45616b53ea33 | 39 | #endif // header guard |