Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SF10 for USA stack #80

Open
DylanGWork opened this issue Sep 2, 2024 · 0 comments
Open

SF10 for USA stack #80

DylanGWork opened this issue Sep 2, 2024 · 0 comments

Comments

@DylanGWork
Copy link

DylanGWork commented Sep 2, 2024

Hi all,

I've started making firmware for the USA but I noticed it was staying on SF9 even if I tried to force it to SF10 using the LNS ADR.
It doesn't seem to change to SF10?
I then changed this line to DR0:

#define LMICbandplan_getInitialDrJoin() (LORAWAN_DR1) // Was DR0, reduced to DR1 due to packet sizes

I get this error:
E (3134) ttn_hal: LMIC failed and stopped: ../components/esp32/src/lmic/radio.c:458

I've also changed these:
As usual I just needed to make a post to find the issue, I uncommented this line for oversized packets and will make sure I don't send oversized packets:

// Frequency plan for US 915MHz ISM band
// data rates
enum _dr_us915_t {
        US915_DR_SF10 = 0, //Removed for oversized packets
        US915_DR_SF9,
        US915_DR_SF8,
        US915_DR_SF7,
        US915_DR_SF8C,
        US915_DR_NONE,
        // Devices "behind a router" (and upper half of DR list):
        US915_DR_SF12CR = 8,
        US915_DR_SF11CR,
        US915_DR_SF10CR,
        US915_DR_SF9CR,
        US915_DR_SF8CR,
        US915_DR_SF7CR
};
and here:
# if LMIC_DR_LEGACY
enum _dr_configured_t {
        DR_SF10   = US915_DR_SF10, //Removed due to oversized packets
        DR_SF9    = US915_DR_SF9,
        DR_SF8    = US915_DR_SF8,
        DR_SF7    = US915_DR_SF7,
        DR_SF8C   = US915_DR_SF8C,
        DR_NONE   = US915_DR_NONE,
        DR_SF12CR = US915_DR_SF12CR,
        DR_SF11CR = US915_DR_SF11CR,
        DR_SF10CR = US915_DR_SF10CR,
        DR_SF9CR  = US915_DR_SF9CR,
        DR_SF8CR  = US915_DR_SF8CR,
        DR_SF7CR  = US915_DR_SF7CR
};

I get the same error.

I also forced it to SF10 during normal packet transmission and it gets the same error.
This seems to be related to packet size, but SF10 is meant to work in USA for packets under 11 bytes?

What am I missing here? I'm hoping its something simple.

Found it, it was here (I remember finding this years ago now that I see it...):

CONST_TABLE(u1_t, _DR2RPS_CRC)[] = {
        ILLEGAL_RPS,				// [-1]
        ILLEGAL_RPS, //MAKERPS(SF10, BW125, CR_4_5, 0, 0),	// [0]  MAKERPS(SF10, BW125, CR_4_5, 0, 0)
        MAKERPS(SF9 , BW125, CR_4_5, 0, 0),	// [1]
        MAKERPS(SF8 , BW125, CR_4_5, 0, 0),	// [2]
        MAKERPS(SF7 , BW125, CR_4_5, 0, 0),	// [3]
        MAKERPS(SF8 , BW500, CR_4_5, 0, 0),	// [4]
        ILLEGAL_RPS ,				// [5]
        ILLEGAL_RPS ,				// [6]
        ILLEGAL_RPS ,				// [7]
        MAKERPS(SF12, BW500, CR_4_5, 0, 0),	// [8]
        MAKERPS(SF11, BW500, CR_4_5, 0, 0),	// [9]
        MAKERPS(SF10, BW500, CR_4_5, 0, 0),	// [10]
        MAKERPS(SF9 , BW500, CR_4_5, 0, 0),	// [11]
        MAKERPS(SF8 , BW500, CR_4_5, 0, 0),	// [12]
        MAKERPS(SF7 , BW500, CR_4_5, 0, 0),	// [13]
        ILLEGAL_RPS				// [14]
};
Change to:
CONST_TABLE(u1_t, _DR2RPS_CRC)[] = {
        ILLEGAL_RPS,				// [-1]
        MAKERPS(SF10, BW125, CR_4_5, 0, 0),	// [0]  MAKERPS(SF10, BW125, CR_4_5, 0, 0) //CHANGE HERE
        MAKERPS(SF9 , BW125, CR_4_5, 0, 0),	// [1]
        MAKERPS(SF8 , BW125, CR_4_5, 0, 0),	// [2]
        MAKERPS(SF7 , BW125, CR_4_5, 0, 0),	// [3]
        MAKERPS(SF8 , BW500, CR_4_5, 0, 0),	// [4]
        ILLEGAL_RPS ,				// [5]
        ILLEGAL_RPS ,				// [6]
        ILLEGAL_RPS ,				// [7]
        MAKERPS(SF12, BW500, CR_4_5, 0, 0),	// [8]
        MAKERPS(SF11, BW500, CR_4_5, 0, 0),	// [9]
        MAKERPS(SF10, BW500, CR_4_5, 0, 0),	// [10]
        MAKERPS(SF9 , BW500, CR_4_5, 0, 0),	// [11]
        MAKERPS(SF8 , BW500, CR_4_5, 0, 0),	// [12]
        MAKERPS(SF7 , BW500, CR_4_5, 0, 0),	// [13]
        ILLEGAL_RPS				// [14]
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant