Text menu driven ANSI/VT100 console test utility for LoRa transceivers

radio chip selection

Radio chip driver is not included, allowing choice of radio device.
If you're using SX1272 or SX1276, then import sx127x driver into your program.
if you're using SX1261 or SX1262, then import sx126x driver into your program.
if you're using SX1280, then import sx1280 driver into your program.
if you're using LR1110, then import LR1110 driver into your program.
If you're using NAmote72 or Murata discovery, then you must import only sx127x driver.
If you're using Type1SJ select target DISCO_L072CZ_LRWAN1 and import sx126x driver into your program.

This is VT100 text-based menu driven test program for SX12xx transceiver devices.
Serial console is divided into horizontally into top half and bottom half.
The bottom half serves as scrolling area to log activity.
The top half serves as menu, to configure the radio.
For all devices, the serial console operates at 115200 8N1, and requires terminal with ANSI-VT100 capability, such as putty/teraterm/minicom etc.
Use program only with keyboard up/down/left/right keys. Enter to change an item, or number for value item. Some items are single bit, requiring only enter key to toggle. Others with fixed choices give a drop-down menu.

Committer:
dudmuck
Date:
Thu Sep 16 21:57:23 2021 +0000
Revision:
14:14b9e1c08bfc
Parent:
10:db4e11a55bda
BufferedSerial flush printf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wayne Roberts 9:295e37c38fb3 1 static char chip_ver[];
Wayne Roberts 9:295e37c38fb3 2 static void initRfSwDIO(void);
Wayne Roberts 9:295e37c38fb3 3 static const button_item_t dbg_item;
Wayne Roberts 9:295e37c38fb3 4 static void dbg_push(void);
Wayne Roberts 9:295e37c38fb3 5
Wayne Roberts 9:295e37c38fb3 6 #define NB_RXBW 21
Wayne Roberts 9:295e37c38fb3 7 static rxbw_t rxbws[NB_RXBW];
Wayne Roberts 9:295e37c38fb3 8 static unsigned my_round(float);
Wayne Roberts 9:295e37c38fb3 9 static uint8_t pktType;
Wayne Roberts 9:295e37c38fb3 10
Wayne Roberts 9:295e37c38fb3 11 static const menu_t gfsk_menu[];
Wayne Roberts 9:295e37c38fb3 12 static const menu_t none_menu[];
Wayne Roberts 9:295e37c38fb3 13
Wayne Roberts 9:295e37c38fb3 14 static void rxDone(uint8_t size, float rssi, float snr);
Wayne Roberts 9:295e37c38fb3 15
Wayne Roberts 9:295e37c38fb3 16 static unsigned recalCnt;
Wayne Roberts 9:295e37c38fb3 17 /****************** common: **********************/
Wayne Roberts 9:295e37c38fb3 18
Wayne Roberts 9:295e37c38fb3 19 static bool PaSel_read(void);
Wayne Roberts 9:295e37c38fb3 20 static bool PaSel_push(void);
Wayne Roberts 9:295e37c38fb3 21 static const toggle_item_t PaSel_item;
Wayne Roberts 9:295e37c38fb3 22
Wayne Roberts 9:295e37c38fb3 23 static bool RegPASupply_read(void);
Wayne Roberts 9:295e37c38fb3 24 static bool RegPASupply_push(void);
Wayne Roberts 9:295e37c38fb3 25 static const toggle_item_t RegPASupply_item;
Wayne Roberts 9:295e37c38fb3 26
Wayne Roberts 9:295e37c38fb3 27 static void PaDutyCycle_print(void);
Wayne Roberts 9:295e37c38fb3 28 static bool PaDutyCycle_write(const char*);
Wayne Roberts 9:295e37c38fb3 29 static const value_item_t PaDutyCycle_item;
Wayne Roberts 9:295e37c38fb3 30
Wayne Roberts 9:295e37c38fb3 31 static void PaHPSel_print(void);
Wayne Roberts 9:295e37c38fb3 32 static bool PaHPSel_write(const char*);
Wayne Roberts 9:295e37c38fb3 33 static const value_item_t PaHPSel_item;
Wayne Roberts 9:295e37c38fb3 34
Wayne Roberts 9:295e37c38fb3 35 static void txTimeout_print(void);
Wayne Roberts 9:295e37c38fb3 36 static bool txTimeout_write(const char*);
Wayne Roberts 9:295e37c38fb3 37 static const value_item_t txTimeout_item;
Wayne Roberts 9:295e37c38fb3 38
Wayne Roberts 9:295e37c38fb3 39 /******************* none: ***********************/
Wayne Roberts 9:295e37c38fb3 40 static bool DIO10en_read(void);
Wayne Roberts 9:295e37c38fb3 41 static bool DIO10en_push(void);
Wayne Roberts 9:295e37c38fb3 42 static const toggle_item_t DIO10en_item;
Wayne Roberts 9:295e37c38fb3 43
Wayne Roberts 9:295e37c38fb3 44 static bool DIO8en_read(void);
Wayne Roberts 9:295e37c38fb3 45 static bool DIO8en_push(void);
Wayne Roberts 9:295e37c38fb3 46 static const toggle_item_t DIO8en_item;
Wayne Roberts 9:295e37c38fb3 47
Wayne Roberts 9:295e37c38fb3 48 static bool DIO7en_read(void);
Wayne Roberts 9:295e37c38fb3 49 static bool DIO7en_push(void);
Wayne Roberts 9:295e37c38fb3 50 static const toggle_item_t DIO7en_item;
Wayne Roberts 9:295e37c38fb3 51
Wayne Roberts 9:295e37c38fb3 52 static bool DIO6en_read(void);
Wayne Roberts 9:295e37c38fb3 53 static bool DIO6en_push(void);
Wayne Roberts 9:295e37c38fb3 54 static const toggle_item_t DIO6en_item;
Wayne Roberts 9:295e37c38fb3 55
Wayne Roberts 9:295e37c38fb3 56 static bool DIO5en_read(void);
Wayne Roberts 9:295e37c38fb3 57 static bool DIO5en_push(void);
Wayne Roberts 9:295e37c38fb3 58 static const toggle_item_t DIO5en_item;
Wayne Roberts 9:295e37c38fb3 59
Wayne Roberts 9:295e37c38fb3 60 static bool DIO5stby_read(void);
Wayne Roberts 9:295e37c38fb3 61 static bool DIO5stby_push(void);
Wayne Roberts 9:295e37c38fb3 62 static const toggle_item_t DIO5stby_item;
Wayne Roberts 9:295e37c38fb3 63
Wayne Roberts 9:295e37c38fb3 64 static bool DIO6stby_read(void);
Wayne Roberts 9:295e37c38fb3 65 static bool DIO6stby_push(void);
Wayne Roberts 9:295e37c38fb3 66 static const toggle_item_t DIO6stby_item;
Wayne Roberts 9:295e37c38fb3 67
Wayne Roberts 9:295e37c38fb3 68 static bool DIO7stby_read(void);
Wayne Roberts 9:295e37c38fb3 69 static bool DIO7stby_push(void);
Wayne Roberts 9:295e37c38fb3 70 static const toggle_item_t DIO7stby_item;
Wayne Roberts 9:295e37c38fb3 71
Wayne Roberts 9:295e37c38fb3 72 static bool DIO8stby_read(void);
Wayne Roberts 9:295e37c38fb3 73 static bool DIO8stby_push(void);
Wayne Roberts 9:295e37c38fb3 74 static const toggle_item_t DIO8stby_item;
Wayne Roberts 9:295e37c38fb3 75
Wayne Roberts 9:295e37c38fb3 76 static bool DIO10stby_read(void);
Wayne Roberts 9:295e37c38fb3 77 static bool DIO10stby_push(void);
Wayne Roberts 9:295e37c38fb3 78 static const toggle_item_t DIO10stby_item;
Wayne Roberts 9:295e37c38fb3 79
Wayne Roberts 9:295e37c38fb3 80 static bool DIO5rx_read(void);
Wayne Roberts 9:295e37c38fb3 81 static bool DIO5rx_push(void);
Wayne Roberts 9:295e37c38fb3 82 static const toggle_item_t DIO5rx_item;
Wayne Roberts 9:295e37c38fb3 83
Wayne Roberts 9:295e37c38fb3 84 static bool DIO6rx_read(void);
Wayne Roberts 9:295e37c38fb3 85 static bool DIO6rx_push(void);
Wayne Roberts 9:295e37c38fb3 86 static const toggle_item_t DIO6rx_item;
Wayne Roberts 9:295e37c38fb3 87
Wayne Roberts 9:295e37c38fb3 88 static bool DIO7rx_read(void);
Wayne Roberts 9:295e37c38fb3 89 static bool DIO7rx_push(void);
Wayne Roberts 9:295e37c38fb3 90 static const toggle_item_t DIO7rx_item;
Wayne Roberts 9:295e37c38fb3 91
Wayne Roberts 9:295e37c38fb3 92 static bool DIO8rx_read(void);
Wayne Roberts 9:295e37c38fb3 93 static bool DIO8rx_push(void);
Wayne Roberts 9:295e37c38fb3 94 static const toggle_item_t DIO8rx_item;
Wayne Roberts 9:295e37c38fb3 95
Wayne Roberts 9:295e37c38fb3 96 static bool DIO10rx_read(void);
Wayne Roberts 9:295e37c38fb3 97 static bool DIO10rx_push(void);
Wayne Roberts 9:295e37c38fb3 98 static const toggle_item_t DIO10rx_item;
Wayne Roberts 9:295e37c38fb3 99
Wayne Roberts 9:295e37c38fb3 100 static bool DIO5tx_read(void);
Wayne Roberts 9:295e37c38fb3 101 static bool DIO5tx_push(void);
Wayne Roberts 9:295e37c38fb3 102 static const toggle_item_t DIO5tx_item;
Wayne Roberts 9:295e37c38fb3 103
Wayne Roberts 9:295e37c38fb3 104 static bool DIO6tx_read(void);
Wayne Roberts 9:295e37c38fb3 105 static bool DIO6tx_push(void);
Wayne Roberts 9:295e37c38fb3 106 static const toggle_item_t DIO6tx_item;
Wayne Roberts 9:295e37c38fb3 107
Wayne Roberts 9:295e37c38fb3 108 static bool DIO7tx_read(void);
Wayne Roberts 9:295e37c38fb3 109 static bool DIO7tx_push(void);
Wayne Roberts 9:295e37c38fb3 110 static const toggle_item_t DIO7tx_item;
Wayne Roberts 9:295e37c38fb3 111
Wayne Roberts 9:295e37c38fb3 112 static bool DIO8tx_read(void);
Wayne Roberts 9:295e37c38fb3 113 static bool DIO8tx_push(void);
Wayne Roberts 9:295e37c38fb3 114 static const toggle_item_t DIO8tx_item;
Wayne Roberts 9:295e37c38fb3 115
Wayne Roberts 9:295e37c38fb3 116 static bool DIO10tx_read(void);
Wayne Roberts 9:295e37c38fb3 117 static bool DIO10tx_push(void);
Wayne Roberts 9:295e37c38fb3 118 static const toggle_item_t DIO10tx_item;
Wayne Roberts 9:295e37c38fb3 119
Wayne Roberts 9:295e37c38fb3 120 static bool DIO5txhp_read(void);
Wayne Roberts 9:295e37c38fb3 121 static bool DIO5txhp_push(void);
Wayne Roberts 9:295e37c38fb3 122 static const toggle_item_t DIO5txhp_item;
Wayne Roberts 9:295e37c38fb3 123
Wayne Roberts 9:295e37c38fb3 124 static bool DIO6txhp_read(void);
Wayne Roberts 9:295e37c38fb3 125 static bool DIO6txhp_push(void);
Wayne Roberts 9:295e37c38fb3 126 static const toggle_item_t DIO6txhp_item;
Wayne Roberts 9:295e37c38fb3 127
Wayne Roberts 9:295e37c38fb3 128 static bool DIO7txhp_read(void);
Wayne Roberts 9:295e37c38fb3 129 static bool DIO7txhp_push(void);
Wayne Roberts 9:295e37c38fb3 130 static const toggle_item_t DIO7txhp_item;
Wayne Roberts 9:295e37c38fb3 131
Wayne Roberts 9:295e37c38fb3 132 static bool DIO8txhp_read(void);
Wayne Roberts 9:295e37c38fb3 133 static bool DIO8txhp_push(void);
Wayne Roberts 9:295e37c38fb3 134 static const toggle_item_t DIO8txhp_item;
Wayne Roberts 9:295e37c38fb3 135
Wayne Roberts 9:295e37c38fb3 136 static bool DIO10txhp_read(void);
Wayne Roberts 9:295e37c38fb3 137 static bool DIO10txhp_push(void);
Wayne Roberts 9:295e37c38fb3 138 static const toggle_item_t DIO10txhp_item;
Wayne Roberts 9:295e37c38fb3 139
Wayne Roberts 9:295e37c38fb3 140 static bool DIO5gnss_read(void);
Wayne Roberts 9:295e37c38fb3 141 static bool DIO5gnss_push(void);
Wayne Roberts 9:295e37c38fb3 142 static const toggle_item_t DIO5gnss_item;
Wayne Roberts 9:295e37c38fb3 143
Wayne Roberts 9:295e37c38fb3 144 static bool DIO6gnss_read(void);
Wayne Roberts 9:295e37c38fb3 145 static bool DIO6gnss_push(void);
Wayne Roberts 9:295e37c38fb3 146 static const toggle_item_t DIO6gnss_item;
Wayne Roberts 9:295e37c38fb3 147
Wayne Roberts 9:295e37c38fb3 148 static bool DIO7gnss_read(void);
Wayne Roberts 9:295e37c38fb3 149 static bool DIO7gnss_push(void);
Wayne Roberts 9:295e37c38fb3 150 static const toggle_item_t DIO7gnss_item;
Wayne Roberts 9:295e37c38fb3 151
Wayne Roberts 9:295e37c38fb3 152 static bool DIO8gnss_read(void);
Wayne Roberts 9:295e37c38fb3 153 static bool DIO8gnss_push(void);
Wayne Roberts 9:295e37c38fb3 154 static const toggle_item_t DIO8gnss_item;
Wayne Roberts 9:295e37c38fb3 155
Wayne Roberts 9:295e37c38fb3 156 static bool DIO10gnss_read(void);
Wayne Roberts 9:295e37c38fb3 157 static bool DIO10gnss_push(void);
Wayne Roberts 9:295e37c38fb3 158 static const toggle_item_t DIO10gnss_item;
Wayne Roberts 9:295e37c38fb3 159
Wayne Roberts 9:295e37c38fb3 160 static bool DIO5wifi_read(void);
Wayne Roberts 9:295e37c38fb3 161 static bool DIO5wifi_push(void);
Wayne Roberts 9:295e37c38fb3 162 static const toggle_item_t DIO5wifi_item;
Wayne Roberts 9:295e37c38fb3 163
Wayne Roberts 9:295e37c38fb3 164 static bool DIO6wifi_read(void);
Wayne Roberts 9:295e37c38fb3 165 static bool DIO6wifi_push(void);
Wayne Roberts 9:295e37c38fb3 166 static const toggle_item_t DIO6wifi_item;
Wayne Roberts 9:295e37c38fb3 167
Wayne Roberts 9:295e37c38fb3 168 static bool DIO7wifi_read(void);
Wayne Roberts 9:295e37c38fb3 169 static bool DIO7wifi_push(void);
Wayne Roberts 9:295e37c38fb3 170 static const toggle_item_t DIO7wifi_item;
Wayne Roberts 9:295e37c38fb3 171
Wayne Roberts 9:295e37c38fb3 172 static bool DIO8wifi_read(void);
Wayne Roberts 9:295e37c38fb3 173 static bool DIO8wifi_push(void);
Wayne Roberts 9:295e37c38fb3 174 static const toggle_item_t DIO8wifi_item;
Wayne Roberts 9:295e37c38fb3 175
Wayne Roberts 9:295e37c38fb3 176 static bool DIO10wifi_read(void);
Wayne Roberts 9:295e37c38fb3 177 static bool DIO10wifi_push(void);
Wayne Roberts 9:295e37c38fb3 178 static const toggle_item_t DIO10wifi_item;
Wayne Roberts 9:295e37c38fb3 179
Wayne Roberts 9:295e37c38fb3 180 /******************* wifi: ***********************/
Wayne Roberts 9:295e37c38fb3 181
Wayne Roberts 9:295e37c38fb3 182 static void wifiScan_push(void);
Wayne Roberts 9:295e37c38fb3 183 static const button_item_t wifiScan_item;
Wayne Roberts 9:295e37c38fb3 184
Wayne Roberts 9:295e37c38fb3 185 /******************* gnss: ***********************/
Wayne Roberts 10:db4e11a55bda 186
Wayne Roberts 9:295e37c38fb3 187 static void gnssAutonomous_push(void);
Wayne Roberts 9:295e37c38fb3 188 static const button_item_t gnssAutonomous_item;
Wayne Roberts 9:295e37c38fb3 189
Wayne Roberts 9:295e37c38fb3 190 static void gnssAssisted_push(void);
Wayne Roberts 9:295e37c38fb3 191 static const button_item_t gnssAssisted_item;
Wayne Roberts 9:295e37c38fb3 192
Wayne Roberts 9:295e37c38fb3 193 /******************* lora: ************************/
Wayne Roberts 9:295e37c38fb3 194
Wayne Roberts 9:295e37c38fb3 195 static unsigned lora_bw_read(bool);
Wayne Roberts 9:295e37c38fb3 196 static menuMode_e lora_bw_write(unsigned sidx);
Wayne Roberts 9:295e37c38fb3 197 static const dropdown_item_t lora_bw_item;
Wayne Roberts 9:295e37c38fb3 198
Wayne Roberts 9:295e37c38fb3 199 static void lora_sf_print(void);
Wayne Roberts 9:295e37c38fb3 200 static bool lora_sf_write(const char*);
Wayne Roberts 9:295e37c38fb3 201 static const value_item_t lora_sf_item;
Wayne Roberts 9:295e37c38fb3 202
Wayne Roberts 9:295e37c38fb3 203 static unsigned lora_cr_read(bool);
Wayne Roberts 9:295e37c38fb3 204 static menuMode_e lora_cr_write(unsigned sidx);
Wayne Roberts 9:295e37c38fb3 205 static const dropdown_item_t lora_cr_item;
Wayne Roberts 9:295e37c38fb3 206
Wayne Roberts 9:295e37c38fb3 207 static bool ppmOffset_read(void);
Wayne Roberts 9:295e37c38fb3 208 static bool ppmOffset_push(void);
Wayne Roberts 9:295e37c38fb3 209 static const toggle_item_t lora_ppmOffset_item;
Wayne Roberts 9:295e37c38fb3 210
Wayne Roberts 9:295e37c38fb3 211 static void lora_pblLen_print(void);
Wayne Roberts 9:295e37c38fb3 212 static bool lora_pblLen_write(const char*);
Wayne Roberts 9:295e37c38fb3 213 static const value_item_t lora_pblLen_item;
Wayne Roberts 9:295e37c38fb3 214
Wayne Roberts 9:295e37c38fb3 215 static bool lora_headerType_read(void);
Wayne Roberts 9:295e37c38fb3 216 static bool lora_headerType_push(void);
Wayne Roberts 9:295e37c38fb3 217 static const toggle_item_t lora_headerType_item;
Wayne Roberts 9:295e37c38fb3 218
Wayne Roberts 9:295e37c38fb3 219 static bool lora_crcon_read(void);
Wayne Roberts 9:295e37c38fb3 220 static bool lora_crcon_push(void);
Wayne Roberts 9:295e37c38fb3 221 static const toggle_item_t lora_crcon_item;
Wayne Roberts 9:295e37c38fb3 222
Wayne Roberts 9:295e37c38fb3 223 static bool lora_inviq_read(void);
Wayne Roberts 9:295e37c38fb3 224 static bool lora_inviq_push(void);
Wayne Roberts 9:295e37c38fb3 225 static const toggle_item_t lora_inviq_item;
Wayne Roberts 9:295e37c38fb3 226
Wayne Roberts 9:295e37c38fb3 227 static bool lora_sync_read(void);
Wayne Roberts 9:295e37c38fb3 228 static bool lora_sync_push(void);
Wayne Roberts 9:295e37c38fb3 229 static const toggle_item_t lora_sync_item;
Wayne Roberts 9:295e37c38fb3 230
Wayne Roberts 9:295e37c38fb3 231 /******************* gfsk: ***********************/
Wayne Roberts 9:295e37c38fb3 232
Wayne Roberts 9:295e37c38fb3 233 static void gfsk_bitrate_print(void);
Wayne Roberts 9:295e37c38fb3 234 static bool gfsk_bitrate_write(const char*);
Wayne Roberts 9:295e37c38fb3 235 static const value_item_t gfsk_bitrate_item;
Wayne Roberts 9:295e37c38fb3 236
Wayne Roberts 9:295e37c38fb3 237 static unsigned gfsk_bt_read(bool);
Wayne Roberts 9:295e37c38fb3 238 static menuMode_e gfsk_bt_write(unsigned sidx);
Wayne Roberts 9:295e37c38fb3 239 static const dropdown_item_t gfsk_bt_item;
Wayne Roberts 9:295e37c38fb3 240
Wayne Roberts 9:295e37c38fb3 241 static void gfsk_rxbw_print(void);
Wayne Roberts 9:295e37c38fb3 242 static bool gfsk_rxbw_write(const char*);
Wayne Roberts 9:295e37c38fb3 243 static const value_item_t gfsk_rxbw_item;
Wayne Roberts 9:295e37c38fb3 244
Wayne Roberts 9:295e37c38fb3 245 static void gfsk_fdev_print(void);
Wayne Roberts 9:295e37c38fb3 246 static bool gfsk_fdev_write(const char*);
Wayne Roberts 9:295e37c38fb3 247 static const value_item_t gfsk_fdev_item;
Wayne Roberts 9:295e37c38fb3 248
Wayne Roberts 9:295e37c38fb3 249 static bool gfsk_fixLen_read(void);
Wayne Roberts 9:295e37c38fb3 250 static bool gfsk_fixLen_push(void);
Wayne Roberts 9:295e37c38fb3 251 static const toggle_item_t gfsk_fixLen_item;
Wayne Roberts 9:295e37c38fb3 252
Wayne Roberts 9:295e37c38fb3 253 static void gfsk_pblLen_print(void);
Wayne Roberts 9:295e37c38fb3 254 static bool gfsk_pblLen_write(const char*);
Wayne Roberts 9:295e37c38fb3 255 static const value_item_t gfsk_pblLen_item;
Wayne Roberts 9:295e37c38fb3 256
Wayne Roberts 9:295e37c38fb3 257 static unsigned gfsk_pblDetLen_read(bool);
Wayne Roberts 9:295e37c38fb3 258 static menuMode_e gfsk_pblDetLen_write(unsigned sidx);
Wayne Roberts 9:295e37c38fb3 259 static const dropdown_item_t gfsk_pblDetLen_item;
Wayne Roberts 9:295e37c38fb3 260
Wayne Roberts 9:295e37c38fb3 261 static void gfsk_syncWord_print(void);
Wayne Roberts 9:295e37c38fb3 262 static bool gfsk_syncWord_write(const char*);
Wayne Roberts 9:295e37c38fb3 263 static const value_item_t gfsk_syncWord_item;
Wayne Roberts 9:295e37c38fb3 264
Wayne Roberts 9:295e37c38fb3 265 static unsigned gfsk_addrcomp_read(bool);
Wayne Roberts 9:295e37c38fb3 266 static menuMode_e gfsk_addrcomp_write(unsigned sidx);
Wayne Roberts 9:295e37c38fb3 267 static const dropdown_item_t gfsk_addrcomp_item;
Wayne Roberts 9:295e37c38fb3 268
Wayne Roberts 9:295e37c38fb3 269 static void gfsk_nodeadrs_print(void);
Wayne Roberts 9:295e37c38fb3 270 static bool gfsk_nodeadrs_write(const char*);
Wayne Roberts 9:295e37c38fb3 271 static const value_item_t gfsk_nodeadrs_item;
Wayne Roberts 9:295e37c38fb3 272
Wayne Roberts 9:295e37c38fb3 273 static void gfsk_broadcast_print(void);
Wayne Roberts 9:295e37c38fb3 274 static bool gfsk_broadcast_write(const char*);
Wayne Roberts 9:295e37c38fb3 275 static const value_item_t gfsk_broadcast_item;
Wayne Roberts 9:295e37c38fb3 276
Wayne Roberts 9:295e37c38fb3 277 static bool gfsk_varlen_read(void);
Wayne Roberts 9:295e37c38fb3 278 static bool gfsk_varlen_push(void);
Wayne Roberts 9:295e37c38fb3 279 static const toggle_item_t gfsk_varlen_item;
Wayne Roberts 9:295e37c38fb3 280
Wayne Roberts 9:295e37c38fb3 281 static void gfsk_syncLen_print(void);
Wayne Roberts 9:295e37c38fb3 282 static bool gfsk_syncLen_write(const char*);
Wayne Roberts 9:295e37c38fb3 283 static const value_item_t gfsk_syncLen_item;
Wayne Roberts 9:295e37c38fb3 284
Wayne Roberts 9:295e37c38fb3 285 static const char* const gfsk_crcType_strs[];
Wayne Roberts 9:295e37c38fb3 286 static unsigned gfsk_crcType_read(bool);
Wayne Roberts 9:295e37c38fb3 287 static menuMode_e gfsk_crcType_write(unsigned sidx);
Wayne Roberts 9:295e37c38fb3 288 static const dropdown_item_t gfsk_crcType_item;
Wayne Roberts 9:295e37c38fb3 289
Wayne Roberts 9:295e37c38fb3 290 static bool gfsk_dcfree_read(void);
Wayne Roberts 9:295e37c38fb3 291 static bool gfsk_dcfree_push(void);
Wayne Roberts 9:295e37c38fb3 292 static const toggle_item_t gfsk_dcfree_item;
Wayne Roberts 9:295e37c38fb3 293
Wayne Roberts 9:295e37c38fb3 294 static void gfsk_crcinit_print(void);
Wayne Roberts 9:295e37c38fb3 295 static bool gfsk_crcinit_write(const char*);
Wayne Roberts 9:295e37c38fb3 296 static const value_item_t gfsk_crcinit_item;
Wayne Roberts 9:295e37c38fb3 297
Wayne Roberts 10:db4e11a55bda 298 static void gfsk_crcpoly_print(void);
Wayne Roberts 10:db4e11a55bda 299 static bool gfsk_crcpoly_write(const char*);
Wayne Roberts 10:db4e11a55bda 300 static const value_item_t gfsk_crcpoly_item;
Wayne Roberts 9:295e37c38fb3 301
Wayne Roberts 9:295e37c38fb3 302 /***********************************************/
Wayne Roberts 9:295e37c38fb3 303 static void rxBuffer_push(void);
Wayne Roberts 9:295e37c38fb3 304 static const button_item_t rxBufferStatus_item;
Wayne Roberts 9:295e37c38fb3 305
Wayne Roberts 9:295e37c38fb3 306 static void getStats_push(void);
Wayne Roberts 9:295e37c38fb3 307 static const button_item_t getStats_item;
Wayne Roberts 9:295e37c38fb3 308