[Avatud lähtekoodiga] Intervallide žestide tuvastamise testimissüsteem

——DWINi arendajafoorumist

Selles numbris tutvustame DWIN-i arendajafoorumi auhinnatud avatud lähtekoodiga juhtumit – Intervallsete žestide tuvastamise testsüsteemi. Insenerid kasutavad T5L OS-i tuuma kaudu PAJ7620U2 žestituvastusanduriga suhtlemiseks 7-tollist COF-nutiekraani. Ühtegi nuppu pole vaja kasutada. Menüüsüsteemi juhtekraanile sisenemiseks peate lihtsalt panema käe anduri lähedale ja realiseerima 9 žestiefekti: üles, alla, vasakule, paremale, lähedale, kaugele, vasakule pööramisele, paremale pööramisele ja lainele.

1. UIMmaterjalistDisplay

asd (2)
asd (1)

2.C51 Tehniline projekteerimine

T5L OS-i tuum suhtleb andmete interaktsiooniks žestituvastussensoriga PAJ7620U2, tuvastab praeguse žesti, määrab lehekülge keerates hetkel kuvatava pildi ja kuvatava pildi ning realiseerib žestide abil lehtede vahetamise funktsiooni. Viitekood on järgmine:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //üles

{

if(vali_väärtus >= 2)

{

vali_väärtus -= 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[valimise_väärtus][0], select_pos[vali_väärtus][1]);

}

else if(gesrure_value == GES_DOWN) //alla

{

if(vali_väärtus

{

vali_väärtus += 2;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[valimise_väärtus][0], select_pos[vali_väärtus][1]);

}

else if(gesrure_value == GES_LEFT) //left

{

if(vali_väärtus % 2 == 1)

{

vali_väärtus -= 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[valimise_väärtus][0], select_pos[vali_väärtus][1]);

}

else if(gesrure_value == GES_RIGHT) //parem

{

if(vali_väärtus % 2 == 0)

{

vali_väärtus += 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[valimise_väärtus][0], select_pos[vali_väärtus][1]);

}

}

 

void turning_operate(uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0; //Lehekülje pööramise režiim, 0 üles, 1 alla, 2 vasakule, 3 paremale

uint16_t turning_count = 0; //Viimane leheküljepöörete arv

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

{

if(gesrure_value == GES_UP) //üles

{

pööramisrežiim = 0;

pöörde_arv = 48;

}

else if(gesrure_value == GES_DOWN) //alla

{

pööramisrežiim = 1;

pöörde_arv = 48;

}

else if(gesrure_value == GES_LEFT) //left

{

pööramisrežiim = 2;

pöörde_arv = 80;

}

else if(gesrure_value == GES_RIGHT) //parem

{

pööramisrežiim = 3;

pöörde_arv = 80;

}

if(pöörde_praegune_pilt == 0 || pöörde_praegune_pilt == 2)

{

pöörde_praegune_pilt = 1;

}

muidu

{

pöörde_praegune_pilt = 2;

}

for(i = 0;i

{

lüliti (pöörderežiim)

{

juhtum 0:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, 480 - i * 10);

t5l0_sys_delay_ms(20);

if(viimane_pilt != 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 - i * 10);

}

murda;

juhtum 1:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, -480 + i * 10);

t5l0_sys_delay_ms(20);

if(viimane_pilt != 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 + i * 10);

}

murda;

juhtum 2:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 800 - i * 10, 0);

t5l0_sys_delay_ms(20);

if(viimane_pilt != 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 - i * 10, 0);

}

murda;

juhtum 3:

dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, -800 + i * 10, 0);

t5l0_sys_delay_ms(20);

if(viimane_pilt != 0)

{

dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 + i * 10, 0);

}

murda;

}

t5l0_sys_delay_ms(20);

}

pöörde_viimane_pilt = pöörde_praegune_pilt;

}

}


Postitusaeg: 21. märts 2024