This code holds the complete demo set for the sx1280: PingPong, PER and Ranging Outdoor demo application. >>>>> This code MUST run on the mbed library release 127 or everything will be painfully slow.
Dependencies: mbed SX1280Lib DmTftLibrary
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 00019 #include "DisplayDriver.h" 00020 #include "DmTouchCalibration.h" 00021 00022 00023 /*! 00024 * \brief TFT calibration structure. 00025 */ 00026 typedef struct 00027 { 00028 bool ScreenCalibrated; 00029 CalibrationMatrix Calibration; 00030 }MenuSettings_t; 00031 00032 /*! 00033 * \brief Available pages in menu. 00034 */ 00035 enum MenuPages 00036 { 00037 START_PAGE = 0, 00038 PAGE_PING_PONG, 00039 PAGE_PER, 00040 PAGE_RANGING_MASTER, 00041 PAGE_RANGING_SLAVE, 00042 PAGE_RANGING_PARAM, 00043 PAGE_RADIO_PARAM, 00044 PAGE_RADIO_PARAM_FREQ, 00045 PAGE_UTILITIES, 00046 PAGE_RADIO_TEST, 00047 PAGE_SLEEP_MODE, 00048 PAGE_STBY_RC_MODE, 00049 PAGE_STBY_XOSC_MODE, 00050 PAGE_TX_CW, 00051 PAGE_CONT_MODULATION 00052 }; 00053 00054 00055 /*! 00056 * \brief Common var to manage TFT calibration. 00057 */ 00058 extern MenuSettings_t MenuSettings; 00059 00060 00061 /*! 00062 * \brief Init menu settings. 00063 */ 00064 void MenuInit( void ); 00065 00066 /*! 00067 * \brief Permanently display Handler for touch sensor. 00068 * 00069 * \param [in] refresh Flag indicates refresh display required (touch) 00070 * 00071 * \retval CurrentPage The updated current page 00072 */ 00073 uint8_t MenuHandler( bool refresh ); 00074 00075 /*! 00076 * \brief Update or refresh the activated menu page. 00077 * 00078 * \param [in] page Page to display 00079 */ 00080 void MenuSetPage( uint8_t page ); 00081 00082 /*! 00083 * \brief Writes 3 lines on display, with current radio parameters. 00084 * 00085 * \param [in] page Current page to choose what to display. 00086 */ 00087 void DisplayCurrentRadioParams( uint8_t page ); 00088 00089 /*! 00090 * \brief Return text with current frame type. 00091 * 00092 * \retval text Pointer on text to display 00093 */ 00094 char* GetMenuRadioFrameType( void ); 00095 00096 /*! 00097 * \brief Return text with current Radio Modulation Parameters1. 00098 * 00099 * \retval text Pointer on text to display 00100 */ 00101 char* GetRadioModulationParameters1( void ); 00102 00103 /*! 00104 * \brief Return text with current Radio Modulatio nParameters2. 00105 * 00106 * \retval text Pointer on text to display 00107 */ 00108 char* GetRadioModulationParameters2( void ); 00109 00110 /*! 00111 * \brief Return text with current Radio Modulation Parameters3. 00112 * 00113 * \retval text Pointer on text to display 00114 */ 00115 char* GetRadioModulationParameters3( void ); 00116 00117 /*! 00118 * \brief Return text with current Radio Frequency. 00119 * 00120 * \retval text Pointer on text to display 00121 */ 00122 char* GetRadioFrequency( void ); 00123 /*! 00124 * \brief Update the radio frequency displayed on the screen. 00125 * 00126 * \param [in] freq freq in Hz 00127 */ 00128 void UpdateRadioFrequency( unsigned long freq ); 00129 00130 /*! 00131 * \brief Return text with current Radio Frequency [GHz] format #.###. 00132 * 00133 * \retval text Pointer on text to display 00134 */ 00135 char* GetRadioFrequencyGHz( void ); 00136 00137 /*! 00138 * \brief Return text with current Radio Freq Base. 00139 * 00140 * \retval text Pointer on text to display 00141 */ 00142 char* GetRadioFreqBase( void ); 00143 00144 /*! 00145 * \brief Return text with Radio preset Frequency 1. 00146 * 00147 * \retval text Pointer on text to display 00148 */ 00149 char* GetRadioFreqBasePS1( void ); 00150 00151 /*! 00152 * \brief Return text with Radio preset Frequency 2. 00153 * 00154 * \retval text Pointer on text to display 00155 */ 00156 char* GetRadioFreqBasePS2( void ); 00157 00158 /*! 00159 * \brief Return text with Radio preset Frequency 3. 00160 * 00161 * \retval text Pointer on text to display 00162 */ 00163 char* GetRadioFreqBasePS3( void ); 00164 00165 /*! 00166 * \brief Return text with current Radio Tx Power. 00167 * 00168 * \retval text Pointer on text to display 00169 */ 00170 char* GetRadioTxPower( void ); 00171 00172 /*! 00173 * \brief Return text with current Radio Payload Length. 00174 * 00175 * \retval text Pointer on text to display 00176 */ 00177 char* GetRadioPayloadLength( void ); 00178 00179 /*! 00180 * \brief Return text with Max Num Packet. 00181 * 00182 * \retval text Pointer on text to display 00183 */ 00184 char* GetMenuDemoMaxNumPacket( void ); 00185 00186 /*! 00187 * \brief Return text with current Demo Num Sent Packet. 00188 * 00189 * \retval text Pointer on text to display 00190 */ 00191 char* GetMenuDemoNumSentPacket( void ); 00192 00193 /*! 00194 * \brief Return text with current Rx frame Ok count. 00195 * 00196 * \retval text Pointer on text to display 00197 */ 00198 char* GetMenuDemoRxOk( void ); 00199 00200 /*! 00201 * \brief Return text with current Rx frame Ko count. 00202 * 00203 * \retval text Pointer on text to display 00204 */ 00205 char* GetMenuDemoRxKo( void ); 00206 00207 /*! 00208 * \brief Return text with current Rx frame Ok (on slave side) count. 00209 * 00210 * \retval text Pointer on text to display 00211 */ 00212 char* GetMenuDemoRxOkSlave( void ); 00213 00214 /*! 00215 * \brief Return text with current Rx frame Ko (on slave side) count. 00216 * 00217 * \retval text Pointer on text to display 00218 */ 00219 char* GetMenuDemoRxKoSlave( void ); 00220 00221 /*! 00222 * \brief Return text with current Result PerCent1, format ###.##. 00223 * 00224 * \param [in] value value to compute in [%] 00225 * \param [in] reference reference value for % computation 00226 * 00227 * \retval text Pointer on text to display 00228 */ 00229 char* GetMenuDemoResultPerCent1( uint32_t value, uint32_t reference ); 00230 00231 /*! 00232 * \brief Return text with current Result PerCent2, format ###.##. 00233 * 00234 * \param [in] value value to compute in [%] 00235 * \param [in] reference reference value for % computation 00236 * 00237 * \retval text Pointer on text to display 00238 */ 00239 char* GetMenuDemoResultPerCent2( uint32_t value, uint32_t reference ); 00240 00241 /*! 00242 * \brief Return text with current Rssi. 00243 * 00244 * \retval text Pointer on text to display 00245 */ 00246 char* GetMenuDemoRssi( void ); 00247 00248 /*! 00249 * \brief Return text with current Snr. 00250 * 00251 * \retval text Pointer on text to display 00252 */ 00253 char* GetMenuDemoSnr( void ); 00254 00255 /*! 00256 * \brief Return text with current Antenna Setting. 00257 * 00258 * \retval text Pointer on text to display 00259 */ 00260 char* GetAntennaSetting( void ); 00261 00262 /*! 00263 * \brief Return text with Total Packet for the test. 00264 * 00265 * \retval text Pointer on text to display 00266 */ 00267 char* GetTotalPackets( void ); 00268 00269 /*! 00270 * \brief Return text with current GPS Time. 00271 * 00272 * \retval text Pointer on text to display 00273 */ 00274 char* GetGpsTime( void ); 00275 00276 /*! 00277 * \brief Return text with current GPS Position. 00278 * 00279 * \retval text Pointer on text to display 00280 */ 00281 char* GetGpsPos( void ); 00282 00283 /*! 00284 * \brief Return text with current Proximity Value. 00285 * 00286 * \retval text Pointer on text to display 00287 */ 00288 char* GetProximityValue( void ); 00289 00290 /*! 00291 * \brief Return text with current Radio Power Mode Value. 00292 * 00293 * \retval text Pointer on text to display 00294 */ 00295 char* GetMenuDemoRadioPowerMode( void ); 00296 00297 /*! 00298 * \brief Return text with current Frequency Error Value. 00299 * 00300 * \retval text Pointer on text to display 00301 */ 00302 char* GetFrequencyError( void ); 00303 00304 /*! 00305 * \brief Return text with current Ranging Channels Successfully Done Value. 00306 * 00307 * \retval text Pointer on text to display 00308 */ 00309 char* GetRngChannelsOk( void ); 00310 00311 /*! 00312 * \brief Return text with current Ranging Request Count Value. 00313 * 00314 * \retval text Pointer on text to display 00315 */ 00316 char* GetRangingRequestCount( void ); 00317 00318 /*! 00319 * \brief Return text with current Ranging Address Value. 00320 * 00321 * \retval text Pointer on text to display 00322 */ 00323 char* GetRangingAddress( void ); 00324 00325 /*! 00326 * \brief Return text with current Ranging Antenna Value. 00327 * 00328 * \retval text Pointer on text to display 00329 */ 00330 char* GetRangingAntenna( void ); 00331 00332 /*! 00333 * \brief Return text with current Ranging Distance Unit. 00334 * 00335 * \retval text Pointer on text to display 00336 */ 00337 char* GetRangingUnit( void ); 00338 00339 #endif // MENU_H 00340
Generated on Wed Jul 13 2022 01:03:22 by 1.7.2