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

Committer:
bell_huang
Date:
2019-01-23
Revision:
5:4fe132cb9273
Parent:
0:45616b53ea33

File content as of revision 5:4fe132cb9273:

#ifndef __pixart_heart_rate_demo_h__
#define __pixart_heart_rate_demo_h__


#include <mbed.h>
#include <stdbool.h>
#include <stdint.h>


namespace pixart {
    

    class heart_rate_demo {
    public:
        heart_rate_demo(I2C &i2c, InterruptIn &interrupt, Serial &serial);
    
        void run();
    
    private:
        static void error_handler();
        static void debug_print(const char *fmt, ...);
        static uint64_t time_to_millisec(uint64_t time);
        
    private:
        void pah8011_interrupt_handle(void);
    
        I2C                 &m_i2c;
        InterruptIn         &m_interrupt;
        
        volatile bool       m_has_pah8011_interrupt;
        volatile uint64_t   m_pah8011_interrupt_timestamp;
    
    };
    

}


#endif // header guard