Source code for the SX126xDVK1xAS Dev Kit. This example code has only been tested on the Nucleo L476RG

Dependencies:   mbed DmTftLibrary SX126xLib

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Menu.h Source File

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