ISSDK  1.8
IoT Sensing Software Development Kit
Data Structures | Macros | Typedefs | Enumerations
isl29023.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  ISL29023_CMD_I_t
 
union  ISL29023_CMD_II_t
 

Macros

#define ISL29023_I2C_ADDRESS   (0x44) /*ISL29023 I2C Address */
 
#define ISL29023_I2C_TEST_VALUE   (0x00) /*ISL29023 test register value */
 
#define ISL29023_CMD_I_PRST_MASK   ((uint8_t) 0x03)
 
#define ISL29023_CMD_I_PRST_SHIFT   ((uint8_t) 0)
 
#define ISL29023_CMD_I_FLAG_MASK   ((uint8_t) 0x04)
 
#define ISL29023_CMD_I_FLAG_SHIFT   ((uint8_t) 2)
 
#define ISL29023_CMD_I_OP_MASK   ((uint8_t) 0xe0)
 
#define ISL29023_CMD_I_OP_SHIFT   ((uint8_t) 5)
 
#define ISL29023_CMD_I_PRST_1   ((uint8_t) 0x00) /* Number of Integration Samples = 1 */
 
#define ISL29023_CMD_I_PRST_4   ((uint8_t) 0x01) /* Number of Integration Samples = 4 */
 
#define ISL29023_CMD_I_PRST_8   ((uint8_t) 0x02) /* Number of Integration Samples = 8 */
 
#define ISL29023_CMD_I_PRST_16   ((uint8_t) 0x03) /* Number of Integration Samples = 16 */
 
#define ISL29023_CMD_I_FLAG_CLEARED   ((uint8_t) 0x00) /* IRQ flag is cleared or not triggered yet */
 
#define ISL29023_CMD_I_FLAG_TRIGGERED   ((uint8_t) 0x04) /* IRQ flag is triggered */
 
#define ISL29023_CMD_I_OP_POWER_DOWN   ((uint8_t) 0x00) /* Power-down the device (default) */
 
#define ISL29023_CMD_I_OP_ALS_ONCE   ((uint8_t) 0x20) /* IC measures ALS only once */
 
#define ISL29023_CMD_I_OP_IR_ONCE   ((uint8_t) 0x40) /* IC meausres IR only once */
 
#define ISL29023_CMD_I_OP_ALS_CONT   ((uint8_t) 0xA0) /* IC meausres ALS continuously */
 
#define ISL29023_CMD_I_OP_IR_CONT   ((uint8_t) 0xC0) /* IC meausres IR continuous */
 
#define ISL29023_CMD_II_RANGE_MASK   ((uint8_t) 0x03)
 
#define ISL29023_CMD_II_RANGE_SHIFT   ((uint8_t) 0)
 
#define ISL29023_CMD_II_RES_MASK   ((uint8_t) 0x0C)
 
#define ISL29023_CMD_II_RES_SHIFT   ((uint8_t) 2)
 
#define ISL29023_CMD_II_RANGE_1   ((uint8_t) 0x00) /* FSR @ALS Sensing = 1.000 */
 
#define ISL29023_CMD_II_RANGE_2   ((uint8_t) 0x01) /* FSR @ALS Sensing = 4.000 */
 
#define ISL29023_CMD_II_RANGE_3   ((uint8_t) 0x02) /* FSR @ALS Sensing = 16.000 */
 
#define ISL29023_CMD_II_RANGE_4   ((uint8_t) 0x03) /* FSR @ALS Sensing = 64.000 */
 
#define ISL29023_CMD_II_RES_16   ((uint8_t) 0x00) /* 2^16 ADC resolution */
 
#define ISL29023_CMD_II_RES_12   ((uint8_t) 0x04) /* 2^12 ADC resolution */
 
#define ISL29023_CMD_II_RES_8   ((uint8_t) 0x08) /* 2^8 ADC resolution */
 
#define ISL29023_CMD_II_RES_4   ((uint8_t) 0x0C) /* 2^4 ADC resolution */
 

Typedefs

typedef uint8_t ISL29023_DATA_LSB_t
 
typedef uint8_t ISL29023_DATA_MSB_t
 
typedef uint8_t ISL29023_INT_LT_LSB_t
 
typedef uint8_t ISL29023_INT_LT_MSB_t
 
typedef uint8_t ISL29023_INT_HT_LSB_t
 
typedef uint8_t ISL29023_INT_HT_MSB_t
 
typedef uint8_t ISL29023_TEST_t
 

Enumerations

enum  {
  ISL29023_CMD_I = 0x00, ISL29023_CMD_II = 0x01, ISL29023_DATA_LSB = 0x02, ISL29023_DATA_MSB = 0x03,
  ISL29023_INT_LT_LSB = 0x04, ISL29023_INT_LT_MSB = 0x05, ISL29023_INT_HT_LSB = 0x06, ISL29023_INT_HT_MSB = 0x07,
  ISL29023_TEST = 0x08
}
 

Macro Definition Documentation

◆ ISL29023_CMD_I_FLAG_CLEARED

#define ISL29023_CMD_I_FLAG_CLEARED   ((uint8_t) 0x00) /* IRQ flag is cleared or not triggered yet */

Definition at line 69 of file isl29023.h.

◆ ISL29023_CMD_I_FLAG_MASK

#define ISL29023_CMD_I_FLAG_MASK   ((uint8_t) 0x04)

Definition at line 55 of file isl29023.h.

Referenced by main().

◆ ISL29023_CMD_I_FLAG_SHIFT

#define ISL29023_CMD_I_FLAG_SHIFT   ((uint8_t) 2)

Definition at line 56 of file isl29023.h.

◆ ISL29023_CMD_I_FLAG_TRIGGERED

#define ISL29023_CMD_I_FLAG_TRIGGERED   ((uint8_t) 0x04) /* IRQ flag is triggered */

Definition at line 70 of file isl29023.h.

◆ ISL29023_CMD_I_OP_ALS_CONT

#define ISL29023_CMD_I_OP_ALS_CONT   ((uint8_t) 0xA0) /* IC meausres ALS continuously */

Definition at line 74 of file isl29023.h.

◆ ISL29023_CMD_I_OP_ALS_ONCE

#define ISL29023_CMD_I_OP_ALS_ONCE   ((uint8_t) 0x20) /* IC measures ALS only once */

Definition at line 72 of file isl29023.h.

◆ ISL29023_CMD_I_OP_IR_CONT

#define ISL29023_CMD_I_OP_IR_CONT   ((uint8_t) 0xC0) /* IC meausres IR continuous */

Definition at line 75 of file isl29023.h.

◆ ISL29023_CMD_I_OP_IR_ONCE

#define ISL29023_CMD_I_OP_IR_ONCE   ((uint8_t) 0x40) /* IC meausres IR only once */

Definition at line 73 of file isl29023.h.

◆ ISL29023_CMD_I_OP_MASK

#define ISL29023_CMD_I_OP_MASK   ((uint8_t) 0xe0)

Definition at line 58 of file isl29023.h.

Referenced by ISL29023_I2C_DeInit().

◆ ISL29023_CMD_I_OP_POWER_DOWN

#define ISL29023_CMD_I_OP_POWER_DOWN   ((uint8_t) 0x00) /* Power-down the device (default) */

Definition at line 71 of file isl29023.h.

Referenced by ISL29023_I2C_DeInit().

◆ ISL29023_CMD_I_OP_SHIFT

#define ISL29023_CMD_I_OP_SHIFT   ((uint8_t) 5)

Definition at line 59 of file isl29023.h.

◆ ISL29023_CMD_I_PRST_1

#define ISL29023_CMD_I_PRST_1   ((uint8_t) 0x00) /* Number of Integration Samples = 1 */

Definition at line 65 of file isl29023.h.

◆ ISL29023_CMD_I_PRST_16

#define ISL29023_CMD_I_PRST_16   ((uint8_t) 0x03) /* Number of Integration Samples = 16 */

Definition at line 68 of file isl29023.h.

◆ ISL29023_CMD_I_PRST_4

#define ISL29023_CMD_I_PRST_4   ((uint8_t) 0x01) /* Number of Integration Samples = 4 */

Definition at line 66 of file isl29023.h.

◆ ISL29023_CMD_I_PRST_8

#define ISL29023_CMD_I_PRST_8   ((uint8_t) 0x02) /* Number of Integration Samples = 8 */

Definition at line 67 of file isl29023.h.

◆ ISL29023_CMD_I_PRST_MASK

#define ISL29023_CMD_I_PRST_MASK   ((uint8_t) 0x03)

Definition at line 52 of file isl29023.h.

◆ ISL29023_CMD_I_PRST_SHIFT

#define ISL29023_CMD_I_PRST_SHIFT   ((uint8_t) 0)

Definition at line 53 of file isl29023.h.

◆ ISL29023_CMD_II_RANGE_1

#define ISL29023_CMD_II_RANGE_1   ((uint8_t) 0x00) /* FSR @ALS Sensing = 1.000 */

Definition at line 113 of file isl29023.h.

◆ ISL29023_CMD_II_RANGE_2

#define ISL29023_CMD_II_RANGE_2   ((uint8_t) 0x01) /* FSR @ALS Sensing = 4.000 */

Definition at line 114 of file isl29023.h.

◆ ISL29023_CMD_II_RANGE_3

#define ISL29023_CMD_II_RANGE_3   ((uint8_t) 0x02) /* FSR @ALS Sensing = 16.000 */

Definition at line 115 of file isl29023.h.

◆ ISL29023_CMD_II_RANGE_4

#define ISL29023_CMD_II_RANGE_4   ((uint8_t) 0x03) /* FSR @ALS Sensing = 64.000 */

Definition at line 116 of file isl29023.h.

◆ ISL29023_CMD_II_RANGE_MASK

#define ISL29023_CMD_II_RANGE_MASK   ((uint8_t) 0x03)

Definition at line 103 of file isl29023.h.

◆ ISL29023_CMD_II_RANGE_SHIFT

#define ISL29023_CMD_II_RANGE_SHIFT   ((uint8_t) 0)

Definition at line 104 of file isl29023.h.

◆ ISL29023_CMD_II_RES_12

#define ISL29023_CMD_II_RES_12   ((uint8_t) 0x04) /* 2^12 ADC resolution */

Definition at line 118 of file isl29023.h.

◆ ISL29023_CMD_II_RES_16

#define ISL29023_CMD_II_RES_16   ((uint8_t) 0x00) /* 2^16 ADC resolution */

Definition at line 117 of file isl29023.h.

◆ ISL29023_CMD_II_RES_4

#define ISL29023_CMD_II_RES_4   ((uint8_t) 0x0C) /* 2^4 ADC resolution */

Definition at line 120 of file isl29023.h.

◆ ISL29023_CMD_II_RES_8

#define ISL29023_CMD_II_RES_8   ((uint8_t) 0x08) /* 2^8 ADC resolution */

Definition at line 119 of file isl29023.h.

◆ ISL29023_CMD_II_RES_MASK

#define ISL29023_CMD_II_RES_MASK   ((uint8_t) 0x0C)

Definition at line 106 of file isl29023.h.

◆ ISL29023_CMD_II_RES_SHIFT

#define ISL29023_CMD_II_RES_SHIFT   ((uint8_t) 2)

Definition at line 107 of file isl29023.h.

◆ ISL29023_I2C_ADDRESS

#define ISL29023_I2C_ADDRESS   (0x44) /*ISL29023 I2C Address */

Definition at line 26 of file isl29023.h.

Referenced by main().

◆ ISL29023_I2C_TEST_VALUE

#define ISL29023_I2C_TEST_VALUE   (0x00) /*ISL29023 test register value */

Definition at line 27 of file isl29023.h.

Referenced by main().

Typedef Documentation

◆ ISL29023_DATA_LSB_t

typedef uint8_t ISL29023_DATA_LSB_t

Definition at line 131 of file isl29023.h.

◆ ISL29023_DATA_MSB_t

typedef uint8_t ISL29023_DATA_MSB_t

Definition at line 140 of file isl29023.h.

◆ ISL29023_INT_HT_LSB_t

typedef uint8_t ISL29023_INT_HT_LSB_t

Definition at line 167 of file isl29023.h.

◆ ISL29023_INT_HT_MSB_t

typedef uint8_t ISL29023_INT_HT_MSB_t

Definition at line 176 of file isl29023.h.

◆ ISL29023_INT_LT_LSB_t

typedef uint8_t ISL29023_INT_LT_LSB_t

Definition at line 149 of file isl29023.h.

◆ ISL29023_INT_LT_MSB_t

typedef uint8_t ISL29023_INT_LT_MSB_t

Definition at line 158 of file isl29023.h.

◆ ISL29023_TEST_t

typedef uint8_t ISL29023_TEST_t

Definition at line 185 of file isl29023.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

ISL29023 Ambient Light Sensor Internal Registers

Enumerator
ISL29023_CMD_I 
ISL29023_CMD_II 
ISL29023_DATA_LSB 
ISL29023_DATA_MSB 
ISL29023_INT_LT_LSB 
ISL29023_INT_LT_MSB 
ISL29023_INT_HT_LSB 
ISL29023_INT_HT_MSB 
ISL29023_TEST 

Definition at line 14 of file isl29023.h.