Sigfox library with integration of ATParser

Committer:
Raffaello
Date:
Tue May 30 21:32:57 2017 +0000
Revision:
7:48396d48ae12
Parent:
6:799a482a7024
Child:
8:b10abac6a42e
Clean

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Raffaello 0:5e0ae613c18c 1 /* Copyright (c) 2015 ARM Limited
Raffaello 0:5e0ae613c18c 2 *
Raffaello 0:5e0ae613c18c 3 * Licensed under the Apache License, Version 2.0 (the "License");
Raffaello 0:5e0ae613c18c 4 * you may not use this file except in compliance with the License.
Raffaello 0:5e0ae613c18c 5 * You may obtain a copy of the License at
Raffaello 0:5e0ae613c18c 6 *
Raffaello 0:5e0ae613c18c 7 * http://www.apache.org/licenses/LICENSE-2.0
Raffaello 0:5e0ae613c18c 8 *
Raffaello 0:5e0ae613c18c 9 * Unless required by applicable law or agreed to in writing, software
Raffaello 0:5e0ae613c18c 10 * distributed under the License is distributed on an "AS IS" BASIS,
Raffaello 0:5e0ae613c18c 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Raffaello 0:5e0ae613c18c 12 * See the License for the specific language governing permissions and
Raffaello 0:5e0ae613c18c 13 * limitations under the License.
Raffaello 0:5e0ae613c18c 14 *
Raffaello 0:5e0ae613c18c 15 * @section DESCRIPTION
Raffaello 0:5e0ae613c18c 16 *
Raffaello 0:5e0ae613c18c 17 * Send command to Sigfox
Raffaello 0:5e0ae613c18c 18 *
Raffaello 0:5e0ae613c18c 19 */
Raffaello 6:799a482a7024 20 #ifndef SIGFOX_H
Raffaello 6:799a482a7024 21 #define SIGFOX_H
Raffaello 0:5e0ae613c18c 22
Raffaello 0:5e0ae613c18c 23 #include "ATParser.h"
Raffaello 0:5e0ae613c18c 24 #include "mbed.h"
Raffaello 0:5e0ae613c18c 25
Raffaello 6:799a482a7024 26 typedef struct _sigfoxvoltage {
Raffaello 6:799a482a7024 27 double current;
Raffaello 6:799a482a7024 28 double last;
Raffaello 6:799a482a7024 29 } sigfoxvoltage_t;
Raffaello 6:799a482a7024 30
Raffaello 0:5e0ae613c18c 31 class Sigfox
Raffaello 0:5e0ae613c18c 32 {
Raffaello 0:5e0ae613c18c 33 private:
Raffaello 0:5e0ae613c18c 34 ATParser *_at;
Raffaello 2:d07e3b39ff74 35 char ID[9];
Raffaello 2:d07e3b39ff74 36 char PAC[17];
Raffaello 0:5e0ae613c18c 37
Raffaello 0:5e0ae613c18c 38 public:
Raffaello 7:48396d48ae12 39 Sigfox(ATParser &at) : _at(&at) {};
Raffaello 0:5e0ae613c18c 40
Raffaello 0:5e0ae613c18c 41 bool ready();
Raffaello 0:5e0ae613c18c 42
Raffaello 3:279bed56f354 43 bool send(const char *data, char* response=NULL);
Raffaello 4:c77d5019b264 44 /**
Raffaello 4:c77d5019b264 45 * true = public
Raffaello 4:c77d5019b264 46 * false = private
Raffaello 4:c77d5019b264 47 */
Raffaello 4:c77d5019b264 48 bool setKey(bool type);
Raffaello 1:93450d8b2540 49
Raffaello 2:d07e3b39ff74 50 bool setPower(uint8_t power=15);
Raffaello 2:d07e3b39ff74 51
Raffaello 1:93450d8b2540 52 bool setPowerMode(uint8_t power);
Raffaello 1:93450d8b2540 53
Raffaello 2:d07e3b39ff74 54 void wakeup(DigitalInOut sig_rst, float time=0.2);
Raffaello 1:93450d8b2540 55
Raffaello 5:66e05787ad5c 56 bool saveConfig();
Raffaello 5:66e05787ad5c 57
Raffaello 2:d07e3b39ff74 58 char *getID();
Raffaello 2:d07e3b39ff74 59
Raffaello 2:d07e3b39ff74 60 char *getPAC();
Raffaello 6:799a482a7024 61
Raffaello 6:799a482a7024 62 sigfoxvoltage_t getVoltages();
Raffaello 6:799a482a7024 63 };
Raffaello 6:799a482a7024 64
Raffaello 6:799a482a7024 65 #endif /* SIGFOX_H */