Cellular: Moved reset from power to device

pull/9472/head
Ari Parkkila 2018-11-29 00:22:39 -08:00
parent 1bc84404b2
commit bdddb445a6
18 changed files with 45 additions and 63 deletions

View File

@ -239,6 +239,12 @@ TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_init)
EXPECT_EQ(dev.init(), NSAPI_ERROR_OK);
}
TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_reset)
{
FileHandle_stub fh1;
AT_CellularDevice dev(&fh1);
EXPECT_EQ(dev.reset(), NSAPI_ERROR_OK);
}
TEST_F(TestAT_CellularDevice, test_AT_CellularDevice_is_ready)
{

View File

@ -74,17 +74,3 @@ TEST_F(TestAT_CellularPower, test_AT_CellularPower_off)
AT_CellularPower pow(at);
EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == pow.off());
}
TEST_F(TestAT_CellularPower, test_AT_CellularPower_reset)
{
EventQueue que;
FileHandle_stub fh1;
ATHandler at(&fh1, que, 0, ",");
AT_CellularPower pow(at);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_OK;
EXPECT_TRUE(NSAPI_ERROR_OK == pow.reset());
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == pow.reset());
}

View File

@ -171,6 +171,11 @@ nsapi_error_t AT_CellularDevice::init()
return NSAPI_ERROR_OK;
}
nsapi_error_t AT_CellularDevice::reset()
{
return NSAPI_ERROR_OK;
}
nsapi_error_t AT_CellularDevice::set_pin(const char *sim_pin)
{
return NSAPI_ERROR_OK;

View File

@ -39,8 +39,3 @@ nsapi_error_t AT_CellularPower::off()
{
return NSAPI_ERROR_OK;
}
nsapi_error_t AT_CellularPower::reset()
{
return NSAPI_ERROR_OK;
}

View File

@ -114,6 +114,11 @@ public:
return NSAPI_ERROR_OK;
}
virtual nsapi_error_t reset()
{
return NSAPI_ERROR_OK;
}
virtual nsapi_error_t is_ready()
{
return NSAPI_ERROR_OK;

View File

@ -81,10 +81,6 @@ static void test_power_interface()
TEST_ASSERT(err == NSAPI_ERROR_OK || err == NSAPI_ERROR_UNSUPPORTED);
wait_for_power(pwr);
err = pwr->reset();
TEST_ASSERT(err == NSAPI_ERROR_OK);
wait_for_power(pwr);
err = pwr->off();
TEST_ASSERT(err == NSAPI_ERROR_OK || err == NSAPI_ERROR_UNSUPPORTED);

View File

@ -262,6 +262,13 @@ public:
*/
virtual nsapi_error_t init() = 0;
/** Reset and wake-up cellular device.
*
* @return NSAPI_ERROR_OK on success
* NSAPI_ERROR_DEVICE_ERROR on failure
*/
virtual nsapi_error_t reset() = 0;
/** Check whether the device is ready to accept commands.
*
* @return NSAPI_ERROR_OK on success

View File

@ -57,13 +57,6 @@ public:
* NSAPI_ERROR_UNSUPPORTED if not overridden by the target modem
*/
virtual nsapi_error_t off() = 0;
/** Reset and wake-up cellular device.
*
* @return NSAPI_ERROR_OK on success
* NSAPI_ERROR_DEVICE_ERROR on failure
*/
virtual nsapi_error_t reset() = 0;
};
} // namespace mbed

View File

@ -378,6 +378,17 @@ nsapi_error_t AT_CellularDevice::init()
return _at->unlock_return_error();
}
nsapi_error_t AT_CellularDevice::reset()
{
_at->lock();
if (_state_machine) {
_state_machine->reset();
}
_at->cmd_start("AT+CFUN=1,1");// reset to full power levels
_at->cmd_stop_read_resp();
return _at->unlock_return_error();
}
nsapi_error_t AT_CellularDevice::is_ready()
{
_at->lock();

View File

@ -72,6 +72,8 @@ public:
virtual nsapi_error_t init();
virtual nsapi_error_t reset();
virtual nsapi_error_t is_ready();
virtual nsapi_error_t set_ready_cb(Callback<void()> callback);

View File

@ -41,13 +41,3 @@ nsapi_error_t AT_CellularPower::off()
{
return NSAPI_ERROR_UNSUPPORTED;
}
nsapi_error_t AT_CellularPower::reset()
{
_at.lock();
_at.cmd_start("AT+CFUN=");// reset to full power levels
_at.write_int(1);
_at.write_int(1);
_at.cmd_stop_read_resp();
return _at.unlock_return_error();
}

View File

@ -37,8 +37,6 @@ public:
virtual nsapi_error_t on();
virtual nsapi_error_t off();
virtual nsapi_error_t reset();
};
} // namespace mbed

View File

@ -26,9 +26,6 @@
#define CONNECT_BUFFER_SIZE (1280 + 80 + 80) // AT response + sscanf format
#define CONNECT_TIMEOUT 8000
#define MAX_STARTUP_TRIALS 5
#define MAX_RESET_TRIALS 5
using namespace events;
using namespace mbed;
@ -97,3 +94,11 @@ nsapi_error_t QUECTEL_BC95::init()
return _at->unlock_return_error();
}
nsapi_error_t QUECTEL_BC95::reset()
{
_at->lock();
_at->cmd_start("AT+NRB"); // reset to full power levels
_at->cmd_stop();
_at->resp_start("REBOOTING", true);
return _at->unlock_return_error();
}

View File

@ -36,6 +36,7 @@ protected: // AT_CellularDevice
virtual AT_CellularContext *create_context_impl(ATHandler &at, const char *apn);
virtual AT_CellularInformation *open_information_impl(ATHandler &at);
virtual nsapi_error_t init();
virtual nsapi_error_t reset();
public: // NetworkInterface
void handle_urc(FileHandle *fh);

View File

@ -28,12 +28,3 @@ QUECTEL_BC95_CellularPower::~QUECTEL_BC95_CellularPower()
{
}
nsapi_error_t QUECTEL_BC95_CellularPower::reset()
{
_at.lock();
_at.cmd_start("AT+NRB"); // reset to full power levels
_at.cmd_stop();
_at.resp_start("REBOOTING", true);
return _at.unlock_return_error();
}

View File

@ -26,9 +26,6 @@ class QUECTEL_BC95_CellularPower : public AT_CellularPower {
public:
QUECTEL_BC95_CellularPower(ATHandler &atHandler);
virtual ~QUECTEL_BC95_CellularPower();
public: //from CellularPower
virtual nsapi_error_t reset();
};
} // namespace mbed

View File

@ -29,9 +29,6 @@ using namespace events;
#define CONNECT_BUFFER_SIZE (1280 + 80 + 80) // AT response + sscanf format
#define CONNECT_TIMEOUT 8000
#define MAX_STARTUP_TRIALS 5
#define MAX_RESET_TRIALS 5
#define DEVICE_READY_URC "CPIN:"
static const AT_CellularBase::SupportedFeature unsupported_features[] = {

View File

@ -27,9 +27,6 @@ using namespace events;
#define CONNECT_BUFFER_SIZE (1280 + 80 + 80) // AT response + sscanf format
#define CONNECT_TIMEOUT 8000
#define MAX_STARTUP_TRIALS 5
#define MAX_RESET_TRIALS 5
QUECTEL_UG96::QUECTEL_UG96(FileHandle *fh) : AT_CellularDevice(fh)
{
}