[Опен Соурце] Интервал Гестуре Рецогнитион Тести Систем

——Са ДВИН форума за програмере

У овом броју ћемо представити награђивани случај отвореног кода ДВИН Девелопер Форума – Тестни систем за препознавање гестова интервала. Инжењери користе 7-инчни ЦОФ паметни екран за интеракцију са сензором за препознавање покрета ПАЈ7620У2 преко Т5Л ОС језгра. Нема потребе да користите било које дугме. Потребно је само да ставите руку близу сензора да бисте ушли у контролни екран система менија и остварили 9 ефеката гестова горе, доле, лево, десно, близу, далеко, лево, десно и таласање.

1.УИМматеријалДисплаи

асд (2)
асд (1)

2.Ц51 Инжењерски дизајн

Т5Л ОС језгро је у интеракцији са сензором за препознавање покрета ПАЈ7620У2 за интеракцију података, детектује тренутни гест, одређује тренутно приказану слику и слику приказану окретањем странице и остварује функцију пребацивања страница помоћу покрета. Референтни код је следећи:

воид селецт_операте(уинт16_т гесруре_валуе)

{

иф(гесруре_валуе == ГЕС_УП) //горе

{

иф(селецт_валуе >= 2)

{

селецт_валуе -= 2;

}

дгус_схов_вариате_ицон_лоцатион_сет(СЕЛЕЦТ_ДЕСЦРИБЕ_РЕЦТАНГЛЕ, селецт_пос[селецт_валуе][0], селецт_пос[селецт_валуе][1]);

}

елсе иф(гесруре_валуе == ГЕС_ДОВН) //доле

{

иф(селецт_валуе

{

селецт_валуе += 2;

}

дгус_схов_вариате_ицон_лоцатион_сет(СЕЛЕЦТ_ДЕСЦРИБЕ_РЕЦТАНГЛЕ, селецт_пос[селецт_валуе][0], селецт_пос[селецт_валуе][1]);

}

елсе иф(гесруре_валуе == ГЕС_ЛЕФТ) //лево

{

иф(селецт_валуе % 2 == 1)

{

селецт_валуе -= 1;

}

дгус_схов_вариате_ицон_лоцатион_сет(СЕЛЕЦТ_ДЕСЦРИБЕ_РЕЦТАНГЛЕ, селецт_пос[селецт_валуе][0], селецт_пос[селецт_валуе][1]);

}

елсе иф(гесруре_валуе == ГЕС_РИГХТ) //десно

{

иф(селецт_валуе % 2 == 0)

{

селецт_валуе += 1;

}

дгус_схов_вариате_ицон_лоцатион_сет(СЕЛЕЦТ_ДЕСЦРИБЕ_РЕЦТАНГЛЕ, селецт_пос[селецт_валуе][0], селецт_пос[селецт_валуе][1]);

}

}

 

воид турнинг_операте(уинт16_т гесруре_валуе)

{

уинт16_т и = 0;

уинт8_т турнинг_моде = 0; //Режим окретања странице, 0 горе, 1 доле, 2 лево, 3 десно

уинт16_т турнинг_цоунт = 0; //Последњи број окретаја странице

иф(гесруре_валуе == ГЕС_УП || гесруре_валуе == ГЕС_ДОВН || гесруре_валуе == ГЕС_ЛЕФТ || гесруре_валуе == ГЕС_РИГХТ)

{

иф(гесруре_валуе == ГЕС_УП) //горе

{

турнинг_моде = 0;

турнинг_цоунт = 48;

}

елсе иф(гесруре_валуе == ГЕС_ДОВН) //доле

{

турнинг_моде = 1;

турнинг_цоунт = 48;

}

елсе иф(гесруре_валуе == ГЕС_ЛЕФТ) //лево

{

турнинг_моде = 2;

турнинг_цоунт = 80;

}

елсе иф(гесруре_валуе == ГЕС_РИГХТ) //десно

{

турнинг_моде = 3;

турнинг_цоунт = 80;

}

иф(тренутна_слика која се окреће == 0 || тренутна_слика која се окреће == 2)

{

турнинг_цуррент_имаге = 1;

}

друго

{

турнинг_цуррент_имаге = 2;

}

фор(и = 0;и

{

прекидач (начин_окретања)

{

случај 0:

дгус_схов_вариате_ицон_лоцатион_сет(турнинг_цуррент_имаге * 0к100 + 0к2000, 0, 480 - и * 10);

т5л0_сис_делаи_мс(20);

иф(последња_слика која се окреће!= 0)

{

дгус_схов_вариате_ицон_лоцатион_сет(турнинг_ласт_имаге * 0к100 + 0к2000, 0, 0 - и * 10);

}

пауза;

случај 1:

дгус_схов_вариате_ицон_лоцатион_сет(турнинг_цуррент_имаге * 0к100 + 0к2000, 0, -480 + и * 10);

т5л0_сис_делаи_мс(20);

иф(последња_слика која се окреће!= 0)

{

дгус_схов_вариате_ицон_лоцатион_сет(турнинг_ласт_имаге * 0к100 + 0к2000, 0, 0 + и * 10);

}

пауза;

случај 2:

дгус_схов_вариате_ицон_лоцатион_сет(турнинг_цуррент_имаге * 0к100 + 0к2000, 800 - и * 10, 0);

т5л0_сис_делаи_мс(20);

иф(последња_слика која се окреће!= 0)

{

дгус_схов_вариате_ицон_лоцатион_сет(турнинг_ласт_имаге * 0к100 + 0к2000, 0 - и * 10, 0);

}

пауза;

случај 3:

дгус_схов_вариате_ицон_лоцатион_сет(турнинг_цуррент_имаге * 0к100 + 0к2000, -800 + и * 10, 0);

т5л0_сис_делаи_мс(20);

иф(последња_слика која се окреће!= 0)

{

дгус_схов_вариате_ицон_лоцатион_сет(турнинг_ласт_имаге * 0к100 + 0к2000, 0 + и * 10, 0);

}

пауза;

}

т5л0_сис_делаи_мс(20);

}

турнинг_ласт_имаге = турнинг_цуррент_имаге;

}

}


Време поста: 21.03.2024