[اوپن سورس] ملٹی فنکشنل وزنی ڈیوائس

—— DWIN ڈویلپر فورم سے

اس شمارے میں، ہم DWIN Developer Forum - Multi-function Weigher کے ایوارڈ یافتہ اوپن سورس کیس کو آگے بڑھاتے ہیں۔ انجینئر 4 انچ کی COF سمارٹ اسکرین کو اپناتا ہے، اور T5L OS core اور HX711 ماڈیول اور 5kg پریشر سینسر سیٹ کے درمیان ڈیٹا کے تعامل کے ذریعے، صارفین آسانی سے گنتی کے ڈسپلے کے افعال جیسے کہ وزن، یونٹ کی قیمت، کل قیمت، ٹائر وغیرہ کا احساس کر سکتے ہیں۔ .، نیز گنتی کے افعال، وزن میں تبدیلی کے منحنی خطوط پر نظر رکھنا، اور وزن کی درستگی کو درست کرنا، وغیرہ، تاکہ وزن کے آسان اور موثر تجربے سے لطف اندوز ہونے کے لیے مختلف ایپلیکیشن منظرناموں کے درمیان سوئچ کرنا آسان ہو۔

1. UI ڈیولپمنٹ

f26af533d43728cd210e0f7af5e7acc

2.C51 ڈیزائن

قیمتوں کے تعین کے فنکشن کو لاگو کرنے کے لیے وزن کرنے والے کے لیے حوالہ کوڈ کا حصہ درج ذیل ہے:

// قیمتوں کا تعین صفحہ====================

VALUATION_UNIT_PRICE_ADDR 0x1010 کی وضاحت کریں۔

VALUATION_GRAM_ADDR 0x1000 کی وضاحت کریں۔

VALUATION_TOTAL_PRICES_ADDR 0x1020 کی وضاحت کریں۔

uint32_t valuation_decorticate = 0; // قیمتوں کا تعین ٹیر وزن

uint32_t valuation_unit_price = 0; //اکائی قیمت

// یونٹ کی قیمت ریفریش

void page_valuation_unit_price_refresh()

{

uint8_t test_display[10] = {0};

اگر (تقسیم_یونٹ_قیمت

{

ٹیسٹ_ڈسپلے[0] = ویلیویشن_یونٹ_قیمت / 100% 10 + 0x30؛

test_display[1] = '.';

ٹیسٹ_ڈسپلے[2] = ویلیویشن_یونٹ_قیمت / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[3] = ویلیویشن_یونٹ_قیمت / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

ورنہ اگر (تقسیم_یونٹ_قیمت

{

ٹیسٹ_ڈسپلے[0] = ویلیویشن_یونٹ_قیمت / 1000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = ویلیویشن_یونٹ_قیمت / 100% 10 + 0x30؛

test_display[2] = '.'؛

ٹیسٹ_ڈسپلے[3] = ویلیویشن_یونٹ_قیمت / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[4] = ویلیویشن_یونٹ_قیمت / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

ورنہ اگر( ویلیویشن_یونٹ_قیمت

{

ٹیسٹ_ڈسپلے[0] = ویلیویشن_یونٹ_قیمت / 10000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = ویلیویشن_یونٹ_قیمت / 1000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[2] = ویلیویشن_یونٹ_قیمت / 100% 10 + 0x30؛

test_display[3] = '.'؛

ٹیسٹ_ڈسپلے[4] = ویلیویشن_یونٹ_قیمت / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[5] = ویلیویشن_یونٹ_قیمت / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

ورنہ اگر( ویلیویشن_یونٹ_قیمت

{

ٹیسٹ_ڈسپلے[0] = ویلیویشن_یونٹ_قیمت / 100000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = ویلیویشن_یونٹ_قیمت / 10000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[2] = ویلیویشن_یونٹ_قیمت / 1000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[3] = ویلیویشن_یونٹ_قیمت / 100% 10 + 0x30؛

test_display[4] = '.';

ٹیسٹ_ڈسپلے[5] = ویلیویشن_یونٹ_قیمت / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[6] = ویلیویشن_یونٹ_قیمت / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

}

 

// وزن ریفریش

void page_valuation_weight_refresh()

{

uint8_t test_display[10] = {0x30};

uint32_t gram_display = 0;

اگر(گرام_ویلیو>= ویلیویشن_ڈیکورٹیکیٹ)

{

gram_display = gram_value - valuation_decorticate;

اگر (گرام_ڈسپلے

{

ٹیسٹ_ڈسپلے[0] = گرام_ڈسپلے / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

ورنہ اگر (گرام_ڈسپلے

{

ٹیسٹ_ڈسپلے[0] = گرام_ڈسپلے / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = گرام_ڈسپلے / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

ورنہ اگر (گرام_ڈسپلے

{

ٹیسٹ_ڈسپلے[0] = گرام_ڈسپلے / 100% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = گرام_ڈسپلے / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[2] = گرام_ڈسپلے / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

ورنہ اگر (گرام_ڈسپلے

{

ٹیسٹ_ڈسپلے[0] = گرام_ڈسپلے / 1000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = گرام_ڈسپلے / 100% 10 + 0x30؛

ٹیسٹ_ڈسپلے[2] = گرام_ڈسپلے / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[3] = گرام_ڈسپلے / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

ورنہ اگر (گرام_ڈسپلے

{

ٹیسٹ_ڈسپلے[0] = گرام_ڈسپلے / 10000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = گرام_ڈسپلے / 1000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[2] = گرام_ڈسپلے / 100% 10 + 0x30؛

ٹیسٹ_ڈسپلے[3] = گرام_ڈسپلے / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[4] = گرام_ڈسپلے / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

اور

{

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

 

// کل قیمت ریفریش

void page_valuation_price_refresh()

{

uint32_t price_value = 0;

uint8_t test_display[10] = {0x30, '.', 0x30, 0x30};

اگر(گرام_ویلیو>= ویلیویشن_ڈیکورٹیکیٹ)

{

قیمت_قدر = (گرام_ویلیو - ویلیویشن_ڈیکورٹیکیٹ) * ویلیویشن_یونٹ_قیمت * 2 / 1000؛

اگر (قیمت_قیمت

{

ٹیسٹ_ڈسپلے[0] = قیمت_قدر / 100% 10 + 0x30؛

test_display[1] = '.';

ٹیسٹ_ڈسپلے[2] = قیمت_قدر / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[3] = قیمت_قدر / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

ورنہ اگر (قیمت_قیمت

{

ٹیسٹ_ڈسپلے[0] = قیمت_قدر / 1000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = قیمت_قدر / 100% 10 + 0x30؛

test_display[2] = '.';

ٹیسٹ_ڈسپلے[3] = قیمت_قدر / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[4] = قیمت_قدر / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

ورنہ اگر (قیمت_قیمت

{

ٹیسٹ_ڈسپلے[0] = قیمت_قدر / 10000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = قیمت_قدر / 1000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[2] = قیمت_قدر / 100% 10 + 0x30؛

test_display[3] = '.'؛

ٹیسٹ_ڈسپلے[4] = قیمت_قدر / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[5] = قیمت_قدر / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

ورنہ اگر(قیمت_قیمت

{

ٹیسٹ_ڈسپلے[0] = قیمت_قدر / 100000 % 10 + 0x30؛

ٹیسٹ_ڈسپلے[1] = قیمت_قدر / 10000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[2] = قیمت_قدر / 1000% 10 + 0x30؛

ٹیسٹ_ڈسپلے[3] = قیمت_قدر / 100% 10 + 0x30؛

test_display[4] = '.';

ٹیسٹ_ڈسپلے[5] = قیمت_قدر / 10% 10 + 0x30؛

ٹیسٹ_ڈسپلے[6] = قیمت_قدر / 1% 10 + 0x30؛

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

اور

{

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

void page_valuation_decorticate()

{

valuation_decorticate = گرام_قدر؛

page_valuation_weight_refresh();

}

void page_valuation_1()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 1;

page_valuation_unit_price_refresh();

}

}

void page_valuation_2()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 2;

page_valuation_unit_price_refresh();

}

}

void page_valuation_3()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 3؛

page_valuation_unit_price_refresh();

}

}

void page_valuation_4()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 4;

page_valuation_unit_price_refresh();

}

}

void page_valuation_5()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 5;

page_valuation_unit_price_refresh();

}

}

void page_valuation_6()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 6;

page_valuation_unit_price_refresh();

}

}

void page_valuation_7()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 7;

page_valuation_unit_price_refresh();

}

}

void page_valuation_8()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 8;

page_valuation_unit_price_refresh();

}

}

void page_valuation_9()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 9;

page_valuation_unit_price_refresh();

}

}

void page_valuation_0()

{

اگر(تقسیم_یونٹ_قیمت

{

valuation_unit_price = valuation_unit_price * 10 + 0;

page_valuation_unit_price_refresh();

}

}

void page_valuation_back()

{

valuation_unit_price = تشخیص_یونٹ_قیمت / 10؛

page_valuation_unit_price_refresh();

}

void page_valuation_clear()

{

valuation_unit_price = 0;

page_valuation_unit_price_refresh();

}


پوسٹ ٹائم: اپریل-28-2024