source: rtos_arduino/trunk/arduino_lib/hardware/arduino/samd/libraries/GSM/src/GSM3ShieldV1.h@ 175

Last change on this file since 175 was 175, checked in by ertl-honda, 8 years ago

ライブラリを Arduino IDE 1.7.9 にupdate

File size: 3.9 KB
Line 
1/*
2This file is part of the GSM3 communications library for Arduino
3-- Multi-transport communications platform
4-- Fully asynchronous
5-- Includes code for the Arduino-Telefonica GSM/GPRS Shield V1
6-- Voice calls
7-- SMS
8-- TCP/IP connections
9-- HTTP basic clients
10
11This library has been developed by Telefónica Digital - PDI -
12- Physical Internet Lab, as part as its collaboration with
13Arduino and the Open Hardware Community.
14
15September-December 2012
16
17This library is free software; you can redistribute it and/or
18modify it under the terms of the GNU Lesser General Public
19License as published by the Free Software Foundation; either
20version 2.1 of the License, or (at your option) any later version.
21
22This library is distributed in the hope that it will be useful,
23but WITHOUT ANY WARRANTY; without even the implied warranty of
24MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25Lesser General Public License for more details.
26
27You should have received a copy of the GNU Lesser General Public
28License along with this library; if not, write to the Free Software
29Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
30
31The latest version of this library can always be found at
32https://github.com/BlueVia/Official-Arduino
33*/
34#ifndef __GSM3_SHIELDV1__
35#define __GSM3_SHIELDV1__
36
37#include <GSM3MobileNetworkProvider.h>
38#include <GSM3ShieldV1ModemCore.h>
39#include <GSM3ShieldV1BaseProvider.h>
40#include <Arduino.h>
41
42
43class GSM3ShieldV1 : public GSM3MobileNetworkProvider, public GSM3ShieldV1BaseProvider
44{
45 // General code, for modem management
46 private:
47
48 /** Delay inside an interrupt (2 seconds)
49 */
50 void delayInsideInterrupt2seg();
51
52 // Code for SMS Service
53 private:
54
55
56 long commandMillis;
57 bool commandSent;
58
59 const char* pinConfig; //PIN.
60 char* accessPoint; //APN.
61 char* userName; //User.
62 char* passw; //Password.
63 const char* remoteID; //Server.
64
65 char* dataSocket; //Data socket.
66 int local_Port; //Local Port.
67 char* local_IP; //Local IP.
68 int local_IP_Length; //Local IP length.
69
70
71 int socketDataSize; //Size of socket data to be read.
72 int socketDataSizeWritten; //Number of socket data written in buffer not to overflow the buffer
73
74 int socketsAccepted; //Status for remote clients accepted of closed.
75
76 public:
77
78 /** Constructor **/
79 GSM3ShieldV1(bool debug=false);
80
81 /** Manages modem response
82 @param from Initial byte of buffer
83 @param to Final byte of buffer
84 */
85 void manageResponse(byte from, byte to);
86
87 /** Get last command status
88 @return returns 0 if last command is still executing, 1 success, >1 error
89 */
90 int ready(){return GSM3ShieldV1BaseProvider::ready();};
91
92 /** Parse modem response
93 @param rsp Returns true if expected response exists
94 @param string1 Substring expected in response
95 @param string2 Second substring expected in response
96 @return true if parsed successful
97 */
98 bool genericParse_rsp2(bool& rsp, char* string1, char* string2);
99
100 /** Recognize URC
101 @param oldTail
102 @return true if successful
103 */
104 bool recognizeUnsolicitedEvent(byte oldTail);
105
106 /** Receive answer
107 @return true if successful
108 */
109 bool answerReceived();
110
111 /** Receive socket
112 @param id_socket Socket ID
113 @return true if successful
114 */
115 bool socketReceived(int id_socket);
116
117 /** Update active ID sockets
118 @param active Active sockets
119 @param ID Id for update
120 */
121 void update_activeIDsockets (bool active, int ID);
122
123 /** Assign ID to socket
124 @param ID Id to assign to socket
125 @return true if successful
126 */
127 bool assignIDsocket (int& ID);
128
129 /** Close data socket
130 @return true if successful
131 */
132 bool closedDataSocket(); //Flag closed current data socket.
133
134 //bool writeIncomingCalls(char* bufferForCallerId) If isn't zero, doesn't wait calls
135};
136
137#endif
Note: See TracBrowser for help on using the repository browser.