123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775 |
- #include "myDisplayUnit.h"
- #include "myLcd.h"
- int8_t uiPageIdAddress = ~(0);
- int8_t uiPageCount = 1;
- int8_t rx_tx_count;
- int8_t rx_tp_count;
- int8_t setting_count;
- int8_t tx_tp_count;
- uiPageUnit_ts uiPageParams[UI_PAGE_ID_MAX];
- enterCallback enterCb;
- uint32_t buffer_rfBr;
- uint32_t rfBr;
- uint32_t buffer_channelStep;
- uint32_t buffer_freq;
- int8_t buffer_rfPower;
- char *buffer_type;
- void myDisplay_ui_firstUi_setDeviceName(char *name)
- {
- myLCD_str8x16(IM_NOMALE, 80, 1, name);
- }
- void myDisplay_ui_firstUi_setFreq(uint32_t freq)
- {
- myLCD_str8x16(IM_NOMALE, 80, 2, "Freq.%6.2fMHz", (float)freq/1000000);
- }
- void myDisplay_ui_firstUi_setRfPower(int power)
- {
- myLCD_str8x16(IM_NOMALE, 95, 3, "Pwr.%ddBm", power);
- }
- void myDisplay_ui_firstUi_setRfBr(uint32_t br)
- {
- myLCD_str8x16(IM_NOMALE, 95, 4, "Br.%.3fkb", (float)br/1000);
- }
- void myDisplay_ui_firstUi(int agr0, void *agr1_ptr)
- {
- if (uiPageIdAddress != UI_PAGE_ID_FIRST_UI)
- {
- myLCD_16x16(IM_INVERSE, 10, 11, "深圳市沃进科技有限公司");
- myLCD_displayImage(IM_NOMALE, 1, 1, IMG_SRC_VOLLGO);
- myLCD_str8x16(IM_NOMALE, 80, 1, "VG------------");
- myLCD_str8x16(IM_NOMALE, 95, 2, "Freq.***");
- myLCD_str8x16(IM_NOMALE, 95, 3, "Pwr.**");
- }
- else
- {
- myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 5, "ENTER");
- }
- uiPageIdAddress = UI_PAGE_ID_FIRST_UI;
- }
- void myDisplay_ui_selectMode(int agr0, void *agr1_ptr)
- {
- int i;
- myLCD_clearFull();
- for ( i = 0; i <= MAX_PAGE_COUNT; i++)
- {
- myLCD_displayBlock(1, i);
- }
- uiPageIdAddress = UI_PAGE_ID_ITEM_MODE;
- myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
- 10, 1, "Enter RF Transmiter");
- myLCD_str8x16(agr0 == 1 ? IM_INVERSE : IM_NOMALE,
- 10, 2, "Enter RF Receiver");
- myLCD_str8x16(agr0 == 2 ? IM_INVERSE : IM_NOMALE,
- 10, 3, "Enter RF Continuous");
- myLCD_str8x16(agr0 == 3 ? IM_INVERSE : IM_NOMALE,
- 10, 4, "Enter RF Setting");
- myLCD_str8x16(agr0 == 4 ? IM_INVERSE : IM_NOMALE,
- 10, 5, "Enter Device Infor");
- }
- void myDisplay_ui_rf_tx(uint8_t mode)
- {
- int i;
- myLCD_clearFull();
- for ( i = 0; i <= MAX_PAGE_COUNT; i++)
- {
- myLCD_displayBlock(1, i);
- }
- myLCD_str8x16(mode == 0 ? IM_INVERSE : IM_NOMALE,
- 10, 1, "Packet TX");
- myLCD_str8x16(mode == 1 ? IM_INVERSE : IM_NOMALE,
- 10, 2, "Continuous TX");
- }
- void myDisplay_ui_rf_tx_packet(int agr0, void *agr1_ptr)
- {
- int i;
- if (uiPageIdAddress != UI_PAGE_ID_TX_PACKET)
- {
- myLCD_clearFull();
- for ( i = 0; i <= MAX_PAGE_COUNT; i++)
- {
- myLCD_displayBlock(1, i);
- }
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Packet TX");
- myLCD_str8x16(IM_NOMALE, 5, 2, "Packet:");
- }
- uiPageIdAddress = UI_PAGE_ID_TX_PACKET;
- if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
- {
- myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 6, "START");
- }
- }
- void myDisplay_ui_rf_tx_packet_buffer(uint8_t *buffer)
- {
- if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE, 10, 3, (char *)buffer);
- }
- }
- void myDisplay_ui_rf_tx_packet_counts(uint32_t rate, uint32_t count)
- {
- if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_RIGHT, 2, "%5.1f%% %5d",(float)rate/10, count);
- }
- }
- void myDisplay_ui_rf_tx_packet_consumeTime(uint32_t time)
- {
- if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
- {
- if (time == ~(uint32_t)0)
- {
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_RIGHT, 1, " OUT");
- }
- else
- {
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_RIGHT, 1, "%5dms", time);
- }
-
- }
- }
- void myDisplay_ui_rf_tx_packet_ackRssi(int16_t rssi)
- {
- if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
- {
- if (rssi > -150 && (rssi < 10))
- {
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_RIGHT, 3, "%04ddBm", rssi%10000);
- }
- }
- }
- void myDisplay_ui_rf_setting_freq(uint32_t freq)
- {
- buffer_freq = freq;
- }
- void myDisplay_ui_rf_setting_rfPower(int8_t rfPower)
- {
- buffer_rfPower = rfPower;
- }
- void myDisplay_ui_rf_setting_channelStep(uint32_t channelStep)
- {
- buffer_channelStep = channelStep;
- }
- void myDisplay_ui_rf_setting_type(char *type)
- {
- buffer_type = type;
- }
- void myDisplay_ui_rf_setting_rfBr(uint32_t br)
- {
- rfBr = br;
- }
- void myDisplay_ui_rf_setting(int agr0, void *agr1_ptr)
- {
- int i;
- if (uiPageIdAddress != UI_PAGE_ID_SETTING)
- {
- myLCD_clearFull();
- for ( i = 0; i <= MAX_PAGE_COUNT; i++)
- {
- myLCD_displayBlock(1, i);
- }
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Setting");
- myLCD_str8x16(IM_NOMALE, 10, 2, "Type:");
- myLCD_str8x16(IM_NOMALE, 10, 3, "Chnl:----------MHz");
- myLCD_str8x16(IM_NOMALE, 10, 4, "Step:----MHz");
- myLCD_str8x16(IM_NOMALE, 10, 5, "TxPower:---dBm");
- myLCD_str8x16(IM_NOMALE, 10, 6, "RfBr:---.---kbps");
- }
- uiPageIdAddress = UI_PAGE_ID_SETTING;
- if (uiPageIdAddress == UI_PAGE_ID_SETTING)
- {
- myLCD_str8x16(agr0 == SET_ITEM_INDEX_TYPE ? IM_INVERSE : IM_NOMALE,
- 10 + 8 * strlen("Type:"), 2,
- "%s", buffer_type);
- myLCD_str8x16(agr0 == SET_ITEM_INDEX_FREQ ? IM_INVERSE : IM_NOMALE,
- 10 + 8 * strlen("Chnl:"), 3,
- "%02d->%6.2f", ((int *)agr1_ptr)[SET_ITEM_INDEX_FREQ], (float)buffer_freq / 1000000);
- myLCD_str8x16(agr0 == SET_ITEM_INDEX_STEP ? IM_INVERSE : IM_NOMALE,
- 10 + 8 * strlen("Step:"), 4,
- "%4.2f", (float)buffer_channelStep / 1000000);
- myLCD_str8x16(agr0 == SET_ITEM_INDEX_TXPOWER ? IM_INVERSE : IM_NOMALE,
- 10 + 8 * strlen("TxPower:"), 5,
- "%03d", buffer_rfPower);
- myLCD_str8x16(agr0 == SET_ITEM_INDEX_RFBAUDRATE ? IM_INVERSE : IM_NOMALE,
- 10 + 8 * strlen("RfBr:"), 6,
- "%7.3f", (float)rfBr/1000);
- }
- }
- uint8_t ver_buffer;
- void myDisplay_ui_device_infor(int agr0, void *agr1_ptr)
- {
- int i;
- if (uiPageIdAddress != UI_PAGE_ID_DEVICE_INFOR)
- {
- myLCD_clearFull();
- for ( i = 0; i <= MAX_PAGE_COUNT; i++)
- {
- myLCD_displayBlock(1, i);
- }
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Infor");
- myLCD_str8x16(IM_NOMALE,
- 10, 2, "version: V%02x", ver_buffer);
- myLCD_str8x16(IM_NOMALE, 10, 3, "MD: VOLLGO");
- }
- uiPageIdAddress = UI_PAGE_ID_DEVICE_INFOR;
- }
- void myDisplay_ui_deviceInfor_setVer(uint8_t ver)
- {
- ver_buffer = ver;
- }
- void myDisplay_ui_rf_rx(uint8_t mode)
- {
- int i;
- myLCD_clearFull();
- for ( i = 0; i <= MAX_PAGE_COUNT; i++)
- {
- myLCD_displayBlock(1, i);
- }
- myLCD_str8x16(mode == 0 ? IM_INVERSE : IM_NOMALE,
- 10, 1, "Packet RX");
- myLCD_str8x16(mode == 1 ? IM_INVERSE : IM_NOMALE,
- 10, 2, "Continuous RX");
- }
- void myDisplay_ui_rf_continuos(int agr0, void *agr1_ptr)
- {
- int i;
- if (uiPageIdAddress != UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_clearFull();
- for ( i = 0; i <= MAX_PAGE_COUNT; i++)
- {
- myLCD_displayBlock(1, i);
- }
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Continuous");
- myDisplay_ui_rf_continuos_rfFreq();
- myDisplay_ui_rf_continuos_rfBr();
- myDisplay_ui_rf_continuos_rfPwr();
- }
- uiPageIdAddress = UI_PAGE_ID_RF_CONTINUOUS;
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(agr0 == CNT_ITEM_INDEX_TX ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_CENTER, 2, "TX");
- myLCD_str8x16(agr0 == CNT_ITEM_INDEX_RX ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_CENTER, 3, "RX");
- myLCD_str8x16(agr0 == CNT_ITEM_INDEX_TX_MD ? IM_INVERSE : IM_NOMALE,
- 110+3, 2, "TX_MD");
- }
- }
- void myDisplay_ui_rf_continuos_txCurrent(float Current)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 4, "C=%6.2fmA", Current);
- }
- }
- void myDisplay_ui_rf_continuos_rxLen(float rate, uint16_t len)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- HORIZONTAL_RIGHT, 4, "%5.1f%% %4d", rate, len);
- }
- }
- void myDisplay_ui_rf_continuos_rfFreq(void)
- {
- // if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- 5, 2,
- "%6.2fMHz", (float)buffer_freq / 1000000);
- }
- }
- void myDisplay_ui_rf_continuos_rfBr(void)
- {
- // if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- HORIZONTAL_RIGHT, 3,
- "%7.3fkbps", (float)rfBr / 1000);
- }
- }
- void myDisplay_ui_rf_continuos_rfPwr(void)
- {
- // if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- 5, 3,
- "%ddBm", buffer_rfPower);
- }
- }
- void myDisplay_ui_rf_continuos_rxErrorRate(float rate)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 6, "%6.2f%%", rate);
- }
- }
- void myDisplay_ui_rf_continuos_rxRssi(int16_t rssi)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- HORIZONTAL_RIGHT, 2, "%4d", rssi);
- }
- }
- void myDisplay_ui_rf_continuos_rxContinuousFreq(uint32_t freq)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 6, "freq=%6d", freq);
- }
- }
- void myDisplay_ui_rf_continuos_rxPacketCount(uint8_t status, uint16_t count)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 5, "count=%d sta=%d", count, status);
- }
- }
- void myDisplay_ui_rf_continuos_rxPacket(uint8_t *buf, uint16_t len)
- {
- int i = 0;
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 6, " ");
- if (len)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 6, "packet=");
- for ( i = 0; i < len; i++)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 6 + strlen("packet=") + i,
- "%x", *buf);
- buf ++;
- }
-
- }
- else
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 6, "packet=%s", buf);
- }
- }
- }
- void myDisplay_ui_rf_continuos_rxPacketGetCount(uint32_t count)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 6, "rx count=%3d", count);
- }
- }
- void myDisplay_ui_rf_rx_packet(int agr0, void *agr1_ptr)
- {
- int i;
- if (uiPageIdAddress != UI_PAGE_ID_RX_PACKET)
- {
- myLCD_clearFull();
- for ( i = 0; i <= MAX_PAGE_COUNT; i++)
- {
- myLCD_displayBlock(1, i);
- }
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 1, "Packet RX");
- myLCD_str8x16(IM_NOMALE,
- 5, 3, "Packet:");
- }
- uiPageIdAddress = UI_PAGE_ID_RX_PACKET;
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- myLCD_str8x16(agr0 == 0 ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 6, "START");
- }
- }
- void myDisplay_ui_rf_rxPacket_rxCurrent(float current)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE,
- 5, 2, "%-6.2fmA", current);
- }
- }
- void myDisplay_ui_rf_rxPacket_rssi(int16_t rssi)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- if (rssi > -150 && (rssi < 10))
- {
- myLCD_str8x16(IM_NOMALE,
- HORIZONTAL_RIGHT, 2, "%04ddBm", rssi%10000);
- }
- }
- }
- void myDisplay_ui_rf_rxPacket_count(uint32_t count)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE,
- HORIZONTAL_CENTER, 3, "%06d", count);
- }
- }
- void myDisplay_ui_rf_rxPacket_rate(float rate, int count, int frame)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 3, "rssi=%3.0f%%,cnt=%3d %1d", rate, count, frame & 0x0f);
- }
- }
- void myDisplay_ui_rf_rxPacket_buffer(uint8_t *buf, uint16_t len)
- {
- int i = 0;
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 5, " ");
- if (len)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 5, "packet=");
- for ( i = 0; i < len; i++)
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 5 + strlen("packet=") + i,
- "%x", *buf);
- buf ++;
- }
-
- }
- else
- {
- myLCD_str8x16(IM_NOMALE,
- 10, 5, "packet=%-15s", buf);
- }
- }
- }
- uint8_t displayBuffer[3][20];
- void loadDisplayBuffer(uint8_t *buf, uint16_t len)
- {
-
- memcpy((char *)displayBuffer[0], (char *)displayBuffer[1], 20);
- memcpy((char *)displayBuffer[1], (char *)displayBuffer[2], 20);
- memset(displayBuffer[2], 0, 20);
- memcpy((char *)displayBuffer[2], (char *)buf, 20);
- }
- void myDisplay_ui_rf_rxPacket_scroll_buffer(uint8_t *buf, uint16_t len)
- {
- int i = 0;
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- if (len)
- {
- for ( i = 0; i < len; i++)
- {
- myLCD_str8x16(IM_NOMALE,
- 10 + i, 5,
- "%x", *buf);
- buf ++;
- }
- loadDisplayBuffer(buf, len);
- }
- else
- {
- }
- loadDisplayBuffer(buf, len);
- myLCD_str8x16(IM_NOMALE, 18, 4,
- "%-15s", displayBuffer[0]);
- myLCD_str8x16(IM_NOMALE, 18, 5,
- "%-15s", displayBuffer[1]);
- myLCD_str8x16(IM_NOMALE, 18, 6,
- "%-15s", displayBuffer[2]);
- }
- }
- void loadDisplayBufferContinue(uint8_t *buf, uint16_t len)
- {
-
- memcpy((char *)displayBuffer[0], (char *)displayBuffer[1], 20);
- memset(displayBuffer[1], 0, 20);
- memcpy((char *)displayBuffer[1], (char *)buf, 20);
- }
- void myDisplay_ui_rf_rxContinue_scroll_buffer(uint8_t *buf, uint16_t len)
- {
- int i = 0;
- if (uiPageIdAddress == UI_PAGE_ID_RF_CONTINUOUS)
- {
- loadDisplayBufferContinue(buf, len);
- myLCD_str8x16(IM_NOMALE, 18, 5,
- "%-15s", displayBuffer[0]);
- myLCD_str8x16(IM_NOMALE, 18, 6,
- "%-15s", displayBuffer[1]);
- }
- }
- /**
- * 光标控制
- * direct: 方向控制
- * =1,向上移动
- * =0,向下移动
- * **/
- void myDisplay_change(uint8_t direct)
- {
- if (uiPageParams[uiPageCount - 1].cursorCount)
- {
- //设置加减控制
- if (uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting])
- {
- if (direct)
- {
- uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] ++;
- if (uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] >=
- uiPageParams[uiPageCount - 1].itemMaxValueTab[uiPageParams[uiPageCount - 1].cursorCounting])
- {
- uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] = uiPageParams[uiPageCount - 1].itemMinValueTab[uiPageParams[uiPageCount - 1].cursorCounting];
- }
- }
- else
- {
- uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] --;
- if (uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] < uiPageParams[uiPageCount - 1].itemMinValueTab[uiPageParams[uiPageCount - 1].cursorCounting])
- {
- uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting] =
- uiPageParams[uiPageCount - 1].itemMaxValueTab[uiPageParams[uiPageCount - 1].cursorCounting] - 1;
- }
- }
- if (enterCb)
- {
- enterCb(uiPageCount,
- uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting],
- uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting],
- ENTER_CURRENT_PAGE
- );
- }
- }
- else
- {
- //光标移动控制
- if (direct)
- {
- uiPageParams[uiPageCount - 1].cursorCounting --;
- if (uiPageParams[uiPageCount - 1].cursorCounting < 0)
- {
- uiPageParams[uiPageCount - 1].cursorCounting = uiPageParams[uiPageCount - 1].cursorCount - 1;
- }
- }
- else
- {
- uiPageParams[uiPageCount - 1].cursorCounting ++;
- if (uiPageParams[uiPageCount - 1].cursorCounting >= uiPageParams[uiPageCount - 1].cursorCount)
- {
- uiPageParams[uiPageCount - 1].cursorCounting = 0;
- }
- }
- }
-
- uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab);
-
- }
- }
- /***
- * 按下确定键
- * 进入下一个界面或者进入设置状态
- */
- void myDisplay_enter(uint8_t direct)
- {
- if (direct == ENTER_NEXT_PAGE)
- {
- //进入设置状态
- if (uiPageParams[uiPageCount - 1].itemTypeTab[uiPageParams[uiPageCount - 1].cursorCounting] == TYPE_WRITE_TEXT)
- {
- //切换设置状态
- uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting] =
- !uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting];
- uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab);
- if (enterCb)
- {
- enterCb(uiPageParams[uiPageCount - 1].id,
- uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting],
- uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting],
- ENTER_NEXT_PAGE
- );
- }
-
- }
- //切换到下一个界面
- if (uiPageParams[uiPageCount - 1].itemTypeTab[uiPageParams[uiPageCount - 1].cursorCounting] == TYPE_NEXT_LINK)
- {
- uiPageCount = uiPageParams[uiPageCount - 1].nextPageIdTab[uiPageParams[uiPageCount - 1].cursorCounting];
- uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab);
- }
- }
- //切换到上一个界面
- if (direct == ENTER_LAST_PAGE)
- {
- if (uiPageParams[uiPageCount - 1].lastPageIdTab[0])
- {
- memset(uiPageParams[uiPageCount - 1].writeStaTab, 0, sizeof(uiPageParams[uiPageCount - 1].writeStaTab));
- if (enterCb)
- {
- enterCb(uiPageParams[uiPageCount - 1].id,
- uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting],
- uiPageParams[uiPageCount - 1].itemValueTab[uiPageParams[uiPageCount - 1].cursorCounting],
- ENTER_LAST_PAGE
- );
- }
- uiPageCount = uiPageParams[uiPageCount - 1].lastPageIdTab[0];
- uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab);
- }
- }
- }
- int8_t myDisplay_getPageId(void)
- {
- return uiPageIdAddress;
- }
- void uiTimerFlash_callBack(void)
- {
- if (uiPageParams[uiPageCount - 1].writeStaTab[uiPageParams[uiPageCount - 1].cursorCounting])
- {
- uiPageParams[uiPageCount - 1].writeStatusTab[uiPageParams[uiPageCount - 1].cursorCounting] =
- !uiPageParams[uiPageCount - 1].writeStatusTab[uiPageParams[uiPageCount - 1].cursorCounting];
- if (uiPageParams[uiPageCount - 1].writeStatusTab[uiPageParams[uiPageCount - 1].cursorCounting])
- {
- uiPageParams[uiPageCount - 1].uiDriver(uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab);
- }
- else
- {
- uiPageParams[uiPageCount - 1].uiDriver((~0), uiPageParams[uiPageCount - 1].itemValueTab);
- }
- }
- }
- void myDisplay_init(enterCallback cb)
- {
- myLCD_init();
- uiPageParams[UI_PAGE_ID_FIRST_UI].id = UI_PAGE_ID_FIRST_UI + 1;
- uiPageParams[UI_PAGE_ID_FIRST_UI].uiDriver = myDisplay_ui_firstUi;
- uiPageParams[UI_PAGE_ID_FIRST_UI].lastPageIdTab[0] = 0;
- uiPageParams[UI_PAGE_ID_FIRST_UI].nextPageIdTab[0] = 2;
- uiPageParams[UI_PAGE_ID_FIRST_UI].itemTypeTab[0] = TYPE_NEXT_LINK;
- uiPageParams[UI_PAGE_ID_FIRST_UI].writeStaTab[0] = 1;
- uiPageParams[UI_PAGE_ID_FIRST_UI].cursorCounting = 0;
- uiPageParams[UI_PAGE_ID_FIRST_UI].cursorCount = 2;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].id = UI_PAGE_ID_ITEM_MODE + 1;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].uiDriver = myDisplay_ui_selectMode;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].lastPageIdTab[0] = 0;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].nextPageIdTab[0] = UI_PAGE_ID_TX_PACKET + 1;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].itemTypeTab[0] = TYPE_NEXT_LINK;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].nextPageIdTab[1] = UI_PAGE_ID_RX_PACKET + 1;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].itemTypeTab[1] = TYPE_NEXT_LINK;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].nextPageIdTab[2] = UI_PAGE_ID_RF_CONTINUOUS + 1;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].itemTypeTab[2] = TYPE_NEXT_LINK;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].nextPageIdTab[3] = UI_PAGE_ID_SETTING + 1;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].itemTypeTab[3] = TYPE_NEXT_LINK;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].nextPageIdTab[4] = UI_PAGE_ID_DEVICE_INFOR + 1;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].itemTypeTab[4] = TYPE_NEXT_LINK;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].cursorCounting = 0;
- uiPageParams[UI_PAGE_ID_ITEM_MODE].cursorCount = 5;
- uiPageParams[UI_PAGE_ID_TX_PACKET].id = UI_PAGE_ID_TX_PACKET + 1;
- uiPageParams[UI_PAGE_ID_TX_PACKET].uiDriver = myDisplay_ui_rf_tx_packet;
- uiPageParams[UI_PAGE_ID_TX_PACKET].lastPageIdTab[0] = UI_PAGE_ID_ITEM_MODE + 1;
- uiPageParams[UI_PAGE_ID_TX_PACKET].nextPageIdTab[0] = 0;
- uiPageParams[UI_PAGE_ID_TX_PACKET].itemTypeTab[0] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_TX_PACKET].writeStaTab[0] = 0;
- uiPageParams[UI_PAGE_ID_TX_PACKET].cursorCounting = 0;
- uiPageParams[UI_PAGE_ID_TX_PACKET].cursorCount = 0;
- uiPageParams[UI_PAGE_ID_DEVICE_INFOR].id = UI_PAGE_ID_DEVICE_INFOR + 1;
- uiPageParams[UI_PAGE_ID_DEVICE_INFOR].uiDriver = myDisplay_ui_device_infor;
- uiPageParams[UI_PAGE_ID_DEVICE_INFOR].lastPageIdTab[0] = UI_PAGE_ID_ITEM_MODE + 1;
- uiPageParams[UI_PAGE_ID_DEVICE_INFOR].nextPageIdTab[0] = 0;
- uiPageParams[UI_PAGE_ID_DEVICE_INFOR].cursorCount = 0;
- uiPageParams[UI_PAGE_ID_RX_PACKET].id = UI_PAGE_ID_RX_PACKET + 1;
- uiPageParams[UI_PAGE_ID_RX_PACKET].uiDriver = myDisplay_ui_rf_rx_packet;
- uiPageParams[UI_PAGE_ID_RX_PACKET].lastPageIdTab[0] = UI_PAGE_ID_ITEM_MODE + 1;
- uiPageParams[UI_PAGE_ID_RX_PACKET].nextPageIdTab[0] = 0;
- uiPageParams[UI_PAGE_ID_RX_PACKET].itemTypeTab[0] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_RX_PACKET].writeStaTab[0] = 0;
- uiPageParams[UI_PAGE_ID_RX_PACKET].cursorCounting = 0;
- uiPageParams[UI_PAGE_ID_RX_PACKET].cursorCount = 0;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].id = UI_PAGE_ID_RF_CONTINUOUS + 1;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].uiDriver = myDisplay_ui_rf_continuos;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].lastPageIdTab[CNT_ITEM_INDEX_TX] = UI_PAGE_ID_ITEM_MODE + 1;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].itemTypeTab[CNT_ITEM_INDEX_TX] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].writeStaTab[CNT_ITEM_INDEX_TX] = 0;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].itemTypeTab[CNT_ITEM_INDEX_RX] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].writeStaTab[CNT_ITEM_INDEX_RX] = 0;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].itemTypeTab[CNT_ITEM_INDEX_TX_MD] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].writeStaTab[CNT_ITEM_INDEX_TX_MD] = 0;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].cursorCounting = 0;
- uiPageParams[UI_PAGE_ID_RF_CONTINUOUS].cursorCount = CNT_ITEM_INDEX_MAX_COUNT;
- uiPageParams[UI_PAGE_ID_SETTING].id = UI_PAGE_ID_SETTING + 1;
- uiPageParams[UI_PAGE_ID_SETTING].uiDriver = myDisplay_ui_rf_setting;
- uiPageParams[UI_PAGE_ID_SETTING].lastPageIdTab[SET_ITEM_INDEX_TYPE] = UI_PAGE_ID_ITEM_MODE + 1;
- uiPageParams[UI_PAGE_ID_SETTING].itemTypeTab[SET_ITEM_INDEX_TYPE] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[SET_ITEM_INDEX_TYPE] = 4;
- uiPageParams[UI_PAGE_ID_SETTING].itemTypeTab[SET_ITEM_INDEX_FREQ] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[SET_ITEM_INDEX_FREQ] = 32;
- uiPageParams[UI_PAGE_ID_SETTING].itemTypeTab[SET_ITEM_INDEX_STEP] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[SET_ITEM_INDEX_STEP] = 200;
- uiPageParams[UI_PAGE_ID_SETTING].itemTypeTab[SET_ITEM_INDEX_TXPOWER] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_SETTING].itemMinValueTab[SET_ITEM_INDEX_TXPOWER] = -9;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[SET_ITEM_INDEX_TXPOWER] = 20+1;
- uiPageParams[UI_PAGE_ID_SETTING].itemTypeTab[SET_ITEM_INDEX_RFBAUDRATE] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_SETTING].itemMinValueTab[SET_ITEM_INDEX_TXPOWER] = 1;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[SET_ITEM_INDEX_RFBAUDRATE] = 7;
- uiPageParams[UI_PAGE_ID_SETTING].cursorCounting = SET_ITEM_INDEX_TYPE;//默认设置光标在第一个
- uiPageParams[UI_PAGE_ID_SETTING].cursorCount = SET_ITEM_INDEX_MAX_COUNT;
- enterCb = cb;
- uiPageParams[uiPageCount - 1].uiDriver(0, 0);
- }
- void myDisplay_setSettingParamsProfile(uint8_t index, int value, int min, int max)
- {
- uiPageParams[UI_PAGE_ID_SETTING].itemValueTab[index] = value;
- uiPageParams[UI_PAGE_ID_SETTING].itemMinValueTab[index] = min;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[index] = max;
- }
- void myDisplay_setSettingParams(int chipType,
- int rfChannel,
- int channelStep,
- int txPower,
- int rfBaudrate)
- {
- uiPageParams[UI_PAGE_ID_SETTING].itemValueTab[SET_ITEM_INDEX_TYPE] = chipType;
- uiPageParams[UI_PAGE_ID_SETTING].itemValueTab[SET_ITEM_INDEX_FREQ] = rfChannel;
- uiPageParams[UI_PAGE_ID_SETTING].itemValueTab[SET_ITEM_INDEX_STEP] = channelStep;
- uiPageParams[UI_PAGE_ID_SETTING].itemValueTab[SET_ITEM_INDEX_TXPOWER] = txPower;
- uiPageParams[UI_PAGE_ID_SETTING].itemValueTab[SET_ITEM_INDEX_RFBAUDRATE] = rfBaudrate;
- }
|