void CapSenseMonitor::connect_sensor(UART_Ptr the_uart) { CapacitiveSensor cs; auto sensor_index = m_sensors.size(); cs.set_thresholds(*m_cap_sense_thresh_touch, *m_cap_sense_thresh_release); cs.set_charge_current(*m_cap_sense_charge_current); cs.set_touch_callback(std::bind(&CapSenseMonitor::sensor_touch, this, sensor_index, std::placeholders::_1)); cs.set_release_callback(std::bind(&CapSenseMonitor::sensor_release, this, sensor_index, std::placeholders::_1)); cs.set_timeout_reconnect(5.f); if(cs.connect(the_uart)){ m_sensors.push_back(cs); } }