touchPadVal = false;
}
t2 = millis() - t1;
if (t2 > 50) // release time > 50
{
touchMechineStatus = 0;
}
break;
default:
break;
}
}
void task_Touch(void *pvParameters) {
Serial.printf("task_Touch is running...\r\n");
while (1) {
task_TouchPad(NULL);
}
}
int getTouch(void) {
return touchMechineStatus;
}
void setupTouchPad(void) {
// Initialize touch pad peripheral, it will start a timer to run a filter
ESP_ERROR_CHECK(touch_pad_init());
// If use interrupt trigger mode, should set touch sensor FSM mode at 'TOUCH_FSM_MODE_TIMER'.
touch_pad_set_fsm_mode(TOUCH_FSM_MODE_TIMER);
// Set reference voltage for charging/discharging
// For most usage scenarios, we recommend using the following combination:
// the high reference valtage will be 2.7V - 1V = 1.7V, The low reference voltage will be 0.5V.
touch_pad_set_voltage(TOUCH_HVOLT_2V7, TOUCH_LVOLT_0V5, TOUCH_HVOLT_ATTEN_1V);
// Init touch pad IO
touch_pad_config(PIN_TOUCH_PAD, TOUCH_THRESH_NO_USE);
// Initialize and start a software filter to detect slight change of capacitance.
touch_pad_filter_start(TOUCHPAD_FILTER_TOUCH_PERIOD);
// Set thresh hold
tp_example_set_thresholds();
// set isr trigger mode
touch_pad_set_trigger_mode(TOUCH_TRIGGER_BELOW);
// Register touch interrupt ISR
touch_pad_isr_register(isr_touchpad, NULL);
// enable isr