——Iz foruma razvijalcev DWIN
V tej številki bomo predstavili nagrajeni odprtokodni primer DWIN Developer Forum – Interval Gesture Recognition Test System. Inženirji uporabljajo 7-palčni pametni zaslon COF za interakcijo s senzorjem za prepoznavanje gest PAJ7620U2 prek jedra OS T5L. Nobenih gumbov ni treba uporabljati. Roko morate samo približati senzorju, da odprete zaslon za upravljanje menijskega sistema in uresničite 9 učinkov gibov navzgor, navzdol, levo, desno, blizu, daleč stran, levo vrtenje, desno vrtenje in mahanje.
1.UIMmaterialDisplay
![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ženirsko načrtovanje
Jedro OS T5L sodeluje s senzorjem za prepoznavanje potez PAJ7620U2 za podatkovno interakcijo, zaznava trenutno potezo, določa trenutno prikazano sliko in sliko, prikazano z obračanjem strani, in uresničuje funkcijo preklapljanja strani z uporabo potez. Referenčna koda je naslednja:
void select_operate(uint16_t gesrure_value)
{
if(gesrure_value == GES_UP) //gor
{
če(izberite_vrednost >= 2)
{
izberite_vrednost -= 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
{
če (izberite vrednost
{
izberite_vrednost += 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) //levo
{
if(select_value % 2 == 1)
{
izberite_vrednost -= 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)
{
izberite_vrednost += 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_obračanja = 0; //Način obračanja strani, 0 gor, 1 dol, 2 levo, 3 desno
uint16_t turning_count = 0; //Zadnje število obračanja strani
if(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)
{
if(gesrure_value == GES_UP) //gor
{
način_obračanja = 0;
štetje_obratov = 48;
}
else if(gesrure_value == GES_DOWN) //dol
{
način_obračanja = 1;
štetje_obratov = 48;
}
else if(gesrure_value == GES_LEFT) //levo
{
način_obračanja = 2;
štetje_obračanja = 80;
}
else if(gesrure_value == GES_RIGHT) //desno
{
način_obračanja = 3;
število_obratov = 80;
}
if(obračajoča_trenutna_slika == 0 || obračajoča_trenutna_slika == 2)
{
obračanje_trenutne_slike = 1;
}
drugače
{
obračanje_trenutne_slike = 2;
}
for(i = 0;i
{
stikalo (način_obračanja)
{
primer 0:
dgus_show_variate_icon_location_set(obračanje_trenutne_slike * 0x100 + 0x2000, 0, 480 - i * 10);
t5l0_sys_delay_ms(20);
če(obračanje_zadnje_slike != 0)
{
dgus_show_variate_icon_location_set(obračanje_zadnje_slike * 0x100 + 0x2000, 0, 0 - i * 10);
}
odmor;
primer 1:
dgus_show_variate_icon_location_set(obračanje_trenutne_slike * 0x100 + 0x2000, 0, -480 + i * 10);
t5l0_sys_delay_ms(20);
če(obračanje_zadnje_slike != 0)
{
dgus_show_variate_icon_location_set(obračanje_zadnje_slike * 0x100 + 0x2000, 0, 0 + i * 10);
}
odmor;
primer 2:
dgus_show_variate_icon_location_set(obračanje_trenutne_slike * 0x100 + 0x2000, 800 - i * 10, 0);
t5l0_sys_delay_ms(20);
če(obračanje_zadnje_slike != 0)
{
dgus_show_variate_icon_location_set(obračanje_zadnje_slike * 0x100 + 0x2000, 0 - i * 10, 0);
}
odmor;
primer 3:
dgus_show_variate_icon_location_set(obračanje_trenutne_slike * 0x100 + 0x2000, -800 + i * 10, 0);
t5l0_sys_delay_ms(20);
če(obračanje_zadnje_slike != 0)
{
dgus_show_variate_icon_location_set(obračanje_zadnje_slike * 0x100 + 0x2000, 0 + i * 10, 0);
}
odmor;
}
t5l0_sys_delay_ms(20);
}
obračanje_zadnje_slike = obračanje_trenutne_slike;
}
}
Čas objave: 21. marca 2024