Official reference client implementation for Cumulocity SmartREST on u-blox C027.

Dependencies:   C027_Support C12832 LM75B MMA7660 MbedSmartRest mbed-rtos mbed

Fork of MbedSmartRestMain by Vincent Wochnik

Committer:
xinlei
Date:
Fri May 15 10:13:19 2015 +0000
Revision:
111:ee9ae4a5e55c
Parent:
104:a3703ca4a4a4
Child:
113:3872569be2af
bugfix for factory reset has no effect

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vwochnik 67:c360a2b2c948 1 #include <stdio.h>
vwochnik 67:c360a2b2c948 2 #include <string.h>
xinlei 97:ea056f6be2e8 3 #include "MDM.h"
vwochnik 67:c360a2b2c948 4
xinlei 101:dbcd3bc51758 5 #define CREDENTIALS_FILE "001_CREDENTIALS"
vwochnik 68:0dc778a16d0d 6 #define CONFIGURATION_FILE "002_CONFIGURATION"
xinlei 97:ea056f6be2e8 7 extern MDMSerial *pMdm;
vwochnik 67:c360a2b2c948 8
xinlei 101:dbcd3bc51758 9 bool loadCredential(char *username, char *password, size_t len)
vwochnik 67:c360a2b2c948 10 {
xinlei 99:e369fc75c000 11 char buffer[len*2+3];
xinlei 101:dbcd3bc51758 12 int res = pMdm->readFile(CREDENTIALS_FILE, buffer, sizeof(buffer));
xinlei 111:ee9ae4a5e55c 13 if (res <= 0) {
vwochnik 67:c360a2b2c948 14 return false;
xinlei 101:dbcd3bc51758 15 } else {
xinlei 99:e369fc75c000 16 buffer[res] = 0;
xinlei 111:ee9ae4a5e55c 17 int l = sscanf(buffer, "%s\n%s\n", username, password);
xinlei 111:ee9ae4a5e55c 18 return l==2;
xinlei 99:e369fc75c000 19 }
vwochnik 67:c360a2b2c948 20 }
vwochnik 67:c360a2b2c948 21
xinlei 111:ee9ae4a5e55c 22 bool resetCredential()
xinlei 98:9f2de96941c4 23 {
xinlei 101:dbcd3bc51758 24 return pMdm->delFile(CREDENTIALS_FILE);
xinlei 98:9f2de96941c4 25 }
xinlei 98:9f2de96941c4 26
xinlei 101:dbcd3bc51758 27 bool saveCredential(char *username, char *password, size_t len)
vwochnik 67:c360a2b2c948 28 {
xinlei 101:dbcd3bc51758 29 char buffer[len*2+3];
xinlei 94:61d44636f020 30 int res = snprintf(buffer, sizeof(buffer), "%s\n%s\n", username, password);
xinlei 111:ee9ae4a5e55c 31 pMdm->delFile(CREDENTIALS_FILE);
xinlei 101:dbcd3bc51758 32 return pMdm->writeFile(CREDENTIALS_FILE, buffer, res)==res;
vwochnik 67:c360a2b2c948 33 }
vwochnik 68:0dc778a16d0d 34
xinlei 101:dbcd3bc51758 35 int loadConfigFile(char *cfg, size_t len)
vwochnik 68:0dc778a16d0d 36 {
xinlei 97:ea056f6be2e8 37 int res = pMdm->readFile(CONFIGURATION_FILE, cfg, len);
xinlei 101:dbcd3bc51758 38 if (res >= 0)
xinlei 99:e369fc75c000 39 cfg[res] = 0;
xinlei 101:dbcd3bc51758 40 return res;
vwochnik 68:0dc778a16d0d 41 }
vwochnik 68:0dc778a16d0d 42
xinlei 99:e369fc75c000 43 bool saveConfigFile(char *cfg, size_t len)
xinlei 98:9f2de96941c4 44 {
xinlei 111:ee9ae4a5e55c 45 pMdm->delFile(CONFIGURATION_FILE);
xinlei 99:e369fc75c000 46 return pMdm->writeFile(CONFIGURATION_FILE, cfg, len)==len;
xinlei 98:9f2de96941c4 47 }