@@ -225,6 +225,13 @@ const char *getCrcName(rps_t rps) {
225
225
return getNocrc (rps) ? " NoCrc" : " Crc" ;
226
226
}
227
227
228
+ void printHex2 (unsigned v) {
229
+ v &= 0xff ;
230
+ if (v < 16 )
231
+ Serial.print (' 0' );
232
+ Serial.print (v, HEX);
233
+ }
234
+
228
235
void printFreq (u4_t freq) {
229
236
Serial.print (F (" : freq=" ));
230
237
Serial.print (freq / 1000000 );
@@ -233,13 +240,13 @@ void printFreq(u4_t freq) {
233
240
}
234
241
235
242
void printRps (rps_t rps) {
236
- Serial.print (F (" rps=0x" )); Serial. print ( unsigned ( rps), HEX );
243
+ Serial.print (F (" rps=0x" )); printHex2 ( rps);
237
244
Serial.print (F (" (" )); Serial.print (getSfName (rps));
238
245
Serial.print (F (" " )); Serial.print (getBwName (rps));
239
246
Serial.print (F (" " )); Serial.print (getCrName (rps));
240
247
Serial.print (F (" " )); Serial.print (getCrcName (rps));
241
248
Serial.print (F (" IH=" )); Serial.print (unsigned (getIh (rps)));
242
- Serial.print (F ( " ) " ) );
249
+ Serial.print (' ) ' );
243
250
}
244
251
245
252
void printOpmode (uint16_t opmode, char sep = ' ,' ) {
@@ -261,28 +268,30 @@ void printDatarate(u1_t datarate) {
261
268
Serial.print (F (" , datarate=" )); Serial.print (unsigned (datarate));
262
269
}
263
270
264
- void printTxrxflags (u2_t txrxFlags) {
265
- Serial.print (F (" , txrxFlags=0x" )); Serial. print ( unsigned ( txrxFlags), HEX );
271
+ void printTxrxflags (u1_t txrxFlags) {
272
+ Serial.print (F (" , txrxFlags=0x" )); printHex2 ( txrxFlags);
266
273
if (txrxFlags & TXRX_ACK)
267
274
Serial.print (F (" ; Received ack" ));
268
275
}
269
276
270
277
void printSaveIrqFlags (u1_t saveIrqFlags) {
271
278
Serial.print (F (" , saveIrqFlags 0x" ));
272
- Serial. print ( unsigned ( saveIrqFlags), HEX );
279
+ printHex2 ( saveIrqFlags);
273
280
}
274
281
275
- // dump all the registers.
282
+ // dump all the registers. Must have printf setup.
276
283
void printAllRegisters (void ) {
277
284
uint8_t regbuf[0x80 ];
278
285
regbuf[0 ] = 0 ;
279
286
hal_spi_read (1 , regbuf + 1 , sizeof (regbuf) - 1 );
280
287
281
288
for (unsigned i = 0 ; i < sizeof (regbuf); ++i) {
282
289
if (i % 16 == 0 ) {
283
- printf (" \r\n %02x:" , i);
290
+ printNl ();
291
+ printHex2 (i);
284
292
}
285
- printf (" %s%02x" , ((i % 16 ) == 8 ) ? " - " : " " , regbuf[i]);
293
+ printHex2 (regbuf[i]);
294
+ Serial.print (((i % 16 ) == 8 ) ? F (" - " ) : F (" " ));
286
295
}
287
296
288
297
// reset the radio, just in case the register dump caused issues.
@@ -297,7 +306,7 @@ void printAllRegisters(void) {
297
306
}
298
307
299
308
void printNl (void ) {
300
- Serial.println (" " );
309
+ Serial.println ();
301
310
}
302
311
303
312
void eventPrint (cEventQueue::eventnode_t &e) {
@@ -322,7 +331,7 @@ void eventPrint(cEventQueue::eventnode_t &e) {
322
331
printTxChnl (e.txChnl );
323
332
printRps (e.rps );
324
333
printOpmode (e.opmode );
325
- printTxrxflags (e.opmode );
334
+ printTxrxflags (e.txrxFlags );
326
335
printSaveIrqFlags (e.saveIrqFlags );
327
336
printAllRegisters ();
328
337
} else {
@@ -360,15 +369,15 @@ void eventPrint(cEventQueue::eventnode_t &e) {
360
369
Serial.print (" artKey: " );
361
370
for (int i=0 ; i<sizeof (artKey); ++i) {
362
371
if (i != 0 )
363
- Serial.print (" -" );
364
- Serial. print (artKey[i], HEX );
372
+ Serial.print (" -" );
373
+ printHex2 (artKey[i]);
365
374
}
366
375
Serial.println (" " );
367
376
Serial.print (" nwkKey: " );
368
377
for (int i=0 ; i<sizeof (nwkKey); ++i) {
369
378
if (i != 0 )
370
379
Serial.print (" -" );
371
- Serial. print (nwkKey[i], HEX );
380
+ printHex2 (nwkKey[i]);
372
381
}
373
382
} while (0 );
374
383
break ;
@@ -503,7 +512,7 @@ void myRxMessageCb(
503
512
if (port == LORAWAN_PORT_COMPLIANCE) {
504
513
Serial.print (F (" Received test packet 0x" ));
505
514
if (nMessage > 0 )
506
- Serial. print (pMessage[0 ], HEX );
515
+ printHex2 (pMessage[0 ]);
507
516
Serial.print (F (" length " ));
508
517
Serial.println ((unsigned ) nMessage);
509
518
}
@@ -607,14 +616,11 @@ void setup() {
607
616
do_send (&sendjob);
608
617
}
609
618
610
- void setup_printSignOnDashes (void )
619
+ void setup_printSignOnDashLine (void )
611
620
{
612
- Serial.print (F (" ------------------------------------" ));
613
- }
614
- void setup_printSignOnDashLine ()
615
- {
616
- setup_printSignOnDashes ();
617
- setup_printSignOnDashes ();
621
+ for (unsigned i = 0 ; i < 78 ; ++i)
622
+ Serial.print (' -' );
623
+
618
624
printNl ();
619
625
}
620
626
@@ -656,7 +662,7 @@ void setup_printSignOn()
656
662
printVersion (ARDUINO_LMIC_VERSION);
657
663
Serial.print (F (" configured for region " ));
658
664
Serial.print (CFG_region);
659
- Serial.println (F ( " . " ) );
665
+ Serial.println (' . ' );
660
666
Serial.println (F (" Remember to select 'Line Ending: Newline' at the bottom of the monitor window." ));
661
667
662
668
setup_printSignOnDashLine ();
0 commit comments