Skip to content

Commit 3a01327

Browse files
Merge pull request #233 from akshaim/master
Support for IN865_867
2 parents 98485a4 + 4d5054b commit 3a01327

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

src/TheThingsNetwork.cpp

100755100644
+35
Original file line numberDiff line numberDiff line change
@@ -773,6 +773,37 @@ void TheThingsNetwork::configureKR920_923()
773773
sendMacSet(MAC_PWRIDX, TTN_PWRIDX_KR920_923);
774774
}
775775

776+
void TheThingsNetwork::configureIN865_867()
777+
{
778+
sendMacSet(MAC_ADR, "off"); // TODO: remove when ADR is implemented for this plan
779+
sendMacSet(MAC_RX2, "2 866550000"); // SF10
780+
781+
// Disable the three default LoRaWAN channels
782+
sendChSet(MAC_CHANNEL_STATUS, 0, "off");
783+
sendChSet(MAC_CHANNEL_STATUS, 1, "off");
784+
sendChSet(MAC_CHANNEL_STATUS, 2, "off");
785+
786+
// Channel 3
787+
sendChSet(MAC_CHANNEL_DCYCLE, 3, "299");
788+
sendChSet(MAC_CHANNEL_FREQ, 3, "865062500");
789+
sendChSet(MAC_CHANNEL_DRRANGE, 3, "0 5");
790+
sendChSet(MAC_CHANNEL_STATUS, 3, "on");
791+
792+
// Channel 4
793+
sendChSet(MAC_CHANNEL_DCYCLE, 4, "299");
794+
sendChSet(MAC_CHANNEL_FREQ, 4, "865402500");
795+
sendChSet(MAC_CHANNEL_DRRANGE, 4, "0 5");
796+
sendChSet(MAC_CHANNEL_STATUS, 4, "on");
797+
798+
// Channel 5
799+
sendChSet(MAC_CHANNEL_DCYCLE, 5, "299");
800+
sendChSet(MAC_CHANNEL_FREQ, 5, "865985000");
801+
sendChSet(MAC_CHANNEL_DRRANGE, 5, "0 5");
802+
sendChSet(MAC_CHANNEL_STATUS, 5, "on");
803+
804+
sendMacSet(MAC_PWRIDX, TTN_PWRIDX_IN865_867);
805+
}
806+
776807
void TheThingsNetwork::configureChannels(uint8_t fsb)
777808
{
778809
switch (fp)
@@ -795,6 +826,9 @@ void TheThingsNetwork::configureChannels(uint8_t fsb)
795826
case TTN_FP_KR920_923:
796827
configureKR920_923();
797828
break;
829+
case TTN_FP_IN865_867:
830+
configureIN865_867();
831+
break;
798832
default:
799833
debugPrintMessage(ERR_MESSAGE, ERR_INVALID_FP);
800834
break;
@@ -808,6 +842,7 @@ bool TheThingsNetwork::setSF(uint8_t sf)
808842
switch (fp)
809843
{
810844
case TTN_FP_EU868:
845+
case TTN_FP_IN865_867:
811846
case TTN_FP_AS920_923:
812847
case TTN_FP_AS923_925:
813848
case TTN_FP_KR920_923:

src/TheThingsNetwork.h

100755100644
+4-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#define TTN_PWRIDX_AS920_923 "1" // TODO: should be 0, but the current RN2903AS firmware doesn't accept that value (probably still using EU868: 1=14dBm)
1919
#define TTN_PWRIDX_AS923_925 "1" // TODO: should be 0
2020
#define TTN_PWRIDX_KR920_923 "1" // TODO: should be 0
21+
#define TTN_PWRIDX_IN865_867 "1" // TODO: should be 0
2122

2223
#define TTN_BUFFER_SIZE 300
2324

@@ -38,7 +39,8 @@ enum ttn_fp_t
3839
TTN_FP_AU915,
3940
TTN_FP_AS920_923,
4041
TTN_FP_AS923_925,
41-
TTN_FP_KR920_923
42+
TTN_FP_KR920_923,
43+
TTN_FP_IN865_867
4244
};
4345

4446
class TheThingsNetwork
@@ -69,6 +71,7 @@ class TheThingsNetwork
6971
void configureAS920_923();
7072
void configureAS923_925();
7173
void configureKR920_923();
74+
void configureIN865_867();
7275
void configureChannels(uint8_t fsb);
7376
bool setSF(uint8_t sf);
7477
bool waitForOk();

0 commit comments

Comments
 (0)