[खुला स्रोत] अन्तराल इशारा पहिचान परीक्षण प्रणाली

——DWIN विकासकर्ता फोरमबाट

यस अंकमा, हामी DWIN विकासकर्ता फोरम - अन्तराल गेस्चर पहिचान परीक्षण प्रणालीको पुरस्कार-विजेता खुला स्रोत केस प्रस्तुत गर्नेछौं। इन्जिनियरहरूले T5L OS कोर मार्फत PAJ7620U2 इशारा पहिचान सेन्सरसँग अन्तरक्रिया गर्न 7-इन्च COF स्मार्ट स्क्रिन प्रयोग गर्छन्। कुनै पनि बटन प्रयोग गर्न आवश्यक छैन। तपाईंले मेनु प्रणाली नियन्त्रण स्क्रिनमा प्रवेश गर्नको लागि सेन्सरको नजिक आफ्नो हात राख्नु आवश्यक छ, र माथि, तल, बायाँ, दायाँ, बन्द, टाढा, बायाँ घुमाउरो, दायाँ घुमाउरो र लहरको 9 इशारा प्रभावहरू महसुस गर्नुहोस्।

1.UIMसामग्रीDisplay

asd (2)
asd (1)

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