[Open Source] Interval Gesture Recognition Testy System

——Da u Forum di sviluppatori DWIN

In questa questione, presenteremu u premiatu casu open source di u Forum di Sviluppatori DWIN - Sistema di Test di Ricunniscenza di Gesture Interval. L'ingegneri utilizanu un schermu intelligente COF di 7 inch per interagisce cù u sensoru di ricunniscenza di gestu PAJ7620U2 attraversu u core T5L OS. Ùn ci hè bisognu di utilizà qualsiasi buttone. Solu bisognu di mette a manu vicinu à u sensoru per entre in u screnu di cuntrollu di u sistema di menu, è realizà 9 effetti di gestu di su, giù, manca, destra, vicinu, luntanu, rotazione manca, rotazione diritta è onda.

1.UIMmaterialeDisplay

asd (2)
asd (1)

2.C51 Design Ingegneria

U core T5L OS interagisce cù u sensoru di ricunniscenza di gestu PAJ7620U2 per l'interazzione di dati, rileva u gestu attuale, determina l'immagine attualmente mostrata è l'immagine mostrata girando a pagina, è realiza a funzione di cambià di pagine cù gesti. U codice di riferimentu hè cusì:

void select_operate (uint16_t gesture_value)

{

if(gesrure_value == GES_UP) //up

{

if (select_value >= 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 (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) // right

{

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 gesture_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0; //Modu di rotazione di pagina, 0 su, 1 giù, 2 manca, 3 destra

uint16_t turning_count = 0; //Ultimu numeru di volte di pagina

if(gesrure_value == GES_UP || gesture_value == GES_DOWN || gesture_value == GES_LEFT || gesrure_value == GES_RIGHT)

{

if(gesrure_value == GES_UP) //up

{

turning_mode = 0;

turning_count = 48;

}

else if(gesrure_value == GES_DOWN) //down

{

turning_mode = 1;

turning_count = 48;

}

else if(gesrure_value == GES_LEFT) //left

{

turning_mode = 2;

turning_count = 80;

}

else if(gesrure_value == GES_RIGHT) // right

{

turning_mode = 3;

turning_count = 80;

}

if (turning_current_image == 0 || turning_current_image == 2)

{

turning_current_image = 1;

}

altru

{

turning_current_image = 2;

}

for(i = 0;i

{

cambia (modu_turning)

{

casu 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);

}

rompe;

casu 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);

}

rompe;

casu 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);

}

rompe;

casu 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);

}

rompe;

}

t5l0_sys_delay_ms(20);

}

turning_last_image = turning_current_image;

}

}


Tempu di Postu: 21-Mar-2024