Sending IKS01A1 temperature sensor to LoRaWAN port-5 uplink

Dependencies:   X_NUCLEO_IKS01A1 mbed LoRaWAN-lib SX1276Lib

Fork of LoRaWAN-demo-76 by Semtech

Use IKS01A1 sensor shield with SX1272 shield or SX1276 shield.

Sends temperature sensor to LoRaWAN uplink port 5.


Remove SB22 and SB23 from IKS01A1 before using

SB28 conflicts with DIO0 on radio. (TxDone RxDone)

SB22 conflicts with RxTx on radio. (antenna switch)

Committer:
mluis
Date:
Thu Jan 07 15:14:22 2016 +0000
Revision:
3:9c6f7f082151
Parent:
1:352f608c3337
Updated according to https://github.com/Lora-net/LoRaMac-node git revision a2226468d470eceb251338e1acfb24cfd121effa

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mluis 0:92bca02df485 1 /*
mluis 0:92bca02df485 2 / _____) _ | |
mluis 0:92bca02df485 3 ( (____ _____ ____ _| |_ _____ ____| |__
mluis 0:92bca02df485 4 \____ \| ___ | (_ _) ___ |/ ___) _ \
mluis 0:92bca02df485 5 _____) ) ____| | | || |_| ____( (___| | | |
mluis 0:92bca02df485 6 (______/|_____)_|_|_| \__)_____)\____)_| |_|
mluis 0:92bca02df485 7 (C)2015 Semtech
mluis 0:92bca02df485 8
mluis 0:92bca02df485 9 Description: VT100 serial display management
mluis 0:92bca02df485 10
mluis 0:92bca02df485 11 License: Revised BSD License, see LICENSE.TXT file include in the project
mluis 0:92bca02df485 12
mluis 0:92bca02df485 13 Maintainer: Miguel Luis and Gregory Cristian
mluis 0:92bca02df485 14 */
mluis 0:92bca02df485 15 #include "board.h"
mluis 0:92bca02df485 16 #include "vt100.h"
mluis 0:92bca02df485 17 #include "SerialDisplay.h"
mluis 0:92bca02df485 18
mluis 0:92bca02df485 19 VT100 vt( USBTX, USBRX );
mluis 0:92bca02df485 20
mluis 0:92bca02df485 21 void SerialPrintCheckBox( bool activated, uint8_t color )
mluis 0:92bca02df485 22 {
mluis 0:92bca02df485 23 if( activated == true )
mluis 0:92bca02df485 24 {
mluis 0:92bca02df485 25 vt.SetAttribute( VT100::ATTR_OFF, color, color );
mluis 0:92bca02df485 26 }
mluis 0:92bca02df485 27 else
mluis 0:92bca02df485 28 {
mluis 0:92bca02df485 29 vt.SetAttribute( VT100::ATTR_OFF );
mluis 0:92bca02df485 30 }
mluis 0:92bca02df485 31 vt.printf( " " );
mluis 0:92bca02df485 32 vt.SetAttribute( VT100::ATTR_OFF );
mluis 0:92bca02df485 33 }
mluis 0:92bca02df485 34
mluis 0:92bca02df485 35 void SerialDisplayUpdateActivationMode( bool otaa )
mluis 0:92bca02df485 36 {
mluis 0:92bca02df485 37 vt.SetCursorPos( 4, 17 );
mluis 0:92bca02df485 38 SerialPrintCheckBox( otaa, VT100::WHITE );
mluis 0:92bca02df485 39 vt.SetCursorPos( 9, 17 );
mluis 0:92bca02df485 40 SerialPrintCheckBox( !otaa, VT100::WHITE );
mluis 0:92bca02df485 41 }
mluis 0:92bca02df485 42
mluis 0:92bca02df485 43 void SerialDisplayUpdateEui( uint8_t line, uint8_t *eui )
mluis 3:9c6f7f082151 44 {
mluis 0:92bca02df485 45 vt.SetCursorPos( line, 27 );
mluis 0:92bca02df485 46 for( uint8_t i = 0; i < 8; i++ )
mluis 0:92bca02df485 47 {
mluis 3:9c6f7f082151 48 vt.printf( "%02X ", eui[i] );
mluis 0:92bca02df485 49 }
mluis 0:92bca02df485 50 vt.SetCursorPos( line, 50 );
mluis 0:92bca02df485 51 vt.printf( "]" );
mluis 0:92bca02df485 52 }
mluis 0:92bca02df485 53
mluis 0:92bca02df485 54 void SerialDisplayUpdateKey( uint8_t line, uint8_t *key )
mluis 0:92bca02df485 55 {
mluis 0:92bca02df485 56 vt.SetCursorPos( line, 27 );
mluis 0:92bca02df485 57 for( uint8_t i = 0; i < 16; i++ )
mluis 0:92bca02df485 58 {
mluis 0:92bca02df485 59 vt.printf( "%02X ", key[i] );
mluis 0:92bca02df485 60 }
mluis 0:92bca02df485 61 vt.SetCursorPos( line, 74 );
mluis 0:92bca02df485 62 vt.printf( "]" );
mluis 0:92bca02df485 63 }
mluis 0:92bca02df485 64
mluis 0:92bca02df485 65 void SerialDisplayUpdateNwkId( uint8_t id )
mluis 0:92bca02df485 66 {
mluis 0:92bca02df485 67 vt.SetCursorPos( 10, 27 );
mluis 0:92bca02df485 68 vt.printf( "%03d", id );
mluis 0:92bca02df485 69 }
mluis 0:92bca02df485 70
mluis 0:92bca02df485 71 void SerialDisplayUpdateDevAddr( uint32_t addr )
mluis 0:92bca02df485 72 {
mluis 0:92bca02df485 73 vt.SetCursorPos( 11, 27 );
mluis 0:92bca02df485 74 vt.printf( "%02X %02X %02X %02X", ( addr >> 24 ) & 0xFF, ( addr >> 16 ) & 0xFF, ( addr >> 8 ) & 0xFF, addr & 0xFF );
mluis 0:92bca02df485 75 }
mluis 0:92bca02df485 76
mluis 0:92bca02df485 77 void SerialDisplayUpdateFrameType( bool confirmed )
mluis 0:92bca02df485 78 {
mluis 0:92bca02df485 79 vt.SetCursorPos( 15, 17 );
mluis 0:92bca02df485 80 SerialPrintCheckBox( confirmed, VT100::WHITE );
mluis 0:92bca02df485 81 vt.SetCursorPos( 15, 32 );
mluis 0:92bca02df485 82 SerialPrintCheckBox( !confirmed, VT100::WHITE );
mluis 0:92bca02df485 83 }
mluis 0:92bca02df485 84
mluis 0:92bca02df485 85 void SerialDisplayUpdateAdr( bool adr )
mluis 0:92bca02df485 86 {
mluis 0:92bca02df485 87 vt.SetCursorPos( 16, 27 );
mluis 0:92bca02df485 88 if( adr == true )
mluis 0:92bca02df485 89 {
mluis 0:92bca02df485 90 vt.printf( " ON" );
mluis 0:92bca02df485 91 }
mluis 0:92bca02df485 92 else
mluis 0:92bca02df485 93 {
mluis 0:92bca02df485 94 vt.printf( "OFF" );
mluis 0:92bca02df485 95 }
mluis 0:92bca02df485 96 }
mluis 0:92bca02df485 97
mluis 0:92bca02df485 98 void SerialDisplayUpdateDutyCycle( bool dutyCycle )
mluis 0:92bca02df485 99 {
mluis 0:92bca02df485 100 vt.SetCursorPos( 17, 27 );
mluis 0:92bca02df485 101 if( dutyCycle == true )
mluis 0:92bca02df485 102 {
mluis 0:92bca02df485 103 vt.printf( " ON" );
mluis 0:92bca02df485 104 }
mluis 0:92bca02df485 105 else
mluis 0:92bca02df485 106 {
mluis 0:92bca02df485 107 vt.printf( "OFF" );
mluis 0:92bca02df485 108 }
mluis 0:92bca02df485 109 }
mluis 0:92bca02df485 110
mluis 0:92bca02df485 111 void SerialDisplayUpdatePublicNetwork( bool network )
mluis 0:92bca02df485 112 {
mluis 0:92bca02df485 113 vt.SetCursorPos( 19, 17 );
mluis 0:92bca02df485 114 SerialPrintCheckBox( network, VT100::WHITE );
mluis 0:92bca02df485 115 vt.SetCursorPos( 19, 30 );
mluis 0:92bca02df485 116 SerialPrintCheckBox( !network, VT100::WHITE );
mluis 0:92bca02df485 117 }
mluis 0:92bca02df485 118
mluis 0:92bca02df485 119 void SerialDisplayUpdateNetworkIsJoined( bool state )
mluis 0:92bca02df485 120 {
mluis 0:92bca02df485 121 vt.SetCursorPos( 20, 17 );
mluis 0:92bca02df485 122 SerialPrintCheckBox( !state, VT100::RED );
mluis 0:92bca02df485 123 vt.SetCursorPos( 20, 30 );
mluis 0:92bca02df485 124 SerialPrintCheckBox( state, VT100::GREEN );
mluis 0:92bca02df485 125 }
mluis 0:92bca02df485 126
mluis 0:92bca02df485 127 void SerialDisplayUpdateLedState( uint8_t id, uint8_t state )
mluis 0:92bca02df485 128 {
mluis 0:92bca02df485 129 switch( id )
mluis 0:92bca02df485 130 {
mluis 0:92bca02df485 131 case 1:
mluis 0:92bca02df485 132 vt.SetCursorPos( 22, 17 );
mluis 0:92bca02df485 133 SerialPrintCheckBox( state, VT100::RED );
mluis 0:92bca02df485 134 break;
mluis 0:92bca02df485 135 case 2:
mluis 0:92bca02df485 136 vt.SetCursorPos( 22, 31 );
mluis 0:92bca02df485 137 SerialPrintCheckBox( state, VT100::GREEN );
mluis 0:92bca02df485 138 break;
mluis 0:92bca02df485 139 case 3:
mluis 0:92bca02df485 140 vt.SetCursorPos( 22, 45 );
mluis 0:92bca02df485 141 SerialPrintCheckBox( state, VT100::BLUE );
mluis 0:92bca02df485 142 break;
mluis 0:92bca02df485 143 }
mluis 0:92bca02df485 144 }
mluis 0:92bca02df485 145
mluis 0:92bca02df485 146 void SerialDisplayUpdateData( uint8_t line, uint8_t *buffer, uint8_t size )
mluis 0:92bca02df485 147 {
mluis 0:92bca02df485 148 if( size != 0 )
mluis 0:92bca02df485 149 {
mluis 0:92bca02df485 150 vt.SetCursorPos( line, 27 );
mluis 0:92bca02df485 151 for( uint8_t i = 0; i < size; i++ )
mluis 0:92bca02df485 152 {
mluis 0:92bca02df485 153 vt.printf( "%02X ", buffer[i] );
mluis 0:92bca02df485 154 if( ( ( i + 1 ) % 16 ) == 0 )
mluis 0:92bca02df485 155 {
mluis 0:92bca02df485 156 line++;
mluis 0:92bca02df485 157 vt.SetCursorPos( line, 27 );
mluis 0:92bca02df485 158 }
mluis 0:92bca02df485 159 }
mluis 0:92bca02df485 160 for( uint8_t i = size; i < 64; i++ )
mluis 0:92bca02df485 161 {
mluis 0:92bca02df485 162 vt.printf( "__ " );
mluis 0:92bca02df485 163 if( ( ( i + 1 ) % 16 ) == 0 )
mluis 0:92bca02df485 164 {
mluis 0:92bca02df485 165 line++;
mluis 0:92bca02df485 166 vt.SetCursorPos( line, 27 );
mluis 0:92bca02df485 167 }
mluis 0:92bca02df485 168 }
mluis 0:92bca02df485 169 vt.SetCursorPos( line - 1, 74 );
mluis 0:92bca02df485 170 vt.printf( "]" );
mluis 0:92bca02df485 171 }
mluis 0:92bca02df485 172 else
mluis 0:92bca02df485 173 {
mluis 0:92bca02df485 174 vt.SetCursorPos( line, 27 );
mluis 0:92bca02df485 175 for( uint8_t i = 0; i < 64; i++ )
mluis 0:92bca02df485 176 {
mluis 0:92bca02df485 177 vt.printf( "__ " );
mluis 0:92bca02df485 178 if( ( ( i + 1 ) % 16 ) == 0 )
mluis 0:92bca02df485 179 {
mluis 0:92bca02df485 180 line++;
mluis 0:92bca02df485 181 vt.SetCursorPos( line, 27 );
mluis 0:92bca02df485 182 }
mluis 0:92bca02df485 183 }
mluis 0:92bca02df485 184 vt.SetCursorPos( line - 1, 74 );
mluis 0:92bca02df485 185 vt.printf( "]" );
mluis 0:92bca02df485 186 }
mluis 0:92bca02df485 187 }
mluis 0:92bca02df485 188
mluis 0:92bca02df485 189 void SerialDisplayUpdateUplinkAcked( bool state )
mluis 0:92bca02df485 190 {
mluis 0:92bca02df485 191 vt.SetCursorPos( 24, 36 );
mluis 0:92bca02df485 192 SerialPrintCheckBox( state, VT100::GREEN );
mluis 0:92bca02df485 193 }
mluis 0:92bca02df485 194
mluis 0:92bca02df485 195 void SerialDisplayUpdateUplink( bool acked, uint8_t datarate, uint16_t counter, uint8_t port, uint8_t *buffer, uint8_t bufferSize )
mluis 0:92bca02df485 196 {
mluis 0:92bca02df485 197 // Acked
mluis 0:92bca02df485 198 SerialDisplayUpdateUplinkAcked( acked );
mluis 0:92bca02df485 199 // Datarate
mluis 0:92bca02df485 200 vt.SetCursorPos( 25, 33 );
mluis 0:92bca02df485 201 vt.printf( "DR%d", datarate );
mluis 0:92bca02df485 202 // Counter
mluis 0:92bca02df485 203 vt.SetCursorPos( 26, 27 );
mluis 0:92bca02df485 204 vt.printf( "%10d", counter );
mluis 0:92bca02df485 205 // Port
mluis 0:92bca02df485 206 vt.SetCursorPos( 27, 34 );
mluis 0:92bca02df485 207 vt.printf( "%3d", port );
mluis 0:92bca02df485 208 // Data
mluis 0:92bca02df485 209 SerialDisplayUpdateData( 28, buffer, bufferSize );
mluis 0:92bca02df485 210 // Help message
mluis 0:92bca02df485 211 vt.SetCursorPos( 42, 1 );
mluis 3:9c6f7f082151 212 vt.printf( "To refresh screen please hit 'r' key." );
mluis 0:92bca02df485 213 }
mluis 0:92bca02df485 214
mluis 0:92bca02df485 215 void SerialDisplayUpdateDonwlinkRxData( bool state )
mluis 0:92bca02df485 216 {
mluis 0:92bca02df485 217 vt.SetCursorPos( 34, 4 );
mluis 0:92bca02df485 218 SerialPrintCheckBox( state, VT100::GREEN );
mluis 0:92bca02df485 219 }
mluis 0:92bca02df485 220
mluis 0:92bca02df485 221 void SerialDisplayUpdateDownlink( bool rxData, int16_t rssi, int8_t snr, uint16_t counter, uint8_t port, uint8_t *buffer, uint8_t bufferSize )
mluis 0:92bca02df485 222 {
mluis 0:92bca02df485 223 // Rx data
mluis 0:92bca02df485 224 SerialDisplayUpdateDonwlinkRxData( rxData );
mluis 0:92bca02df485 225 // RSSI
mluis 0:92bca02df485 226 vt.SetCursorPos( 33, 32 );
mluis 0:92bca02df485 227 vt.printf( "%5d", rssi );
mluis 0:92bca02df485 228 // SNR
mluis 0:92bca02df485 229 vt.SetCursorPos( 34, 32 );
mluis 0:92bca02df485 230 vt.printf( "%5d", snr );
mluis 0:92bca02df485 231 // Counter
mluis 0:92bca02df485 232 vt.SetCursorPos( 35, 27 );
mluis 0:92bca02df485 233 vt.printf( "%10d", counter );
mluis 0:92bca02df485 234 if( rxData == true )
mluis 0:92bca02df485 235 {
mluis 0:92bca02df485 236 // Port
mluis 0:92bca02df485 237 vt.SetCursorPos( 36, 34 );
mluis 0:92bca02df485 238 vt.printf( "%3d", port );
mluis 0:92bca02df485 239 // Data
mluis 0:92bca02df485 240 SerialDisplayUpdateData( 37, buffer, bufferSize );
mluis 0:92bca02df485 241 }
mluis 0:92bca02df485 242 else
mluis 0:92bca02df485 243 {
mluis 0:92bca02df485 244 // Port
mluis 0:92bca02df485 245 vt.SetCursorPos( 36, 34 );
mluis 0:92bca02df485 246 vt.printf( " " );
mluis 0:92bca02df485 247 // Data
mluis 0:92bca02df485 248 SerialDisplayUpdateData( 37, NULL, 0 );
mluis 0:92bca02df485 249 }
mluis 0:92bca02df485 250 }
mluis 0:92bca02df485 251
mluis 0:92bca02df485 252 void SerialDisplayDrawFirstLine( void )
mluis 0:92bca02df485 253 {
mluis 0:92bca02df485 254 vt.PutBoxDrawingChar( 'l' );
mluis 0:92bca02df485 255 for( int8_t i = 0; i <= 77; i++ )
mluis 0:92bca02df485 256 {
mluis 0:92bca02df485 257 vt.PutBoxDrawingChar( 'q' );
mluis 0:92bca02df485 258 }
mluis 0:92bca02df485 259 vt.PutBoxDrawingChar( 'k' );
mluis 0:92bca02df485 260 vt.printf( "\r\n" );
mluis 0:92bca02df485 261 }
mluis 0:92bca02df485 262
mluis 0:92bca02df485 263 void SerialDisplayDrawTitle( const char* title )
mluis 0:92bca02df485 264 {
mluis 0:92bca02df485 265 vt.PutBoxDrawingChar( 'x' );
mluis 0:92bca02df485 266 vt.printf( "%s", title );
mluis 0:92bca02df485 267 vt.PutBoxDrawingChar( 'x' );
mluis 0:92bca02df485 268 vt.printf( "\r\n" );
mluis 0:92bca02df485 269 }
mluis 0:92bca02df485 270 void SerialDisplayDrawTopSeparator( void )
mluis 0:92bca02df485 271 {
mluis 0:92bca02df485 272 vt.PutBoxDrawingChar( 't' );
mluis 0:92bca02df485 273 for( int8_t i = 0; i <= 11; i++ )
mluis 0:92bca02df485 274 {
mluis 0:92bca02df485 275 vt.PutBoxDrawingChar( 'q' );
mluis 0:92bca02df485 276 }
mluis 0:92bca02df485 277 vt.PutBoxDrawingChar( 'w' );
mluis 0:92bca02df485 278 for( int8_t i = 0; i <= 64; i++ )
mluis 0:92bca02df485 279 {
mluis 0:92bca02df485 280 vt.PutBoxDrawingChar( 'q' );
mluis 0:92bca02df485 281 }
mluis 0:92bca02df485 282 vt.PutBoxDrawingChar( 'u' );
mluis 0:92bca02df485 283 vt.printf( "\r\n" );
mluis 0:92bca02df485 284 }
mluis 0:92bca02df485 285
mluis 0:92bca02df485 286 void SerialDisplayDrawColSeparator( void )
mluis 0:92bca02df485 287 {
mluis 0:92bca02df485 288 vt.PutBoxDrawingChar( 'x' );
mluis 0:92bca02df485 289 for( int8_t i = 0; i <= 11; i++ )
mluis 0:92bca02df485 290 {
mluis 0:92bca02df485 291 vt.PutBoxDrawingChar( ' ' );
mluis 0:92bca02df485 292 }
mluis 0:92bca02df485 293 vt.PutBoxDrawingChar( 't' );
mluis 0:92bca02df485 294 for( int8_t i = 0; i <= 64; i++ )
mluis 0:92bca02df485 295 {
mluis 0:92bca02df485 296 vt.PutBoxDrawingChar( 'q' );
mluis 0:92bca02df485 297 }
mluis 0:92bca02df485 298 vt.PutBoxDrawingChar( 'u' );
mluis 0:92bca02df485 299 vt.printf( "\r\n" );
mluis 0:92bca02df485 300 }
mluis 0:92bca02df485 301
mluis 0:92bca02df485 302 void SerialDisplayDrawSeparator( void )
mluis 0:92bca02df485 303 {
mluis 0:92bca02df485 304 vt.PutBoxDrawingChar( 't' );
mluis 0:92bca02df485 305 for( int8_t i = 0; i <= 11; i++ )
mluis 0:92bca02df485 306 {
mluis 0:92bca02df485 307 vt.PutBoxDrawingChar( 'q' );
mluis 0:92bca02df485 308 }
mluis 0:92bca02df485 309 vt.PutBoxDrawingChar( 'n' );
mluis 0:92bca02df485 310 for( int8_t i = 0; i <= 64; i++ )
mluis 0:92bca02df485 311 {
mluis 0:92bca02df485 312 vt.PutBoxDrawingChar( 'q' );
mluis 0:92bca02df485 313 }
mluis 0:92bca02df485 314 vt.PutBoxDrawingChar( 'u' );
mluis 0:92bca02df485 315 vt.printf( "\r\n" );
mluis 0:92bca02df485 316 }
mluis 0:92bca02df485 317
mluis 0:92bca02df485 318 void SerialDisplayDrawLine( const char* firstCol, const char* secondCol )
mluis 0:92bca02df485 319 {
mluis 0:92bca02df485 320 vt.PutBoxDrawingChar( 'x' );
mluis 0:92bca02df485 321 vt.printf( "%s", firstCol );
mluis 0:92bca02df485 322 vt.PutBoxDrawingChar( 'x' );
mluis 0:92bca02df485 323 vt.printf( "%s", secondCol );
mluis 0:92bca02df485 324 vt.PutBoxDrawingChar( 'x' );
mluis 0:92bca02df485 325 vt.printf( "\r\n" );
mluis 0:92bca02df485 326 }
mluis 0:92bca02df485 327
mluis 0:92bca02df485 328 void SerialDisplayDrawBottomLine( void )
mluis 0:92bca02df485 329 {
mluis 0:92bca02df485 330 vt.PutBoxDrawingChar( 'm' );
mluis 0:92bca02df485 331 for( int8_t i = 0; i <= 11; i++ )
mluis 0:92bca02df485 332 {
mluis 0:92bca02df485 333 vt.PutBoxDrawingChar( 'q' );
mluis 0:92bca02df485 334 }
mluis 0:92bca02df485 335 vt.PutBoxDrawingChar( 'v' );
mluis 0:92bca02df485 336 for( int8_t i = 0; i <= 64; i++ )
mluis 0:92bca02df485 337 {
mluis 0:92bca02df485 338 vt.PutBoxDrawingChar( 'q' );
mluis 0:92bca02df485 339 }
mluis 0:92bca02df485 340 vt.PutBoxDrawingChar( 'j' );
mluis 0:92bca02df485 341 vt.printf( "\r\n" );
mluis 0:92bca02df485 342 }
mluis 0:92bca02df485 343
mluis 0:92bca02df485 344 void SerialDisplayInit( void )
mluis 0:92bca02df485 345 {
mluis 0:92bca02df485 346 vt.ClearScreen( 2 );
mluis 0:92bca02df485 347 vt.SetCursorMode( false );
mluis 0:92bca02df485 348 vt.SetCursorPos( 0, 0 );
mluis 0:92bca02df485 349
mluis 0:92bca02df485 350 // "+-----------------------------------------------------------------------------+" );
mluis 0:92bca02df485 351 SerialDisplayDrawFirstLine( );
mluis 0:92bca02df485 352 // "¦ LoRaWAN Demonstration Application ¦" );
mluis 0:92bca02df485 353 SerialDisplayDrawTitle( " LoRaWAN Demonstration Application " );
mluis 0:92bca02df485 354 // "+------------+----------------------------------------------------------------¦" );
mluis 0:92bca02df485 355 SerialDisplayDrawTopSeparator( );
mluis 0:92bca02df485 356 // "¦ Activation ¦ [ ]Over The Air ¦" );
mluis 0:92bca02df485 357 SerialDisplayDrawLine( " Activation ", " [ ]Over The Air " );
mluis 0:92bca02df485 358 // "¦ ¦ DevEui [__ __ __ __ __ __ __ __] ¦" );
mluis 0:92bca02df485 359 SerialDisplayDrawLine( " ", " DevEui [__ __ __ __ __ __ __ __] " );
mluis 0:92bca02df485 360 // "¦ ¦ AppEui [__ __ __ __ __ __ __ __] ¦" );
mluis 0:92bca02df485 361 SerialDisplayDrawLine( " ", " AppEui [__ __ __ __ __ __ __ __] " );
mluis 0:92bca02df485 362 // "¦ ¦ AppKey [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __] ¦" );
mluis 0:92bca02df485 363 SerialDisplayDrawLine( " ", " AppKey [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __] " );
mluis 0:92bca02df485 364 // "¦ +----------------------------------------------------------------¦" );
mluis 0:92bca02df485 365 SerialDisplayDrawColSeparator( );
mluis 0:92bca02df485 366 // "¦ ¦ [x]Personalisation ¦" );
mluis 0:92bca02df485 367 SerialDisplayDrawLine( " ", " [ ]Personalisation " );
mluis 0:92bca02df485 368 // "¦ ¦ NwkId [___] ¦" );
mluis 0:92bca02df485 369 SerialDisplayDrawLine( " ", " NwkId [___] " );
mluis 0:92bca02df485 370 // "¦ ¦ DevAddr [__ __ __ __] ¦" );
mluis 0:92bca02df485 371 SerialDisplayDrawLine( " ", " DevAddr [__ __ __ __] " );
mluis 0:92bca02df485 372 // "¦ ¦ NwkSKey [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __] ¦" );
mluis 0:92bca02df485 373 SerialDisplayDrawLine( " ", " NwkSKey [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __] " );
mluis 0:92bca02df485 374 // "¦ ¦ AppSKey [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __] ¦" );
mluis 0:92bca02df485 375 SerialDisplayDrawLine( " ", " AppSKey [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __] " );
mluis 0:92bca02df485 376 // "+------------+----------------------------------------------------------------¦" );
mluis 0:92bca02df485 377 SerialDisplayDrawSeparator( );
mluis 0:92bca02df485 378 // "¦ MAC params ¦ [ ]Confirmed / [ ]Unconfirmed ¦" );
mluis 0:92bca02df485 379 SerialDisplayDrawLine( " MAC params ", " [ ]Confirmed / [ ]Unconfirmed " );
mluis 0:92bca02df485 380 // "¦ ¦ ADR [ ] ¦" );
mluis 0:92bca02df485 381 SerialDisplayDrawLine( " ", " ADR [ ] " );
mluis 0:92bca02df485 382 // "¦ ¦ Duty cycle[ ] ¦" );
mluis 0:92bca02df485 383 SerialDisplayDrawLine( " ", " Duty cycle[ ] " );
mluis 0:92bca02df485 384 // "+------------+----------------------------------------------------------------¦" );
mluis 0:92bca02df485 385 SerialDisplayDrawSeparator( );
mluis 0:92bca02df485 386 // "¦ Network ¦ [ ]Public / [ ]Private ¦" );
mluis 0:92bca02df485 387 SerialDisplayDrawLine( " Network ", " [ ]Public / [ ]Private " );
mluis 0:92bca02df485 388 // "¦ ¦ [ ]Joining / [ ]Joined ¦" );
mluis 0:92bca02df485 389 SerialDisplayDrawLine( " ", " [ ]Joining / [ ]Joined " );
mluis 0:92bca02df485 390 // "+------------+----------------------------------------------------------------¦" );
mluis 0:92bca02df485 391 SerialDisplayDrawSeparator( );
mluis 0:92bca02df485 392 // "¦ LED status ¦ [ ]LED1(Tx) / [ ]LED2(Rx) / [ ]LED3(App) ¦" );
mluis 0:92bca02df485 393 SerialDisplayDrawLine( " LED status ", " [ ]LED1(Tx) / [ ]LED2(Rx) / [ ]LED3(App) " );
mluis 0:92bca02df485 394 // "+------------+----------------------------------------------------------------¦" );
mluis 0:92bca02df485 395 SerialDisplayDrawSeparator( );
mluis 0:92bca02df485 396 // "¦ Uplink ¦ Acked [ ] ¦" );
mluis 0:92bca02df485 397 SerialDisplayDrawLine( " Uplink ", " Acked [ ] " );
mluis 0:92bca02df485 398 // "¦ ¦ Datarate [ ] ¦" );
mluis 0:92bca02df485 399 SerialDisplayDrawLine( " ", " Datarate [ ] " );
mluis 0:92bca02df485 400 // "¦ ¦ Counter [ ] ¦" );
mluis 0:92bca02df485 401 SerialDisplayDrawLine( " ", " Counter [ ] " );
mluis 0:92bca02df485 402 // "¦ ¦ Port [ ] ¦" );
mluis 0:92bca02df485 403 SerialDisplayDrawLine( " ", " Port [ ] " );
mluis 0:92bca02df485 404 // "¦ ¦ Data [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ¦" );
mluis 0:92bca02df485 405 SerialDisplayDrawLine( " ", " Data [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ " );
mluis 0:92bca02df485 406 // "¦ ¦ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ¦" );
mluis 0:92bca02df485 407 SerialDisplayDrawLine( " ", " __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ " );
mluis 0:92bca02df485 408 // "¦ ¦ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ¦" );
mluis 0:92bca02df485 409 SerialDisplayDrawLine( " ", " __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ " );
mluis 0:92bca02df485 410 // "¦ ¦ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ¦" );
mluis 0:92bca02df485 411 SerialDisplayDrawLine( " ", " __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ " );
mluis 0:92bca02df485 412 // "+------------+----------------------------------------------------------------¦" );
mluis 0:92bca02df485 413 SerialDisplayDrawSeparator( );
mluis 0:92bca02df485 414 // "¦ Downlink ¦ RSSI [ ] dBm ¦" );
mluis 0:92bca02df485 415 SerialDisplayDrawLine( " Downlink ", " RSSI [ ] dBm " );
mluis 0:92bca02df485 416 // "¦ [ ]Data ¦ SNR [ ] dB ¦" );
mluis 0:92bca02df485 417 SerialDisplayDrawLine( " [ ]Data ", " SNR [ ] dB " );
mluis 0:92bca02df485 418 // "¦ ¦ Counter [ ] ¦" );
mluis 0:92bca02df485 419 // "¦ ¦ Counter [ ] ¦" );
mluis 0:92bca02df485 420 SerialDisplayDrawLine( " ", " Counter [ ] " );
mluis 0:92bca02df485 421 // "¦ ¦ Port [ ] ¦" );
mluis 0:92bca02df485 422 SerialDisplayDrawLine( " ", " Port [ ] " );
mluis 0:92bca02df485 423 // "¦ ¦ Data [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ¦" );
mluis 0:92bca02df485 424 SerialDisplayDrawLine( " ", " Data [__ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ " );
mluis 0:92bca02df485 425 // "¦ ¦ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ¦" );
mluis 0:92bca02df485 426 SerialDisplayDrawLine( " ", " __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ " );
mluis 0:92bca02df485 427 // "¦ ¦ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ¦" );
mluis 0:92bca02df485 428 SerialDisplayDrawLine( " ", " __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ " );
mluis 0:92bca02df485 429 // "¦ ¦ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ ¦" );
mluis 0:92bca02df485 430 SerialDisplayDrawLine( " ", " __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ " );
mluis 0:92bca02df485 431 // "+------------+----------------------------------------------------------------+" );
mluis 0:92bca02df485 432 SerialDisplayDrawBottomLine( );
mluis 0:92bca02df485 433 vt.printf( "To refresh screen please hit 'r' key.\r\n" );
mluis 0:92bca02df485 434 }
mluis 0:92bca02df485 435
mluis 0:92bca02df485 436 bool SerialDisplayReadable( void )
mluis 0:92bca02df485 437 {
mluis 0:92bca02df485 438 return vt.Readable( );
mluis 0:92bca02df485 439 }
mluis 0:92bca02df485 440
mluis 0:92bca02df485 441 uint8_t SerialDisplayGetChar( void )
mluis 0:92bca02df485 442 {
mluis 0:92bca02df485 443 return vt.GetChar( );
mluis 0:92bca02df485 444 }