portable version of the cumulocity demo
Dependencies: C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed
Fork of MbedSmartRestMain by
DeviceInfo.cpp
00001 #include "DeviceInfo.h" 00002 #include <stdlib.h> 00003 #include <string.h> 00004 00005 DeviceInfo::DeviceInfo(MDMSerial& mdm, MDMParser::DevStatus& devStatus) : 00006 _mdm(mdm) 00007 { 00008 *_cellId = '\0'; 00009 memcpy(&_devStatus, &devStatus, sizeof(MDMParser::DevStatus)); 00010 memset(&_netStatus, 0, sizeof(MDMParser::NetStatus)); 00011 memset(&_signalQuality, 0, sizeof(DeviceInfo::SignalQuality)); 00012 } 00013 00014 const char * DeviceInfo::imsi() 00015 { 00016 return _devStatus.imsi; 00017 } 00018 00019 const char * DeviceInfo::imei() 00020 { 00021 return _devStatus.imei; 00022 } 00023 00024 const char * DeviceInfo::cellId() 00025 { 00026 if (!refreshNetStatus()) 00027 return NULL; 00028 00029 if (snprintf(_cellId, sizeof(_cellId), "%X", _netStatus.ci) < 1) 00030 return NULL; 00031 return _cellId; 00032 } 00033 00034 const char * DeviceInfo::iccid() 00035 { 00036 return _devStatus.ccid; 00037 } 00038 00039 DeviceInfo::SignalQuality * DeviceInfo::signalQuality() 00040 { 00041 memset(&_signalQuality, 0, sizeof(DeviceInfo::SignalQuality)); 00042 if (!refreshNetStatus()) 00043 return NULL; 00044 00045 if ((_netStatus.rssi == 0) || (_netStatus.ber == 0)) 00046 return NULL; 00047 00048 _signalQuality.rssi = _netStatus.rssi; 00049 _signalQuality.ber = _netStatus.ber; 00050 return &_signalQuality; 00051 } 00052 00053 bool DeviceInfo::refreshNetStatus() 00054 { 00055 return _mdm.checkNetStatus(&_netStatus); 00056 }
Generated on Tue Jul 12 2022 21:10:53 by 1.7.2