[Mataupu manumalo fa'ailoga] Faiga Fa'atonu Mea'ai Pusi Atamai

——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.

pei (2)

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 faʻapipiʻi galuega faʻaalia ma paʻi.

pei (1)

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 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 Va[3] = 0;

    u8 i = 0;

 

    mo(i = 0;i <3;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 faʻaogaina otometi galuega 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)

    {

        //Statu itulau

        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 <6;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 <6;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 <6;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 < eatCnt - 1)

            {

                lookEatCnt++;

                mo(i = 0;i <6;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 <= 0x0309)

        {

            u16 switchpage[2] = {0x5A01, 19};

            Itulau tua = 3;

            tuaNumera = Va;

            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 <= 0x030F)

        {

            u16 switchpage[2] = {0x5A01, 19};

            Itulau tua = 3;

            tuaNumera = Va;

            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};

            switchpage[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 <= 0x0309)

                {

                    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 && backNumera <= 0x030F)

                {

                    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);

            Tusi_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