Sigfox library with integration of ATParser
Sigfox.h@6:799a482a7024, 2017-05-29 (annotated)
- Committer:
- Raffaello
- Date:
- Mon May 29 19:42:14 2017 +0000
- Revision:
- 6:799a482a7024
- Parent:
- 5:66e05787ad5c
- Child:
- 7:48396d48ae12
Added voltage message reader
Who changed what in which revision?
User | Revision | Line number | New 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 | 6:799a482a7024 | 37 | char tmp[12]; |
Raffaello | 0:5e0ae613c18c | 38 | |
Raffaello | 0:5e0ae613c18c | 39 | public: |
Raffaello | 0:5e0ae613c18c | 40 | Sigfox(ATParser &at) : _at(&at) { |
Raffaello | 0:5e0ae613c18c | 41 | |
Raffaello | 0:5e0ae613c18c | 42 | }; |
Raffaello | 0:5e0ae613c18c | 43 | |
Raffaello | 0:5e0ae613c18c | 44 | bool ready(); |
Raffaello | 0:5e0ae613c18c | 45 | |
Raffaello | 3:279bed56f354 | 46 | bool send(const char *data, char* response=NULL); |
Raffaello | 4:c77d5019b264 | 47 | /** |
Raffaello | 4:c77d5019b264 | 48 | * true = public |
Raffaello | 4:c77d5019b264 | 49 | * false = private |
Raffaello | 4:c77d5019b264 | 50 | */ |
Raffaello | 4:c77d5019b264 | 51 | bool setKey(bool type); |
Raffaello | 1:93450d8b2540 | 52 | |
Raffaello | 2:d07e3b39ff74 | 53 | bool setPower(uint8_t power=15); |
Raffaello | 2:d07e3b39ff74 | 54 | |
Raffaello | 1:93450d8b2540 | 55 | bool setPowerMode(uint8_t power); |
Raffaello | 1:93450d8b2540 | 56 | |
Raffaello | 2:d07e3b39ff74 | 57 | void wakeup(DigitalInOut sig_rst, float time=0.2); |
Raffaello | 1:93450d8b2540 | 58 | |
Raffaello | 5:66e05787ad5c | 59 | bool saveConfig(); |
Raffaello | 5:66e05787ad5c | 60 | |
Raffaello | 2:d07e3b39ff74 | 61 | char *getID(); |
Raffaello | 2:d07e3b39ff74 | 62 | |
Raffaello | 2:d07e3b39ff74 | 63 | char *getPAC(); |
Raffaello | 6:799a482a7024 | 64 | |
Raffaello | 6:799a482a7024 | 65 | sigfoxvoltage_t getVoltages(); |
Raffaello | 6:799a482a7024 | 66 | }; |
Raffaello | 6:799a482a7024 | 67 | |
Raffaello | 6:799a482a7024 | 68 | #endif /* SIGFOX_H */ |