portable version of the cumulocity demo

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Cumulocity Official

Committer:
ublox
Date:
Fri Oct 03 07:54:13 2014 +0000
Revision:
56:2da813cc2f47
Parent:
41:804f6a0bda26
update dependency

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Cumulocity 41:804f6a0bda26 1 #include "DeviceInfo.h"
Cumulocity 41:804f6a0bda26 2 #include <stdlib.h>
Cumulocity 41:804f6a0bda26 3 #include <string.h>
Cumulocity 41:804f6a0bda26 4
Cumulocity 41:804f6a0bda26 5 DeviceInfo::DeviceInfo(MDMSerial& mdm, MDMParser::DevStatus& devStatus) :
Cumulocity 41:804f6a0bda26 6 _mdm(mdm)
Cumulocity 41:804f6a0bda26 7 {
Cumulocity 41:804f6a0bda26 8 *_cellId = '\0';
Cumulocity 41:804f6a0bda26 9 memcpy(&_devStatus, &devStatus, sizeof(MDMParser::DevStatus));
Cumulocity 41:804f6a0bda26 10 memset(&_netStatus, 0, sizeof(MDMParser::NetStatus));
Cumulocity 41:804f6a0bda26 11 memset(&_signalQuality, 0, sizeof(DeviceInfo::SignalQuality));
Cumulocity 41:804f6a0bda26 12 }
Cumulocity 41:804f6a0bda26 13
Cumulocity 41:804f6a0bda26 14 const char * DeviceInfo::imsi()
Cumulocity 41:804f6a0bda26 15 {
Cumulocity 41:804f6a0bda26 16 return _devStatus.imsi;
Cumulocity 41:804f6a0bda26 17 }
Cumulocity 41:804f6a0bda26 18
Cumulocity 41:804f6a0bda26 19 const char * DeviceInfo::imei()
Cumulocity 41:804f6a0bda26 20 {
Cumulocity 41:804f6a0bda26 21 return _devStatus.imei;
Cumulocity 41:804f6a0bda26 22 }
Cumulocity 41:804f6a0bda26 23
Cumulocity 41:804f6a0bda26 24 const char * DeviceInfo::cellId()
Cumulocity 41:804f6a0bda26 25 {
Cumulocity 41:804f6a0bda26 26 if (!refreshNetStatus())
Cumulocity 41:804f6a0bda26 27 return NULL;
Cumulocity 41:804f6a0bda26 28
Cumulocity 41:804f6a0bda26 29 if (snprintf(_cellId, sizeof(_cellId), "%X", _netStatus.ci) < 1)
Cumulocity 41:804f6a0bda26 30 return NULL;
Cumulocity 41:804f6a0bda26 31 return _cellId;
Cumulocity 41:804f6a0bda26 32 }
Cumulocity 41:804f6a0bda26 33
Cumulocity 41:804f6a0bda26 34 const char * DeviceInfo::iccid()
Cumulocity 41:804f6a0bda26 35 {
Cumulocity 41:804f6a0bda26 36 return _devStatus.ccid;
Cumulocity 41:804f6a0bda26 37 }
Cumulocity 41:804f6a0bda26 38
Cumulocity 41:804f6a0bda26 39 DeviceInfo::SignalQuality * DeviceInfo::signalQuality()
Cumulocity 41:804f6a0bda26 40 {
Cumulocity 41:804f6a0bda26 41 memset(&_signalQuality, 0, sizeof(DeviceInfo::SignalQuality));
Cumulocity 41:804f6a0bda26 42 if (!refreshNetStatus())
Cumulocity 41:804f6a0bda26 43 return NULL;
Cumulocity 41:804f6a0bda26 44
Cumulocity 41:804f6a0bda26 45 if ((_netStatus.rssi == 0) || (_netStatus.ber == 0))
Cumulocity 41:804f6a0bda26 46 return NULL;
Cumulocity 41:804f6a0bda26 47
Cumulocity 41:804f6a0bda26 48 _signalQuality.rssi = _netStatus.rssi;
Cumulocity 41:804f6a0bda26 49 _signalQuality.ber = _netStatus.ber;
Cumulocity 41:804f6a0bda26 50 return &_signalQuality;
Cumulocity 41:804f6a0bda26 51 }
Cumulocity 41:804f6a0bda26 52
Cumulocity 41:804f6a0bda26 53 bool DeviceInfo::refreshNetStatus()
Cumulocity 41:804f6a0bda26 54 {
Cumulocity 41:804f6a0bda26 55 return _mdm.checkNetStatus(&_netStatus);
Cumulocity 41:804f6a0bda26 56 }