Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of lmic_MOTE_L152RC by
Diff: radio.cpp
- Revision:
- 2:edb5d1f3deeb
- Parent:
- 0:f2716e543d97
- Child:
- 3:d87012f45bf6
--- a/radio.cpp Wed Jun 03 23:17:59 2015 +0000 +++ b/radio.cpp Thu Jun 04 20:00:55 2015 +0000 @@ -10,6 +10,7 @@ *******************************************************************************/ #include "lmic.h" +#include "debug.h" // wbr // ---------------------------------------- // Registers Mapping @@ -414,15 +415,25 @@ #elif defined(CFG_sx1272_radio) // set PA config (2-17 dBm using PA_BOOST) s1_t pw = (s1_t)LMIC.txpow; - if(pw > 17) { + /*if(pw > 17) { pw = 17; } else if(pw < 2) { pw = 2; + }*/ + /* NA-mote TX power config: */ + if (pw > 23) { + // use RFO with external amplifier + PaSelect = 0x00; // use RFO + writeReg(RegPaConfig, (u1_t)(PaSelect|(pw-25))); + } else { + // use PA_BOOST directo to antenna + PaSelect = 0x80; // use PA_BOOST + if (pw > 17) + pw = 17; + writeReg(RegPaConfig, (u1_t)(PaSelect|(pw-2))); } - PaSelect = 0x80; // use PA_BOOST - //PaSelect = 0x00; // use RFO for external amplifier - writeReg(RegPaConfig, (u1_t)(PaSelect|(pw-2))); + #else #error Missing CFG_sx1272_radio/CFG_sx1276_radio #endif /* CFG_sx1272_radio */ @@ -465,7 +476,7 @@ writeBuf(RegFifo, LMIC.frame, LMIC.dataLen); // enable antenna switch for TX - //hal_pin_rxtx(1); + //hal_pin_rxtx(1); usint hal_opmode // now we actually start the transmission opmode(OPMODE_TX); @@ -505,7 +516,7 @@ writeBuf(RegFifo, LMIC.frame, LMIC.dataLen); // enable antenna switch for TX - //hal_pin_rxtx(1); + //hal_pin_rxtx(1); using hal_opmode // now we actually start the transmission opmode(OPMODE_TX); @@ -567,7 +578,7 @@ writeReg(LORARegIrqFlagsMask, ~rxlorairqmask[rxmode]); // enable antenna switch for RX - //hal_pin_rxtx(0); + //hal_pin_rxtx(0); using hal_opmode // now instruct the radio to receive if (rxmode == RXMODE_SINGLE) { // single rx @@ -622,7 +633,7 @@ writeReg(RegDioMapping1, MAP_DIO0_FSK_READY|MAP_DIO1_FSK_NOP|MAP_DIO2_FSK_TIMEOUT); // enable antenna switch for RX - //hal_pin_rxtx(0); + //hal_pin_rxtx(0); using hal_opmode // now instruct the radio to receive hal_waitUntil(LMIC.rxtime); // busy wait until exact rx time