Skip to content

Commit d178e66

Browse files
committed
Corrected all radios antenna switch low power mode handling.
SX1276: Corrected antenna switch control.
1 parent c469330 commit d178e66

File tree

5 files changed

+10
-20
lines changed

5 files changed

+10
-20
lines changed

src/boards/Bleeper-72/sx1272-board.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ void SX1272IoInit( void )
6363
GpioInit( &SX1272.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6464
GpioInit( &SX1272.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6565
GpioInit( &SX1272.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
66-
67-
SX1272AntSwInit( );
6866
}
6967

7068
void SX1272IoIrqInit( DioIrqHandler **irqHandlers )
@@ -132,7 +130,7 @@ void SX1272SetAntSw( uint8_t rxTx )
132130

133131
SX1272.RxTx = rxTx;
134132

135-
if( rxTx != 0 )
133+
if( rxTx != 0 ) // 1: TX, 0: RX
136134
{
137135
GpioWrite( &AntRx, 0 );
138136
GpioWrite( &AntTx, 1 );

src/boards/Bleeper-76/sx1276-board.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ void SX1276IoInit( void )
6363
GpioInit( &SX1276.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6464
GpioInit( &SX1276.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6565
GpioInit( &SX1276.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
66-
67-
SX1276AntSwInit( );
6866
}
6967

7068
void SX1276IoIrqInit( DioIrqHandler **irqHandlers )
@@ -126,8 +124,8 @@ void SX1276AntSwInit( void )
126124

127125
void SX1276AntSwDeInit( void )
128126
{
129-
GpioInit( &AntSwitchLf, RADIO_ANT_SWITCH_LF, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
130-
GpioInit( &AntSwitchHf, RADIO_ANT_SWITCH_HF, PIN_ANALOGIC, PIN_PUSH_PULL, PIN_NO_PULL, 0 );
127+
GpioInit( &AntSwitchLf, RADIO_ANT_SWITCH_LF, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
128+
GpioInit( &AntSwitchHf, RADIO_ANT_SWITCH_HF, PIN_OUTPUT, PIN_OPEN_DRAIN, PIN_NO_PULL, 0 );
131129
}
132130

133131
void SX1276SetAntSw( uint8_t rxTx )
@@ -139,7 +137,7 @@ void SX1276SetAntSw( uint8_t rxTx )
139137

140138
SX1276.RxTx = rxTx;
141139

142-
if( rxTx != 0 )
140+
if( rxTx != 0 ) // 1: TX, 0: RX
143141
{
144142
GpioWrite( &AntSwitchLf, 0 );
145143
GpioWrite( &AntSwitchHf, 1 );

src/boards/LoRaMote/sx1272-board.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ void SX1272IoInit( void )
6363
GpioInit( &SX1272.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6464
GpioInit( &SX1272.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6565
GpioInit( &SX1272.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
66-
67-
SX1272AntSwInit( );
6866
}
6967

7068
void SX1272IoIrqInit( DioIrqHandler **irqHandlers )
@@ -132,7 +130,7 @@ void SX1272SetAntSw( uint8_t rxTx )
132130

133131
SX1272.RxTx = rxTx;
134132

135-
if( rxTx != 0 )
133+
if( rxTx != 0 ) // 1: TX, 0: RX
136134
{
137135
GpioWrite( &AntRx, 0 );
138136
GpioWrite( &AntTx, 1 );

src/boards/SK-iM880A/sx1272-board.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ void SX1272IoInit( void )
6363
GpioInit( &SX1272.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6464
GpioInit( &SX1272.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6565
GpioInit( &SX1272.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
66-
67-
SX1272AntSwInit( );
6866
}
6967

7068
void SX1272IoIrqInit( DioIrqHandler **irqHandlers )
@@ -132,7 +130,7 @@ void SX1272SetAntSw( uint8_t rxTx )
132130

133131
SX1272.RxTx = rxTx;
134132

135-
if( rxTx != 0 )
133+
if( rxTx != 0 ) // 1: TX, 0: RX
136134
{
137135
GpioWrite( &AntRx, 0 );
138136
GpioWrite( &AntTx, 1 );

src/boards/SensorNode/sx1276-board.c

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ void SX1276IoInit( void )
6363
GpioInit( &SX1276.DIO3, RADIO_DIO_3, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6464
GpioInit( &SX1276.DIO4, RADIO_DIO_4, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
6565
GpioInit( &SX1276.DIO5, RADIO_DIO_5, PIN_INPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
66-
67-
SX1276AntSwInit( );
6866
}
6967

7068
void SX1276IoIrqInit( DioIrqHandler **irqHandlers )
@@ -121,7 +119,7 @@ void SX1276SetAntSwLowPower( bool status )
121119
void SX1276AntSwInit( void )
122120
{
123121
GpioInit( &AntSwitchLf, RADIO_ANT_SWITCH_LF, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
124-
GpioInit( &AntSwitchHf, RADIO_ANT_SWITCH_HF, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 1 );
122+
GpioInit( &AntSwitchHf, RADIO_ANT_SWITCH_HF, PIN_OUTPUT, PIN_PUSH_PULL, PIN_PULL_UP, 0 );
125123
}
126124

127125
void SX1276AntSwDeInit( void )
@@ -139,15 +137,15 @@ void SX1276SetAntSw( uint8_t rxTx )
139137

140138
SX1276.RxTx = rxTx;
141139

142-
if( rxTx != 0 )
140+
if( rxTx != 0 ) // 1: TX, 0: RX
143141
{
144142
GpioWrite( &AntSwitchLf, 0 );
145-
GpioWrite( &AntSwitchHf, 0 );
143+
GpioWrite( &AntSwitchHf, 1 );
146144
}
147145
else
148146
{
149147
GpioWrite( &AntSwitchLf, 1 );
150-
GpioWrite( &AntSwitchHf, 1 );
148+
GpioWrite( &AntSwitchHf, 0 );
151149
}
152150
}
153151

0 commit comments

Comments
 (0)