[Open Source] Sistem Testy de recunoaștere a gesturilor cu intervale

——De la DWIN Developer Forum

În acest număr, vom prezenta cazul premiat open source al Forumului pentru dezvoltatori DWIN – Sistemul de testare de recunoaștere a gesturilor cu intervale. Inginerii folosesc un ecran inteligent COF de 7 inchi pentru a interacționa cu senzorul de recunoaștere a gesturilor PAJ7620U2 prin nucleul sistemului de operare T5L. Nu este nevoie să folosiți niciun buton. Trebuie doar să puneți mâna aproape de senzor pentru a intra în ecranul de control al sistemului de meniu și să realizați 9 efecte de gest de sus, jos, stânga, dreapta, aproape, departe, rotație la stânga, rotație la dreapta și ondulare.

1.UIMmaterialDisplay

asd (2)
asd (1)

2.C51 Proiectare inginerească

Nucleul T5L OS interacționează cu senzorul de recunoaștere a gesturilor PAJ7620U2 pentru interacțiunea datelor, detectează gestul curent, determină imaginea afișată în prezent și imaginea afișată prin întoarcerea paginii și realizează funcția de comutare între pagini folosind gesturi. Codul de referință este următorul:

void select_operate(uint16_t gesture_value)

{

if(gesrure_value == GES_UP) //up

{

if(select_value >= 2)

{

select_value -= 2;

}

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

}

else if(gesrure_value == GES_DOWN) //jos

{

if(select_value

{

select_value += 2;

}

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

}

else if(gesrure_value == GES_LEFT) //stânga

{

if(select_value % 2 == 1)

{

select_value -= 1;

}

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

}

else if(gesrure_value == GES_RIGHT) //dreapta

{

if(select_value % 2 == 0)

{

select_value += 1;

}

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

}

}

 

void turning_operate(uint16_t gesture_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0; //Modul de întoarcere a paginii, 0 în sus, 1 în jos, 2 la stânga, 3 la dreapta

uint16_t turning_count = 0; //Ultimul număr de întoarceri de pagină

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

{

if(gesrure_value == GES_UP) //up

{

turning_mode = 0;

turning_count = 48;

}

else if(gesrure_value == GES_DOWN) //jos

{

turning_mode = 1;

turning_count = 48;

}

else if(gesrure_value == GES_LEFT) //stânga

{

turning_mode = 2;

turning_count = 80;

}

else if(gesrure_value == GES_RIGHT) //dreapta

{

turning_mode = 3;

turning_count = 80;

}

if(imaginea_curente_întors == 0 || imaginea_curente_întorcând == 2)

{

turning_current_image = 1;

}

altfel

{

turning_current_image = 2;

}

for(i = 0;i

{

comutator(turning_mode)

{

cazul 0:

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

t5l0_sys_delay_ms(20);

if(turning_ultima_image != 0)

{

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

}

pauză;

cazul 1:

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

t5l0_sys_delay_ms(20);

if(turning_ultima_image != 0)

{

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

}

pauză;

cazul 2:

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

t5l0_sys_delay_ms(20);

if(turning_ultima_image != 0)

{

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

}

pauză;

cazul 3:

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

t5l0_sys_delay_ms(20);

if(turning_ultima_image != 0)

{

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

}

pauză;

}

t5l0_sys_delay_ms(20);

}

turning_last_image = turning_current_image;

}

}


Ora postării: 21-mar-2024