Library For the Adafruit FONA 808
Adafruit_FONA.h@0:8b6028668696, 2016-10-17 (annotated)
- Committer:
- lewisdaw3
- Date:
- Mon Oct 17 10:51:58 2016 +0000
- Revision:
- 0:8b6028668696
publish library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
lewisdaw3 | 0:8b6028668696 | 1 | /*************************************************** |
lewisdaw3 | 0:8b6028668696 | 2 | This is a library for our Adafruit FONA Cellular Module |
lewisdaw3 | 0:8b6028668696 | 3 | |
lewisdaw3 | 0:8b6028668696 | 4 | Designed specifically to work with the Adafruit FONA |
lewisdaw3 | 0:8b6028668696 | 5 | ----> http://www.adafruit.com/products/1946 |
lewisdaw3 | 0:8b6028668696 | 6 | ----> http://www.adafruit.com/products/1963 |
lewisdaw3 | 0:8b6028668696 | 7 | |
lewisdaw3 | 0:8b6028668696 | 8 | These displays use TTL Serial to communicate, 2 pins are required to |
lewisdaw3 | 0:8b6028668696 | 9 | interface |
lewisdaw3 | 0:8b6028668696 | 10 | Adafruit invests time and resources providing this open source code, |
lewisdaw3 | 0:8b6028668696 | 11 | please support Adafruit and open-source hardware by purchasing |
lewisdaw3 | 0:8b6028668696 | 12 | products from Adafruit! |
lewisdaw3 | 0:8b6028668696 | 13 | |
lewisdaw3 | 0:8b6028668696 | 14 | Written by Limor Fried/Ladyada for Adafruit Industries. |
lewisdaw3 | 0:8b6028668696 | 15 | BSD license, all text above must be included in any redistribution |
lewisdaw3 | 0:8b6028668696 | 16 | ****************************************************/ |
lewisdaw3 | 0:8b6028668696 | 17 | #ifndef ADAFRUIT_FONA_H |
lewisdaw3 | 0:8b6028668696 | 18 | #define ADAFRUIT_FONA_H |
lewisdaw3 | 0:8b6028668696 | 19 | |
lewisdaw3 | 0:8b6028668696 | 20 | #include "includes/FONAConfig.h" |
lewisdaw3 | 0:8b6028668696 | 21 | #include "includes/FONAExtIncludes.h" |
lewisdaw3 | 0:8b6028668696 | 22 | #include "includes/platform/FONAPlatform.h" |
lewisdaw3 | 0:8b6028668696 | 23 | |
lewisdaw3 | 0:8b6028668696 | 24 | |
lewisdaw3 | 0:8b6028668696 | 25 | |
lewisdaw3 | 0:8b6028668696 | 26 | #define FONA800L 1 |
lewisdaw3 | 0:8b6028668696 | 27 | #define FONA800H 6 |
lewisdaw3 | 0:8b6028668696 | 28 | |
lewisdaw3 | 0:8b6028668696 | 29 | #define FONA808_V1 2 |
lewisdaw3 | 0:8b6028668696 | 30 | #define FONA808_V2 3 |
lewisdaw3 | 0:8b6028668696 | 31 | |
lewisdaw3 | 0:8b6028668696 | 32 | #define FONA3G_A 4 |
lewisdaw3 | 0:8b6028668696 | 33 | #define FONA3G_E 5 |
lewisdaw3 | 0:8b6028668696 | 34 | |
lewisdaw3 | 0:8b6028668696 | 35 | // Uncomment to changed the preferred SMS storage |
lewisdaw3 | 0:8b6028668696 | 36 | //#define FONA_PREF_SMS_STORAGE "SM" |
lewisdaw3 | 0:8b6028668696 | 37 | |
lewisdaw3 | 0:8b6028668696 | 38 | #define FONA_HEADSETAUDIO 0 |
lewisdaw3 | 0:8b6028668696 | 39 | #define FONA_EXTAUDIO 1 |
lewisdaw3 | 0:8b6028668696 | 40 | |
lewisdaw3 | 0:8b6028668696 | 41 | #define FONA_STTONE_DIALTONE 1 |
lewisdaw3 | 0:8b6028668696 | 42 | #define FONA_STTONE_BUSY 2 |
lewisdaw3 | 0:8b6028668696 | 43 | #define FONA_STTONE_CONGESTION 3 |
lewisdaw3 | 0:8b6028668696 | 44 | #define FONA_STTONE_PATHACK 4 |
lewisdaw3 | 0:8b6028668696 | 45 | #define FONA_STTONE_DROPPED 5 |
lewisdaw3 | 0:8b6028668696 | 46 | #define FONA_STTONE_ERROR 6 |
lewisdaw3 | 0:8b6028668696 | 47 | #define FONA_STTONE_CALLWAIT 7 |
lewisdaw3 | 0:8b6028668696 | 48 | #define FONA_STTONE_RINGING 8 |
lewisdaw3 | 0:8b6028668696 | 49 | #define FONA_STTONE_BEEP 16 |
lewisdaw3 | 0:8b6028668696 | 50 | #define FONA_STTONE_POSTONE 17 |
lewisdaw3 | 0:8b6028668696 | 51 | #define FONA_STTONE_ERRTONE 18 |
lewisdaw3 | 0:8b6028668696 | 52 | #define FONA_STTONE_INDIANDIALTONE 19 |
lewisdaw3 | 0:8b6028668696 | 53 | #define FONA_STTONE_USADIALTONE 20 |
lewisdaw3 | 0:8b6028668696 | 54 | |
lewisdaw3 | 0:8b6028668696 | 55 | #define FONA_DEFAULT_TIMEOUT_MS 500 |
lewisdaw3 | 0:8b6028668696 | 56 | |
lewisdaw3 | 0:8b6028668696 | 57 | #define FONA_HTTP_GET 0 |
lewisdaw3 | 0:8b6028668696 | 58 | #define FONA_HTTP_POST 1 |
lewisdaw3 | 0:8b6028668696 | 59 | #define FONA_HTTP_HEAD 2 |
lewisdaw3 | 0:8b6028668696 | 60 | |
lewisdaw3 | 0:8b6028668696 | 61 | #define FONA_CALL_READY 0 |
lewisdaw3 | 0:8b6028668696 | 62 | #define FONA_CALL_FAILED 1 |
lewisdaw3 | 0:8b6028668696 | 63 | #define FONA_CALL_UNKNOWN 2 |
lewisdaw3 | 0:8b6028668696 | 64 | #define FONA_CALL_RINGING 3 |
lewisdaw3 | 0:8b6028668696 | 65 | #define FONA_CALL_INPROGRESS 4 |
lewisdaw3 | 0:8b6028668696 | 66 | |
lewisdaw3 | 0:8b6028668696 | 67 | class Adafruit_FONA : public FONAStreamType { |
lewisdaw3 | 0:8b6028668696 | 68 | public: |
lewisdaw3 | 0:8b6028668696 | 69 | Adafruit_FONA(int8_t r); |
lewisdaw3 | 0:8b6028668696 | 70 | boolean begin(FONAStreamType &port); |
lewisdaw3 | 0:8b6028668696 | 71 | uint8_t type(); |
lewisdaw3 | 0:8b6028668696 | 72 | |
lewisdaw3 | 0:8b6028668696 | 73 | // Stream |
lewisdaw3 | 0:8b6028668696 | 74 | int available(void); |
lewisdaw3 | 0:8b6028668696 | 75 | size_t write(uint8_t x); |
lewisdaw3 | 0:8b6028668696 | 76 | int read(void); |
lewisdaw3 | 0:8b6028668696 | 77 | int peek(void); |
lewisdaw3 | 0:8b6028668696 | 78 | void flush(); |
lewisdaw3 | 0:8b6028668696 | 79 | |
lewisdaw3 | 0:8b6028668696 | 80 | // FONA 3G requirements |
lewisdaw3 | 0:8b6028668696 | 81 | boolean setBaudrate(uint16_t baud); |
lewisdaw3 | 0:8b6028668696 | 82 | |
lewisdaw3 | 0:8b6028668696 | 83 | // RTC |
lewisdaw3 | 0:8b6028668696 | 84 | boolean enableRTC(uint8_t i); |
lewisdaw3 | 0:8b6028668696 | 85 | boolean readRTC(uint8_t *year, uint8_t *month, uint8_t *date, uint8_t *hr, uint8_t *min, uint8_t *sec); |
lewisdaw3 | 0:8b6028668696 | 86 | |
lewisdaw3 | 0:8b6028668696 | 87 | // Battery and ADC |
lewisdaw3 | 0:8b6028668696 | 88 | boolean getADCVoltage(uint16_t *v); |
lewisdaw3 | 0:8b6028668696 | 89 | boolean getBattPercent(uint16_t *p); |
lewisdaw3 | 0:8b6028668696 | 90 | boolean getBattVoltage(uint16_t *v); |
lewisdaw3 | 0:8b6028668696 | 91 | |
lewisdaw3 | 0:8b6028668696 | 92 | // SIM query |
lewisdaw3 | 0:8b6028668696 | 93 | uint8_t unlockSIM(char *pin); |
lewisdaw3 | 0:8b6028668696 | 94 | uint8_t getSIMCCID(char *ccid); |
lewisdaw3 | 0:8b6028668696 | 95 | uint8_t getNetworkStatus(void); |
lewisdaw3 | 0:8b6028668696 | 96 | uint8_t getRSSI(void); |
lewisdaw3 | 0:8b6028668696 | 97 | |
lewisdaw3 | 0:8b6028668696 | 98 | // IMEI |
lewisdaw3 | 0:8b6028668696 | 99 | uint8_t getIMEI(char *imei); |
lewisdaw3 | 0:8b6028668696 | 100 | |
lewisdaw3 | 0:8b6028668696 | 101 | // set Audio output |
lewisdaw3 | 0:8b6028668696 | 102 | boolean setAudio(uint8_t a); |
lewisdaw3 | 0:8b6028668696 | 103 | boolean setVolume(uint8_t i); |
lewisdaw3 | 0:8b6028668696 | 104 | uint8_t getVolume(void); |
lewisdaw3 | 0:8b6028668696 | 105 | boolean playToolkitTone(uint8_t t, uint16_t len); |
lewisdaw3 | 0:8b6028668696 | 106 | boolean setMicVolume(uint8_t a, uint8_t level); |
lewisdaw3 | 0:8b6028668696 | 107 | boolean playDTMF(char tone); |
lewisdaw3 | 0:8b6028668696 | 108 | |
lewisdaw3 | 0:8b6028668696 | 109 | // FM radio functions. |
lewisdaw3 | 0:8b6028668696 | 110 | boolean tuneFMradio(uint16_t station); |
lewisdaw3 | 0:8b6028668696 | 111 | boolean FMradio(boolean onoff, uint8_t a = FONA_HEADSETAUDIO); |
lewisdaw3 | 0:8b6028668696 | 112 | boolean setFMVolume(uint8_t i); |
lewisdaw3 | 0:8b6028668696 | 113 | int8_t getFMVolume(); |
lewisdaw3 | 0:8b6028668696 | 114 | int8_t getFMSignalLevel(uint16_t station); |
lewisdaw3 | 0:8b6028668696 | 115 | |
lewisdaw3 | 0:8b6028668696 | 116 | // SMS handling |
lewisdaw3 | 0:8b6028668696 | 117 | boolean setSMSInterrupt(uint8_t i); |
lewisdaw3 | 0:8b6028668696 | 118 | uint8_t getSMSInterrupt(void); |
lewisdaw3 | 0:8b6028668696 | 119 | int8_t getNumSMS(void); |
lewisdaw3 | 0:8b6028668696 | 120 | boolean readSMS(uint8_t i, char *smsbuff, uint16_t max, uint16_t *readsize); |
lewisdaw3 | 0:8b6028668696 | 121 | boolean sendSMS(char *smsaddr, char *smsmsg); |
lewisdaw3 | 0:8b6028668696 | 122 | boolean deleteSMS(uint8_t i); |
lewisdaw3 | 0:8b6028668696 | 123 | boolean getSMSSender(uint8_t i, char *sender, int senderlen); |
lewisdaw3 | 0:8b6028668696 | 124 | boolean sendUSSD(char *ussdmsg, char *ussdbuff, uint16_t maxlen, uint16_t *readlen); |
lewisdaw3 | 0:8b6028668696 | 125 | |
lewisdaw3 | 0:8b6028668696 | 126 | // Time |
lewisdaw3 | 0:8b6028668696 | 127 | boolean enableNetworkTimeSync(boolean onoff); |
lewisdaw3 | 0:8b6028668696 | 128 | boolean enableNTPTimeSync(boolean onoff, FONAFlashStringPtr ntpserver=0); |
lewisdaw3 | 0:8b6028668696 | 129 | boolean getTime(char *buff, uint16_t maxlen); |
lewisdaw3 | 0:8b6028668696 | 130 | |
lewisdaw3 | 0:8b6028668696 | 131 | // GPRS handling |
lewisdaw3 | 0:8b6028668696 | 132 | boolean enableGPRS(boolean onoff); |
lewisdaw3 | 0:8b6028668696 | 133 | uint8_t GPRSstate(void); |
lewisdaw3 | 0:8b6028668696 | 134 | boolean getGSMLoc(uint16_t *replycode, char *buff, uint16_t maxlen); |
lewisdaw3 | 0:8b6028668696 | 135 | boolean getGSMLoc(float *lat, float *lon); |
lewisdaw3 | 0:8b6028668696 | 136 | void setGPRSNetworkSettings(FONAFlashStringPtr apn, FONAFlashStringPtr username=0, FONAFlashStringPtr password=0); |
lewisdaw3 | 0:8b6028668696 | 137 | |
lewisdaw3 | 0:8b6028668696 | 138 | // GPS handling |
lewisdaw3 | 0:8b6028668696 | 139 | boolean enableGPS(boolean onoff); |
lewisdaw3 | 0:8b6028668696 | 140 | int8_t GPSstatus(void); |
lewisdaw3 | 0:8b6028668696 | 141 | uint8_t getGPS(uint8_t arg, char *buffer, uint8_t maxbuff); |
lewisdaw3 | 0:8b6028668696 | 142 | boolean getGPS(float *lat, float *lon, float *speed_kph=0, float *heading=0, float *altitude=0); |
lewisdaw3 | 0:8b6028668696 | 143 | boolean enableGPSNMEA(uint8_t nmea); |
lewisdaw3 | 0:8b6028668696 | 144 | |
lewisdaw3 | 0:8b6028668696 | 145 | // TCP raw connections |
lewisdaw3 | 0:8b6028668696 | 146 | boolean TCPconnect(char *server, uint16_t port); |
lewisdaw3 | 0:8b6028668696 | 147 | boolean TCPclose(void); |
lewisdaw3 | 0:8b6028668696 | 148 | boolean TCPconnected(void); |
lewisdaw3 | 0:8b6028668696 | 149 | boolean TCPsend(char *packet, uint8_t len); |
lewisdaw3 | 0:8b6028668696 | 150 | uint16_t TCPavailable(void); |
lewisdaw3 | 0:8b6028668696 | 151 | uint16_t TCPread(uint8_t *buff, uint8_t len); |
lewisdaw3 | 0:8b6028668696 | 152 | |
lewisdaw3 | 0:8b6028668696 | 153 | // HTTP low level interface (maps directly to SIM800 commands). |
lewisdaw3 | 0:8b6028668696 | 154 | boolean HTTP_init(); |
lewisdaw3 | 0:8b6028668696 | 155 | boolean HTTP_term(); |
lewisdaw3 | 0:8b6028668696 | 156 | void HTTP_para_start(FONAFlashStringPtr parameter, boolean quoted = true); |
lewisdaw3 | 0:8b6028668696 | 157 | boolean HTTP_para_end(boolean quoted = true); |
lewisdaw3 | 0:8b6028668696 | 158 | boolean HTTP_para(FONAFlashStringPtr parameter, const char *value); |
lewisdaw3 | 0:8b6028668696 | 159 | boolean HTTP_para(FONAFlashStringPtr parameter, FONAFlashStringPtr value); |
lewisdaw3 | 0:8b6028668696 | 160 | boolean HTTP_para(FONAFlashStringPtr parameter, int32_t value); |
lewisdaw3 | 0:8b6028668696 | 161 | boolean HTTP_data(uint32_t size, uint32_t maxTime=10000); |
lewisdaw3 | 0:8b6028668696 | 162 | boolean HTTP_action(uint8_t method, uint16_t *status, uint16_t *datalen, int32_t timeout = 10000); |
lewisdaw3 | 0:8b6028668696 | 163 | boolean HTTP_readall(uint16_t *datalen); |
lewisdaw3 | 0:8b6028668696 | 164 | boolean HTTP_ssl(boolean onoff); |
lewisdaw3 | 0:8b6028668696 | 165 | |
lewisdaw3 | 0:8b6028668696 | 166 | // HTTP high level interface (easier to use, less flexible). |
lewisdaw3 | 0:8b6028668696 | 167 | boolean HTTP_GET_start(char *url, uint16_t *status, uint16_t *datalen); |
lewisdaw3 | 0:8b6028668696 | 168 | void HTTP_GET_end(void); |
lewisdaw3 | 0:8b6028668696 | 169 | boolean HTTP_POST_start(char *url, FONAFlashStringPtr contenttype, const uint8_t *postdata, uint16_t postdatalen, uint16_t *status, uint16_t *datalen); |
lewisdaw3 | 0:8b6028668696 | 170 | void HTTP_POST_end(void); |
lewisdaw3 | 0:8b6028668696 | 171 | void setUserAgent(FONAFlashStringPtr useragent); |
lewisdaw3 | 0:8b6028668696 | 172 | |
lewisdaw3 | 0:8b6028668696 | 173 | // HTTPS |
lewisdaw3 | 0:8b6028668696 | 174 | void setHTTPSRedirect(boolean onoff); |
lewisdaw3 | 0:8b6028668696 | 175 | |
lewisdaw3 | 0:8b6028668696 | 176 | // PWM (buzzer) |
lewisdaw3 | 0:8b6028668696 | 177 | boolean setPWM(uint16_t period, uint8_t duty = 50); |
lewisdaw3 | 0:8b6028668696 | 178 | |
lewisdaw3 | 0:8b6028668696 | 179 | // Phone calls |
lewisdaw3 | 0:8b6028668696 | 180 | boolean callPhone(char *phonenum); |
lewisdaw3 | 0:8b6028668696 | 181 | uint8_t getCallStatus(void); |
lewisdaw3 | 0:8b6028668696 | 182 | boolean hangUp(void); |
lewisdaw3 | 0:8b6028668696 | 183 | boolean pickUp(void); |
lewisdaw3 | 0:8b6028668696 | 184 | boolean callerIdNotification(boolean enable, uint8_t interrupt = 0); |
lewisdaw3 | 0:8b6028668696 | 185 | boolean incomingCallNumber(char* phonenum); |
lewisdaw3 | 0:8b6028668696 | 186 | |
lewisdaw3 | 0:8b6028668696 | 187 | // Helper functions to verify responses. |
lewisdaw3 | 0:8b6028668696 | 188 | boolean expectReply(FONAFlashStringPtr reply, uint16_t timeout = 10000); |
lewisdaw3 | 0:8b6028668696 | 189 | boolean sendCheckReply(char *send, char *reply, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 190 | boolean sendCheckReply(FONAFlashStringPtr send, FONAFlashStringPtr reply, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 191 | boolean sendCheckReply(char* send, FONAFlashStringPtr reply, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 192 | |
lewisdaw3 | 0:8b6028668696 | 193 | |
lewisdaw3 | 0:8b6028668696 | 194 | protected: |
lewisdaw3 | 0:8b6028668696 | 195 | int8_t _rstpin; |
lewisdaw3 | 0:8b6028668696 | 196 | uint8_t _type; |
lewisdaw3 | 0:8b6028668696 | 197 | |
lewisdaw3 | 0:8b6028668696 | 198 | char replybuffer[255]; |
lewisdaw3 | 0:8b6028668696 | 199 | FONAFlashStringPtr apn; |
lewisdaw3 | 0:8b6028668696 | 200 | FONAFlashStringPtr apnusername; |
lewisdaw3 | 0:8b6028668696 | 201 | FONAFlashStringPtr apnpassword; |
lewisdaw3 | 0:8b6028668696 | 202 | boolean httpsredirect; |
lewisdaw3 | 0:8b6028668696 | 203 | FONAFlashStringPtr useragent; |
lewisdaw3 | 0:8b6028668696 | 204 | FONAFlashStringPtr ok_reply; |
lewisdaw3 | 0:8b6028668696 | 205 | |
lewisdaw3 | 0:8b6028668696 | 206 | // HTTP helpers |
lewisdaw3 | 0:8b6028668696 | 207 | boolean HTTP_setup(char *url); |
lewisdaw3 | 0:8b6028668696 | 208 | |
lewisdaw3 | 0:8b6028668696 | 209 | void flushInput(); |
lewisdaw3 | 0:8b6028668696 | 210 | uint16_t readRaw(uint16_t b); |
lewisdaw3 | 0:8b6028668696 | 211 | uint8_t readline(uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS, boolean multiline = false); |
lewisdaw3 | 0:8b6028668696 | 212 | uint8_t getReply(char *send, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 213 | uint8_t getReply(FONAFlashStringPtr send, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 214 | uint8_t getReply(FONAFlashStringPtr prefix, char *suffix, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 215 | uint8_t getReply(FONAFlashStringPtr prefix, int32_t suffix, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 216 | uint8_t getReply(FONAFlashStringPtr prefix, int32_t suffix1, int32_t suffix2, uint16_t timeout); // Don't set default value or else function call is ambiguous. |
lewisdaw3 | 0:8b6028668696 | 217 | uint8_t getReplyQuoted(FONAFlashStringPtr prefix, FONAFlashStringPtr suffix, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 218 | |
lewisdaw3 | 0:8b6028668696 | 219 | boolean sendCheckReply(FONAFlashStringPtr prefix, char *suffix, FONAFlashStringPtr reply, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 220 | boolean sendCheckReply(FONAFlashStringPtr prefix, int32_t suffix, FONAFlashStringPtr reply, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 221 | boolean sendCheckReply(FONAFlashStringPtr prefix, int32_t suffix, int32_t suffix2, FONAFlashStringPtr reply, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 222 | boolean sendCheckReplyQuoted(FONAFlashStringPtr prefix, FONAFlashStringPtr suffix, FONAFlashStringPtr reply, uint16_t timeout = FONA_DEFAULT_TIMEOUT_MS); |
lewisdaw3 | 0:8b6028668696 | 223 | |
lewisdaw3 | 0:8b6028668696 | 224 | |
lewisdaw3 | 0:8b6028668696 | 225 | boolean parseReply(FONAFlashStringPtr toreply, |
lewisdaw3 | 0:8b6028668696 | 226 | uint16_t *v, char divider = ',', uint8_t index=0); |
lewisdaw3 | 0:8b6028668696 | 227 | boolean parseReply(FONAFlashStringPtr toreply, |
lewisdaw3 | 0:8b6028668696 | 228 | char *v, char divider = ',', uint8_t index=0); |
lewisdaw3 | 0:8b6028668696 | 229 | boolean parseReplyQuoted(FONAFlashStringPtr toreply, |
lewisdaw3 | 0:8b6028668696 | 230 | char *v, int maxlen, char divider, uint8_t index); |
lewisdaw3 | 0:8b6028668696 | 231 | |
lewisdaw3 | 0:8b6028668696 | 232 | boolean sendParseReply(FONAFlashStringPtr tosend, |
lewisdaw3 | 0:8b6028668696 | 233 | FONAFlashStringPtr toreply, |
lewisdaw3 | 0:8b6028668696 | 234 | uint16_t *v, char divider = ',', uint8_t index=0); |
lewisdaw3 | 0:8b6028668696 | 235 | |
lewisdaw3 | 0:8b6028668696 | 236 | static boolean _incomingCall; |
lewisdaw3 | 0:8b6028668696 | 237 | static void onIncomingCall(); |
lewisdaw3 | 0:8b6028668696 | 238 | |
lewisdaw3 | 0:8b6028668696 | 239 | FONAStreamType *mySerial; |
lewisdaw3 | 0:8b6028668696 | 240 | }; |
lewisdaw3 | 0:8b6028668696 | 241 | |
lewisdaw3 | 0:8b6028668696 | 242 | class Adafruit_FONA_3G : public Adafruit_FONA { |
lewisdaw3 | 0:8b6028668696 | 243 | |
lewisdaw3 | 0:8b6028668696 | 244 | public: |
lewisdaw3 | 0:8b6028668696 | 245 | Adafruit_FONA_3G (int8_t r) : Adafruit_FONA(r) { _type = FONA3G_A; } |
lewisdaw3 | 0:8b6028668696 | 246 | |
lewisdaw3 | 0:8b6028668696 | 247 | boolean getBattVoltage(uint16_t *v); |
lewisdaw3 | 0:8b6028668696 | 248 | boolean playToolkitTone(uint8_t t, uint16_t len); |
lewisdaw3 | 0:8b6028668696 | 249 | boolean hangUp(void); |
lewisdaw3 | 0:8b6028668696 | 250 | boolean pickUp(void); |
lewisdaw3 | 0:8b6028668696 | 251 | boolean enableGPRS(boolean onoff); |
lewisdaw3 | 0:8b6028668696 | 252 | boolean enableGPS(boolean onoff); |
lewisdaw3 | 0:8b6028668696 | 253 | |
lewisdaw3 | 0:8b6028668696 | 254 | protected: |
lewisdaw3 | 0:8b6028668696 | 255 | boolean parseReply(FONAFlashStringPtr toreply, |
lewisdaw3 | 0:8b6028668696 | 256 | float *f, char divider, uint8_t index); |
lewisdaw3 | 0:8b6028668696 | 257 | |
lewisdaw3 | 0:8b6028668696 | 258 | boolean sendParseReply(FONAFlashStringPtr tosend, |
lewisdaw3 | 0:8b6028668696 | 259 | FONAFlashStringPtr toreply, |
lewisdaw3 | 0:8b6028668696 | 260 | float *f, char divider = ',', uint8_t index=0); |
lewisdaw3 | 0:8b6028668696 | 261 | }; |
lewisdaw3 | 0:8b6028668696 | 262 | |
lewisdaw3 | 0:8b6028668696 | 263 | #endif |