[Cùis a choisinn duaisean] Siostam smachd bìdh cat tùrail

——Bho Fòram Luchd-leasachaidh DWIN

Anns an iris seo, bheir sinn a-steach dhut a’ chùis stòr fosgailte a choisinn duaisean bho Fhòram Luchd-leasachaidh DWIN: Siostam Smachd Bidhe Cat Inntleachdail.Chleachd innleadairean an scrion smart DWIN gus sùil a chumail air an teòthachd, an taiseachd, agus an ìre de bhiadh cat a bha air fhàgail, agus gus clàran ithe bìdh a’ chait a shàbhaladh.Dhealbhaich iad cuideachd seata de UI stoidhle peantaidh inc, a bharrachd air buaidh cliog inc nuair a bhuaileas meur e, gus cur ris a’ bheachd lèirsinneach air fios air ais suathadh.

Ro-ràdh:

Stuth dealbh 1.UI

Bidh scrion smart DWIN a ’crìochnachadh leasachadh UI stèidhichte air dealbhan, feumar claisneachd agus stuthan eile ullachadh ro-làimh a rèir susbaint taisbeanaidh an sgrion.

asv (2)

2.Interface leasachadh

Bidh bathar-bog DGUS ag ath-nuadhachadh buaidh UI tro ath-chòmhdach còmhdach, a ’cothlamadh na stuthan ullaichte gu dealbh iomlan ann am bathar-bog DGUS, agus a’ suidheachadh na gnìomhan taisbeanaidh is suathaidh.

asv (1)

3. Cuir an gnìomh buaidhean cliog agus buadhan fuaim

Gheibhear an suidheachadh suathaidh tron ​​​​phrògram 51, tha a ’bhuaidh brùthaidh a’ leantainn gluasad a ’mheur, agus tha prìomh bhuaidh fuaim na taic cuideachd air a choileanadh.

(1) Lorg còd àite suathaidh agus cluich claisneachd:

falamh TouchDetect()

{

    u16 Va[3] = 0;

    u8 i = 0;

 

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

    {

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

        ma tha(Va[0] == 0x5A01)

        {

        }

        eile

        {

            briseadh;

        }

    }

    ma tha(i! = 0) // Cliog an toiseach gus a dhol a-steach

    {

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

        touchAnimationFlag = 1;

        touchAnimationCnt = 0;

        touchPosX = Va[1];

        touchPosY = Va[2];

        write_dgus_vp(0x00A0, cluich, 2);

    }

}

 

(2) Tha an còd airson taisbeanadh buaidh suathaidh mar a leanas:

falamh TouchStart()

{

    ma tha(touchAnimationFlag == 1)

    {

        ma tha(touchAnimationCnt == 0)

        {

            Write_Dgus (0x5011, touchPosX - 100);

            Write_Dgus (0x5012, touchPosY - 100);

        }

 

        Write_Dgus(0x5000, touchAnimationCnt);

        touchAnimationCnt++;

 

        ma tha(touchAnimationCnt == 6)

        {

            touchAnimationFlag = 0;

            Write_Dgus(0x5011, 1024);

            Write_Dgus(0x5012, 600);

        }

    }

    

}

 

4. Is e an ath cheum na paramadairean co-fhreagarrach a shuidheachadh tron ​​​​sgrion, agus an uairsin an dàta a chuir gu rianadair biadh cat tro ESP32 gus gnìomh beathachaidh fèin-ghluasadach biadh cat a thoirt gu buil.Tha an còd sònraichte mar a leanas:

// Faigh inbhe putan

falamh get_key_status()

{

    int i = 0;

    //u16 Va=Leugh_Dgus(addr);

    u16 Va=Leugh_Dgus(0x1000);

    ma tha (Va! = 0x0000)

    {

        //Sduilleag tatus

        ma tha (Va == 0x0103) // Cuir an àireamh de g

        {

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

            setNum = àiteGramNum;

            aisDuilleag = 1;// Till gu duilleag inbhe

            Write_Dgus(0x4000 + 0, seataNum % 10);

            Write_Dgus(0x4000 + 2, seataNum / 10% 10);

            Write_Dgus(0x4000 + 4, seataNum / 100% 10);

            Write_Dgus(0x4000 + 6, seataNum / 1000% 10);

            write_dgus_vp(0x0084, suidse, 2);

        }

        eile ma tha(Va == 0x0102)

        {

            OneSendData3(àiteGramNum);//Àitebiadh cataon uair

        }

        eile ma tha(Va == 0x0101) // A’ suidheachadh duilleag

        {

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

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

            {

                ma tha(i == 0)

                {

                    Write_Dgus(0x3070 + i * 0x10 + 0, an t-àm làithreach[i] % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 2, an t-àm làithreach[i] / 10 % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 4, an t-àm làithreach[i] / 100 % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 6, an-dràsta[i] / 1000% 10);

                }

                eile

                {

                    Write_Dgus(0x3070 + i * 0x10 + 0, an t-àm làithreach[i] % 10);

                    Write_Dgus(0x3070 + i * 0x10 + 2, an t-àm làithreach[i] / 10 % 10);

                }

            }

            write_dgus_vp(0x0084, suidse, 2);// Cuir a-steach duilleag nan roghainnean

        }

        eile ma tha(Va == 0x0100) //Rduilleag clàr

        {

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

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

            {

                ma tha(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);

                }

                eile

                {

                    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, suidse, 2);// Cuir a-steach duilleag clàraidh

        }

        //Rduilleag clàr

        eile ma tha(Va == 0x0201) // Clàraich an duilleag roimhe

        {

            ma tha (lookEatCnt > 0)

            {

                seallEatCnt--;

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

                {

                    ma tha(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);

                    }

                    eile

                    {

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

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

                    }

                }

            }

        }

        eile ma tha(Va == 0x0202) // Clàraich duilleag an ath dhuilleig

        {

            ma tha(lookEatCnt < eatCnt - 1)

            {

                coimheadEatCnt++;

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

                {

                    ma tha(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);

                    }

                    eile

                    {

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

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

                    }

                }

            }

        }

        // A’ suidheachadh duilleag

        eile ma tha(Va == 0x0302)

        {

            ma tha(timeMode == 1)

            {

                timeMode = 0;

                Write_Dgus(0x3A12, 139);

            }

        }

        eile ma tha(Va == 0x0303)

        {

            ma tha(timeMode == 0)

            {

                timeMode = 1;

                Write_Dgus(0x3A12, 242);

            }

        }

        eile ma tha(Va>= 0x0304 && Va <= 0x0309)

        {

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

            aisDuilleag = 3;

            aisNum = Va;

            setNum = timrIntervalHour[Va - 0x0304];

            Write_Dgus(0x4000 + 0, seataNum % 10);

            Write_Dgus(0x4000 + 2, seataNum / 10% 10);

            Write_Dgus(0x4000 + 4, seataNum / 100% 10);

            Write_Dgus(0x4000 + 6, seataNum / 1000% 10);

            write_dgus_vp(0x0084, suidse, 2);

        }

        eile ma tha(Va>= 0x030A && Va <= 0x030F)

        {

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

            aisDuilleag = 3;

            aisNum = Va;

            setNum = an t-àm làithreach[Va - 0x030A];

            Write_Dgus(0x4000 + 0, seataNum % 10);

            Write_Dgus(0x4000 + 2, seataNum / 10% 10);

            Write_Dgus(0x4000 + 4, seataNum / 100% 10);

            Write_Dgus(0x4000 + 6, seataNum / 1000% 10);

            write_dgus_vp(0x0084, suidse, 2);

        }

        //Aduilleag dàta djust

        eile ma tha(Va == 0x0400) //Dearbhaich

        {

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

            switchpage[1] = duilleag cùil;

            ma tha(backPage == 1) // Till gu duilleag inbhe

            {

                àiteGramNum = setNum;

                Write_Dgus(0x1140 + 0, àiteGramNum % 10);

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

            }

            eile ma tha(backPage == 3)

            {

                ma tha (backNum>= 0x0304 && backNum <= 0x0309)

                {

                    u16 tagh = 0;

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

                    timrIntervalHour[backNum - 0x0304] = seataNum;

                    Write_Dgus(0x3010 + tagh + 0, seataNum % 10);

                    Write_Dgus (0x3010 + tagh + 2, seataNum / 10% 10);

                }

                eile ma tha (backNum>= 0x030A && backNum <= 0x030F)

                {

                    u16 tagh = 0;

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

                    currentTime[backNum - 0x030A] = seataNum;

                    

                    ma tha (backNum == 0x030A)

                    {

                        Write_Dgus(0x3010 + tagh + 0, seataNum % 10);

                        Write_Dgus (0x3010 + tagh + 2, seataNum / 10% 10);

                        Write_Dgus (0x3010 + tagh + 4, seataNum / 100% 10);

                        Write_Dgus(0x3010 + tagh + 6, seataNum / 1000% 10);

                    }

                    eile

                    {

                        Write_Dgus(0x3010 + tagh + 0, seataNum % 10);

                        Write_Dgus (0x3010 + tagh + 2, seataNum / 10% 10);

                    }

                }

            }

            write_dgus_vp(0x0084, suidse, 2);

        }

        eile ma tha(Va == 0x0401) //Air ais

        {

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

            switchpage[1] = duilleag cùil;

            write_dgus_vp(0x0084, suidse, 2);

        }

        eile ma tha(Va == 0x0402) // Àrdachadh àireamhach

        {

            seataNum++;

            Write_Dgus(0x4000 + 0, seataNum % 10);

            Write_Dgus(0x4000 + 2, seataNum / 10% 10);

            Write_Dgus(0x4000 + 4, seataNum / 100% 10);

            Write_Dgus(0x4000 + 6, seataNum / 1000% 10);

        }

        eile ma tha(Va == 0x0403) // Lùghdachadh àireamhach

        {

            ma tha (setNum> 0)

                seataNum--;

            Write_Dgus(0x4000 + 0, seataNum % 10);

            Write_Dgus(0x4000 + 2, seataNum / 10% 10);

            Write_Dgus(0x4000 + 4, seataNum / 100% 10);

            Write_Dgus(0x4000 + 6, seataNum / 1000% 10);

        }

        

        Write_Dgus(0x1000, 0);

    }

}


Ùine puist: Sultain 19-2023