Browse Source

Serial USB auf Serial1 verlagert

master
Ralf Behrens 4 years ago
parent
commit
b4d39c40bf
  1. 116
      src/main.cpp

116
src/main.cpp

@ -123,15 +123,15 @@ const lmic_pinmap lmic_pins = { @@ -123,15 +123,15 @@ const lmic_pinmap lmic_pins = {
void printHex2(unsigned v) {
v &= 0xff;
if (v < 16)
Serial.print('0');
Serial.print(v, HEX);
Serial1.print('0');
Serial1.print(v, HEX);
}
void do_send(__attribute__((unused)) osjob_t *j) {
// Check if there is not a current TX/RX job running
if (LMIC.opmode & OP_TXRXPEND) {
Serial.println(F("OP_TXRXPEND, not sending"));
Serial1.println(F("OP_TXRXPEND, not sending"));
} else {
// Prepare upstream data transmission at the next possible time.
MessenSensoren();
@ -140,56 +140,56 @@ void do_send(__attribute__((unused)) osjob_t *j) { @@ -140,56 +140,56 @@ void do_send(__attribute__((unused)) osjob_t *j) {
LMIC_setDrTxpow(DR_SF7, 10);
LMIC_setTxData2(1, buffer, size, 0);
Serial.println(F("Packet queued"));
Serial1.println(F("Packet queued"));
}
// Next TX is scheduled after TX_COMPLETE event.
}
void onEvent(ev_t ev) {
Serial.print(os_getTime());
Serial.print(": ");
Serial1.print(os_getTime());
Serial1.print(": ");
switch (ev) {
case EV_SCAN_TIMEOUT:
Serial.println(F("EV_SCAN_TIMEOUT"));
Serial1.println(F("EV_SCAN_TIMEOUT"));
break;
case EV_BEACON_FOUND:
Serial.println(F("EV_BEACON_FOUND"));
Serial1.println(F("EV_BEACON_FOUND"));
break;
case EV_BEACON_MISSED:
Serial.println(F("EV_BEACON_MISSED"));
Serial1.println(F("EV_BEACON_MISSED"));
break;
case EV_BEACON_TRACKED:
Serial.println(F("EV_BEACON_TRACKED"));
Serial1.println(F("EV_BEACON_TRACKED"));
break;
case EV_JOINING:
Serial.println(F("EV_JOINING"));
Serial1.println(F("EV_JOINING"));
break;
case EV_JOINED:
Serial.println(F("EV_JOINED"));
Serial1.println(F("EV_JOINED"));
{
u4_t netid = 0;
devaddr_t devaddr = 0;
u1_t nwkKey[16];
u1_t artKey[16];
LMIC_getSessionKeys(&netid, &devaddr, nwkKey, artKey);
Serial.print("netid: ");
Serial.println(netid, DEC);
Serial.print("devaddr: ");
Serial.println(devaddr, HEX);
Serial.print("AppSKey: ");
Serial1.print("netid: ");
Serial1.println(netid, DEC);
Serial1.print("devaddr: ");
Serial1.println(devaddr, HEX);
Serial1.print("AppSKey: ");
for (size_t i = 0; i < sizeof(artKey); ++i) {
if (i != 0)
Serial.print("-");
Serial1.print("-");
printHex2(artKey[i]);
}
Serial.println("");
Serial.print("NwkSKey: ");
Serial1.println("");
Serial1.print("NwkSKey: ");
for (size_t i = 0; i < sizeof(nwkKey); ++i) {
if (i != 0)
Serial.print("-");
Serial1.print("-");
printHex2(nwkKey[i]);
}
Serial.println();
Serial1.println();
}
// Disable link check validation (automatically enabled
// during join, but because slow data rates change max TX
@ -201,95 +201,99 @@ void onEvent(ev_t ev) { @@ -201,95 +201,99 @@ void onEvent(ev_t ev) {
|| point in wasting codespace on it.
||
|| case EV_RFU1:
|| Serial.println(F("EV_RFU1"));
|| Serial1.println(F("EV_RFU1"));
|| break;
*/
case EV_JOIN_FAILED:
Serial.println(F("EV_JOIN_FAILED"));
Serial1.println(F("EV_JOIN_FAILED"));
break;
case EV_REJOIN_FAILED:
Serial.println(F("EV_REJOIN_FAILED"));
Serial1.println(F("EV_REJOIN_FAILED"));
break;
case EV_TXCOMPLETE:
Serial.println(F("EV_TXCOMPLETE (includes waiting for RX windows)"));
Serial1.println(F("EV_TXCOMPLETE (includes waiting for RX windows)"));
if (LMIC.txrxFlags & TXRX_ACK)
Serial.println(F("Received ack"));
Serial1.println(F("Received ack"));
if (LMIC.dataLen) {
Serial.print(F("Received "));
Serial.print(LMIC.dataLen);
Serial.print(F(" bytes of payload: "));
Serial1.print(F("Received "));
Serial1.print(LMIC.dataLen);
Serial1.print(F(" bytes of payload: "));
for (int i = 0; i < LMIC.dataLen; i++) {
if (LMIC.frame[LMIC.dataBeg + i] < 0x10) { Serial.print(F("0")); }
Serial.print(LMIC.frame[LMIC.dataBeg + i], HEX);
Serial.print(F(" "));
if (LMIC.frame[LMIC.dataBeg + i] < 0x10) { Serial1.print(F("0")); }
Serial1.print(LMIC.frame[LMIC.dataBeg + i], HEX);
Serial1.print(F(" "));
}
Serial.println(F(""));
Serial1.println(F(""));
}
// Schedule next transmission
os_setTimedCallback(&sendjob, os_getTime() + sec2osticks(TX_INTERVAL), do_send);
Serial.println(F("vor sleep"));
Serial.flush();
/*
Serial1.println(F("vor sleep"));
Serial1.flush();
LowPower.sleep(1000);
Serial.println(F("wieder aufgewacht")); // => er wacht nicht wieder auf
Serial1.println(F("wieder aufgewacht")); // => er wacht nicht wieder auf
*/
break;
case EV_LOST_TSYNC:
Serial.println(F("EV_LOST_TSYNC"));
Serial1.println(F("EV_LOST_TSYNC"));
break;
case EV_RESET:
Serial.println(F("EV_RESET"));
Serial1.println(F("EV_RESET"));
break;
case EV_RXCOMPLETE:
// data received in ping slot
Serial.println(F("EV_RXCOMPLETE"));
Serial1.println(F("EV_RXCOMPLETE"));
break;
case EV_LINK_DEAD:
Serial.println(F("EV_LINK_DEAD"));
Serial1.println(F("EV_LINK_DEAD"));
break;
case EV_LINK_ALIVE:
Serial.println(F("EV_LINK_ALIVE"));
Serial1.println(F("EV_LINK_ALIVE"));
break;
/*
|| This event is defined but not used in the code. No
|| point in wasting codespace on it.
||
|| case EV_SCAN_FOUND:
|| Serial.println(F("EV_SCAN_FOUND"));
|| Serial1.println(F("EV_SCAN_FOUND"));
|| break;
*/
case EV_TXSTART:
Serial.println(F("EV_TXSTART"));
Serial1.println(F("EV_TXSTART"));
break;
case EV_TXCANCELED:
Serial.println(F("EV_TXCANCELED"));
Serial1.println(F("EV_TXCANCELED"));
break;
case EV_RXSTART:
/* do not print anything -- it wrecks timing */
break;
case EV_JOIN_TXCOMPLETE:
Serial.println(F("EV_JOIN_TXCOMPLETE: no JoinAccept"));
Serial1.println(F("EV_JOIN_TXCOMPLETE: no JoinAccept"));
break;
default:
Serial.print(F("Unknown event: "));
Serial.println((unsigned) ev);
Serial1.print(F("Unknown event: "));
Serial1.println((unsigned) ev);
break;
}
}
void setup() {
delay(5000);
//delay(5000);
//while (!Serial);
Serial.begin(19200);
Serial.println(F("Starting 1.04"));
// usb auschalten
USBDevice.detach();
Serial1.begin(19200);
Serial1.println(F("Starting 1.04"));
#ifdef __SAMD21G18A__
Serial.println(F("SAMD21G18A ARM Cortex-M0+ detected"));
Serial1.println(F("SAMD21G18A ARM Cortex-M0+ detected"));
#endif
#ifdef ARDUINO_SAMD_FEATHER_M0
Serial.println(F("defined for Feather M0 Board"));
Serial1.println(F("defined for Feather M0 Board"));
#endif
init_Messen();
@ -298,7 +302,7 @@ void setup() { @@ -298,7 +302,7 @@ void setup() {
#ifdef CFG_eu868
Serial.println(F("Using EU868"));
Serial1.println(F("Using EU868"));
#endif

Loading…
Cancel
Save