Sigfox library with integration of ATParser
Sigfox.h@7:48396d48ae12, 2017-05-30 (annotated)
- 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?
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 | 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 */ |