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.
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
