ʻO ka maka akamai ma muli o ka DWIN Circular Screen

——Mai DWIN Developer Forum

ʻO ka DWIN developer forum open source papahana i ʻōlelo ʻia no kēlā me kēia manawa he hana hoihoi loa ia no ka hoʻohālikelike ʻana i ka neʻe ʻana o nā maka kanaka.Ua hoʻohana ka ʻenekinia i kekahi mau kiʻi kiʻi maka kanaka no ka hoʻomaopopo ʻana i nā hana e like me ka neʻe ʻana o ka pōpō maka, ka uila, ka ʻike maka a me ka hahai ʻana.

ʻO ka hoʻomaka ʻana i nā hāʻina open source:

1. Mea kiʻi UI

Manaʻo o ka Lunahooponopono: Hoʻokumu ʻia ka pale akamai DWIN i nā kiʻi e hoʻopau ai i ka hoʻomohala ʻana i ka UI, hiki ke ʻike maʻalahi i nā hopena hōʻike like ʻole.

dytrgf (1)

2. Ka hoʻomohala ʻana i ke kikowaena

He mea maʻalahi ka hoʻomohala ʻana i ka interface ma o ka polokalamu DGUS, a ʻelua wale nō mana kiʻi e pono ai.Ma kēia hana maʻamau, ua koho ka ʻenekinia i kahi pale akamai 2.1 iniha.

dytrgf (2)

3. Hoʻomaopopo i ka hoʻoulu ʻana blink

E hōʻike pū ʻia nā kiʻi o nā lihilihi maka i nā manawa.

//Hōʻōniʻoniʻo emo

nele blink_animat(ʻole)

{

inā(blink_flag == 0)

{

blink_cnt++;

inā(blink_cnt >= 4)

{

blink_flag = 1;

}

}

ʻē aʻe

{

blink_cnt–;

inā(blink_cnt <= 0)

{

blink_flag = 0;

}

}

write_dgus_vp(0×3000, (u8 *)&blink_cnt, 2);

}

nele blink_run()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

inā(run_timer_cnt >= 2000000)

{

run_timer_cnt = 0;

blink_animat();

Hoʻopaneʻe_ms(30);

blink_animat();

Hoʻopaneʻe_ms(30);

blink_animat();

Hoʻopaneʻe_ms(30);

blink_animat();

Hoʻopaneʻe_ms(30);

blink_animat();

Hoʻopaneʻe_ms(30);

blink_animat();

Hoʻopaneʻe_ms(30);

blink_animat();

Hoʻopaneʻe_ms(30);

blink_animat();

Hoʻopaneʻe_ms(30);

}

}

4. E hoʻomaopopo i ka nānā ʻana o nā maka i ka hema a me ka ʻākau.

Ua like kēia me ka uila, akā pono e hoʻohālikelike i ka manawa o ka oscillator kristal e hoʻomalu i ka neʻe ʻana o ka maka.Ma hope o nā manawa he nui o ka debugging, ua hoʻolālā ka ʻenekinia i ka hoʻonohonoho o nā code.

//Hōʻoniʻoni maka

ʻaʻohe maka maka_animat(ʻole)

{

maka_makahiki_cnt++;

inā(eyeball_timer_cnt < 50)

{

maka_cnt = 20;

}

inā ʻaʻole (eyeball_timer_cnt < 51)

{

maka_cnt = 50;

}

inā ʻaʻole (eyeball_timer_cnt < 52)

{

maka_cnt = 80;

}

inā ʻaʻole (eyeball_timer_cnt < 53)

{

maka_cnt = 94;

}

inā ʻaʻole (eyeball_timer_cnt < 103)

{

maka_cnt = 94;

}

inā ʻaʻole (eyeball_timer_cnt < 104)

{

maka_cnt = 80;

}

inā ʻaʻole (eyeball_timer_cnt < 105)

{

maka_cnt = 50;

}

inā ʻaʻole (eyeball_timer_cnt < 106)

{

maka_cnt = 20;

}

inā ʻaʻole (eyeball_timer_cnt < 107)

{

maka_cnt = -10;

}

inā ʻaʻole (eyeball_timer_cnt < 108)

{

maka_cnt = -40;

}

inā ʻaʻole (eyeball_timer_cnt < 158)

{

maka_cnt = -54;

}

inā ʻaʻole (eyeball_timer_cnt < 159)

{

maka_cnt = -40;

}

inā ʻaʻole (eyeball_timer_cnt < 160)

{

maka_cnt = -10;

}

inā ʻaʻole (eyeball_timer_cnt < 161)

{

maka_cnt = 20;

maka_makahiki_cnt = 0;

}

//Neʻe hema a ʻākau

// inā(eyeball_flag == 0)

// {

// eyeball_cnt++;

// inā(eyeball_cnt >= 94)

// {

// eyeball_flag = 1;

// }

// }

// ʻē aʻe

// {

// eyeball_cnt–;

// inā(eyeball_cnt <= -54)

// {

// hae_poe maka = 0;

// }

// }

inā(eyeball_cnt >= 0)

{

maka_po[0] = 0×00;

maka_po[1] = maka_maka_cnt;

}

ʻē aʻe

{

maka_po[0] = 0xFF;

maka_po[1] = (eyeball_cnt & 0xFF);

}

write_dgus_vp(0×3111, (u8 *)&eyeball_pos, 2);

}

holo maka ʻole ()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

inā(run_timer_cnt >= 20000)

{

run_timer_cnt = 0;

eyeball_animat();

}

}

5. Hoʻohui i ka ʻike maka ESP32 e ʻike i ka neʻe ʻana o nā maka ma hope o ka maka.

ʻO ke ʻano hana ma ʻaneʻi ʻo ia ke ʻike ʻia ka maka, ʻaʻole neʻe nā maka iā lākou iho, a ua wehewehe ʻia kahi ʻano hoʻololi e hoʻonui i ka loop while.Ke piʻi ka piʻi ʻana i kahi waiwai, e neʻe wale nā ​​maka maka.Ke loaʻa ka ʻikepili i ka port serial, e hoʻomaʻemaʻe ʻia kēia loli, a laila e neʻe wale i nā maka e like me ke kūlana o ka maka.ʻO ke code nui penei:

inā(rec_data_timer_cnt < 1000000)

{

rec_data_timer_cnt++;

}

ʻē aʻe

{

holo_makamaka();

}

waho u32 rec_data_timer_cnt;

waho u16 eyeball_timer_cnt;

ʻaʻohe kamaʻilio_CMD(u8 st)

{

inā((uart[st].Rx_F==1)&&(uart[st].Rx_T==0))

{

rec_data_timer_cnt = 0;

maka_makahiki_cnt = 0;

#inā(Kōhua_Kūkākūkā ==1)

Describe_8283(st);

#elif(Kōhua_Kūkākūkā ==2)

Describe_Modbus(st);

#endif

uart[st].Rx_F=0;

uart[st].Rx_Num=0;

}

}


Ka manawa hoʻouna: Iune-26-2023