37#ifndef DRIVER_APDS9960_INTERRUPT_H
38#define DRIVER_APDS9960_INTERRUPT_H
54#define APDS9960_INTERRUPT_DEFAULT_ADC_INTEGRATION_TIME 103.0f
55#define APDS9960_INTERRUPT_DEFAULT_WAIT_TIME 10.0f
56#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_INTERRUPT_CYCLE APDS9960_PROXIMITY_INTERRUPT_CYCLE_2
57#define APDS9960_INTERRUPT_DEFAULT_ALS_INTERRUPT_CYCLE APDS9960_ALS_INTERRUPT_CYCLE_2
58#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_PULSE_LENGTH APDS9960_PROXIMITY_PULSE_LENGTH_8_US
59#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_PULSE_COUNT 7
60#define APDS9960_INTERRUPT_DEFAULT_LED_CURRENT APDS9960_LED_CURRENT_100_MA
61#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_GAIN APDS9960_PROXIMITY_GAIN_4X
62#define APDS9960_INTERRUPT_DEFAULT_ALS_COLOR_GAIN APDS9960_ALS_COLOR_GAIN_4X
63#define APDS9960_INTERRUPT_DEFAULT_SATURATION_INTERRUPT_PROXIMITY APDS9960_BOOL_FALSE
64#define APDS9960_INTERRUPT_DEFAULT_SATURATION_INTERRUPT_CLEAR_PHOTODIODE APDS9960_BOOL_FALSE
65#define APDS9960_INTERRUPT_DEFAULT_LED_BOOST APDS9960_LED_BOOST_100_PERCENTAGE
66#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_UP_RIGHT_OFFSET 0
67#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_DOWN_LEFT_OFFSET 0
68#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_GAIN_COMPENSATION APDS9960_BOOL_FALSE
69#define APDS9960_INTERRUPT_DEFAULT_SLEEP_AFTER_INTERRUPT APDS9960_BOOL_FALSE
70#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_MASK_UP APDS9960_BOOL_FALSE
71#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_MASK_DOWN APDS9960_BOOL_FALSE
72#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_MASK_LEFT APDS9960_BOOL_FALSE
73#define APDS9960_INTERRUPT_DEFAULT_PROXIMITY_MASK_RIGHT APDS9960_BOOL_FALSE
74#define APDS9960_INTERRUPT_DEFAULT_GESTURE_PROXIMITY_ENTER_THRESHOLD 0x00
75#define APDS9960_INTERRUPT_DEFAULT_GESTURE_PROXIMITY_EXIT_THRESHOLD 0xFF
76#define APDS9960_INTERRUPT_DEFAULT_GESTURE_FIFO_THRESHOLD APDS9960_GESTURE_FIFO_THRESHOLD_8_DATASET
77#define APDS9960_INTERRUPT_DEFAULT_GESTURE_EXIT_PERSISTENCE APDS9960_GESTURE_EXIT_PERSISTENCE_1ST
78#define APDS9960_INTERRUPT_DEFAULT_GESTURE_EXIT_MASK 0x00
79#define APDS9960_INTERRUPT_DEFAULT_GESTURE_GAIN APDS9960_GESTURE_GAIN_2X
80#define APDS9960_INTERRUPT_DEFAULT_GESTURE_LED_CURRENT APDS9960_GESTURE_LED_CURRENT_100_MA
81#define APDS9960_INTERRUPT_DEFAULT_GESTURE_WAIT_TIME APDS9960_GESTURE_WAIT_TIME_2P8_MS
82#define APDS9960_INTERRUPT_DEFAULT_GESTURE_UP_OFFSET 0
83#define APDS9960_INTERRUPT_DEFAULT_GESTURE_DOWN_OFFSET 0
84#define APDS9960_INTERRUPT_DEFAULT_GESTURE_LEFT_OFFSET 0
85#define APDS9960_INTERRUPT_DEFAULT_GESTURE_RIGHT_OFFSET 0
86#define APDS9960_INTERRUPT_DEFAULT_GESTURE_PULSE_LENGTH APDS9960_GESTURE_PULSE_LENGTH_32_US
87#define APDS9960_INTERRUPT_DEFAULT_GESTURE_PULSE_COUNT 9
88#define APDS9960_INTERRUPT_DEFAULT_GESTURE_DIMENSION APDS9960_GESTURE_DIMENSION_SELECT_BOTH_PAIRS_ACTIVE
89#define APDS9960_INTERRUPT_DEFAULT_GESTURE_INTERRUPT APDS9960_BOOL_FALSE
112uint8_t
apds9960_interrupt_init(
void (*callback)(uint8_t type), uint16_t als_low_threshold, uint16_t als_high_threshold,
113 uint8_t proximity_low_threshold, uint8_t proximity_high_threshold);
driver apds9960 interface header file
uint8_t apds9960_interrupt_irq_handler(void)
interrupt irq
uint8_t apds9960_interrupt_read_rgbc(uint16_t *red, uint16_t *green, uint16_t *blue, uint16_t *clear)
interrupt example read rgbc
uint8_t apds9960_interrupt_init(void(*callback)(uint8_t type), uint16_t als_low_threshold, uint16_t als_high_threshold, uint8_t proximity_low_threshold, uint8_t proximity_high_threshold)
interrupt example init
uint8_t apds9960_interrupt_read_proximity(uint8_t *proximity)
interrupt example read proximity
uint8_t apds9960_interrupt_deinit(void)
interrupt example deinit