——S DWIN Developer Foruma
U ovom broju predstavit ćemo nagrađivani slučaj otvorenog izvornog koda DWIN Developer Foruma – Interval Gesture Recognition Test System. Inženjeri koriste 7-inčni COF pametni zaslon za interakciju sa PAJ7620U2 senzorom za prepoznavanje gesta kroz T5L OS jezgru. Nema potrebe za korištenjem gumba. Trebate samo staviti ruku blizu senzora da biste ušli u zaslon za upravljanje sustavom izbornika i ostvarili 9 efekata pokreta gore, dolje, lijevo, desno, blizu, daleko, rotaciju ulijevo, rotaciju udesno i mahanje.
1.UIMmaterijalDisplay
![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ženjerski dizajn
T5L OS jezgra komunicira sa senzorom za prepoznavanje gesta PAJ7620U2 za interakciju podataka, detektira trenutnu gestu, određuje trenutno prikazanu sliku i sliku prikazanu okretanjem stranice i ostvaruje funkciju prebacivanja stranica pomoću gesti. Referentni kod je sljedeći:
void select_operate(uint16_t gesrure_value)
{
if(gesrure_value == GES_UP) //gore
{
if(select_value >= 2)
{
odabir_vrijednosti -= 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) //dolje
{
if(select_value
{
odabir_vrijednosti += 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) //lijevo
{
if(select_value % 2 == 1)
{
odabir_vrijednosti -= 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) //desno
{
if(select_value % 2 == 0)
{
odabir_vrijednosti += 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 način_okretanja = 0; //Način okretanja stranica, 0 gore, 1 dolje, 2 lijevo, 3 desno
uint16_t broj_okreta = 0; //Zadnji broj okretaja stranice
if(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)
{
if(gesrure_value == GES_UP) //gore
{
način_okretanja = 0;
broj_okreta = 48;
}
else if(gesrure_value == GES_DOWN) //dolje
{
način_okretanja = 1;
broj_okreta = 48;
}
else if(gesrure_value == GES_LEFT) //lijevo
{
način_okretanja = 2;
broj_okreta = 80;
}
else if(gesrure_value == GES_RIGHT) //desno
{
način_okretanja = 3;
broj_okreta = 80;
}
if(okretanje_trenutne_slike == 0 || okretanje_trenutne_slike == 2)
{
okretna_trenutna_slika = 1;
}
drugo
{
okretna_trenutna_slika = 2;
}
for(i = 0;i
{
prekidač (način_okretanja)
{
slučaj 0:
dgus_show_variate_icon_location_set(okretanje_trenutne_slike * 0x100 + 0x2000, 0, 480 - i * 10);
t5l0_sys_odgoda_ms(20);
if(okretanje_zadnje_slike != 0)
{
dgus_show_variate_icon_location_set(okretanje_zadnje_slike * 0x100 + 0x2000, 0, 0 - i * 10);
}
pauza;
slučaj 1:
dgus_show_variate_icon_location_set(okretanje_trenutne_slike * 0x100 + 0x2000, 0, -480 + i * 10);
t5l0_sys_odgoda_ms(20);
if(okretanje_zadnje_slike != 0)
{
dgus_show_variate_icon_location_set(okretanje_zadnje_slike * 0x100 + 0x2000, 0, 0 + i * 10);
}
pauza;
slučaj 2:
dgus_show_variate_icon_location_set(okretanje_trenutne_slike * 0x100 + 0x2000, 800 - i * 10, 0);
t5l0_sys_odgoda_ms(20);
if(okretanje_zadnje_slike != 0)
{
dgus_show_variate_icon_location_set(okretanje_zadnje_slike * 0x100 + 0x2000, 0 - i * 10, 0);
}
pauza;
slučaj 3:
dgus_show_variate_icon_location_set(okretanje_trenutne_slike * 0x100 + 0x2000, -800 + i * 10, 0);
t5l0_sys_odgoda_ms(20);
if(okretanje_zadnje_slike != 0)
{
dgus_show_variate_icon_location_set(okretanje_zadnje_slike * 0x100 + 0x2000, 0 + i * 10, 0);
}
pauza;
}
t5l0_sys_odgoda_ms(20);
}
okretanje_zadnje_slike = okretanje_trenutne_slike;
}
}
Vrijeme objave: 21. ožujka 2024