38 #include "drv_digital_out.h" 39 #include "drv_digital_in.h" 40 #include "drv_i2c_master.h" 53 #define PROXIMITY5_MAP_MIKROBUS( cfg, mikrobus ) \ 54 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \ 55 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \ 56 cfg.int_pin = MIKROBUS( mikrobus, MIKROBUS_INT ) 63 #define PROXIMITY5_RETVAL uint8_t 65 #define PROXIMITY5_OK 0x00 66 #define PROXIMITY5_INIT_ERROR 0xFF 81 #define ALS_IT_50_ms 0 82 #define ALS_IT_100_ms 1 83 #define ALS_IT_200_ms 2 84 #define ALS_IT_400_ms 3 85 #define ALS_IT_800_ms 7 92 #define ALS_WHITE_SD_ON 0 93 #define ALS_WHITE_SD_OFF 1 100 #define PS_DUTY_1_40 0 101 #define PS_DUTY_1_80 1 102 #define PS_DUTY_1_160 2 103 #define PS_DUTY_1_320 3 124 #define GEST_INT_EN 1 125 #define GEST_INT_DIS 0 126 #define GEST_MODE_EN 1 127 #define GEST_MODE_DIS 0 128 #define PS_GAIN_TWO_STEP 1 129 #define PS_GAIN_SINGLX8 2 130 #define PS_GAIN_SINGLX1 3 131 #define PS_HD_12BIT 0 132 #define PS_HD_16BIT 1 133 #define PS_NS_TWO_STEPX4 0 134 #define PS_NS_TWO_STEP 1 136 #define PS_INT_CLOS 1 137 #define PS_INT_AWAY 2 138 #define PS_INT_CLOS_AWAY 3 145 #define LED_I_LOW_DIS 0 146 #define LED_I_LOW_EN 1 147 #define IRED_SEL_IRED1 0 148 #define IRED_SEL_IRED2 1 149 #define IRED_SEL_IRED3 2 150 #define PS_SMART_PERS_DIS 0 151 #define PS_SMART_PERS_EN 1 154 #define PS_TRIG_DIS 0 157 #define PS_MS_LOG_OUT 1 158 #define PS_SC_EN_ON 1 159 #define PS_SC_EN_OFF 0 166 #define PS_SC_CUR_1X 0 167 #define PS_SC_CUR_2X 1 168 #define PS_SC_CUR_4X 2 169 #define PS_SC_CUR_8X 3 171 #define PS_SP_TYPX1_5 1 176 #define LED_I_100MA 2 177 #define LED_I_120MA 3 178 #define LED_I_140MA 4 179 #define LED_I_160MA 5 180 #define LED_I_180MA 6 181 #define LED_I_200MA 7 188 #define CMD_ALS_CONF1 0x00 189 #define CMD_ALS_CONF2 0x00 190 #define CMD_ALS_CONF1_2 0x00 191 #define CMD_ALS_THDH_L 0x01 192 #define CMD_ALS_THDH_H 0x01 193 #define CMD_ALS_THDH_L_M 0x01 194 #define CMD_ALS_THDL_L 0x02 195 #define CMD_ALS_THDL_H 0x02 196 #define CMD_ALS_THDL_L_M 0x02 197 #define CMD_PS_CONF1 0x03 198 #define CMD_PS_CONF2 0x03 199 #define CMD_PS_CONF1_2 0x03 200 #define CMD_PS_CONF3 0x04 201 #define CMD_PS_MS 0x04 202 #define CMD_PS_CONF3_MS 0x04 203 #define CMD_PS_CANC_L 0x05 204 #define CMD_PS_CANC_M 0x05 205 #define CMD_PS_CANC_L_M 0x05 206 #define CMD_PS_THDH_L 0x06 207 #define CMD_PS_THDH_M 0x06 208 #define CMD_PS_THDH_L_M 0x06 209 #define CMD_PS_THDL_L 0x07 210 #define CMD_PS_THDL_M 0x07 211 #define CMD_PS_THDL_L_M 0x07 212 #define CMD_PS1_DATA_L 0x08 213 #define CMD_PS1_DATA_M 0x08 214 #define CMD_PS1_DATA_L_M 0x08 215 #define CMD_PS2_DATA_L 0x09 216 #define CMD_PS2_DATA_M 0x09 217 #define CMD_PS2_DATA_L_M 0x09 218 #define CMD_PS3_DATA_L 0x0A 219 #define CMD_PS3_DATA_M 0x0A 220 #define CMD_PS3_DATA_L_M 0x0A 221 #define CMD_ALS_DATA_L 0x0B 222 #define CMD_ALS_DATA_M 0x0B 223 #define CMD_ALS_DATA_L_M 0x0B 224 #define CMD_WHITE_DATA_L 0x0C 225 #define CMD_WHITE_DATA_M 0x0C 226 #define CMD_WHITE_DATA_L_M 0x0C 227 #define RESERVED 0x0D 228 #define CMD_INT_FLAG 0x0D 229 #define CMD_ID_L 0x0E 230 #define CMD_ID_M 0x0E 231 #define CMD_ID_L_M 0x0E 238 #define PROXIMITY5_ADDR 0x60 647 #endif // _PROXIMITY5_H_ Definition: proximity5.h:416
uint8_t PS_SC_CUR
Definition: proximity5.h:409
uint16_t ALS_DATA_L
Definition: proximity5.h:349
uint8_t LED_I
Definition: proximity5.h:406
uint8_t PS_PERS
Definition: proximity5.h:362
uint8_t PS_INT_EN
Definition: proximity5.h:373
uint8_t PS_AF
Definition: proximity5.h:392
uint8_t PS_HD
Definition: proximity5.h:375
uint16_t LS_THDL_L
Definition: proximity5.h:337
uint8_t ALL
Definition: proximity5.h:402
uint8_t PS_GAIN
Definition: proximity5.h:376
Definition: proximity5.h:440
uint16_t ALL
Definition: proximity5.h:521
uint8_t PS_SC_EN
Definition: proximity5.h:389
uint16_t PS3_DATA_L
Definition: proximity5.h:481
uint16_t ID_M
Definition: proximity5.h:526
uint16_t ALS_THDH_L
Definition: proximity5.h:325
uint16_t ALL
Definition: proximity5.h:418
void proximity5_cfg_setup(proximity5_cfg_t *cfg)
Config Object Initialization function.
Definition: proximity5.h:400
Definition: proximity5.h:383
uint8_t PS_SPFLAG
Definition: proximity5.h:512
uint16_t PS1_DATA_M
Definition: proximity5.h:459
uint16_t ID_L
Definition: proximity5.h:525
uint8_t LED_I_LOW
Definition: proximity5.h:395
uint8_t PS_MS
Definition: proximity5.h:390
uint16_t PS_CANC_L
Definition: proximity5.h:422
uint16_t ALL
Definition: proximity5.h:430
Definition: proximity5.h:475
uint8_t PS_SMART_PERS
Definition: proximity5.h:393
uint16_t ALL
Definition: proximity5.h:333
uint8_t GEST_MODE
Definition: proximity5.h:377
uint8_t ALL
Definition: proximity5.h:357
unsigned char ALS_PERS
Definition: proximity5.h:300
hal_i2c_speed_t i2c_speed
Definition: proximity5.h:284
Definition: proximity5.h:452
uint8_t ALL
Definition: proximity5.h:502
uint8_t IRED_SEL
Definition: proximity5.h:394
unsigned char ALL
Definition: proximity5.h:294
Definition: proximity5.h:428
Definition: proximity5.h:319
unsigned char ALS_INT_EN
Definition: proximity5.h:299
uint8_t ALL
Definition: proximity5.h:385
PROXIMITY5_RETVAL proximity5_init(proximity5_t *ctx, proximity5_cfg_t *cfg)
Initialization function.
uint16_t PS_THDL_M
Definition: proximity5.h:435
Definition: proximity5.h:368
Definition: proximity5.h:343
uint16_t ALL
Definition: proximity5.h:345
uint16_t PS_THDH_M
Definition: proximity5.h:447
uint8_t GEST_INTEN
Definition: proximity5.h:378
unsigned char RES
Definition: proximity5.h:314
uint16_t ALL
Definition: proximity5.h:477
uint16_t PS1_DATA_L
Definition: proximity5.h:458
uint16_t ALL
Definition: proximity5.h:321
Click ctx object definition.
Definition: proximity5.h:252
uint8_t PS_SP
Definition: proximity5.h:408
Definition: proximity5.h:331
uint16_t ALS_THDH_M
Definition: proximity5.h:326
uint8_t ALS_IF_L
Definition: proximity5.h:511
void proximity5_generic_write(proximity5_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic write function.
uint16_t ALL
Definition: proximity5.h:442
unsigned char ALS_IT
Definition: proximity5.h:302
uint16_t proximity5_get_id(proximity5_t *ctx)
16bit read function.
Definition: proximity5.h:464
Definition: proximity5.h:355
uint16_t PS_THDH_L
Definition: proximity5.h:446
uint16_t PS_CANC_M
Definition: proximity5.h:423
void proximity5_default_cfg(proximity5_t *ctx)
Click Default Configuration function.
void proximity5_generic_read(proximity5_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
Generic read function.
digital_in_t int_pin
Definition: proximity5.h:256
uint8_t PS_IF_AWAY
Definition: proximity5.h:506
uint16_t LS_THDL_M
Definition: proximity5.h:338
Definition: proximity5.h:519
hal_i2c_address_t slave_address
Definition: proximity5.h:264
uint16_t proximity5_read_reg(proximity5_t *ctx, uint8_t addr)
16bit read function.
uint16_t ALL
Definition: proximity5.h:466
uint8_t PS_SPO
Definition: proximity5.h:407
uint8_t RES0
Definition: proximity5.h:509
uint16_t PS2_DATA_M
Definition: proximity5.h:470
uint16_t WHITE_DATA_L
Definition: proximity5.h:493
uint8_t ALL
Definition: proximity5.h:370
pin_name_t int_pin
Definition: proximity5.h:280
unsigned char WHITE_SD
Definition: proximity5.h:313
hal_i2c_address_t i2c_address
Definition: proximity5.h:285
uint8_t ALS_IF_H
Definition: proximity5.h:510
uint16_t ALS_DATA_M
Definition: proximity5.h:350
unsigned char ALS_SD
Definition: proximity5.h:298
uint8_t GEST_DATA_RDY_FLG
Definition: proximity5.h:513
i2c_master_t i2c
Definition: proximity5.h:260
uint8_t PS_TRIG
Definition: proximity5.h:391
uint16_t PS3_DATA_M
Definition: proximity5.h:482
unsigned char ALL
Definition: proximity5.h:309
uint8_t PS_NS
Definition: proximity5.h:374
uint16_t PS2_DATA_L
Definition: proximity5.h:469
Definition: proximity5.h:307
uint8_t RES1
Definition: proximity5.h:508
uint16_t ALL
Definition: proximity5.h:454
uint8_t PS_IT
Definition: proximity5.h:361
unsigned char RES
Definition: proximity5.h:301
Definition: proximity5.h:500
uint16_t ALL
Definition: proximity5.h:489
Click configuration structure definition.
Definition: proximity5.h:271
uint16_t PS_THDL_L
Definition: proximity5.h:434
uint8_t RES
Definition: proximity5.h:410
pin_name_t sda
Definition: proximity5.h:276
pin_name_t scl
Definition: proximity5.h:275
void proximity5_get_values(proximity5_t *ctx, uint16_t *prox_val)
Proximity value get function.
#define PROXIMITY5_RETVAL
Definition: proximity5.h:63
Click calibration unions.
Definition: proximity5.h:292
uint8_t PS_SD
Definition: proximity5.h:360
uint8_t PS_DUTY
Definition: proximity5.h:363
uint16_t WHITE_DATA_M
Definition: proximity5.h:494
uint8_t PS_IF_CLOSE
Definition: proximity5.h:507
Definition: proximity5.h:487