hello world
Fork of lmic_MOTE_L152RC by
Diff: lmic.cpp
- Revision:
- 10:6c0830baf10f
- Parent:
- 9:83ae7f34e88c
--- a/lmic.cpp Mon Nov 16 23:52:45 2015 +0000 +++ b/lmic.cpp Fri Dec 04 01:05:11 2015 +0000 @@ -861,7 +861,7 @@ if( LMIC.datarate >= DR_SF8C ) { // 500kHz #ifdef CHNL_HYBRID - LMIC.txChnl = 1 << CHNL_HYBRID; // only one channel possible + LMIC.txChnl = CHNL_HYBRID + 64; // only one channel possible #else en_cnt = count_bits(LMIC.channelMap[4]); do { @@ -942,7 +942,7 @@ setDrJoin(DRCHG_SET, DR_SF7); } -static ostime_t nextJoinState (void) { +static ostime_t nextJoinState (void) { // us915 u1_t failed = 0; #if 0 @@ -967,11 +967,16 @@ if( LMIC.datarate == DR_SF8C ) { // attempted 500khz channel, try 125khz channel in next block LMIC.datarate = DR_SF10; +#ifdef JOIN_SINGLE_CHANNEL_BLOCK + if (++LMIC.joinBlockChnl == 8) + LMIC.joinBlockChnl = 0; +#else if (++LMIC.joinBlock == 8) { LMIC.joinBlock = 0; if (++LMIC.joinBlockChnl == 8) LMIC.joinBlockChnl = 0; } +#endif /* !JOIN_SINGLE_CHANNEL_BLOCK */ LMIC.txChnl = (LMIC.joinBlock << 3) + LMIC.joinBlockChnl; } else { // attempted 125khz channel, try 500khz channel @@ -1385,7 +1390,8 @@ static void schedRx2 (ostime_t delay, osjobcb_t func) { // Add 1.5 symbols we need 5 out of 8. Try to sync 1.5 symbols into the preamble. - LMIC.rxtime = LMIC.txend + delay + (PAMBL_SYMS-MINRX_SYMS)*dr2hsym(LMIC.dn2Dr); + LMIC.rxtime = LMIC.txend + delay + /* PAMBL_SYMS-MINRX_SYMS)* */ dr2hsym(LMIC.dn2Dr); + LMIC.rxtime -= us2osticks(4); os_setTimedCallback(&LMIC.osjob, LMIC.rxtime - RX_RAMPUP, func); } @@ -1418,7 +1424,7 @@ else #endif { - LMIC.rxtime = LMIC.txend + delay + (PAMBL_SYMS-MINRX_SYMS)*dr2hsym(LMIC.dndr); + LMIC.rxtime = LMIC.txend + delay + (PAMBL_SYMS-MINRX_SYMS) * dr2hsym(LMIC.dndr); LMIC.rxsyms = MINRX_SYMS; } os_setTimedCallback(&LMIC.osjob, LMIC.rxtime - RX_RAMPUP, func);