123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309 |
- extern "C" {
- typedef enum
- {
- HTS221_TEMP_SAMPLES_2,
- HTS221_TEMP_SAMPLES_4,
- HTS221_TEMP_SAMPLES_8,
- HTS221_TEMP_SAMPLES_16,
- HTS221_TEMP_SAMPLES_32,
- HTS221_TEMP_SAMPLES_64,
- HTS221_TEMP_SAMPLES_128,
- HTS221_TEMP_SAMPLES_256
- } hts221_temp_avg_samples_t;
- typedef enum
- {
- HTS221_HUMIDITY_SAMPLES_4,
- HTS221_HUMIDITY_SAMPLES_8,
- HTS221_HUMIDITY_SAMPLES_16,
- HTS221_HUMIDITY_SAMPLES_32,
- HTS221_HUMIDITY_SAMPLES_64,
- HTS221_HUMIDITY_SAMPLES_128,
- HTS221_HUMIDITY_SAMPLES_256,
- HTS221_HUMIDITY_SAMPLES_512
- } hts221_hum_avg_samples_t;
- typedef enum
- {
- HTS221_ODR_ONESHOT,
- HTS221_ODR_1HZ,
- HTS221_ODR_7HZ,
- HTS221_ODR_12_5HZ,
- } hts221_odr_t;
- typedef void (* hts221_data_callback_t)(ret_code_t result, int16_t * p_data);
- HTS221_INTERNAL_INSTANCE_DEF(_hts221_inst_name, _p_twi_sensor, _sensor_address)
- ret_code_t hts221_init(hts221_instance_t * p_instance);
- ret_code_t hts221_avg_cfg(hts221_instance_t * p_instance,
- hts221_temp_avg_samples_t temp_avg,
- hts221_hum_avg_samples_t hum_avg);
- ret_code_t hts221_pd_enable(hts221_instance_t * p_instance, bool enable);
- ret_code_t hts221_boot(hts221_instance_t * p_instance);
- ret_code_t hts221_heater_enable(hts221_instance_t * p_instance, bool enable);
- ret_code_t hts221_oneshot(hts221_instance_t * p_instance);
- ret_code_t hts221_drdy_pin_cfg(hts221_instance_t * p_instance,
- bool active_low,
- bool operation,
- bool drdy_enable);
- ret_code_t hts221_data_rate_cfg(hts221_instance_t * p_instance, hts221_odr_t odr);
- ret_code_t hts221_temp_read(hts221_instance_t * p_instance,
- hts221_data_callback_t user_callback,
- int16_t * p_temp);
- int16_t hts221_temp_process(hts221_instance_t * p_instance, int16_t raw_temp);
- ret_code_t hts221_hum_read(hts221_instance_t * p_instance,
- hts221_data_callback_t user_callback,
- int16_t * p_hum);
- int16_t hts221_hum_process(hts221_instance_t * p_instance, int16_t raw_hum);
- __STATIC_INLINE ret_code_t hts221_who_am_i_read(hts221_instance_t * p_instance,
- nrf_twi_sensor_reg_cb_t user_cb,
- uint8_t * reg_val);
- __STATIC_INLINE ret_code_t hts221_status_read(hts221_instance_t * p_instance,
- nrf_twi_sensor_reg_cb_t user_cb,
- uint8_t * reg_val);
- }
|