——Z DWIN Developer Forum
V tomto čísle představíme oceněný open source případ fóra DWIN Developer Forum – Interval Gesture Recognition Test System. Inženýři používají 7palcovou chytrou obrazovku COF k interakci se snímačem rozpoznávání gest PAJ7620U2 prostřednictvím jádra operačního systému T5L. Není potřeba používat žádná tlačítka. Chcete-li vstoupit na obrazovku ovládání systému nabídek, stačí přiložit ruku k senzoru a realizovat 9 efektů gest: nahoru, dolů, doleva, doprava, blízko, daleko, otáčení doleva, otáčení doprava a mávání.
1.UIMmateriálDisplay
![asd (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f07846d9de96799.png)
![asd (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f07860ad7d49985.png)
2.C51 Inženýrský design
Jádro OS T5L spolupracuje se senzorem rozpoznávání gest PAJ7620U2 pro interakci s daty, detekuje aktuální gesto, určuje aktuálně zobrazený obrázek a obrázek zobrazený otáčením stránky a realizuje funkci přepínání stránek pomocí gest. Referenční kód je následující:
void select_operate(uint16_t gesrure_value)
{
if(gesrure_value == GES_UP) //up
{
if(select_value >= 2)
{
vybrat_hodnotu -= 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) //dolů
{
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) //left
{
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 režim_soustružení = 0; //Režim otáčení stránek, 0 nahoru, 1 dolů, 2 doleva, 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áčení = 0;
počet otočení = 48;
}
else if(gesrure_value == GES_DOWN) //dolů
{
režim_otáčení = 1;
počet otočení = 48;
}
else if(gesrure_value == GES_LEFT) //left
{
režim_otáčení = 2;
počet otočení = 80;
}
else if(gesrure_value == GES_RIGHT) //vpravo
{
režim_otáčení = 3;
počet otočení = 80;
}
if(turning_current_image == 0 || turning_current_image == 2)
{
otáčení_aktuálního_obrazu = 1;
}
jiný
{
otáčení_aktuálního_obrazu = 2;
}
for(i = 0;i
{
přepínač (režim otáčení)
{
pří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);
}
přestávka;
pří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);
}
přestávka;
pří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);
}
přestávka;
pří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);
}
přestávka;
}
t5l0_sys_delay_ms(20);
}
soustružení_poslední_obraz = aktuální_obrazek;
}
}
Čas odeslání: 21. března 2024