[Cov ntaub ntawv puav pheej-yeej] Intelligent Cat Food Control System

—— Los ntawm DWIN Developer Forum

Hauv qhov teeb meem no, peb yuav qhia koj txog qhov khoom plig qhib qhov rooj los ntawm DWIN Developer Forum: Intelligent Cat Food Control System.Cov kws tsim khoom siv DWIN ntse tshuaj ntsuam xyuas qhov kub thiab txias, av noo, thiab tshuav nyiaj li cas ntawm cov khoom noj miv, thiab txuag cov ntaub ntawv noj cov miv.Lawv kuj tau tsim tshwj xeeb tsim cov txheej txheem ntawm tus cwj mem painting style UI, nrog rau tus cwj mem nyem cov nyhuv thaum kov los ntawm tus ntiv tes, txhawm rau txhim kho qhov pom kev pom ntawm kev tawm tswv yim kov.

Taw qhia:

1.UI cov khoom siv duab

DWIN ntse npo ua tiav UI kev txhim kho raws li cov duab, suab thiab lwm yam ntaub ntawv yuav tsum tau npaj ua ntej raws li cov ntsiab lus ntawm lub vijtsam.

asv (2)

2.Interface kev txhim kho

Lub DGUS software rov kho cov nyhuv UI los ntawm txheej txheej, muab cov ntaub ntawv npaj rau hauv daim duab tiav hauv DGUS software, thiab teeb tsa cov duab thiab kov cov haujlwm.

asv (1)

3. Siv cov teebmeem nyem thiab cov teebmeem suab

Txoj hauj lwm kov yog tau los ntawm 51 qhov kev pab cuam, cov nyhuv nias ua raws li kev txav ntawm tus ntiv tes, thiab cov nyhuv tseem ceeb ntawm lub suab nrov kuj ua tiav.

(1) Tshawb xyuas qhov chaw kov thiab ua si suab:

tsis muaj dab tsi TouchDetect()

{

    u16 Va[3] = 0;

    u8i 0;.

 

    for(i = 0;i <3;i++)

    {

        Va[i] = Read_Dgus(0x0016 + i);

        if(Va[0] == 0x5A01)

        {

        }

        lwm tus

        {

            tawg;

        }

    }

    if(i != 0) // Thawj nias nkag

    {

        u16 play[2] = {0x0001, 0x4000};

        touchAnimationFlag = 1;

        touchAnimationCnt = 0;

        touchPosX = Va[1];

        touchPosY = Va[2];

        write_dgus_vp(0x00A0, ua, 2);

    }

}

 

(2) Cov cai rau kov cov nyhuv yog raws li nram no:

tsis muaj dab tsi TouchStart()

{

    if(touchAnimationFlag == 1)

    {

        if(touchAnimationCnt == 0)

        {

            Write_Dgus(0x5011, touchPosX - 100);

            Write_Dgus(0x5012, touchPosY - 100);

        }

 

        Write_Dgus(0x5000, touchAnimationCnt);

        touchAnimationCnt++;

 

        if(touchAnimationCnt == 6)

        {

            touchAnimationFlag = 0;

            Write_Dgus(0x5011, 1024);

            Write_Dgus(0x5012, 600);

        }

    }

    

}

 

4. Cov kauj ruam tom ntej yog los teeb tsa qhov tsis sib xws los ntawm kev tshuaj ntsuam, thiab tom qab ntawd xa cov ntaub ntawv mus rau tus neeg siv khoom noj miv los ntawm ESP32 kom paub txog qhov tsis siv neeg pub zaub mov rau miv.Cov cai tshwj xeeb yog raws li hauv qab no:

// Tau txais khawm xwm txheej

void get_key_status()

{

    ib = 0;

    //u16 Va=Read_Dgus(addr);

    u16 Va=Read_Dgus(0x1000);

    if(Va != 0x0000)

    {

        //Spaj tat

        if(Va == 0x0103) // Muab tus naj npawb g

        {

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

            setNum = placeGramNum;

            BackPage = 1;// Rov qab mus rau nplooj ntawv xwm txheej

            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, hloov, 2);

        }

        else if(Va == 0x0102)

        {

            OneSendData3(placeGramNum);//Qhov chawmiv zaub movib zaug

        }

        else if(Va == 0x0101) //Setting page

        {

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

            rau (i = 0; i < 6; i++)

            {

                yog (i == 0)

                {

                    Write_Dgus(0x3070 + i * 0x10 + 0, currentTime[i] % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 2, currentTime[i] / 10 % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 4, currentTime[i] / 100 % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 6, currentTime[i] / 1000 % 10);

                }

                lwm tus

                {

                    Write_Dgus(0x3070 + i * 0x10 + 0, currentTime[i] % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 2, currentTime[i] / 10 % 10);

                }

            }

            write_dgus_vp(0x0084, hloov, 2);// Nkag mus rau nplooj ntawv teeb tsa

        }

        else if(Va == 0x0100) //Rpaj ecord

        {

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

            rau (i = 0; i < 6; i++)

            {

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

                }

                lwm tus

                {

                    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, hloov, 2);// Nkag mus rau nplooj ntawv sau tseg

        }

        //Rpaj ecord

        else if(Va == 0x0201) //Record page Previous page

        {

            yog tias (lookEatCnt > 0)

            {

                lookEatCnt--;

                rau (i = 0; i < 6; i++)

                {

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

                    }

                    lwm tus

                    {

                        Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);

                    }

                }

            }

        }

        else if(Va == 0x0202) //Record page next page

        {

            yog tias (lookEatCnt < eatCnt - 1)

            {

                lookEatCnt++;

                rau (i = 0; i < 6; i++)

                {

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

                    }

                    lwm tus

                    {

                        Write_Dgus(0x2000 + i * 0x10 + 0, eatFeedList[lookEatCnt][i] % 10);

                        Write_Dgus(0x2000 + i * 0x10 + 2, eatFeedList[lookEatCnt][i] / 10 % 10);

                    }

                }

            }

        }

        //Setting page

        else if(Va == 0x0302)

        {

            if(timeMode == 1)

            {

                timeMode = 0;

                Write_Dgus(0x3A12, 139);

            }

        }

        else if(Va == 0x0303)

        {

            if(timeMode == 0)

            {

                timeMode = 1;

                Write_Dgus(0x3A12, 242);

            }

        }

        else if(Va >= 0x0304 && Va <= 0x0309)

        {

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

            BackPage = 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, hloov, 2);

        }

        else if(Va >= 0x030A && Va <= 0x030F)

        {

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

            BackPage = 3;

            backNum = Va;

            setNum = currentTime[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, hloov, 2);

        }

        //Adjust cov ntaub ntawv nplooj ntawv

        else if(Va == 0x0400) //Paub meej

        {

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

            switchpage[1] = backPage;

            if(backPage == 1) // Rov qab mus rau nplooj ntawv xwm txheej

            {

                placeGramNum = setNum;

                Write_Dgus(0x1140 + 0, placeGramNum % 10);

                Write_Dgus(0x1140 + 2, placeGramNum / 10 % 10);

            }

            lwm yam yog tias (backPage == 3)

            {

                if(backNum >= 0x0304 && backNum <= 0x0309)

                {

                    u16 xaiv = 0;

                    xaiv = (backNum - 0x0304) * 0x10;

                    timrIntervalHour[backNum - 0x0304] = setNum;

                    Write_Dgus(0x3010 + xaiv + 0, setNum % 10);

                    Write_Dgus(0x3010 + xaiv + 2, setNum / 10 % 10);

                }

                else if(backNum >= 0x030A && backNum <= 0x030F)

                {

                    u16 xaiv = 0;

                    xaiv = (backNum - 0x0304) * 0x10;

                    currentTime[backNum - 0x030A] = setNum;

                    

                    if(backNum == 0x030A)

                    {

                        Write_Dgus(0x3010 + xaiv + 0, setNum % 10);

                        Write_Dgus(0x3010 + xaiv + 2, setNum / 10 % 10);

                        Write_Dgus(0x3010 + xaiv + 4, setNum / 100 % 10);

                        Write_Dgus(0x3010 + xaiv + 6, setNum / 1000 % 10);

                    }

                    lwm tus

                    {

                        Write_Dgus(0x3010 + xaiv + 0, setNum % 10);

                        Write_Dgus(0x3010 + xaiv + 2, setNum / 10 % 10);

                    }

                }

            }

            write_dgus_vp(0x0084, hloov, 2);

        }

        else if(Va == 0x0401) //Rov qab

        {

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

            switchpage[1] = backPage;

            write_dgus_vp(0x0084, hloov, 2);

        }

        else if(Va == 0x0402) //Numerical nce

        {

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

        }

        else if(Va == 0x0403) // Tus lej txo

        {

            yog tias (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);

        }

        

        Write_Dgus(0x1000, 0);

    }

}


Post lub sij hawm: Sep-19-2023