abstracting display, touch and sd
This commit is contained in:
47
display/low_level_touch_ft6336u.h
Normal file
47
display/low_level_touch_ft6336u.h
Normal file
@@ -0,0 +1,47 @@
|
||||
#ifndef LOW_LEVEL_TOUCH_FT6336U_H
|
||||
#define LOW_LEVEL_TOUCH_FT6336U_H
|
||||
|
||||
#include "low_level_touch.h"
|
||||
#include "../lib/ft6336u/ft6336u.h"
|
||||
|
||||
// FT6336U Touch Driver Implementation
|
||||
class LowLevelTouchFT6336U : public LowLevelTouch {
|
||||
private:
|
||||
int screen_width;
|
||||
int screen_height;
|
||||
bool swap_xy;
|
||||
bool invert_x;
|
||||
bool invert_y;
|
||||
bool initialized;
|
||||
|
||||
public:
|
||||
LowLevelTouchFT6336U(int width, int height, bool swap_xy = false,
|
||||
bool invert_x = false, bool invert_y = false);
|
||||
virtual ~LowLevelTouchFT6336U();
|
||||
|
||||
// Core operations
|
||||
bool init() override;
|
||||
bool read_touch(TouchData* data) override;
|
||||
bool is_touched() override;
|
||||
|
||||
// Touch properties
|
||||
int get_screen_width() const override { return screen_width; }
|
||||
int get_screen_height() const override { return screen_height; }
|
||||
TouchType get_type() const override { return TOUCH_TYPE_FT6336U; }
|
||||
uint8_t get_max_touch_points() const override { return 2; }
|
||||
|
||||
// Device information
|
||||
uint8_t get_chip_id() override;
|
||||
uint8_t get_firmware_version() override;
|
||||
|
||||
// Coordinate transformation
|
||||
void set_coordinate_transform(bool swap_xy, bool invert_x, bool invert_y) override;
|
||||
|
||||
// Interrupt callback
|
||||
void set_interrupt_callback(void (*callback)(unsigned int gpio, uint32_t events)) override;
|
||||
|
||||
// Test/diagnostic
|
||||
bool test_communication() override;
|
||||
};
|
||||
|
||||
#endif // LOW_LEVEL_TOUCH_FT6336U_H
|
||||
Reference in New Issue
Block a user