[Адкрыты зыходны код] Сістэма інтэрвальнага распазнання жэстаў

——З форуму распрацоўшчыкаў DWIN

У гэтым выпуску мы прадставім адзначаны ўзнагародамі выпадак форуму распрацоўшчыкаў DWIN з адкрытым зыходным кодам – тэставая сістэма інтэрвальнага распазнання жэстаў. Інжынеры выкарыстоўваюць 7-цалевы разумны экран COF для ўзаемадзеяння з датчыкам распазнавання жэстаў PAJ7620U2 праз ядро ​​АС T5L. Няма неабходнасці выкарыстоўваць якія-небудзь кнопкі. Вам трэба толькі прыкласці руку да датчыка, каб увайсці ў экран кіравання сістэмай меню і рэалізаваць 9 эфектаў жэстаў: уверх, уніз, налева, направа, блізка, далёка, паварот налева, паварот направа і хваля.

1.ІнтэрфейсМматэрыялДisplay

asd (2)
асд (1)

2.C51 Інжынернае праектаванне

Ядро АС T5L ўзаемадзейнічае з датчыкам распазнання жэстаў PAJ7620U2 для ўзаемадзеяння з дадзенымі, вызначае бягучы жэст, вызначае малюнак, якое адлюстроўваецца ў дадзены момант, і малюнак, якое адлюстроўваецца пры перагортванні старонкі, і рэалізуе функцыю пераключэння старонак з дапамогай жэстаў. Спасылачны код выглядае наступным чынам:

несапраўдны select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //уверх

{

калі (выбраць значэнне >= 2)

{

выбраць_значэнне -= 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

інакш if(gesrure_value == GES_DOWN) //уніз

{

калі (выбраць значэнне

{

выбраць_значэнне += 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

інакш, калі (gesrure_value == GES_LEFT) //злева

{

калі (выберыце значэнне % 2 == 1)

{

выбраць_значэнне -= 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

інакш, калі (gesrure_value == GES_RIGHT) // правільна

{

калі (выбраць значэнне % 2 == 0)

{

выбраць_значэнне += 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

}

 

несапраўдны turning_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0; //Рэжым перагортвання старонак, 0 уверх, 1 уніз, 2 налева, 3 направа

uint16_t turning_count = 0; //Апошняя колькасць перагортвання старонкі

if(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)

{

if(gesrure_value == GES_UP) //уверх

{

turning_mode = 0;

колькасць_паваротаў = 48;

}

інакш if(gesrure_value == GES_DOWN) //уніз

{

паваротны_рэжым = 1;

колькасць_паваротаў = 48;

}

інакш, калі (gesrure_value == GES_LEFT) //злева

{

рэжым_павароту = 2;

колькасць_паваротаў = 80;

}

інакш, калі (gesrure_value == GES_RIGHT) // правільна

{

рэжым_павароту = 3;

колькасць_паваротаў = 80;

}

if(паваротны_цякучы_малюнак == 0 || паваротны_цякучы_малюнак == 2)

{

паваротны_цякучы_малюнак = 1;

}

яшчэ

{

паваротны_цякучы_малюнак = 2;

}

for(i = 0;i

{

пераключальнік (рэжым_павароту)

{

выпадак 0:

dgus_show_variate_icon_location_set(паварот_бягучага_малюнка * 0x100 + 0x2000, 0, 480 - i * 10);

t5l0_sys_delay_ms(20);

калі (паварот_апошняга_выява != 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 - i * 10);

}

разбіваць;

выпадак 1:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, -480 + i * 10);

t5l0_sys_delay_ms(20);

калі (паварот_апошняга_выява != 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 + i * 10);

}

разбіваць;

выпадак 2:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 800 - i * 10, 0);

t5l0_sys_delay_ms(20);

калі (паварот_апошняга_выява != 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 - i * 10, 0);

}

разбіваць;

выпадак 3:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, -800 + i * 10, 0);

t5l0_sys_delay_ms(20);

калі (паварот_апошняга_выява != 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 + i * 10, 0);

}

разбіваць;

}

t5l0_sys_delay_ms(20);

}

turning_last_image = паварот_бягучага_выява;

}

}


Час публікацыі: 21 сакавіка 2024 г