All the previous but the PID

Dependencies:   mbed QEI PID DmTftLibraryEx

Committer:
GregCr
Date:
Wed Jul 18 08:51:53 2018 +0000
Revision:
17:a0bbfc228415
Parent:
8:c0a5f53fe196
Updated DevKit with the latest drivers

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GregCr 0:9c0917bfde97 1 /*
GregCr 0:9c0917bfde97 2 ______ _
GregCr 0:9c0917bfde97 3 / _____) _ | |
GregCr 0:9c0917bfde97 4 ( (____ _____ ____ _| |_ _____ ____| |__
GregCr 0:9c0917bfde97 5 \____ \| ___ | (_ _) ___ |/ ___) _ \
GregCr 0:9c0917bfde97 6 _____) ) ____| | | || |_| ____( (___| | | |
GregCr 0:9c0917bfde97 7 (______/|_____)_|_|_| \__)_____)\____)_| |_|
GregCr 0:9c0917bfde97 8 (C)2016 Semtech
GregCr 0:9c0917bfde97 9
GregCr 0:9c0917bfde97 10 Description: Display demo menus and manage touch sensor, header
GregCr 0:9c0917bfde97 11
GregCr 0:9c0917bfde97 12 Maintainer: Gregory Cristian & Gilbert Menth
GregCr 0:9c0917bfde97 13 */
GregCr 0:9c0917bfde97 14
GregCr 0:9c0917bfde97 15 #ifndef MENU_H
GregCr 0:9c0917bfde97 16 #define MENU_H
GregCr 0:9c0917bfde97 17
GregCr 0:9c0917bfde97 18
GregCr 0:9c0917bfde97 19 #include "DisplayDriver.h"
GregCr 0:9c0917bfde97 20 #include "DmTouchCalibration.h"
GregCr 0:9c0917bfde97 21
GregCr 0:9c0917bfde97 22
GregCr 0:9c0917bfde97 23 /*!
GregCr 0:9c0917bfde97 24 * \brief TFT calibration structure.
GregCr 0:9c0917bfde97 25 */
GregCr 0:9c0917bfde97 26 typedef struct
GregCr 0:9c0917bfde97 27 {
GregCr 0:9c0917bfde97 28 bool ScreenCalibrated;
GregCr 0:9c0917bfde97 29 CalibrationMatrix Calibration;
GregCr 0:9c0917bfde97 30 }MenuSettings_t;
GregCr 0:9c0917bfde97 31
GregCr 0:9c0917bfde97 32 /*!
GregCr 0:9c0917bfde97 33 * \brief Available pages in menu.
GregCr 0:9c0917bfde97 34 */
GregCr 0:9c0917bfde97 35 enum MenuPages
GregCr 0:9c0917bfde97 36 {
GregCr 0:9c0917bfde97 37 START_PAGE = 0,
GregCr 0:9c0917bfde97 38 PAGE_PING_PONG,
GregCr 0:9c0917bfde97 39 PAGE_PER,
GregCr 0:9c0917bfde97 40 PAGE_RANGING_MASTER,
GregCr 0:9c0917bfde97 41 PAGE_RANGING_SLAVE,
GregCr 0:9c0917bfde97 42 PAGE_RANGING_PARAM,
GregCr 0:9c0917bfde97 43 PAGE_RADIO_PARAM,
GregCr 0:9c0917bfde97 44 PAGE_RADIO_PARAM_FREQ,
GregCr 0:9c0917bfde97 45 PAGE_UTILITIES,
GregCr 0:9c0917bfde97 46 PAGE_RADIO_TEST,
GregCr 0:9c0917bfde97 47 PAGE_SLEEP_MODE,
GregCr 0:9c0917bfde97 48 PAGE_STBY_RC_MODE,
GregCr 0:9c0917bfde97 49 PAGE_STBY_XOSC_MODE,
GregCr 0:9c0917bfde97 50 PAGE_TX_CW,
GregCr 0:9c0917bfde97 51 PAGE_CONT_MODULATION
GregCr 0:9c0917bfde97 52 };
GregCr 0:9c0917bfde97 53
GregCr 0:9c0917bfde97 54
GregCr 0:9c0917bfde97 55 /*!
GregCr 0:9c0917bfde97 56 * \brief Common var to manage TFT calibration.
GregCr 0:9c0917bfde97 57 */
GregCr 0:9c0917bfde97 58 extern MenuSettings_t MenuSettings;
GregCr 0:9c0917bfde97 59
GregCr 0:9c0917bfde97 60
GregCr 0:9c0917bfde97 61 /*!
GregCr 0:9c0917bfde97 62 * \brief Init menu settings.
GregCr 0:9c0917bfde97 63 */
GregCr 0:9c0917bfde97 64 void MenuInit( void );
GregCr 0:9c0917bfde97 65
GregCr 0:9c0917bfde97 66 /*!
GregCr 0:9c0917bfde97 67 * \brief Permanently display Handler for touch sensor.
GregCr 0:9c0917bfde97 68 *
GregCr 0:9c0917bfde97 69 * \param [in] refresh Flag indicates refresh display required (touch)
GregCr 0:9c0917bfde97 70 *
GregCr 0:9c0917bfde97 71 * \retval CurrentPage The updated current page
GregCr 0:9c0917bfde97 72 */
GregCr 0:9c0917bfde97 73 uint8_t MenuHandler( bool refresh );
GregCr 0:9c0917bfde97 74
GregCr 0:9c0917bfde97 75 /*!
GregCr 0:9c0917bfde97 76 * \brief Update or refresh the activated menu page.
GregCr 0:9c0917bfde97 77 *
GregCr 0:9c0917bfde97 78 * \param [in] page Page to display
GregCr 0:9c0917bfde97 79 */
GregCr 0:9c0917bfde97 80 void MenuSetPage( uint8_t page );
GregCr 0:9c0917bfde97 81
GregCr 0:9c0917bfde97 82 /*!
GregCr 0:9c0917bfde97 83 * \brief Writes 3 lines on display, with current radio parameters.
GregCr 0:9c0917bfde97 84 *
GregCr 0:9c0917bfde97 85 * \param [in] page Current page to choose what to display.
GregCr 0:9c0917bfde97 86 */
GregCr 0:9c0917bfde97 87 void DisplayCurrentRadioParams( uint8_t page );
GregCr 0:9c0917bfde97 88
GregCr 0:9c0917bfde97 89 /*!
GregCr 0:9c0917bfde97 90 * \brief Return text with current frame type.
GregCr 0:9c0917bfde97 91 *
GregCr 0:9c0917bfde97 92 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 93 */
GregCr 0:9c0917bfde97 94 char* GetMenuRadioFrameType( void );
GregCr 0:9c0917bfde97 95
GregCr 0:9c0917bfde97 96 /*!
GregCr 0:9c0917bfde97 97 * \brief Return text with current Radio Modulation Parameters1.
GregCr 0:9c0917bfde97 98 *
GregCr 0:9c0917bfde97 99 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 100 */
GregCr 0:9c0917bfde97 101 char* GetRadioModulationParameters1( void );
GregCr 0:9c0917bfde97 102
GregCr 0:9c0917bfde97 103 /*!
GregCr 0:9c0917bfde97 104 * \brief Return text with current Radio Modulatio nParameters2.
GregCr 0:9c0917bfde97 105 *
GregCr 0:9c0917bfde97 106 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 107 */
GregCr 0:9c0917bfde97 108 char* GetRadioModulationParameters2( void );
GregCr 0:9c0917bfde97 109
GregCr 0:9c0917bfde97 110 /*!
GregCr 0:9c0917bfde97 111 * \brief Return text with current Radio Modulation Parameters3.
GregCr 0:9c0917bfde97 112 *
GregCr 0:9c0917bfde97 113 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 114 */
GregCr 0:9c0917bfde97 115 char* GetRadioModulationParameters3( void );
GregCr 0:9c0917bfde97 116
GregCr 0:9c0917bfde97 117 /*!
GregCr 0:9c0917bfde97 118 * \brief Return text with current Radio Frequency.
GregCr 0:9c0917bfde97 119 *
GregCr 0:9c0917bfde97 120 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 121 */
GregCr 0:9c0917bfde97 122 char* GetRadioFrequency( void );
GregCr 17:a0bbfc228415 123 /*!
GregCr 17:a0bbfc228415 124 * \brief Update the radio frequency displayed on the screen.
GregCr 17:a0bbfc228415 125 *
GregCr 17:a0bbfc228415 126 * \param [in] freq freq in Hz
GregCr 17:a0bbfc228415 127 */
GregCr 17:a0bbfc228415 128 void UpdateRadioFrequency( unsigned long freq );
GregCr 0:9c0917bfde97 129
GregCr 0:9c0917bfde97 130 /*!
GregCr 0:9c0917bfde97 131 * \brief Return text with current Radio Frequency [GHz] format #.###.
GregCr 0:9c0917bfde97 132 *
GregCr 0:9c0917bfde97 133 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 134 */
GregCr 0:9c0917bfde97 135 char* GetRadioFrequencyGHz( void );
GregCr 0:9c0917bfde97 136
GregCr 0:9c0917bfde97 137 /*!
GregCr 0:9c0917bfde97 138 * \brief Return text with current Radio Freq Base.
GregCr 0:9c0917bfde97 139 *
GregCr 0:9c0917bfde97 140 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 141 */
GregCr 0:9c0917bfde97 142 char* GetRadioFreqBase( void );
GregCr 0:9c0917bfde97 143
GregCr 0:9c0917bfde97 144 /*!
GregCr 0:9c0917bfde97 145 * \brief Return text with Radio preset Frequency 1.
GregCr 0:9c0917bfde97 146 *
GregCr 0:9c0917bfde97 147 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 148 */
GregCr 0:9c0917bfde97 149 char* GetRadioFreqBasePS1( void );
GregCr 0:9c0917bfde97 150
GregCr 0:9c0917bfde97 151 /*!
GregCr 0:9c0917bfde97 152 * \brief Return text with Radio preset Frequency 2.
GregCr 0:9c0917bfde97 153 *
GregCr 0:9c0917bfde97 154 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 155 */
GregCr 0:9c0917bfde97 156 char* GetRadioFreqBasePS2( void );
GregCr 0:9c0917bfde97 157
GregCr 0:9c0917bfde97 158 /*!
GregCr 0:9c0917bfde97 159 * \brief Return text with Radio preset Frequency 3.
GregCr 0:9c0917bfde97 160 *
GregCr 0:9c0917bfde97 161 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 162 */
GregCr 0:9c0917bfde97 163 char* GetRadioFreqBasePS3( void );
GregCr 0:9c0917bfde97 164
GregCr 0:9c0917bfde97 165 /*!
GregCr 0:9c0917bfde97 166 * \brief Return text with current Radio Tx Power.
GregCr 0:9c0917bfde97 167 *
GregCr 0:9c0917bfde97 168 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 169 */
GregCr 0:9c0917bfde97 170 char* GetRadioTxPower( void );
GregCr 0:9c0917bfde97 171
GregCr 0:9c0917bfde97 172 /*!
GregCr 0:9c0917bfde97 173 * \brief Return text with current Radio Payload Length.
GregCr 0:9c0917bfde97 174 *
GregCr 0:9c0917bfde97 175 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 176 */
GregCr 0:9c0917bfde97 177 char* GetRadioPayloadLength( void );
GregCr 0:9c0917bfde97 178
GregCr 0:9c0917bfde97 179 /*!
GregCr 0:9c0917bfde97 180 * \brief Return text with Max Num Packet.
GregCr 0:9c0917bfde97 181 *
GregCr 0:9c0917bfde97 182 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 183 */
GregCr 0:9c0917bfde97 184 char* GetMenuDemoMaxNumPacket( void );
GregCr 0:9c0917bfde97 185
GregCr 0:9c0917bfde97 186 /*!
GregCr 0:9c0917bfde97 187 * \brief Return text with current Demo Num Sent Packet.
GregCr 0:9c0917bfde97 188 *
GregCr 0:9c0917bfde97 189 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 190 */
GregCr 0:9c0917bfde97 191 char* GetMenuDemoNumSentPacket( void );
GregCr 0:9c0917bfde97 192
GregCr 0:9c0917bfde97 193 /*!
GregCr 0:9c0917bfde97 194 * \brief Return text with current Rx frame Ok count.
GregCr 0:9c0917bfde97 195 *
GregCr 0:9c0917bfde97 196 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 197 */
GregCr 0:9c0917bfde97 198 char* GetMenuDemoRxOk( void );
GregCr 0:9c0917bfde97 199
GregCr 0:9c0917bfde97 200 /*!
GregCr 0:9c0917bfde97 201 * \brief Return text with current Rx frame Ko count.
GregCr 0:9c0917bfde97 202 *
GregCr 0:9c0917bfde97 203 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 204 */
GregCr 0:9c0917bfde97 205 char* GetMenuDemoRxKo( void );
GregCr 0:9c0917bfde97 206
GregCr 0:9c0917bfde97 207 /*!
GregCr 0:9c0917bfde97 208 * \brief Return text with current Rx frame Ok (on slave side) count.
GregCr 0:9c0917bfde97 209 *
GregCr 0:9c0917bfde97 210 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 211 */
GregCr 0:9c0917bfde97 212 char* GetMenuDemoRxOkSlave( void );
GregCr 0:9c0917bfde97 213
GregCr 0:9c0917bfde97 214 /*!
GregCr 0:9c0917bfde97 215 * \brief Return text with current Rx frame Ko (on slave side) count.
GregCr 0:9c0917bfde97 216 *
GregCr 0:9c0917bfde97 217 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 218 */
GregCr 0:9c0917bfde97 219 char* GetMenuDemoRxKoSlave( void );
GregCr 0:9c0917bfde97 220
GregCr 0:9c0917bfde97 221 /*!
GregCr 0:9c0917bfde97 222 * \brief Return text with current Result PerCent1, format ###.##.
GregCr 0:9c0917bfde97 223 *
GregCr 0:9c0917bfde97 224 * \param [in] value value to compute in [%]
GregCr 0:9c0917bfde97 225 * \param [in] reference reference value for % computation
GregCr 0:9c0917bfde97 226 *
GregCr 0:9c0917bfde97 227 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 228 */
GregCr 0:9c0917bfde97 229 char* GetMenuDemoResultPerCent1( uint32_t value, uint32_t reference );
GregCr 0:9c0917bfde97 230
GregCr 0:9c0917bfde97 231 /*!
GregCr 0:9c0917bfde97 232 * \brief Return text with current Result PerCent2, format ###.##.
GregCr 0:9c0917bfde97 233 *
GregCr 0:9c0917bfde97 234 * \param [in] value value to compute in [%]
GregCr 0:9c0917bfde97 235 * \param [in] reference reference value for % computation
GregCr 0:9c0917bfde97 236 *
GregCr 0:9c0917bfde97 237 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 238 */
GregCr 0:9c0917bfde97 239 char* GetMenuDemoResultPerCent2( uint32_t value, uint32_t reference );
GregCr 0:9c0917bfde97 240
GregCr 0:9c0917bfde97 241 /*!
GregCr 0:9c0917bfde97 242 * \brief Return text with current Rssi.
GregCr 0:9c0917bfde97 243 *
GregCr 0:9c0917bfde97 244 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 245 */
GregCr 0:9c0917bfde97 246 char* GetMenuDemoRssi( void );
GregCr 0:9c0917bfde97 247
GregCr 0:9c0917bfde97 248 /*!
GregCr 0:9c0917bfde97 249 * \brief Return text with current Snr.
GregCr 0:9c0917bfde97 250 *
GregCr 0:9c0917bfde97 251 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 252 */
GregCr 0:9c0917bfde97 253 char* GetMenuDemoSnr( void );
GregCr 0:9c0917bfde97 254
GregCr 0:9c0917bfde97 255 /*!
GregCr 0:9c0917bfde97 256 * \brief Return text with current Antenna Setting.
GregCr 0:9c0917bfde97 257 *
GregCr 0:9c0917bfde97 258 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 259 */
GregCr 0:9c0917bfde97 260 char* GetAntennaSetting( void );
GregCr 0:9c0917bfde97 261
GregCr 0:9c0917bfde97 262 /*!
GregCr 0:9c0917bfde97 263 * \brief Return text with Total Packet for the test.
GregCr 0:9c0917bfde97 264 *
GregCr 0:9c0917bfde97 265 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 266 */
GregCr 0:9c0917bfde97 267 char* GetTotalPackets( void );
GregCr 0:9c0917bfde97 268
GregCr 0:9c0917bfde97 269 /*!
GregCr 0:9c0917bfde97 270 * \brief Return text with current GPS Time.
GregCr 0:9c0917bfde97 271 *
GregCr 0:9c0917bfde97 272 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 273 */
GregCr 0:9c0917bfde97 274 char* GetGpsTime( void );
GregCr 0:9c0917bfde97 275
GregCr 0:9c0917bfde97 276 /*!
GregCr 0:9c0917bfde97 277 * \brief Return text with current GPS Position.
GregCr 0:9c0917bfde97 278 *
GregCr 0:9c0917bfde97 279 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 280 */
GregCr 0:9c0917bfde97 281 char* GetGpsPos( void );
GregCr 0:9c0917bfde97 282
GregCr 0:9c0917bfde97 283 /*!
GregCr 0:9c0917bfde97 284 * \brief Return text with current Proximity Value.
GregCr 0:9c0917bfde97 285 *
GregCr 0:9c0917bfde97 286 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 287 */
GregCr 0:9c0917bfde97 288 char* GetProximityValue( void );
GregCr 0:9c0917bfde97 289
GregCr 0:9c0917bfde97 290 /*!
GregCr 0:9c0917bfde97 291 * \brief Return text with current Radio Power Mode Value.
GregCr 0:9c0917bfde97 292 *
GregCr 0:9c0917bfde97 293 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 294 */
GregCr 0:9c0917bfde97 295 char* GetMenuDemoRadioPowerMode( void );
GregCr 0:9c0917bfde97 296
GregCr 0:9c0917bfde97 297 /*!
GregCr 0:9c0917bfde97 298 * \brief Return text with current Frequency Error Value.
GregCr 0:9c0917bfde97 299 *
GregCr 0:9c0917bfde97 300 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 301 */
GregCr 0:9c0917bfde97 302 char* GetFrequencyError( void );
GregCr 0:9c0917bfde97 303
GregCr 0:9c0917bfde97 304 /*!
GregCr 0:9c0917bfde97 305 * \brief Return text with current Ranging Channels Successfully Done Value.
GregCr 0:9c0917bfde97 306 *
GregCr 0:9c0917bfde97 307 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 308 */
GregCr 0:9c0917bfde97 309 char* GetRngChannelsOk( void );
GregCr 0:9c0917bfde97 310
GregCr 0:9c0917bfde97 311 /*!
GregCr 0:9c0917bfde97 312 * \brief Return text with current Ranging Request Count Value.
GregCr 0:9c0917bfde97 313 *
GregCr 0:9c0917bfde97 314 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 315 */
GregCr 0:9c0917bfde97 316 char* GetRangingRequestCount( void );
GregCr 0:9c0917bfde97 317
GregCr 0:9c0917bfde97 318 /*!
GregCr 0:9c0917bfde97 319 * \brief Return text with current Ranging Address Value.
GregCr 0:9c0917bfde97 320 *
GregCr 0:9c0917bfde97 321 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 322 */
GregCr 0:9c0917bfde97 323 char* GetRangingAddress( void );
GregCr 0:9c0917bfde97 324
GregCr 0:9c0917bfde97 325 /*!
GregCr 0:9c0917bfde97 326 * \brief Return text with current Ranging Antenna Value.
GregCr 0:9c0917bfde97 327 *
GregCr 0:9c0917bfde97 328 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 329 */
GregCr 0:9c0917bfde97 330 char* GetRangingAntenna( void );
GregCr 0:9c0917bfde97 331
GregCr 0:9c0917bfde97 332 /*!
GregCr 0:9c0917bfde97 333 * \brief Return text with current Ranging Distance Unit.
GregCr 0:9c0917bfde97 334 *
GregCr 0:9c0917bfde97 335 * \retval text Pointer on text to display
GregCr 0:9c0917bfde97 336 */
GregCr 0:9c0917bfde97 337 char* GetRangingUnit( void );
GregCr 0:9c0917bfde97 338
GregCr 0:9c0917bfde97 339 #endif // MENU_H