[Kuhwina-kuhwina kesi] Intelligent Katsi Kudzora Chikafu System

——Kubva kuDWIN Developer Forum

Mune ino chinyorwa, isu tichakuzivisa kwauri mubairo-kuhwina yakavhurika sosi kesi kubva kuDWIN Developer Forum: Intelligent Katsi Kudzora Chikafu System.Mainjiniya akashandisa iyo DWIN smart skrini kutarisa tembiricha, hunyoro, uye huwandu hwasara hwekatsi chikafu, uye kuchengetedza katsi chikafu chekudya marekodhi.Ivo zvakare vakagadzira zvakasarudzika seti yeiki yekupendi chimiro UI, pamwe neingi yekudzvanya maitiro kana yabatwa nemunwe, kuwedzera maonero ekuona ekubata mhinduro.

Nhanganyaya:

1.UI mufananidzo zvinhu

DWIN smart screen inopedza UI kusimudzira zvichibva pamifananidzo, odhiyo uye zvimwe zvinhu zvinoda kugadzirirwa pachine nguva maererano nescreen kuratidza zvirimo.

asv (2)

2.Interface development

Iyo DGUS software inodzoreredza iyo UI mhedzisiro kuburikidza neyakafukidzwa, inosanganisa zvinhu zvakagadzirirwa kuita mufananidzo wakazara muDGUS software, uye inoseta kuratidza uye kubata mabasa.

asv (1)

3. Shandisa kudzvanya mhedzisiro uye ruzha

Iyo yekubata chinzvimbo inowanikwa kuburikidza neiyo 51 chirongwa, iyo yekutsikirira inoteedzera kufamba kwemunwe, uye kiyi inoperekedza ruzha mhedzisiro inowanikwa zvakare.

(1) Ona kodhi yenzvimbo yekubata uye ridza odhiyo:

void TouchDetect ()

{

    u16 Va[3] = 0;

    u8 i = 0;

 

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

    {

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

        kana(Va[0] == 0x5A01)

        {

        }

        zvimwe

        {

            break;

        }

    }

    kana(i!= 0) //Kutanga kudzvanya kuti upinde

    {

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

        touchAnimationFlag = 1;

        touchAnimationCnt = 0;

        touchPosX = Va[1];

        touchPosY = Va[2];

        nyora_dgus_vp(0x00A0, tamba, 2);

    }

}

 

(2) Iyo kodhi yekubata mhedzisiro inoratidzwa yakaita seinotevera:

void TouchStart()

{

    kana(touchAnimationFlag == 1)

    {

        kana(touchAnimationCnt == 0)

        {

            Write_Dgus(0x5011, touchPosX - 100);

            Write_Dgus(0x5012, touchPosY - 100);

        }

 

        Write_Dgus(0x5000, touchAnimationCnt);

        touchAnimationCnt++;

 

        kana(touchAnimationCnt == 6)

        {

            touchAnimationFlag = 0;

            Write_Dgus(0x5011, 1024);

            Write_Dgus(0x5012, 600);

        }

    }

    

}

 

4. Nhanho inotevera ndeyekuseta maparamendi anoenderana kuburikidza nechidzitiro, uye wozoendesa data kune katsi chikafu controller kuburikidza neESP32 kuti uone otomatiki yekudyisa basa rekudya kwekatsi.Iyo chaiyo kodhi ndeyekutevera:

// Tora bhatani chimiro

void get_key_status()

{

    int = 0;

    //u16 Va=Read_Dgus(addr);

    u16 Va=Read_Dgus(0x1000);

    kana(Va != 0x0000)

    {

        //Status peji

        kana(Va == 0x0103) //Isa nhamba ye g

        {

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

            setNum = placeGramNum;

            peji reshure = 1;// Dzokera kune peji peji

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

        }

        zvimwe kana(Va == 0x0102)

        {

            OneSendData3(placeGramNum);//Nzvimbochikafu chekatikamwe

        }

        zvimwe kana(Va == 0x0101) //Kuisa peji

        {

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

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

            {

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

                }

                zvimwe

                {

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

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

                }

            }

            write_dgus_vp(0x0084, switchpage, 2);//Pinda peji rezvigadziriso

        }

        zvimwe kana(Va == 0x0100) //Record peji

        {

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

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

            {

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

                }

                zvimwe

                {

                    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, switchpage, 2);//Pinda rekodhi peji

        }

        //Record peji

        zvimwe kana(Va == 0x0201) //Rekodha peji yapfuura

        {

            kana(tarisaEatCnt> 0)

            {

                lookEatCnt--;

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

                {

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

                    }

                    zvimwe

                    {

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

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

                    }

                }

            }

        }

        zvimwe kana(Va == 0x0202) //Rekodha peji rinotevera

        {

            kana(tarisaEatCnt <kudyaCnt - 1)

            {

                lookEatCnt++;

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

                {

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

                    }

                    zvimwe

                    {

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

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

                    }

                }

            }

        }

        //Kuisa peji

        zvimwe kana(Va == 0x0302)

        {

            kana(nguvaMode == 1)

            {

                timeMode = 0;

                Write_Dgus(0x3A12, 139);

            }

        }

        zvimwe kana(Va == 0x0303)

        {

            kana(nguvaMode == 0)

            {

                timeMode = 1;

                Write_Dgus(0x3A12, 242);

            }

        }

        zvimwe kana(Va >= 0x0304 && Va <= 0x0309)

        {

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

            peji reshure = 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, switchpage, 2);

        }

        zvimwe kana(Va >= 0x030A && Va <= 0x030F)

        {

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

            peji reshure = 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, switchpage, 2);

        }

        //Agadzirisa peji yedata

        zvimwe kana(Va == 0x0400) //Confirm

        {

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

            switchpage[1] = backPage;

            kana (backPage == 1) //Dzokera kune peji peji

            {

                placeGramNum = setNum;

                Nyora_Dgus(0x1140 + 0, nzvimboGramNum % 10);

                Nyora_Dgus(0x1140 + 2, nzvimboGramNum / 10 % 10);

            }

            zvimwe kana(backPage == 3)

            {

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

                {

                    u16 sarudza = 0;

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

                    timrIntervalHour[backNum - 0x0304] = setNum;

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

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

                }

                zvimwe kana(backNum >= 0x030A && backNum <= 0x030F)

                {

                    u16 sarudza = 0;

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

                    currentTime[backNum - 0x030A] = setNum;

                    

                    kana(backNum == 0x030A)

                    {

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

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

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

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

                    }

                    zvimwe

                    {

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

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

                    }

                }

            }

            write_dgus_vp(0x0084, switchpage, 2);

        }

        zvimwe kana(Va == 0x0401) //Back

        {

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

            switchpage[1] = backPage;

            write_dgus_vp(0x0084, switchpage, 2);

        }

        zvimwe kana(Va == 0x0402) //Nhamba yekuwedzera

        {

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

        }

        zvimwe kana(Va == 0x0403) //kuderera kwenhamba

        {

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

    }

}


Nguva yekutumira: Sep-19-2023