Source code for the SX126xDVK1xAS Dev Kit. This example code has only been tested on the Nucleo L476RG
Dependencies: mbed DmTftLibrary SX126xLib
Menu.h
00001 /* 00002 ______ _ 00003 / _____) _ | | 00004 ( (____ _____ ____ _| |_ _____ ____| |__ 00005 \____ \| ___ | (_ _) ___ |/ ___) _ \ 00006 _____) ) ____| | | || |_| ____( (___| | | | 00007 (______/|_____)_|_|_| \__)_____)\____)_| |_| 00008 (C)2016 Semtech 00009 00010 Description: Display demo menus and manage touch sensor, header 00011 00012 Maintainer: Gregory Cristian & Gilbert Menth 00013 */ 00014 00015 #ifndef MENU_H 00016 #define MENU_H 00017 00018 #include "DisplayDriver.h" 00019 #include "DmTouchCalibration.h" 00020 00021 /*! 00022 * \brief TFT calibration structure. 00023 */ 00024 typedef struct 00025 { 00026 bool ScreenCalibrated; 00027 CalibrationMatrix Calibration; 00028 }MenuSettings_t; 00029 00030 /*! 00031 * \brief Available pages in menu. 00032 */ 00033 enum MenuPages 00034 { 00035 START_PAGE = 0, 00036 PAGE_PING_PONG, 00037 PAGE_PER, 00038 PAGE_RADIO_PARAM, 00039 PAGE_RADIO_PARAM_FREQ, 00040 PAGE_UTILITIES, 00041 PAGE_RADIO_TEST, 00042 PAGE_RSSI_TEST, 00043 PAGE_SLEEP_MODE, 00044 PAGE_STBY_RC_MODE, 00045 PAGE_STBY_XOSC_MODE, 00046 PAGE_TX_CW, 00047 PAGE_CONT_MODULATION, 00048 PAGE_CONT_RX 00049 }; 00050 00051 00052 /*! 00053 * \brief Common var to manage TFT calibration. 00054 */ 00055 extern MenuSettings_t MenuSettings; 00056 00057 00058 /*! 00059 * \brief Init menu settings. 00060 */ 00061 void MenuInit( uint8_t deviceConnected, uint8_t matchingFreq ); 00062 00063 /*! 00064 * \brief Permanently display Handler for touch sensor. 00065 * 00066 * \param [in] refresh Flag indicates refresh display required (touch) 00067 * 00068 * \retval CurrentPage The updated current page 00069 */ 00070 uint8_t MenuHandler( bool refresh ); 00071 00072 /*! 00073 * \brief Update or refresh the activated menu page. 00074 * 00075 * \param [in] page Page to display 00076 */ 00077 void MenuSetPage( uint8_t page ); 00078 00079 /*! 00080 * \brief Writes 3 lines on display, with current radio parameters. 00081 * 00082 * \param [in] page Current page to choose what to display. 00083 */ 00084 void DisplayCurrentRadioParams( uint8_t page ); 00085 00086 /*! 00087 * \brief Return text with current frame type. 00088 * 00089 * \retval text Pointer on text to display 00090 */ 00091 char* GetMenuRadioFrameType( void ); 00092 00093 /*! 00094 * \brief Return text with current Radio Modulation Parameters1. 00095 * 00096 * \retval text Pointer on text to display 00097 */ 00098 char* GetRadioModulationParameters1( void ); 00099 00100 /*! 00101 * \brief Return text with current Radio Modulatio nParameters2. 00102 * 00103 * \retval text Pointer on text to display 00104 */ 00105 char* GetRadioModulationParameters2( void ); 00106 00107 /*! 00108 * \brief Return text with current Radio Modulation Parameters3. 00109 * 00110 * \retval text Pointer on text to display 00111 */ 00112 char* GetRadioModulationParameters3( void ); 00113 00114 /*! 00115 * \brief Return text with current Radio Modulation Parameters4. 00116 * 00117 * \retval text Pointer on text to display 00118 */ 00119 char* GetRadioModulationParameters4( void ); 00120 00121 /*! 00122 * \brief Return text with current Radio Frequency. 00123 * 00124 * \retval text Pointer on text to display 00125 */ 00126 char* GetRadioFrequency( void ); 00127 00128 /*! 00129 * \brief Return text with current Frequency Error. 00130 * 00131 * \retval text Pointer on text to display 00132 */ 00133 char* GetMenuDemoFreqError( void ); 00134 00135 /*! 00136 * \brief Return text with current Radio Frequency [GHz] format #.###. 00137 * 00138 * \retval text Pointer on text to display 00139 */ 00140 char* GetRadioFrequencyMHz( void ); 00141 00142 /*! 00143 * \brief Return text with current Radio Freq Base. 00144 * 00145 * \retval text Pointer on text to display 00146 */ 00147 char* GetRadioFreqBase( void ); 00148 00149 /*! 00150 * \brief Return text with Radio preset Frequency 1. 00151 * 00152 * \retval text Pointer on text to display 00153 */ 00154 char* GetRadioFreqBasePS1( void ); 00155 00156 /*! 00157 * \brief Return text with Radio preset Frequency 2. 00158 * 00159 * \retval text Pointer on text to display 00160 */ 00161 char* GetRadioFreqBasePS2( void ); 00162 00163 /*! 00164 * \brief Return text with Radio preset Frequency 3. 00165 * 00166 * \retval text Pointer on text to display 00167 */ 00168 char* GetRadioFreqBasePS3( void ); 00169 00170 /*! 00171 * \brief Return text with current Radio Tx Power. 00172 * 00173 * \retval text Pointer on text to display 00174 */ 00175 char* GetRadioTxPower( void ); 00176 00177 /*! 00178 * \brief Return text with current Radio Payload Length. 00179 * 00180 * \retval text Pointer on text to display 00181 */ 00182 char* GetRadioPayloadLength( void ); 00183 00184 /*! 00185 * \brief Return text with Max Num Packet. 00186 * 00187 * \retval text Pointer on text to display 00188 */ 00189 char* GetMenuDemoMaxNumPacket( void ); 00190 00191 /*! 00192 * \brief Return text with current Demo Num Sent Packet. 00193 * 00194 * \retval text Pointer on text to display 00195 */ 00196 char* GetMenuDemoNumSentPacket( void ); 00197 00198 /*! 00199 * \brief Return text with current Rx frame Ok count. 00200 * 00201 * \retval text Pointer on text to display 00202 */ 00203 char* GetMenuDemoRxOk( void ); 00204 00205 /*! 00206 * \brief Return text with current Rx frame Ko count. 00207 * 00208 * \retval text Pointer on text to display 00209 */ 00210 char* GetMenuDemoRxKo( void ); 00211 00212 /*! 00213 * \brief Return text with current Rx frame Ok (on slave side) count. 00214 * 00215 * \retval text Pointer on text to display 00216 */ 00217 char* GetMenuDemoRxOkSlave( void ); 00218 00219 /*! 00220 * \brief Return text with current Rx frame Ko (on slave side) count. 00221 * 00222 * \retval text Pointer on text to display 00223 */ 00224 char* GetMenuDemoRxKoSlave( void ); 00225 00226 /*! 00227 * \brief Return text with current Result PerCent1, format ###.##. 00228 * 00229 * \param [in] value value to compute in [%] 00230 * \param [in] reference reference value for % computation 00231 * 00232 * \retval text Pointer on text to display 00233 */ 00234 char* GetMenuDemoResultPerCent1( uint32_t value, uint32_t reference ); 00235 00236 /*! 00237 * \brief Return text with current Result PerCent2, format ###.##. 00238 * 00239 * \param [in] value value to compute in [%] 00240 * \param [in] reference reference value for % computation 00241 * 00242 * \retval text Pointer on text to display 00243 */ 00244 char* GetMenuDemoResultPerCent2( uint32_t value, uint32_t reference ); 00245 00246 /*! 00247 * \brief Return text with current Rssi. 00248 * 00249 * \retval text Pointer on text to display 00250 */ 00251 char* GetMenuDemoRssi( void ); 00252 00253 /*! 00254 * \brief Return text with current Snr. 00255 * 00256 * \retval text Pointer on text to display 00257 */ 00258 char* GetMenuDemoSnr( void ); 00259 00260 /*! 00261 * \brief Return text with Total Packet for the test. 00262 * 00263 * \retval text Pointer on text to display 00264 */ 00265 char* GetTotalPackets( void ); 00266 00267 /*! 00268 * \brief Return text with current Radio Power Mode Value. 00269 * 00270 * \retval text Pointer on text to display 00271 */ 00272 char* GetMenuDemoRadioPowerMode( void ); 00273 00274 /*! 00275 * \brief Return text with current Rx Boosted Setting. 00276 * 00277 * \retval text Pointer on text to display 00278 */ 00279 char* GetMenuDemoRadioBoostedRx( void ); 00280 00281 #endif // MENU_H
Generated on Tue Jul 12 2022 15:49:22 by 1.7.2