——DWIN विकासकर्ता फोरमबाट
यस अंकमा, हामी DWIN विकासकर्ता फोरम - अन्तराल गेस्चर पहिचान परीक्षण प्रणालीको पुरस्कार-विजेता खुला स्रोत केस प्रस्तुत गर्नेछौं। इन्जिनियरहरूले T5L OS कोर मार्फत PAJ7620U2 इशारा पहिचान सेन्सरसँग अन्तरक्रिया गर्न 7-इन्च COF स्मार्ट स्क्रिन प्रयोग गर्छन्। कुनै पनि बटन प्रयोग गर्न आवश्यक छैन। तपाईंले मेनु प्रणाली नियन्त्रण स्क्रिनमा प्रवेश गर्नको लागि सेन्सरको नजिक आफ्नो हात राख्नु आवश्यक छ, र माथि, तल, बायाँ, दायाँ, बन्द, टाढा, बायाँ घुमाउरो, दायाँ घुमाउरो र लहरको 9 इशारा प्रभावहरू महसुस गर्नुहोस्।
1.UIMसामग्रीDisplay
![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 इन्जिनियरिङ डिजाइन
T5L OS कोरले डेटा अन्तरक्रियाको लागि PAJ7620U2 इशारा पहिचान सेन्सरसँग अन्तर्क्रिया गर्दछ, हालको इशारा पत्ता लगाउँदछ, हाल प्रदर्शित चित्र र पृष्ठ पल्टाएर प्रदर्शित चित्र निर्धारण गर्दछ, र इशाराहरू प्रयोग गरेर पृष्ठहरू स्विच गर्ने कार्यलाई महसुस गर्दछ। सन्दर्भ कोड निम्नानुसार छ:
void select_operate(uint16_t gesrure_value)
{
यदि (gesrure_value == GES_UP) // माथि
{
यदि (select_value >= 2)
{
चयन_मान - = 2;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);
}
अन्यथा यदि (gesrure_value == GES_DOWN) // down
{
यदि (select_value
{
चयन_मान += 2;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);
}
अन्यथा यदि(gesrure_value == GES_LEFT) //left
{
यदि (select_value % 2 == 1)
{
चयन_मान -= 1;
}
dgus_show_variate_icon_location_set(SELECT_DESCRIBE_RECTANGLE, select_pos[select_value][0], select_pos[select_value][1]);
}
अन्यथा यदि (gesrure_value == GES_RIGHT) // दायाँ
{
यदि (select_value % 2 == 0)
{
चयन_मान += 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 gesrure_value)
{
uint16_t i = 0;
uint8_t turning_mode = 0; //पृष्ठ मोड्ने मोड, ० माथि, १ तल, २ बायाँ, ३ दायाँ
uint16_t turning_count = 0; //पाना पल्टाउने अन्तिम संख्या
यदि(gesrure_value == GES_UP || gesrure_value == GES_DOWN || gesrure_value == GES_LEFT || gesrure_value == GES_RIGHT)
{
यदि (gesrure_value == GES_UP) // माथि
{
टर्निङ_मोड = ०;
turning_count = 48;
}
अन्यथा यदि(gesrure_value == GES_DOWN) // down
{
turning_mode = 1;
turning_count = 48;
}
अन्यथा यदि(gesrure_value == GES_LEFT) //left
{
टर्निङ_मोड = २;
turning_count = 80;
}
अन्यथा यदि (gesrure_value == GES_RIGHT) // दायाँ
{
turning_mode = 3;
turning_count = 80;
}
यदि (टर्निङ_वर्तमान_छवि == 0 || घुमाउने_वर्तमान_छवि == 2)
{
turning_current_image = 1;
}
अरू
{
turning_current_image = 2;
}
(i = 0; i
{
स्विच (टर्निङ_मोड)
{
केस ०:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, 480 - i * 10);
t5l0_sys_delay_ms(20);
यदि (टर्निङ_लास्ट_इमेज != ०)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 - i * 10);
}
ब्रेक;
केस १:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 0, -480 + i * 10);
t5l0_sys_delay_ms(20);
यदि (टर्निङ_लास्ट_इमेज != ०)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0, 0 + i * 10);
}
ब्रेक;
केस २:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, 800 - i * 10, 0);
t5l0_sys_delay_ms(20);
यदि (टर्निङ_लास्ट_इमेज != ०)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 - i * 10, 0);
}
ब्रेक;
केस ३:
dgus_show_variate_icon_location_set(turning_current_image * 0x100 + 0x2000, -800 + i * 10, 0);
t5l0_sys_delay_ms(20);
यदि (टर्निङ_लास्ट_इमेज != ०)
{
dgus_show_variate_icon_location_set(turning_last_image * 0x100 + 0x2000, 0 + i * 10, 0);
}
ब्रेक;
}
t5l0_sys_delay_ms(20);
}
turning_last_image = turning_current_image;
}
}
पोस्ट समय: मार्च-21-2024