[Ochiq manba] Intervalli imo-ishoralarni aniqlash test tizimi

——DWIN dasturchilar forumidan

Ushbu sonda biz DWIN Developer Forumning mukofotga sazovor bo'lgan ochiq manbali ishi - Interval imo-ishoralarni aniqlash test tizimi bilan tanishtiramiz. Muhandislar T5L OS yadrosi orqali PAJ7620U2 imo-ishorani aniqlash sensori bilan ishlash uchun 7 dyuymli COF smart-ekranidan foydalanadilar. Hech qanday tugmalardan foydalanishning hojati yo'q. Menyu tizimini boshqarish ekraniga kirish uchun qo'lingizni sensorga yaqin qo'yishingiz va yuqoriga, pastga, chapga, o'ngga, yaqin, uzoqqa, chapga aylantirish, o'ngga aylantirish va to'lqinning 9 ta imo-ishora effektini amalga oshirishingiz kerak.

1.UIMmaterialDisplay

asd (2)
asd (1)

2.C51 Muhandislik dizayni

T5L OS yadrosi maʼlumotlar oʻzaro aloqasi uchun PAJ7620U2 imo-ishorani aniqlash sensori bilan oʻzaro ishlaydi, joriy imo-ishorani aniqlaydi, hozirda koʻrsatilayotgan rasm va sahifani aylantirish orqali koʻrsatilgan rasmni aniqlaydi va imo-ishoralar yordamida sahifalarni almashtirish funksiyasini amalga oshiradi. Malumot kodi quyidagicha:

void select_operate(uint16_t gesrure_value)

{

if(gesrure_value == GES_UP) //yuqoriga

{

agar (tanlash_qiymati >= 2)

{

tanlash_qiymati -= 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) //pastga

{

agar (tanlash_qiymati

{

tanlash_qiymati += 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) //chap

{

agar (tanlash_qiymati % 2 == 1)

{

tanlash_qiymati -= 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) //o'ng

{

agar (tanlash_qiymati % 2 == 0)

{

tanlash_qiymati += 1;

}

dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);

}

}

 

void turnning_operate (uint16_t gesrure_value)

{

uint16_t i = 0;

uint8_t turnning_mode = 0; //Sahifani aylantirish rejimi, 0 yuqoriga, 1 pastga, 2 chapga, 3 o'ngga

uint16_t turning_count = 0; //Sahifa burilishlarining oxirgi soni

agar(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)

{

if(gesrure_value == GES_UP) //yuqoriga

{

aylanish_rejimi = 0;

aylanishlar soni = 48;

}

else if(gesrure_value == GES_DOWN) //pastga

{

aylanish_rejimi = 1;

aylanishlar soni = 48;

}

else if(gesrure_value == GES_LEFT) //chap

{

aylanish_rejimi = 2;

aylanishlar soni = 80;

}

else if(gesrure_value == GES_RIGHT) //o'ng

{

aylanish_rejimi = 3;

aylanishlar soni = 80;

}

agar(turning_joriy_tasvir == 0 || burilish_joriy_tasviri == 2)

{

aylanish_joriy_tasviri = 1;

}

boshqa

{

aylanish_oqim_tasviri = 2;

}

for(i = 0;i

{

almashtirish (burilish_rejimi)

{

holat 0:

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

t5l0_sys_delay_ms(20);

agar(oxirgi_tasvirni aylantirish!= 0)

{

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

}

sindirish;

1-holat:

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

t5l0_sys_delay_ms(20);

agar(oxirgi_tasvirni aylantirish!= 0)

{

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

}

sindirish;

2-holat:

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

t5l0_sys_delay_ms(20);

agar(oxirgi_tasvirni aylantirish!= 0)

{

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

}

sindirish;

3-holat:

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

t5l0_sys_delay_ms(20);

agar(oxirgi_tasvirni aylantirish!= 0)

{

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

}

sindirish;

}

t5l0_sys_delay_ms(20);

}

oxirgi_tasvirni aylantirish = joriy_tasvirni aylantirish;

}

}


Xabar vaqti: 21-mart-2024-yil