[Açıq Mənbə] İnterval Jest Tanıma Test Sistemi

——DWIN Developer Forumundan

Bu buraxılışda biz DWIN Developer Forumunun mükafat qazanmış açıq mənbə işini – İnterval Jest Tanıma Test Sistemini təqdim edəcəyik. Mühəndislər T5L OS nüvəsi vasitəsilə PAJ7620U2 jest tanıma sensoru ilə qarşılıqlı əlaqə yaratmaq üçün 7 düymlük COF smart ekranından istifadə edirlər. Heç bir düymədən istifadə etməyə ehtiyac yoxdur. Menyu sisteminin idarəetmə ekranına daxil olmaq üçün əlinizi sensora yaxınlaşdırmaq kifayətdir və yuxarı, aşağı, sola, sağa, yaxına, uzaqlara, sola fırlanma, sağa fırlanma və dalğa kimi 9 jest effektini həyata keçirə bilərsiniz.

1.UIMmaterialDisplay

asd (2)
asd (1)

2.C51 Mühəndislik Dizaynı

T5L OS nüvəsi verilənlərin qarşılıqlı əlaqəsi üçün PAJ7620U2 jest tanınması sensoru ilə qarşılıqlı əlaqədə olur, cari jesti aşkarlayır, səhifəni çevirməklə hazırda göstərilən şəkli və göstərilən şəkli müəyyən edir və jestlərdən istifadə edərək səhifələrin dəyişdirilməsi funksiyasını həyata keçirir. İstinad kodu aşağıdakı kimidir:

etibarsız seçmə_əməliyyat(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //yuxarı

{

əgər (seçmə_dəyəri >= 2)

{

seçmə_dəyəri -= 2;

}

dgus_show_variate_icon_location_set(SEÇİM_SEÇİM_DİRKANÇI,seçmə_pozis[seçmə_dəyər][0], mövqe_seç[seçmək_dəyər][1]);

}

başqa if(gesrure_value == GES_DOWN) //aşağı

{

əgər (seçmə_dəyəri

{

select_value += 2;

}

dgus_show_variate_icon_location_set(SEÇİM_SEÇİM_DİRKANÇI,seçmə_pozis[seçmə_dəyər][0], mövqe_seç[seçmək_dəyər][1]);

}

başqa if(gesrure_value == GES_LEFT) //sol

{

əgər (seçmə_dəyəri % 2 == 1)

{

seçmə_dəyəri -= 1;

}

dgus_show_variate_icon_location_set(SEÇİM_SEÇİM_DİRKANÇI,seçmə_pozis[seçmə_dəyər][0], mövqe_seç[seçmək_dəyər][1]);

}

başqa if(gesrure_value == GES_RIGHT) //sağ

{

əgər (seçmə_dəyəri % 2 == 0)

{

select_value += 1;

}

dgus_show_variate_icon_location_set(SEÇİM_SEÇİM_DİRKANÇI,seçmə_pozis[seçmə_dəyər][0], mövqe_seç[seçmək_dəyər][1]);

}

}

 

boş dönmə_işlət (uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turning_mode = 0; //Səhifəni çevirmə rejimi, 0 yuxarı, 1 aşağı, 2 sola, 3 sağa

uint16_t turning_count = 0; //Səhifələrin son çevrilmə sayı

əgər(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)

{

if(gesrure_value == GES_UP) //yuxarı

{

dönüş_rejimi = 0;

dönüş_sayısı = 48;

}

başqa if(gesrure_value == GES_DOWN) //aşağı

{

dönüş_rejimi = 1;

dönüş_sayısı = 48;

}

başqa if(gesrure_value == GES_LEFT) //sol

{

dönüş_rejimi = 2;

dönüş_sayısı = 80;

}

başqa if(gesrure_value == GES_RIGHT) //sağ

{

dönüş_rejimi = 3;

dönüş_sayısı = 80;

}

əgər(dönən_cari_şəkil == 0 || dönən_cari_şəkil == 2)

{

dönüş_cari_image = 1;

}

başqa

{

dönüş_cari_image = 2;

}

üçün(i = 0;i

{

keçid (dönmə_rejimi)

{

hal 0:

dgus_show_variate_icon_location_set(dönən_cari_image * 0x100 + 0x2000, 0, 480 - i * 10);

t5l0_sys_delay_ms(20);

əgər(son_şəklin çevrilməsi != 0)

{

dgus_show_variate_icon_location_set(son_şəklin dönüşü * 0x100 + 0x2000, 0, 0 - i * 10);

}

fasilə;

hal 1:

dgus_show_variate_icon_location_set(dönən_cari_image * 0x100 + 0x2000, 0, -480 + i * 10);

t5l0_sys_delay_ms(20);

əgər(son_şəklin çevrilməsi != 0)

{

dgus_show_variate_icon_location_set(son_şəklin dönüşü * 0x100 + 0x2000, 0, 0 + i * 10);

}

fasilə;

hal 2:

dgus_show_variate_icon_location_set(dönən_cari_image * 0x100 + 0x2000, 800 - i * 10, 0);

t5l0_sys_delay_ms(20);

əgər(son_şəklin çevrilməsi != 0)

{

dgus_show_variate_icon_location_set(son_şəklin dönüşü * 0x100 + 0x2000, 0 - i * 10, 0);

}

fasilə;

hal 3:

dgus_show_variate_icon_location_set(dönən_cari_image * 0x100 + 0x2000, -800 + i * 10, 0);

t5l0_sys_delay_ms(20);

əgər(son_şəklin çevrilməsi != 0)

{

dgus_show_variate_icon_location_set(son_resmin dönüşü * 0x100 + 0x2000, 0 + i * 10, 0);

}

fasilə;

}

t5l0_sys_delay_ms(20);

}

dönüş_son_şəkil = dönmə_cari_şəkil;

}

}


Göndərmə vaxtı: 21 mart 2024-cü il