Cellular: Change AT_CellularNetwork to use CellularProperties.

This change enables removing function has_registration from
class AT_CellularNetwork and all targets inheriting
AT_CellularNetwork.
pull/9472/head
Teppo Järvelin 2018-12-11 16:22:45 +02:00 committed by Ari Parkkila
parent b0d37ebec4
commit 9a72c221d8
31 changed files with 140 additions and 172 deletions

View File

@ -18,7 +18,7 @@
#include "gtest/gtest.h"
#include "AT_CellularBase.h"
#include "EventQueue.h"
#include "AT_CellularBase.h"
#include "AT_CellularNetwork.h"
#include "ATHandler_stub.h"
#include "FileHandle_stub.h"
#include <string.h>
@ -33,19 +33,22 @@ public:
}
bool check_not_supported()
{
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeDisable,// C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1 // AT_CGAUTH
1, // AT_CGAUTH
};
set_cellular_properties(cellular_properties);
return get_property(AT_CGSN_WITH_TYPE);
return get_property(PROPERTY_AT_CGSN_WITH_TYPE);
}
bool check_supported()
{
return get_property(AT_CGDATA);
return get_property(PROPERTY_AT_CGDATA);
}
};
@ -107,7 +110,10 @@ TEST_F(TestAT_CellularBase, test_AT_CellularBase_set_cellular_properties)
ATHandler ah(&fh, eq, 0, ",");
AT_CellularBase at(ah);
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeDisable,// C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1 // AT_CGAUTH

View File

@ -52,13 +52,6 @@ class my_AT_CN : public AT_CellularNetwork {
public:
my_AT_CN(ATHandler &atHandler) : AT_CellularNetwork(atHandler) {}
virtual ~my_AT_CN() {}
virtual AT_CellularNetwork::RegistrationMode has_registration(RegistrationType reg_type)
{
if (reg_type == C_GREG) {
return RegistrationModeDisable;
}
return RegistrationModeEnable;
}
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology op_rat)
{
return NSAPI_ERROR_OK;
@ -69,13 +62,6 @@ class my_AT_CNipv6 : public AT_CellularNetwork {
public:
my_AT_CNipv6(ATHandler &atHandler) : AT_CellularNetwork(atHandler) {}
virtual ~my_AT_CNipv6() {}
virtual AT_CellularNetwork::RegistrationMode has_registration(RegistrationType reg_type)
{
if (reg_type == C_GREG) {
return RegistrationModeDisable;
}
return RegistrationModeEnable;
}
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology op_rat)
{
return NSAPI_ERROR_OK;
@ -150,32 +136,32 @@ TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_registration_params)
ATHandler_stub::read_string_value = NULL;
ATHandler_stub::ssize_value = 0;
// Check get_registration_params without specifying the registration type
EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_registration_params(reg_params_check));
EXPECT_TRUE(reg_params_check._status == CellularNetwork::RegistrationDenied);
EXPECT_TRUE(reg_params_check._act == CellularNetwork::RAT_EGPRS);
EXPECT_TRUE(reg_params_check._cell_id == 305463233);
EXPECT_TRUE(reg_params_check._active_time == 240);
EXPECT_TRUE(reg_params_check._periodic_tau == 70 * 60 * 60);
ASSERT_EQ(NSAPI_ERROR_OK, cn.get_registration_params(reg_params_check));
ASSERT_EQ(reg_params_check._status, CellularNetwork::RegistrationDenied);
ASSERT_EQ(reg_params_check._act, CellularNetwork::RAT_EGPRS);
ASSERT_EQ(reg_params_check._cell_id, 305463233);
ASSERT_EQ(reg_params_check._active_time, 240);
ASSERT_EQ(reg_params_check._periodic_tau, 70 * 60 * 60);
reg_params._status = CellularNetwork::NotRegistered;
reg_params._act = CellularNetwork::RAT_GSM;
reg_params._cell_id = 1;
EXPECT_TRUE(NSAPI_ERROR_OK == cn.get_registration_params(CellularNetwork::C_GREG, reg_params));
EXPECT_TRUE(reg_params._status == CellularNetwork::RegistrationDenied);
EXPECT_TRUE(reg_params._act == CellularNetwork::RAT_EGPRS);
EXPECT_TRUE(reg_params._cell_id == -1);
ASSERT_EQ(NSAPI_ERROR_OK, cn.get_registration_params(CellularNetwork::C_REG, reg_params));
ASSERT_EQ(reg_params._status, CellularNetwork::RegistrationDenied);
ASSERT_EQ(reg_params._act, CellularNetwork::RAT_EGPRS);
ASSERT_EQ(reg_params._cell_id, -1);
my_AT_CN nw(at);
reg_params._status = CellularNetwork::NotRegistered;
reg_params._act = CellularNetwork::RAT_GSM;
EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.get_registration_params(CellularNetwork::C_GREG, reg_params));
EXPECT_TRUE(reg_params._status == CellularNetwork::NotRegistered);
EXPECT_TRUE(reg_params._act == CellularNetwork::RAT_GSM);
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, nw.get_registration_params(CellularNetwork::C_GREG, reg_params));
ASSERT_EQ(reg_params._status, CellularNetwork::NotRegistered);
ASSERT_EQ(reg_params._act, CellularNetwork::RAT_GSM);
EXPECT_TRUE(NSAPI_ERROR_OK == nw.get_registration_params(CellularNetwork::C_EREG, reg_params));
EXPECT_TRUE(reg_params._status == CellularNetwork::RegistrationDenied);
EXPECT_TRUE(reg_params._act == CellularNetwork::RAT_EGPRS);
ASSERT_EQ(NSAPI_ERROR_OK, nw.get_registration_params(CellularNetwork::C_EREG, reg_params));
ASSERT_EQ(reg_params._status, CellularNetwork::RegistrationDenied);
ASSERT_EQ(reg_params._act, CellularNetwork::RAT_EGPRS);
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
reg_params._status = CellularNetwork::NotRegistered;
@ -184,15 +170,15 @@ TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_get_registration_params)
reg_params._active_time = 2;
reg_params._periodic_tau = 3;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_registration_params(CellularNetwork::C_EREG, reg_params));
EXPECT_TRUE(reg_params._status == CellularNetwork::NotRegistered);
EXPECT_TRUE(reg_params._act == CellularNetwork::RAT_UNKNOWN);
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, cn.get_registration_params(CellularNetwork::C_EREG, reg_params));
ASSERT_EQ(reg_params._status, CellularNetwork::NotRegistered);
ASSERT_EQ(reg_params._act, CellularNetwork::RAT_UNKNOWN);
EXPECT_TRUE(reg_params._cell_id == -1 && reg_params._active_time == -1 && reg_params._periodic_tau == -1);
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.get_registration_params(CellularNetwork::C_GREG, reg_params));
EXPECT_TRUE(reg_params._status == CellularNetwork::NotRegistered);
EXPECT_TRUE(reg_params._act == CellularNetwork::RAT_UNKNOWN);
EXPECT_TRUE(reg_params._cell_id == -1);
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, cn.get_registration_params(CellularNetwork::C_REG, reg_params));
ASSERT_EQ(reg_params._status, CellularNetwork::NotRegistered);
ASSERT_EQ(reg_params._act, CellularNetwork::RAT_UNKNOWN);
ASSERT_EQ(reg_params._cell_id, -1);
reg_params._status = CellularNetwork::SearchingNetwork;
reg_params._act = CellularNetwork::RAT_GSM;
@ -304,63 +290,63 @@ TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_registration_urc)
AT_CellularNetwork cn(at);
CellularNetwork::RegistrationType type = CellularNetwork::C_EREG;
EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_OK, cn.set_registration_urc(type, true));
type = CellularNetwork::C_GREG;
EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, cn.set_registration_urc(type, true));
type = CellularNetwork::C_REG;
EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_OK, cn.set_registration_urc(type, true));
my_AT_CN nw(at);
type = CellularNetwork::C_EREG;
EXPECT_TRUE(NSAPI_ERROR_OK == nw.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_OK, nw.set_registration_urc(type, true));
type = CellularNetwork::C_GREG;
EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, nw.set_registration_urc(type, true));
type = CellularNetwork::C_REG;
EXPECT_TRUE(NSAPI_ERROR_OK == nw.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_OK, nw.set_registration_urc(type, true));
type = CellularNetwork::C_EREG;
EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_OK, cn.set_registration_urc(type, false));
type = CellularNetwork::C_GREG;
EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, cn.set_registration_urc(type, false));
type = CellularNetwork::C_REG;
EXPECT_TRUE(NSAPI_ERROR_OK == cn.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_OK, cn.set_registration_urc(type, false));
type = CellularNetwork::C_EREG;
EXPECT_TRUE(NSAPI_ERROR_OK == nw.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_OK, nw.set_registration_urc(type, false));
type = CellularNetwork::C_GREG;
EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, nw.set_registration_urc(type, false));
type = CellularNetwork::C_REG;
EXPECT_TRUE(NSAPI_ERROR_OK == nw.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_OK, nw.set_registration_urc(type, false));
ATHandler_stub::nsapi_error_value = NSAPI_ERROR_DEVICE_ERROR;
type = CellularNetwork::C_EREG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, cn.set_registration_urc(type, true));
type = CellularNetwork::C_GREG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, cn.set_registration_urc(type, true));
type = CellularNetwork::C_REG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, cn.set_registration_urc(type, true));
type = CellularNetwork::C_EREG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, nw.set_registration_urc(type, true));
type = CellularNetwork::C_GREG;
EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, nw.set_registration_urc(type, true));
type = CellularNetwork::C_REG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, true));
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, nw.set_registration_urc(type, true));
type = CellularNetwork::C_EREG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, cn.set_registration_urc(type, false));
type = CellularNetwork::C_GREG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, cn.set_registration_urc(type, false));
type = CellularNetwork::C_REG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == cn.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, cn.set_registration_urc(type, false));
type = CellularNetwork::C_EREG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, nw.set_registration_urc(type, false));
type = CellularNetwork::C_GREG;
EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == nw.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_UNSUPPORTED, nw.set_registration_urc(type, false));
type = CellularNetwork::C_REG;
EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == nw.set_registration_urc(type, false));
ASSERT_EQ(NSAPI_ERROR_DEVICE_ERROR, nw.set_registration_urc(type, false));
}
TEST_F(TestAT_CellularNetwork, test_AT_CellularNetwork_set_attach)

View File

@ -17,7 +17,7 @@
#include "nsapi_types.h"
#include "AT_CellularBase_stub.h"
#include "AT_CellularNetwork.h"
using namespace mbed;
ATHandler *AT_CellularBase_stub::handler_value = NULL;
@ -43,5 +43,11 @@ device_err_t AT_CellularBase::get_device_error() const
intptr_t AT_CellularBase::get_property(CellularProperty key)
{
if (key == PROPERTY_C_GREG) {
return AT_CellularNetwork::RegistrationModeDisable;
} else if (key == PROPERTY_C_REG || key == PROPERTY_C_EREG) {
return AT_CellularNetwork::RegistrationModeEnable;
}
return AT_CellularBase_stub::supported_bool;
}

View File

@ -68,11 +68,6 @@ nsapi_error_t AT_CellularNetwork::get_registration_params(registration_params_t
return NSAPI_ERROR_OK;
}
AT_CellularNetwork::RegistrationMode AT_CellularNetwork::has_registration(RegistrationType reg_type)
{
return RegistrationModeDisable;
}
nsapi_error_t AT_CellularNetwork::set_attach()
{
return NSAPI_ERROR_OK;

View File

@ -43,10 +43,13 @@ public:
device_err_t get_device_error() const;
enum CellularProperty {
AT_CGSN_WITH_TYPE, // 0 = not supported, 1 = supported. AT+CGSN without type is likely always supported similar to AT+GSN.
AT_CGDATA, // 0 = not supported, 1 = supported. Alternative is to support only ATD*99***<cid>#
AT_CGAUTH, // 0 = not supported, 1 = supported. APN authentication AT commands supported
CELLULAR_PROPERTY_MAX
PROPERTY_C_EREG, // AT_CellularNetwork::RegistrationMode. What support modem has for this registration type.
PROPERTY_C_GREG, // AT_CellularNetwork::RegistrationMode. What support modem has for this registration type.
PROPERTY_C_REG, // AT_CellularNetwork::RegistrationMode. What support modem has for this registration type.
PROPERTY_AT_CGSN_WITH_TYPE, // 0 = not supported, 1 = supported. AT+CGSN without type is likely always supported similar to AT+GSN.
PROPERTY_AT_CGDATA, // 0 = not supported, 1 = supported. Alternative is to support only ATD*99***<cid>#
PROPERTY_AT_CGAUTH, // 0 = not supported, 1 = supported. APN authentication AT commands supported
PROPERTY_MAX
};
/** Cellular module need to define an array of cellular properties which defines module supported property values.

View File

@ -289,7 +289,7 @@ nsapi_error_t AT_CellularContext::do_user_authentication()
{
// if user has defined user name and password we need to call CGAUTH before activating or modifying context
if (_pwd && _uname) {
if (!get_property(AT_CGAUTH)) {
if (!get_property(PROPERTY_AT_CGAUTH)) {
return NSAPI_ERROR_UNSUPPORTED;
}
_at.cmd_start("AT+CGAUTH=");
@ -572,7 +572,7 @@ void AT_CellularContext::do_connect()
nsapi_error_t AT_CellularContext::open_data_channel()
{
tr_info("CellularContext PPP connect");
if (get_property(AT_CGDATA)) {
if (get_property(PROPERTY_AT_CGDATA)) {
_at.cmd_start("AT+CGDATA=\"PPP\",");
_at.write_int(_cid);
} else {

View File

@ -54,7 +54,7 @@ nsapi_error_t AT_CellularInformation::get_serial_number(char *buf, size_t buf_si
return get_info("AT+CGSN", buf, buf_size);
}
if (!get_property(AT_CGSN_WITH_TYPE)) {
if (!get_property(PROPERTY_AT_CGSN_WITH_TYPE)) {
return NSAPI_ERROR_UNSUPPORTED;
}

View File

@ -80,7 +80,7 @@ AT_CellularNetwork::AT_CellularNetwork(ATHandler &atHandler) : AT_CellularBase(a
_urc_funcs[C_REG] = callback(this, &AT_CellularNetwork::urc_creg);
for (int type = 0; type < CellularNetwork::C_MAX; type++) {
if (has_registration((RegistrationType)type) != RegistrationModeDisable) {
if (get_property((AT_CellularBase::CellularProperty)type) != RegistrationModeDisable) {
_at.set_urc_handler(at_reg[type].urc_prefix, _urc_funcs[type]);
}
}
@ -103,7 +103,7 @@ AT_CellularNetwork::~AT_CellularNetwork()
_at.unlock();
for (int type = 0; type < CellularNetwork::C_MAX; type++) {
if (has_registration((RegistrationType)type) != RegistrationModeDisable) {
if (get_property((AT_CellularBase::CellularProperty)type) != RegistrationModeDisable) {
_at.set_urc_handler(at_reg[type].urc_prefix, 0);
}
}
@ -223,7 +223,7 @@ nsapi_error_t AT_CellularNetwork::set_registration_urc(RegistrationType type, bo
int index = (int)type;
MBED_ASSERT(index >= 0 && index < C_MAX);
RegistrationMode mode = has_registration(type);
RegistrationMode mode = (RegistrationMode)get_property((AT_CellularBase::CellularProperty)type);
if (mode == RegistrationModeDisable) {
return NSAPI_ERROR_UNSUPPORTED;
} else {
@ -322,12 +322,6 @@ void AT_CellularNetwork::read_reg_params(RegistrationType type, registration_par
#endif
}
AT_CellularNetwork::RegistrationMode AT_CellularNetwork::has_registration(RegistrationType reg_type)
{
(void)reg_type;
return RegistrationModeLAC;
}
nsapi_error_t AT_CellularNetwork::set_attach()
{
_at.lock();
@ -612,7 +606,7 @@ nsapi_error_t AT_CellularNetwork::get_registration_params(RegistrationType type,
int i = (int)type;
MBED_ASSERT(i >= 0 && i < C_MAX);
if (!has_registration(at_reg[i].type)) {
if (!get_property((AT_CellularBase::CellularProperty)at_reg[i].type)) {
return NSAPI_ERROR_UNSUPPORTED;
}

View File

@ -43,6 +43,12 @@ public:
// declare friend so it can access stack
friend class AT_CellularDevice;
enum RegistrationMode {
RegistrationModeDisable = 0,
RegistrationModeEnable, // <stat>
RegistrationModeLAC, // <stat>[,<[lac>,]<[ci>],[<AcT>],[<rac>]]
};
public: // CellularNetwork
virtual nsapi_error_t set_registration(const char *plmn = 0);
@ -92,18 +98,6 @@ public: // CellularNetwork
protected:
/** Check if modem supports given registration type.
*
* @param reg_type enum RegistrationType
* @return mode supported on given reg_type as per 3GPP TS 27.007, 0 when unsupported
*/
enum RegistrationMode {
RegistrationModeDisable = 0,
RegistrationModeEnable, // <stat>
RegistrationModeLAC, // <stat>[,<[lac>,]<[ci>],[<AcT>],[<rac>]]
};
virtual RegistrationMode has_registration(RegistrationType reg_type);
/** Sets access technology to be scanned. Modem specific implementation.
*
* @param op_rat Access technology

View File

@ -94,7 +94,10 @@ GEMALTO_CINTERION::Module GEMALTO_CINTERION::get_module()
void GEMALTO_CINTERION::init_module_bgs2()
{
// BGS2-W_ATC_V00.100
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeLAC, // C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1, // AT_CGAUTH
@ -106,7 +109,10 @@ void GEMALTO_CINTERION::init_module_bgs2()
void GEMALTO_CINTERION::init_module_els61()
{
// ELS61-E2_ATC_V01.000
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeDisable, // C_EREG
AT_CellularNetwork::RegistrationModeEnable, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1, // AT_CGAUTH
@ -118,7 +124,10 @@ void GEMALTO_CINTERION::init_module_els61()
void GEMALTO_CINTERION::init_module_ems31()
{
// EMS31-US_ATC_V4.9.5
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeLAC, // C_EREG
AT_CellularNetwork::RegistrationModeDisable, // C_GREG
AT_CellularNetwork::RegistrationModeDisable, // C_REG
1, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1, // AT_CGAUTH

View File

@ -16,7 +16,6 @@
*/
#include "GEMALTO_CINTERION_CellularNetwork.h"
#include "GEMALTO_CINTERION.h"
using namespace mbed;
@ -28,20 +27,6 @@ GEMALTO_CINTERION_CellularNetwork::~GEMALTO_CINTERION_CellularNetwork()
{
}
AT_CellularNetwork::RegistrationMode GEMALTO_CINTERION_CellularNetwork::has_registration(RegistrationType reg_type)
{
if (GEMALTO_CINTERION::get_module() == GEMALTO_CINTERION::ModuleEMS31) {
return (reg_type == C_EREG) ? RegistrationModeLAC : RegistrationModeDisable;
}
if (GEMALTO_CINTERION::get_module() == GEMALTO_CINTERION::ModuleBGS2) {
if (reg_type == C_GREG) {
return RegistrationModeEnable;
}
return (reg_type == C_REG) ? RegistrationModeLAC : RegistrationModeDisable;
}
return (reg_type == C_REG || reg_type == C_GREG || reg_type == C_EREG) ? RegistrationModeLAC : RegistrationModeDisable;
}
nsapi_error_t GEMALTO_CINTERION_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opsAct)
{
_op_act = RAT_UNKNOWN;

View File

@ -28,7 +28,6 @@ public:
virtual ~GEMALTO_CINTERION_CellularNetwork();
protected:
virtual RegistrationMode has_registration(RegistrationType reg_type);
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology opsAct);
};

View File

@ -23,10 +23,13 @@
using namespace mbed;
using namespace events;
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeDisable,// C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
0, // AT_CGDATA
1 // AT_CGAUTH
1, // AT_CGAUTH
};
SARA4_PPP::SARA4_PPP(FileHandle *fh) : AT_CellularDevice(fh)

View File

@ -27,11 +27,6 @@ SARA4_PPP_CellularNetwork::~SARA4_PPP_CellularNetwork()
{
}
AT_CellularNetwork::RegistrationMode SARA4_PPP_CellularNetwork::has_registration(RegistrationType reg_type)
{
return (reg_type == C_REG || reg_type == C_GREG) ? RegistrationModeLAC : RegistrationModeDisable;
}
nsapi_error_t SARA4_PPP_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opRat)
{
_op_act = RAT_CATM1;

View File

@ -28,8 +28,6 @@ public:
virtual ~SARA4_PPP_CellularNetwork();
protected:
virtual RegistrationMode has_registration(RegistrationType rat);
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology opRat);
};

View File

@ -29,10 +29,13 @@
using namespace events;
using namespace mbed;
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeLAC, // C_EREG
AT_CellularNetwork::RegistrationModeDisable, // C_GREG
AT_CellularNetwork::RegistrationModeDisable, // C_REG
1, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
0 // AT_CGAUTH, BC95_AT_Commands_Manual_V1.9
0, // AT_CGAUTH, BC95_AT_Commands_Manual_V1.9
};
QUECTEL_BC95::QUECTEL_BC95(FileHandle *fh) : AT_CellularDevice(fh)

View File

@ -28,11 +28,6 @@ QUECTEL_BC95_CellularNetwork::~QUECTEL_BC95_CellularNetwork()
{
}
AT_CellularNetwork::RegistrationMode QUECTEL_BC95_CellularNetwork::has_registration(RegistrationType reg_tech)
{
return (reg_tech == C_EREG) ? RegistrationModeLAC : RegistrationModeDisable;
}
nsapi_error_t QUECTEL_BC95_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opRat)
{
if (opRat != RAT_NB1) {

View File

@ -29,7 +29,6 @@ public:
protected:
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology opRat);
virtual RegistrationMode has_registration(RegistrationType reg_type);
};
} // namespace mbed
#endif // QUECTEL_BC95_CELLULAR_NETWORK_H_

View File

@ -31,10 +31,13 @@ using namespace events;
#define DEVICE_READY_URC "CPIN:"
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeLAC, // C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1 // AT_CGAUTH, BC95_AT_Commands_Manual_V1.9
1, // AT_CGAUTH, BC95_AT_Commands_Manual_V1.9
};
QUECTEL_BG96::QUECTEL_BG96(FileHandle *fh) : AT_CellularDevice(fh)

View File

@ -27,8 +27,18 @@ using namespace events;
#define CONNECT_BUFFER_SIZE (1280 + 80 + 80) // AT response + sscanf format
#define CONNECT_TIMEOUT 8000
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeDisable,// C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
1, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1, // AT_CGAUTH
};
QUECTEL_UG96::QUECTEL_UG96(FileHandle *fh) : AT_CellularDevice(fh)
{
AT_CellularBase::set_cellular_properties(cellular_properties);
}
QUECTEL_UG96::~QUECTEL_UG96()

View File

@ -27,11 +27,6 @@ QUECTEL_UG96_CellularNetwork::~QUECTEL_UG96_CellularNetwork()
{
}
AT_CellularNetwork::RegistrationMode QUECTEL_UG96_CellularNetwork::has_registration(RegistrationType reg_type)
{
return (reg_type == C_REG || reg_type == C_GREG) ? RegistrationModeLAC : RegistrationModeDisable;
}
nsapi_error_t QUECTEL_UG96_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opRat)
{
_op_act = RAT_UNKNOWN;

View File

@ -28,7 +28,6 @@ public:
virtual ~QUECTEL_UG96_CellularNetwork();
protected:
virtual RegistrationMode has_registration(RegistrationType rat);
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology opRat);
};

View File

@ -23,10 +23,13 @@
using namespace mbed;
using namespace events;
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeDisable,// C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
0 // AT_CGAUTH
0, // AT_CGAUTH
};
TELIT_HE910::TELIT_HE910(FileHandle *fh) : AT_CellularDevice(fh)

View File

@ -27,11 +27,6 @@ TELIT_HE910_CellularNetwork::~TELIT_HE910_CellularNetwork()
{
}
AT_CellularNetwork::RegistrationMode TELIT_HE910_CellularNetwork::has_registration(RegistrationType reg_type)
{
return (reg_type == C_REG || reg_type == C_GREG) ? RegistrationModeLAC : RegistrationModeDisable;
}
nsapi_error_t TELIT_HE910_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opRat)
{
_op_act = RAT_UNKNOWN;

View File

@ -28,7 +28,6 @@ public:
virtual ~TELIT_HE910_CellularNetwork();
protected:
virtual RegistrationMode has_registration(RegistrationType rat);
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology opRat);
};

View File

@ -24,10 +24,13 @@ using namespace mbed;
using namespace events;
#ifdef TARGET_UBLOX_C030_R41XM
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1 // AT_CGAUTH, BC95_AT_Commands_Manual_V1.9
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeDisable,// C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1, // AT_CGAUTH, BC95_AT_Commands_Manual_V1.9
};
#endif

View File

@ -31,11 +31,6 @@ UBLOX_AT_CellularNetwork::~UBLOX_AT_CellularNetwork()
}
}
AT_CellularNetwork::RegistrationMode UBLOX_AT_CellularNetwork::has_registration(RegistrationType reg_type)
{
return (reg_type == C_REG || reg_type == C_GREG) ? RegistrationModeLAC : RegistrationModeDisable;
}
nsapi_error_t UBLOX_AT_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opRat)
{
switch (opRat) {

View File

@ -29,7 +29,6 @@ public:
protected:
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology opRat);
virtual RegistrationMode has_registration(RegistrationType rat);
};
} // namespace mbed

View File

@ -24,10 +24,13 @@ using namespace mbed;
using namespace events;
#ifdef TARGET_UBLOX_C027
static const intptr_t cellular_properties[AT_CellularBase::CELLULAR_PROPERTY_MAX] = {
static const intptr_t cellular_properties[AT_CellularBase::PROPERTY_MAX] = {
AT_CellularNetwork::RegistrationModeDisable,// C_EREG
AT_CellularNetwork::RegistrationModeLAC, // C_GREG
AT_CellularNetwork::RegistrationModeLAC, // C_REG
0, // AT_CGSN_WITH_TYPE
1, // AT_CGDATA
1 // AT_CGAUTH, BC95_AT_Commands_Manual_V1.9
1, // AT_CGAUTH, BC95_AT_Commands_Manual_V1.9
};
#endif

View File

@ -27,11 +27,6 @@ UBLOX_PPP_CellularNetwork::~UBLOX_PPP_CellularNetwork()
{
}
AT_CellularNetwork::RegistrationMode UBLOX_PPP_CellularNetwork::has_registration(RegistrationType reg_type)
{
return (reg_type == C_REG || reg_type == C_GREG) ? RegistrationModeLAC : RegistrationModeDisable;
}
nsapi_error_t UBLOX_PPP_CellularNetwork::set_access_technology_impl(RadioAccessTechnology opRat)
{
_op_act = RAT_UNKNOWN;

View File

@ -28,7 +28,6 @@ public:
virtual ~UBLOX_PPP_CellularNetwork();
protected:
virtual RegistrationMode has_registration(RegistrationType rat);
virtual nsapi_error_t set_access_technology_impl(RadioAccessTechnology opRat);
};