——Fan DWIN Developer Forum
Yn dizze útjefte drukke wy de priiswinnende iepen-boarne-saak fan DWIN Developer Forum - Multi-function Weigher. De yngenieur nimt in 4-inch COF smart skerm oan, en troch de gegevens ynteraksje tusken T5L OS kearn en HX711 module en 5 kg druk sensor set, brûkers kinne maklik realisearje de tellen werjefte funksjes lykas gewicht, ienheid priis, totale priis, tarra, ensfh ., lykas ek de funksjes fan tellen, folgjen fan gewichtsferoaringskurven, en korrigearjen fan weagernauwkeurigens, ensfh., Sadat it maklik is om te wikseljen tusken ferskate applikaasjescenario's om te genietsjen fan in handige en effisjinte weachûnderfining.
1. UI Untjouwing
![f26af533d43728cd210e0f7af5e7acc](https://ecdn6.globalso.com/upload/p/1355/source/2024-06/665f077223d2b27894.png)
2.C51 Untwerp
In diel fan 'e referinsjekoade foar de weiger om de priisfunksje út te fieren is as folget:
// Priis Side====================
#define VALUATION_UNIT_PRICE_ADDR 0x1010
#define VALUE_GRAM_ADDR 0x1000
#define VALUATION_TOTAL_PRICES_ADDR 0x1020
uint32_t valuation_decorticate = 0; // Pricing Tare Gewicht
uint32_t valuation_unit_price = 0; // Unit Priis
// Unit Priis Ferfarskje
void page_valuation_unit_price_refresh()
{
uint8_t test_display[10] = {0};
if (wurdearringsunitspriis
{
test_display[0] = valuation_unit_price / 100 % 10 + 0x30;
test_display[1] = '.';
test_display[2] = valuation_unit_price / 10 % 10 + 0x30;
test_display[3] = valuation_unit_price / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
oars as (wearde_ienheid_priis
{
test_display[0] = valuation_unit_price / 1000 % 10 + 0x30;
test_display[1] = valuation_unit_price / 100% 10 + 0x30;
test_display[2] = '.';
test_display[3] = valuation_unit_price / 10 % 10 + 0x30;
test_display[4] = valuation_unit_price / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
oars as (wearde_ienheid_priis
{
test_display[0] = valuation_unit_price / 10000 % 10 + 0x30;
test_display[1] = valuation_unit_price / 1000 % 10 + 0x30;
test_display[2] = valuation_unit_price / 100% 10 + 0x30;
test_display[3] = '.';
test_display[4] = valuation_unit_price / 10 % 10 + 0x30;
test_display[5] = valuation_unit_price / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
oars as (wearde_ienheid_priis
{
test_display[0] = valuation_unit_price / 100000 % 10 + 0x30;
test_display[1] = valuation_unit_price / 10000 % 10 + 0x30;
test_display[2] = valuation_unit_price / 1000% 10 + 0x30;
test_display[3] = valuation_unit_price / 100% 10 + 0x30;
test_display[4] = '.';
test_display[5] = valuation_unit_price / 10 % 10 + 0x30;
test_display[6] = valuation_unit_price / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_UNIT_PRICE_ADDR, test_display, 4);
}
}
// Weight Refresh
void page_valuation_weight_refresh()
{
uint8_t test_display[10] = {0x30};
uint32_t gram_display = 0;
if (gram_value >= valuation_decorticate)
{
gram_display = gram_wearde - valuation_decorticate;
if(gram_display
{
test_display[0] = gram_display / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);
}
oars as (gram_display
{
test_display[0] = gram_display / 10 % 10 + 0x30;
test_display[1] = gram_display / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);
}
oars as (gram_display
{
test_display[0] = gram_display / 100 % 10 + 0x30;
test_display[1] = gram_display / 10 % 10 + 0x30;
test_display[2] = gram_display / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);
}
oars as (gram_display
{
test_display[0] = gram_display / 1000 % 10 + 0x30;
test_display[1] = gram_display / 100 % 10 + 0x30;
test_display[2] = gram_display / 10 % 10 + 0x30;
test_display[3] = gram_display / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);
}
oars as (gram_display
{
test_display[0] = gram_display / 10000 % 10 + 0x30;
test_display[1] = gram_display / 1000 % 10 + 0x30;
test_display[2] = gram_display / 100 % 10 + 0x30;
test_display[3] = gram_display / 10 % 10 + 0x30;
test_display[4] = gram_display / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);
}
}
oars
{
dgus_show_text_value_set(VALUATION_GRAM_ADDR, test_display, 3);
}
}
// Totaal Priis Ferfarskje
void page_valuation_price_refresh()
{
uint32_t priis_wearde = 0;
uint8_t test_display[10] = {0x30, '.', 0x30, 0x30};
if (gram_value >= valuation_decorticate)
{
price_value = (gram_value - valuation_decorticate) * valuation_unit_price * 2 / 1000;
if(priiswearde
{
test_display[0] = priis_wearde / 100 % 10 + 0x30;
test_display[1] = '.';
test_display[2] = priis_wearde / 10 % 10 + 0x30;
test_display[3] = priis_wearde / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
oars as (priis_wearde
{
test_display[0] = priis_wearde / 1000 % 10 + 0x30;
test_display[1] = priis_wearde / 100 % 10 + 0x30;
test_display[2] = '.';
test_display[3] = priis_wearde / 10 % 10 + 0x30;
test_display[4] = priis_wearde / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
oars as (priiswearde
{
test_display[0] = priis_wearde / 10000 % 10 + 0x30;
test_display[1] = priis_wearde / 1000 % 10 + 0x30;
test_display[2] = priis_wearde / 100 % 10 + 0x30;
test_display[3] = '.';
test_display[4] = priis_wearde / 10 % 10 + 0x30;
test_display[5] = priis_wearde / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
oars as (priiswearde
{
test_display[0] = priis_wearde / 100000 % 10 + 0x30;
test_display[1] = priis_wearde / 10000 % 10 + 0x30;
test_display[2] = priis_wearde / 1000 % 10 + 0x30;
test_display[3] = priis_wearde / 100 % 10 + 0x30;
test_display[4] = '.';
test_display[5] = priis_wearde / 10 % 10 + 0x30;
test_display[6] = priis_wearde / 1 % 10 + 0x30;
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
}
oars
{
dgus_show_text_value_set(VALUATION_TOTAL_PRICES_ADDR, test_display, 4);
}
}
void page_valuation_decorticate()
{
valuation_decorticate = gram_wearde;
page_valuation_weight_refresh();
}
void page_valuation_1()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 1;
page_valuation_unit_price_refresh();
}
}
void page_valuation_2()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 2;
page_valuation_unit_price_refresh();
}
}
void page_valuation_3()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 3;
page_valuation_unit_price_refresh();
}
}
void page_valuation_4()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 4;
page_valuation_unit_price_refresh();
}
}
void page_valuation_5()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 5;
page_valuation_unit_price_refresh();
}
}
void page_valuation_6()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 6;
page_valuation_unit_price_refresh();
}
}
void page_valuation_7()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 7;
page_valuation_unit_price_refresh();
}
}
void page_valuation_8()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 8;
page_valuation_unit_price_refresh();
}
}
void page_valuation_9()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 9;
page_valuation_unit_price_refresh();
}
}
void page_valuation_0()
{
if (wearde-ienheidspriis
{
valuation_unit_price = valuation_unit_price * 10 + 0;
page_valuation_unit_price_refresh();
}
}
void page_valuation_back()
{
valuation_unit_price = valuation_unit_price / 10;
page_valuation_unit_price_refresh();
}
void page_valuation_clear()
{
valuation_unit_price = 0;
page_valuation_unit_price_refresh();
}
Post tiid: Apr-28-2024