[Odprtokodni] Intervalni sistem za prepoznavanje kretenj Testy

——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)
asd (1)

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