Add code for feature "Disable Touch"

This commit is contained in:
Žiga Deisinger 2022-01-26 21:52:08 +01:00
parent 96879d3664
commit 4a0d42ed34
5 changed files with 22 additions and 14 deletions

View File

@ -281,20 +281,21 @@ void SetPlayDeadView::focus() {
SetUIView::SetUIView(NavigationView& nav) {
add_children({
//&checkbox_login,
&checkbox_enable_touchscreen,
&checkbox_speaker,
&checkbox_bloff,
&options_bloff,
&checkbox_showsplash,
&checkbox_showclock,
&options_clockformat,
&options_clockformat,
&button_ok
});
checkbox_enable_touchscreen.set_value(persistent_memory::enable_touchscreen());
checkbox_speaker.set_value(persistent_memory::config_speaker());
checkbox_showsplash.set_value(persistent_memory::config_splash());
checkbox_showclock.set_value(!persistent_memory::hide_clock());
//checkbox_login.set_value(persistent_memory::config_login());
//Add code for touch disabled
uint32_t backlight_timer = persistent_memory::config_backlight_timer();
if (backlight_timer) {
@ -333,6 +334,7 @@ SetUIView::SetUIView(NavigationView& nav) {
}
persistent_memory::set_config_splash(checkbox_showsplash.value());
persistent_memory::set_clock_hidden(!checkbox_showclock.value());
persistent_memory::set_enable_touchscreen(checkbox_enable_touchscreen.value());
//persistent_memory::set_config_login(checkbox_login.value());
nav.pop();
};

View File

@ -224,6 +224,12 @@ private:
20,
"Login with play dead"
};*/
Checkbox checkbox_enable_touchscreen {
{ 3 * 8, 2 * 16 },
20,
"Enable touchscreen"
};
Checkbox checkbox_speaker {
{ 3 * 8, 4 * 16 },

View File

@ -109,7 +109,7 @@ void Manager::feed(const Frame& frame) {
switch(state) {
case State::NoTouch:
if( touch_stable && touch_pressure ) {//Add code for touch disabled
if( touch_stable && touch_pressure && persistent_memory::enable_touchscreen()) {
if( point_stable() ) {
state = State::TouchDetected;
touch_started();

View File

@ -224,9 +224,13 @@ void set_playdead_sequence(const uint32_t new_value) {
// ui_config is an uint32_t var storing information bitwise
// bits 0,1,2 store the backlight timer
// bits 31, 30,29,28,27, 26, 25 stores the different single bit configs depicted below
// bits 31, 30,29,28,27, 26, 25, 24 stores the different single bit configs depicted below
// bits on position 4 to 19 (16 bits) store the clkout frequency
bool enable_touchscreen() { // Option to disable touch screen
return data->ui_config & (1 << 24);
}
bool hide_clock() { // clock hidden from main menu
return data->ui_config & (1 << 25);
}
@ -254,15 +258,15 @@ bool config_splash() {
return data->ui_config & (1 << 31);
}
bool touch_screen_enabled() {
return data->ui_config & (1 << 32);
}
uint32_t config_backlight_timer() {
const uint32_t timer_seconds[8] = { 0, 5, 15, 30, 60, 180, 300, 600 };
return timer_seconds[data->ui_config & 7]; //first three bits, 8 possible values
}
void set_enable_touchscreen(bool v) {
data->ui_config = (data->ui_config & ~(1 << 24)) | (v << 24);
}
void set_clock_hidden(bool v) {
data->ui_config = (data->ui_config & ~(1 << 25)) | (v << 25);
}
@ -295,10 +299,6 @@ void set_config_backlight_timer(uint32_t i) {
data->ui_config = (data->ui_config & ~7) | (i & 7);
}
void set_touch_screen_enabled(bool v) {
data->ui_config = (data->ui_config & ~(1 << 32)) | (v << 32);
}
/*void set_config_textentry(uint8_t new_value) {
data->ui_config = (data->ui_config & ~0b100) | ((new_value & 1) << 2);
}

View File

@ -80,7 +80,7 @@ bool clock_with_date();
bool config_login();
bool config_speaker();
uint32_t config_backlight_timer();
bool touch_screen_enabled();
bool enable_touchscreen();
void set_config_splash(bool v);
void set_clock_hidden(bool v);
@ -88,7 +88,7 @@ void set_clock_with_date(bool v);
void set_config_login(bool v);
void set_config_speaker(bool v);
void set_config_backlight_timer(uint32_t i);
void set_touch_screen_enabled(bool v);
void set_enable_touchscreen(bool v);
//uint8_t ui_config_textentry();
//void set_config_textentry(uint8_t new_value);