#ifndef TOUCH_JOYSTICK_H #define TOUCH_JOYSTICK_H #include "touch_control.h" class TouchJoystick : public TouchControl { public: private: int32_t dead_zone_inner; int32_t dead_zone_inner2; // ^ 2 int32_t dead_zone_outer; int32_t dead_zone_outer2; // ^ 2 int16_t x; int16_t y; int16_t usb_x; int16_t usb_y; int16_t usb_r; float pos2usb; bool invert_x; bool invert_y; public: TouchJoystick() {} TouchJoystick(int32_t pos_x, int32_t pos_y, int32_t pos_r, int16_t usb_x, int16_t usb_y, int16_t usb_r); void init(int32_t pos_x, int32_t pos_y, int32_t pos_r, int16_t usb_x, int16_t usb_y, int16_t usb_r); void setDeadZoneInner(int32_t dead_zone_inner); void setDeadZoneOuter(int32_t dead_zone_outer); void setInvertX(bool invert_x = true); void setInvertY(bool invert_y = true); int8_t touch(int8_t fid, int32_t tx, int32_t ty); int16_t getX() {return x;} int16_t getY() {return y;} }; #endif