Skip to content

Commit 624d2d8

Browse files
committed
Bug #386: slim down the compliance test for AVR
1 parent 5cc5262 commit 624d2d8

File tree

1 file changed

+28
-22
lines changed

1 file changed

+28
-22
lines changed

examples/compliance-otaa-halconfig/compliance-otaa-halconfig.ino

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,13 @@ const char *getCrcName(rps_t rps) {
225225
return getNocrc(rps) ? "NoCrc" : "Crc";
226226
}
227227

228+
void printHex2(unsigned v) {
229+
v &= 0xff;
230+
if (v < 16)
231+
Serial.print('0');
232+
Serial.print(v, HEX);
233+
}
234+
228235
void printFreq(u4_t freq) {
229236
Serial.print(F(": freq="));
230237
Serial.print(freq / 1000000);
@@ -233,13 +240,13 @@ void printFreq(u4_t freq) {
233240
}
234241

235242
void printRps(rps_t rps) {
236-
Serial.print(F(" rps=0x")); Serial.print(unsigned(rps), HEX);
243+
Serial.print(F(" rps=0x")); printHex2(rps);
237244
Serial.print(F(" (")); Serial.print(getSfName(rps));
238245
Serial.print(F(" ")); Serial.print(getBwName(rps));
239246
Serial.print(F(" ")); Serial.print(getCrName(rps));
240247
Serial.print(F(" ")); Serial.print(getCrcName(rps));
241248
Serial.print(F(" IH=")); Serial.print(unsigned(getIh(rps)));
242-
Serial.print(F(")"));
249+
Serial.print(')');
243250
}
244251

245252
void printOpmode(uint16_t opmode, char sep = ',') {
@@ -261,28 +268,30 @@ void printDatarate(u1_t datarate) {
261268
Serial.print(F(", datarate=")); Serial.print(unsigned(datarate));
262269
}
263270

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);
266273
if (txrxFlags & TXRX_ACK)
267274
Serial.print(F("; Received ack"));
268275
}
269276

270277
void printSaveIrqFlags(u1_t saveIrqFlags) {
271278
Serial.print(F(", saveIrqFlags 0x"));
272-
Serial.print(unsigned(saveIrqFlags), HEX);
279+
printHex2(saveIrqFlags);
273280
}
274281

275-
// dump all the registers.
282+
// dump all the registers. Must have printf setup.
276283
void printAllRegisters(void) {
277284
uint8_t regbuf[0x80];
278285
regbuf[0] = 0;
279286
hal_spi_read(1, regbuf + 1, sizeof(regbuf) - 1);
280287

281288
for (unsigned i = 0; i < sizeof(regbuf); ++i) {
282289
if (i % 16 == 0) {
283-
printf("\r\n%02x:", i);
290+
printNl();
291+
printHex2(i);
284292
}
285-
printf("%s%02x", ((i % 16) == 8) ? " - " : " ", regbuf[i]);
293+
printHex2(regbuf[i]);
294+
Serial.print(((i % 16) == 8) ? F(" - ") : F(" "));
286295
}
287296

288297
// reset the radio, just in case the register dump caused issues.
@@ -297,7 +306,7 @@ void printAllRegisters(void) {
297306
}
298307

299308
void printNl(void) {
300-
Serial.println("");
309+
Serial.println();
301310
}
302311

303312
void eventPrint(cEventQueue::eventnode_t &e) {
@@ -322,7 +331,7 @@ void eventPrint(cEventQueue::eventnode_t &e) {
322331
printTxChnl(e.txChnl);
323332
printRps(e.rps);
324333
printOpmode(e.opmode);
325-
printTxrxflags(e.opmode);
334+
printTxrxflags(e.txrxFlags);
326335
printSaveIrqFlags(e.saveIrqFlags);
327336
printAllRegisters();
328337
} else {
@@ -360,15 +369,15 @@ void eventPrint(cEventQueue::eventnode_t &e) {
360369
Serial.print("artKey: ");
361370
for (int i=0; i<sizeof(artKey); ++i) {
362371
if (i != 0)
363-
Serial.print("-");
364-
Serial.print(artKey[i], HEX);
372+
Serial.print("-");
373+
printHex2(artKey[i]);
365374
}
366375
Serial.println("");
367376
Serial.print("nwkKey: ");
368377
for (int i=0; i<sizeof(nwkKey); ++i) {
369378
if (i != 0)
370379
Serial.print("-");
371-
Serial.print(nwkKey[i], HEX);
380+
printHex2(nwkKey[i]);
372381
}
373382
} while (0);
374383
break;
@@ -503,7 +512,7 @@ void myRxMessageCb(
503512
if (port == LORAWAN_PORT_COMPLIANCE) {
504513
Serial.print(F("Received test packet 0x"));
505514
if (nMessage > 0)
506-
Serial.print(pMessage[0], HEX);
515+
printHex2(pMessage[0]);
507516
Serial.print(F(" length "));
508517
Serial.println((unsigned) nMessage);
509518
}
@@ -607,14 +616,11 @@ void setup() {
607616
do_send(&sendjob);
608617
}
609618

610-
void setup_printSignOnDashes(void)
619+
void setup_printSignOnDashLine(void)
611620
{
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+
618624
printNl();
619625
}
620626

@@ -656,7 +662,7 @@ void setup_printSignOn()
656662
printVersion(ARDUINO_LMIC_VERSION);
657663
Serial.print(F(" configured for region "));
658664
Serial.print(CFG_region);
659-
Serial.println(F("."));
665+
Serial.println('.');
660666
Serial.println(F("Remember to select 'Line Ending: Newline' at the bottom of the monitor window."));
661667

662668
setup_printSignOnDashLine();

0 commit comments

Comments
 (0)