123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884 |
- #include "myDisplayUnit.h"
- #include "myLcd.h"
- #include <stdlib.h>
- #include <stdio.h>
- #include <stdbool.h>
- #include <stdarg.h>
- #include <string.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;
- uint64_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(uint64_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_setRfparams(uint8_t sf, char *bw, uint8_t cr)
- {
- myLCD_str8x16(IM_NOMALE, 95, 4, "s%u %s c%u", sf, bw, cr);
- }
- void myDisplay_ui_firstUi_setRfRgm(char *mode)
- {
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 5, "%s", mode);
- }
- void myDisplay_ui_firstUi(bool flashFlag, int agr0, void *agr1_ptr, void *agr2_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&& flashFlag ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 5, "ENTER");
- }
- uiPageIdAddress = UI_PAGE_ID_FIRST_UI;
- }
- void myDisplay_ui_selectMode(bool flashFlag, int agr0, void *agr1_ptr, void *agr2_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&& flashFlag ? IM_INVERSE : IM_NOMALE,
- 10, 1, "Enter RF Transmiter");
- myLCD_str8x16(agr0 == 1&& flashFlag ? IM_INVERSE : IM_NOMALE,
- 10, 2, "Enter RF Receiver");
- myLCD_str8x16(agr0 == 2&& flashFlag ? IM_INVERSE : IM_NOMALE,
- 10, 3, "Enter RF Continuous");
- myLCD_str8x16(agr0 == 3&& flashFlag ? IM_INVERSE : IM_NOMALE,
- 10, 4, "Enter RF Setting");
- myLCD_str8x16(agr0 == 4&& flashFlag ? 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(bool flashFlag, int agr0, void *agr1_ptr, void *agr2_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&& flashFlag ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 4, "START");
- myLCD_str8x16(agr0 == 1&& flashFlag ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 5, "TXWA");
- myLCD_str8x16(agr0 == 2&& flashFlag ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 6, "TXCC");
- }
- }
- 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 count)
- {
- if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_RIGHT, 2, "%5d",count);
- }
- }
- void myDisplay_ui_rf_tx_packet_rate(float rate)
- {
- if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_CENTER, 2, "%5.1f%%",(float)rate);
- }
- }
- 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, int8_t snr)
- {
- if (uiPageIdAddress == UI_PAGE_ID_TX_PACKET)
- {
- if (rssi > -150 && (rssi < 10))
- {
- myLCD_str8x16(IM_NOMALE, HORIZONTAL_RIGHT, 3, "%4ddBm %2d", rssi%10000, snr);
- }
- }
- }
- void myDisplay_ui_rf_setting_freq(uint64_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;
- }
- char settingDisplayBuffer[SET_ITEM_INDEX_MAX_COUNT][20] =
- {
- "Type:%s",
- "Chl:%s",
- "Step:%s",
- "TxPower:%s",
- "RfBr:%s",
- "PkLen:%s",
- };
- // char settingDisplayBuffer[SET_ITEM_INDEX_MAX_COUNT][20] =
- // {
- // "Type:%s",
- // "Chl:%02d->%6.2fMHz",
- // "Step:%4.2fMHz",
- // "TxPower:%04ddBm",
- // "RfBr:%7.3fkbps",
- // "SF:%d",
- // "BW:%d",
- // "CR:%d",
- // "PkLen:%3d",
- // };
- char settingCuDisplayBuffer[5][20] = {0};
- void myDisplay_setting_loadParams(int index, const char *fmt, ...)
- {
- va_list va;
- va_start(va, fmt);
- vsnprintf(uiPageParams[UI_PAGE_ID_SETTING].itemStringTab[index], (int)sizeof(uiPageParams[UI_PAGE_ID_SETTING].itemStringTab[index]), fmt, va);
- va_end(va);
- }
- void myDisplay_ui_rf_setting(bool flashFlag, int agr0, void *agr1_ptr, void *agr2_ptr)
- {
- int i;
- int index = agr0;
- static int oldIndex = 255;
- 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, settingDisplayBuffer[0]);
- myLCD_str8x16(IM_NOMALE, 10, 3, settingDisplayBuffer[1]);
- myLCD_str8x16(IM_NOMALE, 10, 4, settingDisplayBuffer[2]);
- myLCD_str8x16(IM_NOMALE, 10, 5, settingDisplayBuffer[3]);
- myLCD_str8x16(IM_NOMALE, 10, 6, settingDisplayBuffer[4]);
- }
- uiPageIdAddress = UI_PAGE_ID_SETTING;
- if (uiPageIdAddress == UI_PAGE_ID_SETTING)
- {
- int indexCount = 0;
- //max rows is 5
- if (index >= 5)
- {
- indexCount = index - 4;
- index = 4;
- }
- for (int i = 0; i < 5; i++)
- {
- for (int j = 0; j < SET_ITEM_INDEX_MAX_COUNT; j++)
- {
- if (indexCount == j)
- snprintf(settingCuDisplayBuffer[i], 20, settingDisplayBuffer[indexCount], uiPageParams[UI_PAGE_ID_SETTING].itemStringTab[j]);
- }
- indexCount ++;
- }
-
- if (oldIndex != agr0)
- {
- myLCD_str8x16(IM_NOMALE, 10, 2, " ");
- myLCD_str8x16(IM_NOMALE, 10, 3, " ");
- myLCD_str8x16(IM_NOMALE, 10, 4, " ");
- myLCD_str8x16(IM_NOMALE, 10, 5, " ");
- myLCD_str8x16(IM_NOMALE, 10, 6, " ");
- myLCD_str8x16(index == 0&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 2, settingCuDisplayBuffer[0]);
- myLCD_str8x16(index == 1&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 3, settingCuDisplayBuffer[1]);
- myLCD_str8x16(index == 2&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 4, settingCuDisplayBuffer[2]);
- myLCD_str8x16(index == 3&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 5, settingCuDisplayBuffer[3]);
- myLCD_str8x16(index == 4&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 6, settingCuDisplayBuffer[4]);
- }
- else
- {
- switch (index)
- {
- case 0:
- myLCD_str8x16(index == 0&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 2, settingCuDisplayBuffer[0]);
- break;
- case 1:
- myLCD_str8x16(index == 1&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 3, settingCuDisplayBuffer[1]);
- break;
- case 2:
- myLCD_str8x16(index == 2&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 4, settingCuDisplayBuffer[2]);
- break;
- case 3:
- myLCD_str8x16(index == 3&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 5, settingCuDisplayBuffer[3]);
- break;
- case 4:
- myLCD_str8x16(index == 4&& flashFlag ? IM_INVERSE : IM_NOMALE, 10, 6, settingCuDisplayBuffer[4]);
- break;
-
- default:
- break;
- }
- }
- oldIndex = agr0;
- }
- }
- uint8_t ver_buffer;
- char *mod_buffer;
- void myDisplay_ui_device_infor(bool flashFlag, int agr0, void *agr1_ptr, void *agr2_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, "TP: %s", mod_buffer);
- myLCD_str8x16(IM_NOMALE,
- 10, 3, "VER: V%02x", ver_buffer);
- myLCD_str8x16(IM_NOMALE, 10, 4, "MD: VOLLGO");
- }
- uiPageIdAddress = UI_PAGE_ID_DEVICE_INFOR;
- }
- void myDisplay_ui_deviceInfor_setVer(uint8_t ver)
- {
- ver_buffer = ver;
- }
- void myDisplay_ui_deviceInfor_setModule(char *moduleName)
- {
- mod_buffer = moduleName;
- }
- 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(bool flashFlag, int agr0, void *agr1_ptr, void *agr2_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&& flashFlag ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_CENTER, 2, "TX");
- myLCD_str8x16(agr0 == CNT_ITEM_INDEX_RX&& flashFlag ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_CENTER, 3, "RX");
- myLCD_str8x16(agr0 == CNT_ITEM_INDEX_TX_MD&& flashFlag ? 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, 5, "rate=%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=%d", count);
- }
- }
- void myDisplay_ui_rf_rx_packet(bool flashFlag, int agr0, void *agr1_ptr, void *agr2_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&& flashFlag ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 5, "START");
- myLCD_str8x16(agr0 == 1&& flashFlag ? IM_INVERSE : IM_NOMALE,
- HORIZONTAL_RIGHT, 6, "RXAA");
- }
- }
- 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, int8_t snr)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- if (rssi > -150 && (rssi < 10))
- {
- myLCD_str8x16(IM_NOMALE,
- HORIZONTAL_RIGHT, 2, "%4ddBm %3d", rssi%10000, snr);
- }
- }
- }
- 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)
- {
- if (uiPageIdAddress == UI_PAGE_ID_RX_PACKET)
- {
- myLCD_str8x16(IM_NOMALE,
- HORIZONTAL_RIGHT, 3, "%05.1f%%", rate);
- }
- }
- 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)
- {
- uiPageUnit_ts *page = &uiPageParams[uiPageCount - 1];
- if (page->cursorCount)
- {
- //设置加减控制
- if (page->writeStaTab[page->cursorCounting])
- {
- if (direct)
- {
- page->itemValueTab[page->cursorCounting] += page->itemStepValueTab[page->cursorCounting];
- if (page->itemValueTab[page->cursorCounting] >=
- page->itemMaxValueTab[page->cursorCounting])
- {
- page->itemValueTab[page->cursorCounting] = page->itemMinValueTab[page->cursorCounting];
- }
- }
- else
- {
- page->itemValueTab[page->cursorCounting] -= page->itemStepValueTab[page->cursorCounting];
- if (page->itemValueTab[page->cursorCounting] < page->itemMinValueTab[page->cursorCounting])
- {
- page->itemValueTab[page->cursorCounting] =
- page->itemMaxValueTab[page->cursorCounting] - 1;
- }
- }
- if (enterCb)
- {
- enterCb(uiPageCount,
- page->cursorCounting,
- page->writeStaTab[page->cursorCounting],
- page->itemValueTab[page->cursorCounting],
- page->itemStringTab[page->cursorCounting]
- );
- }
- }
- else
- {
- //光标移动控制
- if (direct)
- {
- page->cursorCounting --;
- if (page->cursorCounting < 0)
- {
- page->cursorCounting = page->cursorCount - 1;
- }
- }
- else
- {
- page->cursorCounting ++;
- if (page->cursorCounting >= page->cursorCount)
- {
- page->cursorCounting = 0;
- }
- }
- }
-
- page->uiDriver(true, page->cursorCounting,
- page->itemValueTab, page->itemStringTab[page->cursorCounting]);
-
- }
- }
- /***
- * 按下确定键
- * 进入下一个界面或者进入设置状态
- */
- 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(true, uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab, uiPageParams[uiPageCount - 1].itemStringTab[uiPageParams[uiPageCount - 1].cursorCounting]);
- 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],
- uiPageParams[uiPageCount - 1].itemStringTab[uiPageParams[uiPageCount - 1].cursorCounting]
- );
- }
-
- }
- //切换到下一个界面
- 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(true, uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab, uiPageParams[uiPageCount - 1].itemStringTab[uiPageParams[uiPageCount - 1].cursorCounting]);
- }
- }
- //切换到上一个界面
- 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],
- uiPageParams[uiPageCount - 1].itemStringTab[uiPageParams[uiPageCount - 1].cursorCounting]
- );
- }
- uiPageCount = uiPageParams[uiPageCount - 1].lastPageIdTab[0];
- uiPageParams[uiPageCount - 1].uiDriver(true, uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab, uiPageParams[uiPageCount - 1].itemStringTab[uiPageParams[uiPageCount - 1].cursorCounting]);
- }
- }
- }
- 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(true, uiPageParams[uiPageCount - 1].cursorCounting,
- uiPageParams[uiPageCount - 1].itemValueTab, uiPageParams[uiPageCount - 1].itemStringTab[uiPageParams[uiPageCount - 1].cursorCounting]);
- }
- else
- {
- uiPageParams[uiPageCount - 1].uiDriver(false, uiPageParams[uiPageCount - 1].cursorCounting, uiPageParams[uiPageCount - 1].itemValueTab, uiPageParams[uiPageCount - 1].itemStringTab[uiPageParams[uiPageCount - 1].cursorCounting]);
- }
- }
- }
- 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].itemTypeTab[1] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_TX_PACKET].writeStaTab[1] = 0;
- uiPageParams[UI_PAGE_ID_TX_PACKET].itemTypeTab[2] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_TX_PACKET].writeStaTab[2] = 0;
- uiPageParams[UI_PAGE_ID_TX_PACKET].cursorCounting = 0;
- uiPageParams[UI_PAGE_ID_TX_PACKET].cursorCount = 3;
- 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].itemTypeTab[1] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_RX_PACKET].writeStaTab[1] = 0;
- uiPageParams[UI_PAGE_ID_RX_PACKET].cursorCounting = 0;
- uiPageParams[UI_PAGE_ID_RX_PACKET].cursorCount = 2;
- 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].itemStepValueTab[SET_ITEM_INDEX_TYPE] = 1;
- 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].itemStepValueTab[SET_ITEM_INDEX_FREQ] = 1;
- 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].itemStepValueTab[SET_ITEM_INDEX_STEP] = 1;
- 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].itemStepValueTab[SET_ITEM_INDEX_TXPOWER] = 1;
- uiPageParams[UI_PAGE_ID_SETTING].itemTypeTab[SET_ITEM_INDEX_RFBAUDRATE] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_SETTING].itemMinValueTab[SET_ITEM_INDEX_RFBAUDRATE] = 1;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[SET_ITEM_INDEX_RFBAUDRATE] = 7;
- uiPageParams[UI_PAGE_ID_SETTING].itemStepValueTab[SET_ITEM_INDEX_RFBAUDRATE] = 1;
- uiPageParams[UI_PAGE_ID_SETTING].itemTypeTab[SET_ITEM_INDEX_PACKET_LEN] = TYPE_WRITE_TEXT;
- uiPageParams[UI_PAGE_ID_SETTING].itemMinValueTab[SET_ITEM_INDEX_PACKET_LEN] = 1;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[SET_ITEM_INDEX_PACKET_LEN] = 256;
- uiPageParams[UI_PAGE_ID_SETTING].itemStepValueTab[SET_ITEM_INDEX_PACKET_LEN] = 5;
- 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(true, 0, 0, 0);
- }
- void myDisplay_setSettingParamsProfile(uint8_t index, int value, int min, int max, int step)
- {
- uiPageParams[UI_PAGE_ID_SETTING].itemValueTab[index] = value;
- uiPageParams[UI_PAGE_ID_SETTING].itemMinValueTab[index] = min;
- uiPageParams[UI_PAGE_ID_SETTING].itemMaxValueTab[index] = max + 1;
- uiPageParams[UI_PAGE_ID_SETTING].itemStepValueTab[index] = step;
- }
|