Enabled all bandwidths, added Modtronix inAir9 module
Dependents: SX1276PingPong_modtronix
Fork of SX1276Lib by
Revision 25:72381be1b0ce, committed 2015-07-29
- Comitter:
- modtronix
- Date:
- Wed Jul 29 12:07:40 2015 +1000
- Parent:
- 24:1346d1c71c40
- Commit message:
- Removed DIO4 and DIO5 from code. Not available on inAir Modules.
Changed in this revision
--- a/SX1276LibConfig.h Fri Jul 24 21:35:37 2015 +1000 +++ b/SX1276LibConfig.h Wed Jul 29 12:07:40 2015 +1000 @@ -7,7 +7,7 @@ //Use the SHD3I shield, with the BOARD_INAIR4 module assembled in iMod port 3. The following pins are used: //SCLK=D13, MISO=D12, MOSI=D11 -//DIO0=D2, DIO1=D8, DIO2=D4, DIO3=A4, DIO5=D3 DIO4=Not Used +//DIO0=D2, DIO1=D8, DIO2=D4, DIO3=A4, DIO5=Not Used DIO4=Not Used //NSS(CS)=D7, Reset=A5 #ifndef SHIELD_SHD3I_INAIR9 #define SHIELD_SHD3I_INAIR9
--- a/enums/enums.h Fri Jul 24 21:35:37 2015 +1000 +++ b/enums/enums.h Wed Jul 29 12:07:40 2015 +1000 @@ -27,12 +27,15 @@ LOWPOWER = 0, IDLE, - RX, + INIT, + + RX_DONE, RX_TIMEOUT, RX_ERROR, - TX, + TX_DONE, TX_TIMEOUT, + TX_MESSAGE, CAD, CAD_DONE
--- a/sx1276/sx1276-inAir.cpp Fri Jul 24 21:35:37 2015 +1000 +++ b/sx1276/sx1276-inAir.cpp Wed Jul 29 12:07:40 2015 +1000 @@ -31,9 +31,9 @@ SX1276inAir::SX1276inAir( void ( *txDone )( ), void ( *txTimeout ) ( ), void ( *rxDone ) ( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ), void ( *rxTimeout ) ( ), void ( *rxError ) ( ), void ( *fhssChangeChannel ) ( uint8_t channelIndex ), void ( *cadDone ) ( bool ChannelActivityDetected ), PinName mosi, PinName miso, PinName sclk, PinName nss, PinName reset, - PinName dio0, PinName dio1, PinName dio2, PinName dio3, PinName dio4, PinName dio5, + PinName dio0, PinName dio1, PinName dio2, PinName dio3, /*PinName dio4, PinName dio5,*/ PinName antSwitch ) - : SX1276( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone, mosi, miso, sclk, nss, reset, dio0, dio1, dio2, dio3, dio4, dio5), + : SX1276( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone, mosi, miso, sclk, nss, reset, dio0, dio1, dio2, dio3/*, dio4, dio5*/), antSwitch( NC ), fake( NC ) { @@ -62,21 +62,21 @@ #if( (defined (TARGET_NUCLEO_L152RE) || defined (TARGET_NUCLEO_F401RE)) && defined(SHIELD_SHD3I_INAIR9)) //For SHD3I with BOARD_INAIR4 in imod3, on Nucleo board : SX1276( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone, - D11/*MOSI*/, D12/*MISO*/, D13/*SCLK*/, D7/*CS*/, A5/*RST*/, D2/*DIO0*/, D8, D4, A4, PC_3/*FAKE!!!*/, D3/*DIO5*/ ), + D11/*MOSI*/, D12/*MISO*/, D13/*SCLK*/, D7/*CS*/, A5/*RST*/, D2/*DIO0*/, D8, D4, A4), #elif( defined (TARGET_K64F) && defined(SHIELD_SHD3I_INAIR9) ) /* Use pin PTC0 as fake pin */ //For SHD3I with BOARD_INAIR4 in imod3, on FRDM-K64F board : SX1276( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone, - D11/*MOSI*/, D12/*MISO*/, D13/*SCLK*/, D7/*CS*/, A5/*RST*/, D2/*DIO0*/, D8, D4, A4, PTC0/*FAKE!!!*/, D3/*DIO5*/ ), + D11/*MOSI*/, D12/*MISO*/, D13/*SCLK*/, D7/*CS*/, A5/*RST*/, D2/*DIO0*/, D8, D4, A4), #elif( defined (TARGET_KL25Z) && defined(SHIELD_SHD3I_INAIR9) ) /* Use pin PTD7 as fake pin - only A & D pins have interrupts */ //For SHD3I with BOARD_INAIR4 in imod3, on FRDM-KL25Z board : SX1276( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone, - D11/*MOSI*/, D12/*MISO*/, D13/*SCLK*/, D7/*CS*/, A5/*RST*/, D2/*DIO0*/, D8, D4, A4, PTD7/*FAKE!!!*/, D3/*DIO5*/ ), + D11/*MOSI*/, D12/*MISO*/, D13/*SCLK*/, D7/*CS*/, A5/*RST*/, D2/*DIO0*/, D8, D4, A4), #elif ( defined(TARGET_NZ32ST1L) || defined(TARGET_NZ32SC151) ) //For NZ32ST1L board with BOARD_INAIR4 in imod2 : SX1276( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone, - PB_5/*MOSI*/, PB_4/*MISO*/, PB_3/*SCLK*/, PC_8/*CS*/, PA_9/*RST*/, PB_0/*DIO0*/, PB_1, PC_6, PA_10, PC_3/*FAKE!!!*/, PC_13/*DIO5*/ ), + PB_5/*MOSI*/, PB_4/*MISO*/, PB_3/*SCLK*/, PC_8/*CS*/, PA_9/*RST*/, PB_0/*DIO0*/, PB_1, PC_6, PA_10), #else - : SX1276( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone, D11, D12, D13, D10, A0, D2, D3, D4, D5, D8, D9 ), + : SX1276( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone, D11, D12, D13, D10, A0, D2, D3, D4, D5), #endif antSwitch( NC ), fake( NC ) @@ -130,9 +130,7 @@ { nss = 1; spi.format( 8,0 ); - //uint32_t frequencyToSet = 8000000; - // TEST TEST - uint32_t frequencyToSet = 1000000; //DJH - Reduced speed to 1MHz + uint32_t frequencyToSet = 8000000; #if( defined ( TARGET_NUCLEO_L152RE ) || defined (TARGET_NUCLEO_F401RE) || defined ( TARGET_LPC11U6X ) || defined (TARGET_K64F) || defined ( TARGET_NZ32ST1L ) || defined(TARGET_NZ32SC151) ) spi.frequency( frequencyToSet ); #elif( defined ( TARGET_KL25Z ) ) //busclock frequency is halved -> double the spi frequency to compensate @@ -151,7 +149,7 @@ dio1.mode(PullDown); dio2.mode(PullDown); dio3.mode(PullDown); - dio4.mode(PullDown); + //dio4.mode(PullDown); #endif dio0.rise( this, static_cast< TriggerInAir > ( irqHandlers[0] ) ); dio1.rise( this, static_cast< TriggerInAir > ( irqHandlers[1] ) ); @@ -162,7 +160,7 @@ #else dio3.rise( this, static_cast< TriggerInAir > ( irqHandlers[3] ) ); #endif - dio4.rise( this, static_cast< TriggerInAir > ( irqHandlers[4] ) ); + //dio4.rise( this, static_cast< TriggerInAir > ( irqHandlers[4] ) ); } void SX1276inAir::IoDeInit( void )
--- a/sx1276/sx1276-inAir.h Fri Jul 24 21:35:37 2015 +1000 +++ b/sx1276/sx1276-inAir.h Wed Jul 29 12:07:40 2015 +1000 @@ -30,7 +30,7 @@ SX1276inAir( void ( *txDone )( ), void ( *txTimeout ) ( ), void ( *rxDone ) ( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ), void ( *rxTimeout ) ( ), void ( *rxError ) ( ), void ( *fhssChangeChannel ) ( uint8_t channelIndex ), void ( *cadDone ) ( bool ChannelActivityDetected ), PinName mosi, PinName miso, PinName sclk, PinName nss, PinName reset, - PinName dio0, PinName dio1, PinName dio2, PinName dio3, PinName dio4, PinName dio5, + PinName dio0, PinName dio1, PinName dio2, PinName dio3, /*PinName dio4, PinName dio5,*/ PinName antSwitch ); SX1276inAir( void ( *txDone )( ), void ( *txTimeout ) ( ), void ( *rxDone ) ( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ), void ( *rxTimeout ) ( ), void ( *rxError ) ( ), void ( *fhssChangeChannel ) ( uint8_t channelIndex ), void ( *cadDone ) ( bool ChannelActivityDetected ) );
--- a/sx1276/sx1276.cpp Fri Jul 24 21:35:37 2015 +1000 +++ b/sx1276/sx1276.cpp Wed Jul 29 12:07:40 2015 +1000 @@ -44,12 +44,12 @@ SX1276::SX1276( void ( *txDone )( ), void ( *txTimeout ) ( ), void ( *rxDone ) ( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ), void ( *rxTimeout ) ( ), void ( *rxError ) ( ), void ( *fhssChangeChannel ) ( uint8_t channelIndex ), void ( *cadDone ) ( bool channelActivityDetected ), PinName mosi, PinName miso, PinName sclk, PinName nss, PinName reset, - PinName dio0, PinName dio1, PinName dio2, PinName dio3, PinName dio4, PinName dio5 ) + PinName dio0, PinName dio1, PinName dio2, PinName dio3/*, PinName dio4, PinName dio5*/) : Radio( txDone, txTimeout, rxDone, rxTimeout, rxError, fhssChangeChannel, cadDone ), spi( mosi, miso, sclk ), nss( nss ), reset( reset ), - dio0( dio0 ), dio1( dio1 ), dio2( dio2 ), dio3( dio3 ), dio4( dio4 ), dio5( dio5 ), + dio0( dio0 ), dio1( dio1 ), dio2( dio2 ), dio3( dio3 ), /*dio4( dio4 ), dio5( dio5 ),*/ isRadioActive( false ) { wait_ms( 10 ); @@ -68,8 +68,8 @@ #else this->dioIrq[3] = &SX1276::OnDio3Irq; #endif - this->dioIrq[4] = &SX1276::OnDio4Irq; - this->dioIrq[5] = NULL; + //this->dioIrq[4] = &SX1276::OnDio4Irq; + //this->dioIrq[5] = NULL; this->settings.State = IDLE; } @@ -823,7 +823,7 @@ memset( rxBuffer, 0, ( size_t )RX_BUFFER_SIZE ); - this->settings.State = RX; + this->settings.State = RX_DONE; if( timeout != 0 ) { rxTimeoutTimer.attach_us( this, &SX1276::OnTimeoutIrq, timeout ); @@ -912,7 +912,7 @@ break; } - this->settings.State = TX; + this->settings.State = TX_DONE; txTimeoutTimer.attach_us( this, &SX1276::OnTimeoutIrq, timeout ); SetOpMode( RF_OPMODE_TRANSMITTER ); } @@ -1032,7 +1032,7 @@ { switch( this->settings.State ) { - case RX: + case RX_DONE: if( this->settings.Modem == MODEM_FSK ) { this->settings.FskPacketHandler.PreambleDetected = false; @@ -1062,7 +1062,7 @@ rxTimeout( ); } break; - case TX: + case TX_DONE: this->settings.State = IDLE; if( ( txTimeout != NULL ) ) { @@ -1080,7 +1080,7 @@ switch( this->settings.State ) { - case RX: + case RX_DONE: //TimerStop( &RxTimeoutTimer ); // RxDone interrupt switch( this->settings.Modem ) @@ -1251,7 +1251,7 @@ break; } break; - case TX: + case TX_DONE: txTimeoutTimer.detach( ); // TxDone interrupt switch( this->settings.Modem ) @@ -1279,7 +1279,7 @@ { switch( this->settings.State ) { - case RX: + case RX_DONE: switch( this->settings.Modem ) { case MODEM_FSK: @@ -1321,7 +1321,7 @@ break; } break; - case TX: + case TX_DONE: switch( this->settings.Modem ) { case MODEM_FSK: @@ -1353,7 +1353,7 @@ { switch( this->settings.State ) { - case RX: + case RX_DONE: switch( this->settings.Modem ) { case MODEM_FSK: @@ -1387,7 +1387,7 @@ break; } break; - case TX: + case TX_DONE: switch( this->settings.Modem ) { case MODEM_FSK: @@ -1444,6 +1444,7 @@ } } +/* void SX1276::OnDio4Irq( void ) { switch( this->settings.Modem ) @@ -1475,3 +1476,4 @@ break; } } +*/
--- a/sx1276/sx1276.h Fri Jul 24 21:35:37 2015 +1000 +++ b/sx1276/sx1276.h Wed Jul 29 12:07:40 2015 +1000 @@ -75,8 +75,8 @@ #else InterruptIn dio3; #endif - InterruptIn dio4; - DigitalIn dio5; + //InterruptIn dio4; + //DigitalIn dio5; bool isRadioActive; @@ -119,7 +119,7 @@ SX1276( void ( *txDone )( ), void ( *txTimeout ) ( ), void ( *rxDone ) ( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ), void ( *rxTimeout ) ( ), void ( *rxError ) ( ), void ( *fhssChangeChannel ) ( uint8_t channelIndex ), void ( *cadDone ) ( bool channelActivityDetected ), PinName mosi, PinName miso, PinName sclk, PinName nss, PinName reset, - PinName dio0, PinName dio1, PinName dio2, PinName dio3, PinName dio4, PinName dio5 ); + PinName dio0, PinName dio1, PinName dio2, PinName dio3/*, PinName dio4, PinName dio5*/); SX1276( void ( *txDone )( ), void ( *txTimeout ) ( ), void ( *rxDone ) ( uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr ), void ( *rxTimeout ) ( ), void ( *rxError ) ( ), void ( *fhssChangeChannel ) ( uint8_t channelIndex ), void ( *cadDone ) ( bool channelActivityDetected ) ); virtual ~SX1276( ); @@ -490,12 +490,12 @@ /*! * @brief DIO 4 IRQ callback */ - virtual void OnDio4Irq( void ); + //virtual void OnDio4Irq( void ); /*! * @brief DIO 5 IRQ callback */ - virtual void OnDio5Irq( void ); + //virtual void OnDio5Irq( void ); /*! * @brief Tx & Rx timeout timer callback