——Mai DWIN Developer Forum
Ma kēia pukana, e hōʻike aku mākou iā ʻoe i ka hihia open source lanakila mai ka DWIN Developer Forum: Intelligent Cat Food Control System.Ua hoʻohana nā ʻenekinia i ka pale akamai DWIN no ka nānā ʻana i ka mahana, ka haʻahaʻa, a me ke koena o ka nui o nā meaʻai pōpoki, a mālama i nā moʻolelo ʻai a ka pōpoki.Ua hoʻolālā kūʻokoʻa lākou i kahi pūʻulu o ke kaila UI pena inika, a me kahi hopena kaomi inika ke hoʻopā ʻia e ka manamana lima, e hoʻonui ai i ka ʻike maka o ka manaʻo hoʻopā.
Hoʻolauna:
1.UI mea kiʻi
Hoʻopiha ka pale akamai DWIN i ka hoʻomohala ʻana i ka UI e pili ana i nā kiʻi, nā leo a me nā mea ʻē aʻe e pono e hoʻomākaukau mua ʻia e like me ka ʻike o ka pale.
2.Interface ulu
Hoʻihoʻi ka polokalamu DGUS i ka hopena UI ma o ka overlay layer, hoʻohui i nā mea i hoʻomākaukau ʻia i kahi kiʻi piha i ka polokalamu DGUS, a hoʻonohonoho i nā hana hōʻike a hoʻopā.
3. E hoʻokō i nā hopena kaomi a me nā hopena kani
Loaʻa ke kūlana paʻi ma o ka papahana 51, ʻo ka hopena kaomi ma hope o ka neʻe ʻana o ka manamana lima, a loaʻa pū ka hopena leo kī.
(1) E ʻimi i ka helu wahi hoʻopā a hoʻokani leo:
ʻaʻohe TouchDetec()
{
u16 Va[3] = 0;
u8 i = 0;
no(i = 0;i <3;i++)
{
Va[i] = Read_Dgus(0x0016 + i);
inā(Va[0] == 0x5A01)
{
}
ʻē aʻe
{
wawahi;
}
}
if(i != 0) //Kaomi mua e komo
{
pāʻani u16[2] = {0x0001, 0x4000};
touchAnimationFlag = 1;
touchAnimationCnt = 0;
touchPosX = Va[1];
touchPosY = Va[2];
write_dgus_vp(0x00A0, pāʻani, 2);
}
}
(2) ʻO ke code no ka hōʻike ʻana i ka hopena paʻi penei:
ʻaʻohe TouchStart()
{
inā(touchAnimationFlag == 1)
{
inā(touchAnimationCnt == 0)
{
Write_Dgus(0x5011, touchPosX - 100);
Write_Dgus(0x5012, touchPosY - 100);
}
Write_Dgus(0x5000, touchAnimationCnt);
touchAnimationCnt++;
inā(touchAnimationCnt == 6)
{
touchAnimationFlag = 0;
Kākau_Dgus(0x5011, 1024);
Kākau_Dgus(0x5012, 600);
}
}
}
4. ʻO ka hana aʻe, ʻo ia ka hoʻonohonoho ʻana i nā ʻāpana pili ma o ka pale, a laila e hoʻouna i ka ʻikepili i ka mea hoʻoponopono meaʻai pōpoki ma o ESP32 e ʻike ai i ka hana hānai ʻakomi o ka meaʻai pōpoki.Penei ke code kiko'ī:
//Loaʻa ke kūlana pihi
ʻaʻohe loaʻa_key_status()
{
int i = 0;
//u16 Va=Read_Dgus(addr);
u16 Va=Read_Dgus(0x1000);
inā(Va != 0x0000)
{
//Sʻaoʻao tatus
inā(Va == 0x0103) //E kau i ka helu o g
{
u16 ʻaoʻao hoʻololi[2] = {0x5A01, 19};
setNum = placeGramNum;
ʻaoʻao hope = 1;//E hoʻi i ka ʻaoʻao kūlana
Write_Dgus(0x4000 + 0, setNum % 10);
Write_Dgus(0x4000 + 2, setNum / 10 % 10);
Write_Dgus(0x4000 + 4, setNum / 100 % 10);
Write_Dgus(0x4000 + 6, setNum / 1000 % 10);
write_dgus_vp(0x0084, hoʻololi ʻaoʻao, 2);
}
ʻē aʻe inā(Va == 0x0102)
{
OneSendData3(placeGramNum);//Wahiʻai popokipākahi
}
ʻē aʻe inā (Va == 0x0101) //Hoʻonohonoho ʻaoʻao
{
u16 hoʻololi [2] = {0x5A01, 3};
no(i = 0;i < 6;i++)
{
inā(i == 0)
{
Write_Dgus(0x3070 + i * 0x10 + 0, manawa manawa[i] % 10);
Write_Dgus(0x3070 + i * 0x10 + 2, manawa manawa[i] / 10 % 10);
Write_Dgus(0x3070 + i * 0x10 + 4, manawa manawa[i] / 100 % 10);
Write_Dgus(0x3070 + i * 0x10 + 6, manawa manawa[i] / 1000 % 10);
}
ʻē aʻe
{
Write_Dgus(0x3070 + i * 0x10 + 0, manawa manawa[i] % 10);
Write_Dgus(0x3070 + i * 0x10 + 2, manawa manawa[i] / 10 % 10);
}
}
write_dgus_vp(0x0084, hoʻololi ʻaoʻao, 2);//E komo i ka ʻaoʻao hoʻonohonoho
}
ʻē aʻe inā (Va == 0x0100) //Rʻaoʻao ecord
{
u16 hoʻololi [2] = {0x5A01, 2};
no(i = 0;i < 6;i++)
{
inā(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);
}
ʻē aʻe
{
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, hoʻololi ʻaoʻao, 2);//E hoʻokomo i ka palapala moʻolelo
}
//Rʻaoʻao ecord
inā (Va == 0x0201) //E hoʻopaʻa i ka ʻaoʻao ma mua
{
inā(lookEatCnt > 0)
{
lookEatCnt--;
no(i = 0;i < 6;i++)
{
inā(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);
}
ʻē aʻe
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
}
}
}
}
inā (Va == 0x0202) //E hoʻopaʻa i ka ʻaoʻao aʻe
{
inā(lookEatCnt < eatCnt - 1)
{
lookEatCnt++;
no(i = 0;i < 6;i++)
{
inā(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);
}
ʻē aʻe
{
Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);
Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);
}
}
}
}
//Hoʻonohonoho ʻaoʻao
ʻē aʻe inā(Va == 0x0302)
{
inā(timeMode == 1)
{
manawaMode = 0;
Kākau_Dgus(0x3A12, 139);
}
}
inā ʻaʻole (Va == 0x0303)
{
inā(timeMode == 0)
{
manawaMode = 1;
Kākau_Dgus(0x3A12, 242);
}
}
inā ʻaʻole (Va >= 0x0304 && Va <= 0x0309)
{
u16 ʻaoʻao hoʻololi[2] = {0x5A01, 19};
ʻaoʻao hope = 3;
backNum = Va;
setNum = timrIntervalHour[Va - 0x0304];
Write_Dgus(0x4000 + 0, setNum % 10);
Write_Dgus(0x4000 + 2, setNum / 10 % 10);
Write_Dgus(0x4000 + 4, setNum / 100 % 10);
Write_Dgus(0x4000 + 6, setNum / 1000 % 10);
write_dgus_vp(0x0084, hoʻololi ʻaoʻao, 2);
}
inā ʻaʻole (Va >= 0x030A && Va <= 0x030F)
{
u16 ʻaoʻao hoʻololi[2] = {0x5A01, 19};
ʻaoʻao hope = 3;
backNum = Va;
setNum = manawa manawa[Va - 0x030A];
Write_Dgus(0x4000 + 0, setNum % 10);
Write_Dgus(0x4000 + 2, setNum / 10 % 10);
Write_Dgus(0x4000 + 4, setNum / 100 % 10);
Write_Dgus(0x4000 + 6, setNum / 1000 % 10);
write_dgus_vp(0x0084, hoʻololi ʻaoʻao, 2);
}
//Ahoʻoponopono ʻaoʻao ʻikepili
ʻē aʻe inā (Va == 0x0400) //E hōʻoia
{
u16 hoʻololi [2] = {0x5A01, 0x0000};
hoʻololi [1] = ʻaoʻao hope;
inā (backPage == 1) //E hoʻi i ka ʻaoʻao kūlana
{
placeGramNum = setNum;
Write_Dgus(0x1140 + 0, placeGramNum % 10);
Write_Dgus(0x1140 + 2, placeGramNum / 10 % 10);
}
ʻē aʻe inā (backPage == 3)
{
inā(backNum >= 0x0304 && backNum <= 0x0309)
{
u16 koho = 0;
koho = (backNum - 0x0304) * 0x10;
timrIntervalHour[backNum - 0x0304] = setNum;
Write_Dgus(0x3010 + koho + 0, setNum % 10);
Write_Dgus(0x3010 + koho + 2, setNum / 10 % 10);
}
inā ʻaʻole (backNum >= 0x030A && backNum <= 0x030F)
{
u16 koho = 0;
koho = (backNum - 0x0304) * 0x10;
manawa manawa[backNum - 0x030A] = setNum;
inā(backNum == 0x030A)
{
Write_Dgus(0x3010 + koho + 0, setNum % 10);
Write_Dgus(0x3010 + koho + 2, setNum / 10 % 10);
Write_Dgus(0x3010 + koho + 4, setNum / 100 % 10);
Write_Dgus(0x3010 + koho + 6, setNum / 1000 % 10);
}
ʻē aʻe
{
Write_Dgus(0x3010 + koho + 0, setNum % 10);
Write_Dgus(0x3010 + koho + 2, setNum / 10 % 10);
}
}
}
write_dgus_vp(0x0084, hoʻololi ʻaoʻao, 2);
}
inā ʻaʻole (Va == 0x0401) //Ke kua
{
u16 hoʻololi [2] = {0x5A01, 0x0000};
hoʻololi [1] = ʻaoʻao hope;
write_dgus_vp(0x0084, hoʻololi ʻaoʻao, 2);
}
ʻē aʻe inā (Va == 0x0402) //Ka hoʻonui helu
{
setNum++;
Write_Dgus(0x4000 + 0, setNum % 10);
Write_Dgus(0x4000 + 2, setNum / 10 % 10);
Write_Dgus(0x4000 + 4, setNum / 100 % 10);
Write_Dgus(0x4000 + 6, setNum / 1000 % 10);
}
ʻē aʻe inā (Va == 0x0403) // Ka emi ʻana o ka helu
{
inā(setNum > 0)
setNum--;
Write_Dgus(0x4000 + 0, setNum % 10);
Write_Dgus(0x4000 + 2, setNum / 10 % 10);
Write_Dgus(0x4000 + 4, setNum / 100 % 10);
Write_Dgus(0x4000 + 6, setNum / 1000 % 10);
}
Kākau_Dgus(0x1000, 0);
}
}
Ka manawa hoʻouna: Sep-19-2023