[Ochiq manba] Ko'p funktsiyali tortish moslamasi

——DWIN dasturchilar forumidan

Ushbu sonda biz DWIN Developer Forum - Ko'p funktsiyali tarozida mukofotga sazovor bo'lgan ochiq manbali ishni taqdim etamiz. Muhandis 4 dyuymli COF aqlli ekranini qabul qiladi va T5L OS yadrosi va HX711 moduli va 5 kg bosim sensori to'plami o'rtasidagi ma'lumotlarning o'zaro ta'siri orqali foydalanuvchilar og'irlik, birlik narxi, umumiy narx, tara va boshqalar kabi hisoblash displey funktsiyalarini osongina amalga oshirishi mumkin. ., shuningdek, hisoblash, vazn o'zgarishi egri chiziqlarini kuzatish va tortish o'lchagichning aniqligini to'g'rilash va hokazo funktsiyalari, shuning uchun qulay va samarali tortish tajribasidan bahramand bo'lish uchun turli dastur stsenariylari o'rtasida almashish oson.

1. UI ishlab chiqish

f26af533d43728cd210e0f7af5e7acc

2.C51 Dizayn

Tarozichining narxlash funktsiyasini amalga oshirish uchun mos yozuvlar kodining bir qismi quyidagicha:

// Narxlar sahifasi==================

#VALUATION_UNIT_PRICE_ADDR 0x1010 ni aniqlang

#VALUATION_GRAM_ADDR 0x1000 ni aniqlang

#VALUATION_JAMI_NARXLAR_QO'SHIMCHI 0x1020 ni belgilang

uint32_t valuation_decorticate = 0; // Tara og'irligi narxi

uint32_t valuation_unit_price = 0; //Donasining narxi

// Birlik narxini yangilash

bekor page_valuation_unit_price_refresh()

{

uint8_t test_display[10] = {0};

agar(baholash_birligi_narxi

{

test_display[0] = baholash_birligi_narxi / 100 % 10 + 0x30;

test_display[1] = '.';

test_display[2] = baholash_birligi_narxi / 10 % 10 + 0x30;

test_display[3] = baholash_birligi_narxi / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

Aks holda (baholash_birligi_narxi

{

test_display[0] = baholash_birligi_narxi / 1000 % 10 + 0x30;

test_display[1] = baholash_birligi_narxi / 100 % 10 + 0x30;

test_display[2] = '.';

test_display[3] = baholash_birligi_narxi / 10 % 10 + 0x30;

test_display[4] = baholash_birligi_narxi / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

Aks holda (baholash_birligi_narxi

{

test_display[0] = baholash_birligi_narxi / 10000 % 10 + 0x30;

test_display[1] = baholash_birligi_narxi / 1000 % 10 + 0x30;

test_displey[2] = baholash_birligi_narxi / 100 % 10 + 0x30;

test_display[3] = '.';

test_display[4] = baholash_birligi_narxi / 10 % 10 + 0x30;

test_display[5] = baholash_birligi_narxi / 1 % 10 + 0x30;

dgus_show_text_value_set (VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

Aks holda (baholash_birligi_narxi

{

test_displey[0] = baholash_birligi_narxi / 100000 % 10 + 0x30;

test_display[1] = baholash_birligi_narxi / 10000 % 10 + 0x30;

test_display[2] = baholash_birligi_narxi / 1000 % 10 + 0x30;

test_display[3] = baholash_birligi_narxi / 100 % 10 + 0x30;

test_display[4] = '.';

test_display[5] = baholash_birligi_narxi / 10 % 10 + 0x30;

test_display[6] = baholash_birligi_narxi / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);

}

}

 

// Og'irlikni yangilash

bekor page_valuation_weight_refresh()

{

uint8_t test_display[10] = {0x30};

uint32_t gram_display = 0;

agar (gram_qiymati >= baholash_dekortikati)

{

gram_display = gram_value - baholash_dekortikatsiya;

agar (gram_displey

{

test_display[0] = gramm_displey / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

Aks holda (gram_displey

{

test_display[0] = gramm_displey / 10 % 10 + 0x30;

test_display[1] = gramm_displey / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

Aks holda (gram_displey

{

test_display[0] = gramm_displey / 100 % 10 + 0x30;

test_display[1] = gramm_displey / 10 % 10 + 0x30;

test_display[2] = gramm_displey / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

Aks holda (gram_displey

{

test_display[0] = gramm_displey / 1000 % 10 + 0x30;

test_display[1] = gramm_displey / 100 % 10 + 0x30;

test_display[2] = gramm_displey / 10 % 10 + 0x30;

test_display[3] = gramm_display / 1 % 10 + 0x30;

dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_display, 3);

}

Aks holda (gram_displey

{

test_display[0] = gramm_display / 10000 % 10 + 0x30;

test_display[1] = gramm_display / 1000 % 10 + 0x30;

test_display[2] = gramm_display / 100 % 10 + 0x30;

test_displey[3] = gramm_displey / 10 % 10 + 0x30;

test_display[4] = gramm_displey / 1 % 10 + 0x30;

dgus_show_text_value_set (VALUATION_GRAM_ADDR, test_display, 3);

}

}

boshqa

{

dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);

}

}

 

// Umumiy narxni yangilash

bekor page_valuation_price_refresh()

{

uint32_t price_value = 0;

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

agar (gram_qiymati >= baholash_dekortikati)

{

narx_qiymati = (gram_qiymati - baholash_dekortikasi) * baholash_birligi_narxi * 2 / 1000;

agar (narx_qiymati

{

test_display[0] = narx_qiymati / 100 % 10 + 0x30;

test_display[1] = '.';

test_displey[2] = narx_qiymati / 10 % 10 + 0x30;

test_display[3] = narx_qiymati / 1 % 10 + 0x30;

dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

Aks holda (narx_qiymati

{

test_displey[0] = narx_qiymati / 1000 % 10 + 0x30;

test_display[1] = narx_qiymati / 100 % 10 + 0x30;

test_display[2] = '.';

test_display[3] = narx_qiymati / 10 % 10 + 0x30;

test_displey[4] = narx_qiymati / 1 % 10 + 0x30;

dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

Aks holda (narx_qiymati

{

test_display[0] = narx_qiymati / 10000 % 10 + 0x30;

test_display[1] = narx_qiymati / 1000 % 10 + 0x30;

test_displey[2] = narx_qiymati / 100 % 10 + 0x30;

test_display[3] = '.';

test_display[4] = narx_qiymati / 10 % 10 + 0x30;

test_display[5] = narx_qiymati / 1 % 10 + 0x30;

dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

Aks holda (narx_qiymati

{

test_display[0] = narx_qiymati / 100000 % 10 + 0x30;

test_displey[1] = narx_qiymati / 10000 % 10 + 0x30;

test_display[2] = narx_qiymati / 1000 % 10 + 0x30;

test_display[3] = narx_qiymati / 100 % 10 + 0x30;

test_display[4] = '.';

test_display[5] = narx_qiymati / 10 % 10 + 0x30;

test_displey[6] = narx_qiymati / 1 % 10 + 0x30;

dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

boshqa

{

dgus_show_text_value_set (VALUATION_TOTAL_PRICES_ADDR, test_display, 4);

}

}

void page_valuation_decorticate()

{

valuation_decorticate = gramm_value;

page_valuation_weight_refresh();

}

bekor page_valuation_1()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 1;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_2()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 2;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_3()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 3;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_4()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 4;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_5()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 5;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_6()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 6;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_7()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 7;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_8()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 8;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_9()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 9;

page_valuation_unit_price_refresh();

}

}

bekor page_valuation_0()

{

agar(baholash_birligi_narxi

{

baholash_birligi_narxi = baholash_birligi_narxi * 10 + 0;

page_valuation_unit_price_refresh();

}

}

void page_valuation_back()

{

baholash_birligi_narxi = baholash_birligi_narxi / 10;

page_valuation_unit_price_refresh();

}

bekor page_valuation_clear()

{

baholash_birligi_narxi = 0;

page_valuation_unit_price_refresh();

}


Xabar vaqti: 28-aprel-2024