An application to log WiFi SSIDs for position lookup testing
Dependencies: C027_Support SWO mbed-rtos mbed picojson
Fork of lpc4088_ebb_ublox_Cellular_PubNubDemo_rtos by
device/DeviceInfo.cpp
- Committer:
- rosterloh84
- Date:
- 2015-02-15
- Revision:
- 1:cac9b2960637
File content as of revision 1:cac9b2960637:
#include "DeviceInfo.h"
#include <stdlib.h>
#include <string.h>
DeviceInfo::DeviceInfo(MDMSerial& mdm, MDMParser::DevStatus& devStatus) :
_mdm(mdm)
{
*_cellId = '\0';
memcpy(&_devStatus, &devStatus, sizeof(MDMParser::DevStatus));
memset(&_netStatus, 0, sizeof(MDMParser::NetStatus));
memset(&_signalQuality, 0, sizeof(DeviceInfo::SignalQuality));
}
const char * DeviceInfo::imsi()
{
return _devStatus.imsi;
}
const char * DeviceInfo::imei()
{
return _devStatus.imei;
}
const char * DeviceInfo::cellId()
{
if (!refreshNetStatus())
return NULL;
if (snprintf(_cellId, sizeof(_cellId), "%X", _netStatus.ci) < 1)
return NULL;
return _cellId;
}
const char * DeviceInfo::iccid()
{
return _devStatus.ccid;
}
DeviceInfo::SignalQuality * DeviceInfo::signalQuality()
{
memset(&_signalQuality, 0, sizeof(DeviceInfo::SignalQuality));
if (!refreshNetStatus())
return NULL;
if ((_netStatus.rssi == 0) || (_netStatus.ber == 0))
return NULL;
_signalQuality.rssi = _netStatus.rssi;
_signalQuality.ber = _netStatus.ber;
return &_signalQuality;
}
bool DeviceInfo::refreshNetStatus()
{
return _mdm.checkNetStatus(&_netStatus);
}
Richard Osterloh
