——DWIN Garatzaileen Forotik
Ale honetan, DWIN Developer Forum - Interval Gesture Recognition Test System-en kode irekiko kasu saritua aurkeztuko dugu. Ingeniariek 7 hazbeteko COF pantaila adimenduna erabiltzen dute PAJ7620U2 keinuak ezagutzeko sentsorearekin elkarreragiteko T5L OS nukleoaren bidez. Ez dago botoirik erabili beharrik. Eskua sentsoretik hurbil jarri behar duzu menu-sistemaren kontrol-pantailan sartzeko, eta gora, behera, ezkerrera, eskuinera, hurbil, urrun, ezkerreko biraketa, eskuineko biraketa eta uhinen 9 keinu-efektu konturatu.
1.UIMmaterialaDisplay
![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 Ingeniaritza Diseinua
T5L OS nukleoak PAJ7620U2 keinuak ezagutzeko sentsorearekin elkarreragin egiten du datuen elkarrekintzarako, uneko keinua detektatzen du, unean bistaratzen den irudia eta orria bueltatuz bistaratzen den argazkia zehazten ditu eta keinuak erabiliz orrialdeak aldatzeko funtzioaz jabetzen da. Erreferentzia kodea honako hau da:
void select_operate (uint16_t gesture_value)
{
if(gesrure_value == GES_UP) //gora
{
if(hautatu_balioa >= 2)
{
hautatu_balioa -= 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) //behera
{
if(hautatu_balioa
{
hautatu_balioa += 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) //ezker
{
if(hautatu_balioa % 2 == 1)
{
hautatu_balioa -= 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) //eskuin
{
if(hautatu_balioa % 2 == 0)
{
hautatu_balioa += 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 biraketa_modua = 0; //Orria biratzeko modua, 0 gora, 1 behera, 2 ezkerrera, 3 eskuinera
uint16_t biraketa_zenbaketa = 0; //Azken orrialde bira kopurua
if(gezur_balioa == GES_GORA || keinuaren_balioa == GES_BEHERA || keinuaren_balioa == GES_EZKER || keinuaren_balioa == GES_ESKUINA)
{
if(gesrure_value == GES_UP) //gora
{
biraketa_modua = 0;
biraketa_zenbaketa = 48;
}
else if(gesrure_value == GES_DOWN) //behera
{
biraketa_modua = 1;
biraketa_zenbaketa = 48;
}
else if(gesrure_value == GES_LEFT) //ezker
{
biraketa_modua = 2;
biraketa_zenbaketa = 80;
}
else if(gesrure_value == GES_RIGHT) //eskuin
{
biraketa_modua = 3;
biraketa_zenbaketa = 80;
}
if(uneko_irudia_biratzen == 0 || uneko_irudia_biratzen == 2)
{
biraketa_uneko_irudia = 1;
}
bestela
{
biraketa_uneko_irudia = 2;
}
for(i = 0;i
{
aldatu (biratzeko_modua)
{
0 kasua:
dgus_show_variate_icon_location_set (turning_current_image * 0x100 + 0x2000, 0, 480 - i * 10);
t5l0_sys_delay_ms(20);
if(azken_irudia_biratu!= 0)
{
dgus_show_variate_icon_location_set (azken_irudia_biratu * 0x100 + 0x2000, 0, 0 - i * 10);
}
hautsi;
1. kasua:
dgus_show_variate_icon_location_set (turning_current_image * 0x100 + 0x2000, 0, -480 + i * 10);
t5l0_sys_delay_ms(20);
if(azken_irudia_biratu!= 0)
{
dgus_show_variate_icon_location_set (azken_irudia_biratu * 0x100 + 0x2000, 0, 0 + i * 10);
}
hautsi;
2. kasua:
dgus_show_variate_icon_location_set (turning_current_image * 0x100 + 0x2000, 800 - i * 10, 0);
t5l0_sys_delay_ms(20);
if(azken_irudia_biratu!= 0)
{
dgus_show_variate_icon_location_set (azken_irudia_biratu * 0x100 + 0x2000, 0 - i * 10, 0);
}
hautsi;
3. kasua:
dgus_show_variate_icon_location_set (turning_current_image * 0x100 + 0x2000, -800 + i * 10, 0);
t5l0_sys_delay_ms(20);
if(azken_irudia_biratu!= 0)
{
dgus_show_variate_icon_location_set (azken_irudia_biratu * 0x100 + 0x2000, 0 + i * 10, 0);
}
hautsi;
}
t5l0_sys_delay_ms(20);
}
azken_irudia_biratu = uneko_irudia_biratu;
}
}
Argitalpenaren ordua: 2024-mar-21