[Otvorený zdroj] Testovaný systém intervalového rozpoznávania gest

——Z fóra vývojárov DWIN

V tomto čísle si predstavíme ocenený open source prípad fóra vývojárov DWIN – Interval Gesture Recognition Test System. Inžinieri používajú 7-palcovú inteligentnú obrazovku COF na interakciu so snímačom rozpoznávania gest PAJ7620U2 prostredníctvom jadra OS T5L. Nie je potrebné používať žiadne tlačidlá. Stačí priložiť ruku k senzoru, aby ste vstúpili na obrazovku ovládania systému ponúk, a realizovať 9 efektov gest: hore, dole, doľava, doprava, blízko, ďaleko, rotácia doľava, rotácia doprava a mávanie.

1.UIMmateriálDisplay

asd (2)
asd (1)

2.C51 Inžiniersky dizajn

Jadro OS T5L spolupracuje so senzorom rozpoznávania gest PAJ7620U2 pre interakciu s dátami, deteguje aktuálne gesto, otáčaním stránky určuje aktuálne zobrazený obrázok a zobrazený obrázok a realizuje funkciu prepínania stránok pomocou gest. Referenčný kód je nasledujúci:

void select_operate(uint16_t gesrure_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) //dole

{

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) //vľavo

{

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) //vpravo

{

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 gesrure_value)

{

uint16_t i = 0;

uint8_t sústruženie_režim = 0; //Režim otáčania strán, 0 hore, 1 dole, 2 doľava, 3 doprava

uint16_t turn_count = 0; //Posledný počet otočení stránky

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

{

if(gesrure_value == GES_UP) //up

{

režim_ otáčania = 0;

počet otočení = 48;

}

else if(gesrure_value == GES_DOWN) //dole

{

režim_ otáčania = 1;

počet otočení = 48;

}

else if(gesrure_value == GES_LEFT) //vľavo

{

režim_ otáčania = 2;

počet otočení = 80;

}

else if(gesrure_value == GES_RIGHT) //vpravo

{

režim otáčania = 3;

počet otočení = 80;

}

if(turning_current_image == 0 || turning_current_image == 2)

{

otočný_aktuálny_obraz = 1;

}

inak

{

otočný_aktuálny_obraz = 2;

}

for(i = 0;i

{

prepínač (režim otáčania)

{

prípad 0:

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

t5l0_sys_delay_ms(20);

if(turning_last_image != 0)

{

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

}

prestávka;

prípad 1:

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

t5l0_sys_delay_ms(20);

if(turning_last_image != 0)

{

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

}

prestávka;

prípad 2:

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

t5l0_sys_delay_ms(20);

if(turning_last_image != 0)

{

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

}

prestávka;

prípad 3:

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

t5l0_sys_delay_ms(20);

if(turning_last_image != 0)

{

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

}

prestávka;

}

t5l0_sys_delay_ms(20);

}

otočný_posledný_obraz = otočný_aktuálny_obrázok;

}

}


Čas odoslania: 21. marca 2024