C++ Wrapper around the IBM LMiC LoRaWAN implementation
Diff: Node.cpp
- Revision:
- 10:9bf05e9b4cde
- Parent:
- 9:cfe697b53d71
--- a/Node.cpp Sun Oct 16 09:57:58 2016 +0200
+++ b/Node.cpp Tue Nov 22 20:43:03 2016 +0100
@@ -37,8 +37,14 @@
namespace SimpleLoRaWAN
{
-Node::Node()
+Node::Node():rfm95wReset(p15)
{
+#ifdef RFM95_RESET_CONNECTED
+ rfm95wReset = 0;
+ wait_ms(10);
+ rfm95wReset = 1;
+ wait_ms(10);
+#endif
init();
}
@@ -53,12 +59,17 @@
// reset MAC state
LMIC_reset();
- LMIC_setDrTxpow(DR_SF7, 14);
+ setSpreadFactor(DR_SF7);
}
void Node::send(char* data, int size)
{
+ send((uint8_t*) data, size);
+}
+
+void Node::send(uint8_t* data, int size)
+{
memcpy (LMIC.frame, data, size);
LMIC_setTxData2(15, LMIC.frame, size, 0);
}
@@ -100,5 +111,10 @@
LMIC_setLinkCheckMode(state);
}
+void Node::setSpreadFactor(int spreadfactor)
+{
+ LMIC_setDrTxpow(spreadfactor, 14);
+}
+
} /* namespace SimpleLoRaWAN */