/* ----------------------------------------------------------------------------* * * Function Name : enableGestureSensor(int interrupts) * * Description :Starts the gesture recognition engine on the APDS-9960 * * Input : interrupts true to enable hardware external interrupt on gesture * * Output : None * * Return : True if engine enabled correctly. False on error. * ----------------------------------------------------------------------------* * Authors: Sarath S * Date: May 17, 2017 * ---------------------------------------------------------------------------*/ int enableGestureSensor(int interrupts) { /* Enable gesture mode Set ENABLE to 0 (power off) Set WTIME to 0xFF Set AUX to LED_BOOST_300 Enable PON, WEN, PEN, GEN in ENABLE */ resetGestureParameters(); if( !i2c1_write(APDS9960_WTIME, 0xFF) ) { return false; } if( !i2c1_write(APDS9960_PPULSE, DEFAULT_GESTURE_PPULSE) ) { return false; } if( !setLEDBoost(LED_BOOST_300) ) { return false; } if( interrupts ) { if( !setGestureIntEnable(1) ) { return false; } } else { if( !setGestureIntEnable(0) ) { return false; } } if( !setGestureMode(1) ) { return false; } if( !enablePower() ){ return false; } if( !setMode(WAIT, 1) ) { return false; } if( !setMode(PROXIMITY, 1) ) { return false; } if( !setMode(GESTURE, 1) ) { return false; } return true; }/* End of this function */
void enable_gesture() { resetGestureParameters(); wireWriteDataByte(APDS9960_WTIME, 0xFF); wireWriteDataByte(APDS9960_PPULSE, DEFAULT_GESTURE_PPULSE); setLEDBoost(LED_BOOST_300); setGestureIntEnable(1); setGestureMode(1); enablePower(); setMode(WAIT, 1); setMode(PROXIMITY, 1); setMode(GESTURE, 1); }