——A DWIN fejlesztői fórumról
Ebben a számban bemutatjuk a DWIN Developer Forum díjnyertes nyílt forráskódú esetét – Intervall Gesture Recognition Test System. A mérnökök 7 hüvelykes COF intelligens képernyőt használnak a PAJ7620U2 gesztusfelismerő érzékelővel való interakcióhoz a T5L operációs rendszer magon keresztül. Nincs szükség gombok használatára. Csak közel kell tennie a kezét az érzékelőhöz, hogy belépjen a menürendszer vezérlőképernyőjére, és megvalósítsa a 9 gesztuseffektust: fel, le, balra, jobbra, közel, távol, balra, jobbra forgatás és hullám.
1. UIManyagDisplay
![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 Mérnöki tervezés
A T5L operációs rendszer magja kölcsönhatásba lép a PAJ7620U2 gesztusfelismerő érzékelővel az adatinterakció érdekében, érzékeli az aktuális gesztust, meghatározza az aktuálisan megjelenített képet és a megjelenített képet lapozással, valamint megvalósítja a gesztusok segítségével történő oldalváltás funkcióját. A hivatkozási kód a következő:
void select_operate(uint16_t gesrure_value)
{
if(gesrure_value == GES_UP) //fel
{
if(kiválasztott_érték >= 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) //down
{
if(kiválasztott_érték
{
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(kiválasztás_érték % 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) //jobbra
{
if(kiválasztás_érték % 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 turning_mode = 0; //Lapozási mód, 0 fel, 1 le, 2 balra, 3 jobbra
uint16_t fordulatszám = 0; //Az utolsó oldalfordulatok száma
if(gerure_value == GES_UP || gerure_value == GES_DOWN || gerure_value == GES_LEFT || gerure_value == GES_RIGHT)
{
if(gesrure_value == GES_UP) //fel
{
forgási_mód = 0;
fordulatszám = 48;
}
else if(gesrure_value == GES_DOWN) //down
{
forgási_mód = 1;
fordulatszám = 48;
}
else if(gesrure_value == GES_LEFT) //left
{
forgási_mód = 2;
forgási_szám = 80;
}
else if(gesrure_value == GES_RIGHT) //jobbra
{
forgási_mód = 3;
forgási_szám = 80;
}
if(forduló_aktuális_kép == 0 || forduló_aktuális_kép == 2)
{
forgó_aktuális_kép = 1;
}
más
{
forgó_aktuális_kép = 2;
}
for(i = 0;i
{
kapcsoló (fordulási_mód)
{
0. eset:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, 480 - i * 10);
t5l0_sys_delay_ms(20);
if(forduló_utolsó_kép != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 - i * 10);
}
szünet;
1. eset:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, -480 + i * 10);
t5l0_sys_delay_ms(20);
if(forduló_utolsó_kép != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 + i * 10);
}
szünet;
2. eset:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 800 - i * 10, 0);
t5l0_sys_delay_ms(20);
if(forduló_utolsó_kép != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 - i * 10, 0);
}
szünet;
3. eset:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, -800 + i * 10, 0);
t5l0_sys_delay_ms(20);
if(forduló_utolsó_kép != 0)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 + i * 10, 0);
}
szünet;
}
t5l0_sys_delay_ms(20);
}
forduló_utolsó_kép = forduló_aktuális_kép;
}
}
Feladás időpontja: 2024. március 21