int PressSensor::setEnable(int32_t handle, int en) { int err = 0; int what = press; switch(handle){ case ID_P : what = press; break; case ID_T : what = temperature; break; } if(en) mEnabled[what]++; else mEnabled[what]--; if(mEnabled[what] < 0) mEnabled[what] = 0; if(mEnabled[press] > 0 || mEnabled[temperature] > 0) err = enable_sensor(); else err = disable_sensor(); if (!err) { update_delay(what); } ALOGD("PressSensor mEnabled %d, Temperature mEnabled %d\n",mEnabled[press],mEnabled[temperature]); return err; }
/*---------------------------------------------------- Disable_sensor_after_IDcert() -----------------------------------------------------*/ void Disable_sensor_after_IDcert(void) { if(IDkey_speech_flash == 1) { IDkey_speech_flash = 0; disable_sensor(); } }
/*---------------------------------------------------------------------- slave_nearby_operation() operation for slave is nearby ----------------------------------------------------------------------*/ void slave_nearby_operation(void) { // turn on the magnet magnet_CW(); // speech for slave nearby slave_nearby_speech(); // handle with battery status verifybattery(ADC_check_result); // rotate on speech key_rotate_on_speech(); nearby_away_interval = 0; // turn on ADC timer ADC_timecount_EN = 1; disable_sensor(); }
/*--------------------------------------------------- Detect_open_action() ---------------------------------------------------*/ void Detect_open_action(void) { // if((key_rotate == 1)&&(Open_action_flag == 0)&&(ID_certificated_flag == 1)&&(never_alarm == 0)) if((key_rotate == 1)&&(Open_action_flag == 0)&&(ID_certificated_flag == 1)) { disable_sensor(); Open_action_flag = 1; ID_speeched_flag = 0; After_IDcert_timecount = 0; ID_certificated_flag = 0; ID_certificated_numbers = 0; slave_nearby_actioned_flag = 1; ElecMotor_CW(); slave_nearby_operation(); Just_power_up = 0; Autolock_G = 0; timer0_count2 = 0; } }
int AccelSensor::setEnable(int32_t handle, int en) { int err = 0; //ALOGD("enable: handle: %ld, en: %d", handle, en); if(handle != ID_A && handle != ID_O && handle != ID_M) return -1; if(en) mUser++; else{ mUser--; if(mUser < 0) mUser = 0; } if(mUser > 0) err = enable_sensor(); else err = disable_sensor(); if(handle == ID_A ) { if(en) mEnabled++; else mEnabled--; if(mEnabled < 0) mEnabled = 0; } //update_delay(); #ifdef DEBUG_SENSOR ALOGD("AccelSensor enable %d ,usercount %d, handle %d ,mEnabled %d, err %d", en, mUser, handle, mEnabled, err); #endif return 0; }
uint8_t disable_external_temperature_sensor_B() { return disable_sensor(external_temperature_sensor_B); }
// DISABLE TEMPERATURE uint8_t disable_internal_temperature_sensor() { return disable_sensor(internal_temperature_sensor); }
uint8_t disable_light_sensor_B() { return disable_sensor(light_sensor_B); }
void stop_r3d2(void) { stop_motor(); disable_sensor(); }