——Mai le DWIN Developer Forum
I lenei lomiga, o le a matou faʻailoa atu ia te oe le faʻailoga mataʻutia avanoa tatala mai le DWIN Developer Forum: Intelligent Cat Food Control System. Na fa'aogaina e Inisinia le DWIN smart screen e mata'ituina ai le vevela, susū, ma le aofa'i o totoe o mea'ai pusi, ma fa'asaoina faamaumauga o mea'ai a le pusi. Na latou faia fa'apitoa fo'i se seti o le UI o ata vali vaitusi, fa'apea fo'i ma se fa'aogaina o le ink click pe a pa'i i ai se tamatamailima, e fa'aleleia ai le va'aiga va'aia o fa'amatalaga pa'i.
Folasaga:
1.UI ata mea
DWIN mata atamai faʻamaeʻaina le atinaʻeina o le UI e faʻavae i luga o ata, leo ma isi mea e manaʻomia ona saunia muamua e tusa ai ma le faʻaaliga faʻaaliga mata.
![Amerika (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bce84b7f87048.jpg)
2. Atina'e feso'ota'iga
O le DGUS software e toe faʻafoʻi ai le aafiaga UI e ala i le faʻapipiʻiina o le laulau, tuʻufaʻatasia mea saunia i se ata atoatoa i le DGUS software, ma seti le faʻaaliga ma le paʻi galuega.
![Amerika (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bd07e78a77806.jpg)
3. Fa'atino a'afiaga kiliki ma fa'alogo leo
O le tulaga pa'i e maua e ala i le polokalame 51, o le oomi o le a'afiaga e mulimuli i le gaioiga o le tamatamailima, ma o le ki fa'atasi ma le leo leo e ausia foi.
(1) Su'esu'e le pa'i le nofoaga o lo'o iai ma tā leo:
gaogao TouchDetect()
{
u16 Ma[3] = 0;
u8 i = 0;
mo(i = 0;i
{
Va[i] = Read_Dgus(0x0016 + i);
afai(Va[0] == 0x5A01)
{
}
isi
{
malepe;
}
}
if(i != 0) //Kiliki muamua e ulufale ai
{
u16 ta'alo[2] = {0x0001, 0x4000};
touchAnimationFlag = 1;
touchAnimationCnt = 0;
touchPosX = Va[1];
touchPosY = Va[2];
write_dgus_vp(0x00A0, ta'alo, 2);
}
}
(2) O le tulafono mo le fa'aalia o aafiaga pa'i e fa'apea:
gaogao TouchStart()
{
afai(touchAnimationFlag == 1)
{
afai(touchAnimationCnt == 0)
{
Write_Dgus(0x5011, touchPosX - 100);
Tusi_Dgus(0x5012, touchPosY - 100);
}
Tusi_Dgus(0x5000, touchAnimationCnt);
touchAnimationCnt++;
afai(touchAnimationCnt == 6)
{
touchAnimationFlag = 0;
Tusi_Dgus(0x5011, 1024);
Tusi_Dgus(0x5012, 600);
}
}
}
4. O le isi laasaga o le setiina o mea e fetaui i luga o le lau, ona tuʻuina atu lea o faʻamatalaga i le pusi pule meaʻai e ala i le ESP32 e iloa ai le galuega fafaga otometi o meaai pusi. O le code fa'apitoa e fa'apea:
//Maua le tulaga fa'amau
vale maua_key_status()
{
int i = 0;
//u16 Va=Read_Dgus(addr);
u16 Va= Faitau_Dgus(0x1000);
afai(Va != 0x0000)
{
//Situlau natia
afai(Va == 0x0103) //Tuu le numera o le g
{
u16 switchpage[2] = {0x5A01, 19};
setiNum = placeGramNum;
Itulau tua = 1; //Toe fo'i ile itulau tulaga
Tusi_Dgus(0x4000 + 0, setiNumera % 10);
Tusi_Dgus(0x4000 + 2, setiNumera / 10 % 10);
Tusi_Dgus(0x4000 + 4, setiNumera / 100 % 10);
Write_Dgus(0x4000 + 6, setiNumera / 1000 % 10);
write_dgus_vp(0x0084, sui itulau, 2);
}
isi pe afai(Va == 0x0102)
{
OneSendData3(placeGramNum); //Nofoagameaai pusifa'atasi
}
isi pe afai (Va == 0x0101) // Faʻatulagaina itulau
{
u16 switchpage[2] = {0x5A01, 3};
mo(i = 0;i
{
afai(i == 0)
{
Write_Dgus(0x3070 + i * 0x10 + 0, taimi nei[i] % 10);
Write_Dgus(0x3070 + i * 0x10 + 2, taimi nei[i] / 10 % 10);
Write_Dgus(0x3070 + i * 0x10 + 4, taimi nei[i] / 100 % 10);
Write_Dgus(0x3070 + i * 0x10 + 6, taimi nei[i] / 1000 % 10);
}
isi
{
Write_Dgus(0x3070 + i * 0x10 + 0, taimi nei[i] % 10);
Write_Dgus(0x3070 + i * 0x10 + 2, taimi nei[i] / 10 % 10);
}
}
write_dgus_vp(0x0084, sui itulau, 2); // Ulufale i le itulau faʻatulagaina
}
isi pe afai(Va == 0x0100) //Ritulau ecord
{
u16 switchpage[2] = {0x5A01, 2};
mo(i = 0;i
{
afai(i == 0)
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[0][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[0][i] / 10 % 10);
Write_Dgus(0x2000 + i * 0x10 + 4, eatFeedList[0][i] / 100 % 10);
Write_Dgus(0x2000 + i * 0x10 + 6, eatFeedList[0][i] / 1000 % 10);
}
isi
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[0][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[0][i] / 10 % 10);
}
}
write_dgus_vp(0x0084, sui itulau, 2); // Ulufale itulau fa'amaumauga
}
//Ritulau ecord
isi pe afai (Va == 0x0201) //Faamaumau itulau itulau muamua
{
afai(lookEatCnt > 0)
{
lookEatCnt--;
mo(i = 0;i
{
afai(i == 0)
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
Write_Dgus(0x2000 + i * 0x10 + 4, eatFeedList[lookEatCnt][i] / 100 % 10);
Write_Dgus(0x2000 + i * 0x10 + 6, eatFeedList[lookEatCnt][i] / 1000 % 10);
}
isi
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
}
}
}
}
isi pe afai (Va == 0x0202) // Faʻamau itulau itulau e sosoo ai
{
afai(lookEatCnt
{
lookEatCnt++;
mo(i = 0;i
{
afai(i == 0)
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
Write_Dgus(0x2000 + i * 0x10 + 4, eatFeedList[lookEatCnt][i] / 100 % 10);
Write_Dgus(0x2000 + i * 0x10 + 6, eatFeedList[lookEatCnt][i] / 1000 % 10);
}
isi
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
}
}
}
}
// Faatulaga itulau
isi pe afai(Va == 0x0302)
{
afai(taimiMode == 1)
{
taimiTaimi = 0;
Tusi_Dgus(0x3A12, 139);
}
}
isi pe afai(Va == 0x0303)
{
afai(taimiMode == 0)
{
TimeMode = 1;
Tusi_Dgus(0x3A12, 242);
}
}
isi pe afai(Va >= 0x0304 && Va
{
u16 switchpage[2] = {0x5A01, 19};
Itulau tua = 3;
backNumera = Ma;
setNum = timrIntervalHour[Va - 0x0304];
Tusi_Dgus(0x4000 + 0, setiNumera % 10);
Tusi_Dgus(0x4000 + 2, setiNumera / 10 % 10);
Tusi_Dgus(0x4000 + 4, setiNumera / 100 % 10);
Write_Dgus(0x4000 + 6, setiNumera / 1000 % 10);
write_dgus_vp(0x0084, sui itulau, 2);
}
isi pe afai(Va >= 0x030A && Va
{
u16 switchpage[2] = {0x5A01, 19};
Itulau tua = 3;
backNumera = Ma;
setNum = taimi nei[Va - 0x030A];
Tusi_Dgus(0x4000 + 0, setiNumera % 10);
Tusi_Dgus(0x4000 + 2, setiNumera / 10 % 10);
Tusi_Dgus(0x4000 + 4, setiNumera / 100 % 10);
Write_Dgus(0x4000 + 6, setiNumera / 1000 % 10);
write_dgus_vp(0x0084, sui itulau, 2);
}
//Afetuutuunai itulau o faamatalaga
isi pe afai(Va == 0x0400) //Faamaonia
{
u16 switchpage[2] = {0x5A01, 0x0000};
sui itulau[1] = itulau tua;
if(backPage == 1) // Toe foi i le itulau tulaga
{
placeGramNum = setiNum;
Write_Dgus(0x1140 + 0, placeGramNum % 10);
Write_Dgus(0x1140 + 2, placeGramNum / 10 % 10);
}
isi pe afai(Itulau tua == 3)
{
afai(backNumera >= 0x0304 && backNumera
{
u16 filifili = 0;
filifili = (backNumera - 0x0304) * 0x10;
timrIntervalHour[backNum - 0x0304] = setNum;
Write_Dgus(0x3010 + filifili + 0, setNum% 10);
Write_Dgus(0x3010 + filifili + 2, setiNum / 10 % 10);
}
isi pe afai(backNumera >= 0x030A && backNum
{
u16 filifili = 0;
filifili = (backNumera - 0x0304) * 0x10;
taimi nei[backNum - 0x030A] = setNuum;
afai(backNumera == 0x030A)
{
Write_Dgus(0x3010 + filifili + 0, setNum% 10);
Write_Dgus(0x3010 + filifili + 2, setiNum / 10 % 10);
Write_Dgus(0x3010 + filifili + 4, setiNum / 100 % 10);
Write_Dgus(0x3010 + filifili + 6, setiNum / 1000 % 10);
}
isi
{
Write_Dgus(0x3010 + filifili + 0, setNum% 10);
Write_Dgus(0x3010 + filifili + 2, setiNum / 10 % 10);
}
}
}
write_dgus_vp(0x0084, sui itulau, 2);
}
isi pe afai(Va == 0x0401) //Tua
{
u16 switchpage[2] = {0x5A01, 0x0000};
switchpage[1] = itulau tua;
write_dgus_vp(0x0084, sui itulau, 2);
}
isi pe afai (Va == 0x0402) //Fa'ateleina numera
{
setiNum++;
Tusi_Dgus(0x4000 + 0, setiNumera % 10);
Tusi_Dgus(0x4000 + 2, setiNumera / 10 % 10);
Tusi_Dgus(0x4000 + 4, setiNumera / 100 % 10);
Write_Dgus(0x4000 + 6, setiNumera / 1000 % 10);
}
isi pe afai (Va == 0x0403) //Fa'aitiitiga numera
{
afai(setNumera > 0)
setiNumera--;
Tusi_Dgus(0x4000 + 0, setiNumera % 10);
Write_Dgus(0x4000 + 2, setiNumera / 10 % 10);
Tusi_Dgus(0x4000 + 4, setiNumera / 100 % 10);
Write_Dgus(0x4000 + 6, setiNumera / 1000 % 10);
}
Tusi_Dgus(0x1000, 0);
}
}
Taimi meli: Sep-19-2023