Skip to content

Commit

Permalink
Merge pull request #1 from ARMmbed/ns_pollution
Browse files Browse the repository at this point in the history
Removing namespace pollution & rf ctrls refactor
  • Loading branch information
Hasnain Virk committed Dec 15, 2017
2 parents 0d53676 + 622d50b commit d7e60e4
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 59 deletions.
57 changes: 29 additions & 28 deletions SX1272/SX1272_LoRaRadio.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,23 +26,24 @@ SPDX-License-Identifier: BSD-3-Clause
#ifndef SX1272_LORARADIO_H_
#define SX1272_LORARADIO_H_

#include "PinNames.h"
#include "InterruptIn.h"
#include "DigitalOut.h"
#include "DigitalInOut.h"
#include "SPI.h"
#include "Timeout.h"
#ifdef MBED_CONF_RTOS_PRESENT
#include "rtos/Thread.h"
#endif
#include "netsocket/LoRaRadio.h"


#ifdef MBED_SX1272_LORARADIO_BUFFER_SIZE
#define MAX_DATA_BUFFER_SIZE MBED_SX1272_LORARADIO_BUFFER_SIZE
#else
#define MAX_DATA_BUFFER_SIZE 256
#endif

typedef struct {
PinName rf_switch_ctl1;
PinName rf_switch_ctl2;
PinName txctl;
PinName rxctl;
PinName ant_switch;
PinName pwr_amp_ctl;
} rf_ctrls;

/**
* Radio driver implementation for Semtech SX1272 plus variants.
* Supports only SPI at the moment. Implements pure virtual LoRaRadio class.
Expand Down Expand Up @@ -301,27 +302,27 @@ class SX1272_LoRaRadio: public LoRaRadio {
private:

// SPI and chip select control
SPI _spi;
DigitalOut _chip_select;
mbed::SPI _spi;
mbed::DigitalOut _chip_select;

// module rest control
DigitalInOut _reset_ctl;
mbed::DigitalInOut _reset_ctl;

// Interrupt controls
InterruptIn _dio0_ctl;
InterruptIn _dio1_ctl;
InterruptIn _dio2_ctl;
InterruptIn _dio3_ctl;
InterruptIn _dio4_ctl;
InterruptIn _dio5_ctl;
mbed::InterruptIn _dio0_ctl;
mbed::InterruptIn _dio1_ctl;
mbed::InterruptIn _dio2_ctl;
mbed::InterruptIn _dio3_ctl;
mbed::InterruptIn _dio4_ctl;
mbed::InterruptIn _dio5_ctl;

// Radio specific controls
DigitalOut _rf_switch_ctl1;
DigitalOut _rf_switch_ctl2;
DigitalOut _txctl;
DigitalOut _rxctl;
DigitalInOut _ant_switch;
DigitalOut _pwr_amp_ctl;
mbed::DigitalOut _rf_switch_ctl1;
mbed::DigitalOut _rf_switch_ctl2;
mbed::DigitalOut _txctl;
mbed::DigitalOut _rxctl;
mbed::DigitalInOut _ant_switch;
mbed::DigitalOut _pwr_amp_ctl;

// Contains all RF control pin names
// This storage is needed even after assigning the
Expand All @@ -343,13 +344,13 @@ class SX1272_LoRaRadio: public LoRaRadio {
uint8_t _data_buffer[MAX_DATA_BUFFER_SIZE];

// TX/RX Timers - all use milisecond units
Timeout tx_timeout_timer;
Timeout rx_timeout_timer;
Timeout rx_timeout_sync_word;
mbed::Timeout tx_timeout_timer;
mbed::Timeout rx_timeout_timer;
mbed::Timeout rx_timeout_sync_word;

#ifdef MBED_CONF_RTOS_PRESENT
// Thread to handle interrupts
Thread irq_thread;
rtos::Thread irq_thread;
#endif

// Access protection
Expand Down
60 changes: 29 additions & 31 deletions SX1276/SX1276_LoRaRadio.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,15 @@ SPDX-License-Identifier: BSD-3-Clause
#ifndef SX1276_LORARADIO_H_
#define SX1276_LORARADIO_H_

#include "PinNames.h"
#include "InterruptIn.h"
#include "DigitalOut.h"
#include "DigitalInOut.h"
#include "SPI.h"
#include "Timeout.h"
#ifdef MBED_CONF_RTOS_PRESENT
#include "rtos/Thread.h"
#endif
#include "netsocket/LoRaRadio.h"

#ifdef MBED_SX1276_LORARADIO_BUFFER_SIZE
Expand All @@ -34,16 +43,6 @@ SPDX-License-Identifier: BSD-3-Clause
#define MAX_DATA_BUFFER_SIZE 256
#endif

typedef struct {
PinName rf_switch_ctl1;
PinName rf_switch_ctl2;
PinName txctl;
PinName rxctl;
PinName ant_switch;
PinName pwr_amp_ctl;
PinName tcxo;
} rf_ctrls;

/**
* Radio driver implementation for Semtech SX1272 plus variants.
* Supports only SPI at the moment. Implements pure virtual LoRaRadio class.
Expand Down Expand Up @@ -318,28 +317,28 @@ class SX1276_LoRaRadio: public LoRaRadio {
private:

// SPI and chip select control
SPI _spi;
DigitalOut _chip_select;
mbed::SPI _spi;
mbed::DigitalOut _chip_select;

// module rest control
DigitalInOut _reset_ctl;
mbed::DigitalInOut _reset_ctl;

// Interrupt controls
InterruptIn _dio0_ctl;
InterruptIn _dio1_ctl;
InterruptIn _dio2_ctl;
InterruptIn _dio3_ctl;
InterruptIn _dio4_ctl;
InterruptIn _dio5_ctl;
mbed::InterruptIn _dio0_ctl;
mbed::InterruptIn _dio1_ctl;
mbed::InterruptIn _dio2_ctl;
mbed::InterruptIn _dio3_ctl;
mbed::InterruptIn _dio4_ctl;
mbed::InterruptIn _dio5_ctl;

// Radio specific controls
DigitalOut _rf_switch_ctl1;
DigitalOut _rf_switch_ctl2;
DigitalOut _txctl;
DigitalOut _rxctl;
DigitalInOut _ant_switch;
DigitalOut _pwr_amp_ctl;
DigitalOut _tcxo;
mbed::DigitalOut _rf_switch_ctl1;
mbed::DigitalOut _rf_switch_ctl2;
mbed::DigitalOut _txctl;
mbed::DigitalOut _rxctl;
mbed::DigitalInOut _ant_switch;
mbed::DigitalOut _pwr_amp_ctl;
mbed::DigitalOut _tcxo;

// Contains all RF control pin names
// This storage is needed even after assigning the
Expand All @@ -361,13 +360,13 @@ class SX1276_LoRaRadio: public LoRaRadio {
uint8_t _data_buffer[MAX_DATA_BUFFER_SIZE];

// TX/RX Timers - all use milisecond units
Timeout tx_timeout_timer;
Timeout rx_timeout_timer;
Timeout rx_timeout_sync_word;
mbed::Timeout tx_timeout_timer;
mbed::Timeout rx_timeout_timer;
mbed::Timeout rx_timeout_sync_word;

#ifdef MBED_CONF_RTOS_PRESENT
// Thread to handle interrupts
Thread irq_thread;
rtos::Thread irq_thread;
#endif

// Access protection
Expand Down Expand Up @@ -419,6 +418,5 @@ class SX1276_LoRaRadio: public LoRaRadio {
void handle_dio4_irq();
void handle_dio5_irq();
void handle_timeout_irq();
};

#endif // SX1276_LORARADIO_H_

0 comments on commit d7e60e4

Please sign in to comment.