Arslan Test
Dependencies: AMS_ENS210_temp_humid_sensor
Diff: AMS_CCS811.h
- Revision:
- 1:acfca1d3256d
- Parent:
- 0:5edbf3550350
- Child:
- 2:e394671ef5f6
diff -r 5edbf3550350 -r acfca1d3256d AMS_CCS811.h --- a/AMS_CCS811.h Thu Jan 19 09:06:31 2017 +0000 +++ b/AMS_CCS811.h Thu Jan 19 12:46:58 2017 +0000 @@ -11,9 +11,9 @@ #include "mbed.h" /* Library defaults */ -#define CONFIG_OP_MODE OP_MODES::TEN_SECOND // Every 10 seconds +#define CONFIG_OP_MODE TEN_SECOND // Every 10 seconds #define CONFIG_INTR 0 // Interupt off -#define CONFIG_ADDR 0 // ADDR n_wake_pin pulled low +#define CONFIG_ADDR_DIR 0 // ADDR n_wake_pin pulled low /* Library Constants */ #define SLAVE_ADDR_RAW_H 0x5B @@ -198,7 +198,7 @@ _int_data(pin); _int_data.fall(this, &AMS_CCS811::_isr_data()); - return enable_interupts(true); + return enable_interupt(true); } /** Attach a member function to be called when data is ready. @@ -217,15 +217,23 @@ //_int_data(pin); //_int_data.fall(this, &AMS_CCS811::_isr_data()); - return enable_interupts(true); + return enable_interupt(true); } - /** Get whether the sensor has collected new data. - * Use when interupts are disabled + /** Set whether the data ready interupt is enabled. + * + * @param enabled True for enabled, false for disabled * * @return Write success */ - bool enable_interupts(bool enable); + bool enable_interupt(bool enable); + + /** Get whether the data ready interupt is enabled. + * + * + * @return True for enabled, false for disabled + */ + bool interupt_enabled(); /** Set the nINT pin * @@ -246,23 +254,29 @@ private: I2C* _i2c; - bool _addr; + bool _addr_dir; int slave_addr; I2C* _ens210_i2c; bool _ens210_enable; OP_MODES _mode; - void set_defaults(); + bool set_defaults(); - DigitalIn _n_wake_in; - DigitalIn _addr_in; + DigitalOut *_n_wake_out; + DigitalOut *_addr_out; FunctionPointer _isr_data_fp; - bool _int_data_active; - InterruptIn _int_data; + bool _int_data_enabled; + InterruptIn *_int_data; void _isr_data(); - bool write_config(bool mode = true, bool int_data = true, bool int_thresh = true); + bool write_config(); + + struct read_config_result { + bool success; + uint8_t byte; + } + read_config_result read_config(); };