diff --git a/include/drivers/capsense_driver.hpp b/include/drivers/capsense_driver.hpp new file mode 100644 index 00000000..fb60b5c7 --- /dev/null +++ b/include/drivers/capsense_driver.hpp @@ -0,0 +1,28 @@ +# pragma once + +#include "drivers/driver_enums.hpp" +#include "drivers/gpio_pin.hpp" +#include "microbit_v2.h" +#include "util.hpp" + +namespace edge::drivers { + +class CapsenseController { + GPIOPin touch_logo{TOUCH_LOGO, GPIOConfiguration::IN_NORES}; + CapsenseController(); + ~CapsenseController() = default; + +public: + CapsenseController(const CapsenseController&) = delete; + CapsenseController(CapsenseController&&) = delete; + CapsenseController& operator=(const CapsenseController&) = delete; + CapsenseController& operator=(CapsenseController&&) = delete; + + static CapsenseController& get(); + + void subscribe_captouch_press(ProcessCallbackPtr callback, uint8_t process_id); + +}; + + +} // namespace edge::drivers diff --git a/src/drivers/captouch_driver.cpp b/src/drivers/captouch_driver.cpp new file mode 100644 index 00000000..e69de29b