source: arduino-1-6-7/trunk/fuentes/arduino-ide-amd64/libraries/GSM/src/GSM3ShieldV1DirectModemProvider.h @ 46

Last change on this file since 46 was 46, checked in by jrpelegrina, 4 years ago

First release to Xenial

File size: 2.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
35#ifndef __GSM3DIRECTMODEMPROVIDER__
36#define __GSM3DIRECTMODEMPROVIDER__
37
38#include <GSM3SoftSerial.h>
39#include <GSM3MobileNetworkProvider.h>
40#include <GSM3ShieldV1BaseProvider.h>
41#include <Stream.h>
42#include <Arduino.h>
43
44class GSM3ShieldV1DirectModemProvider : public GSM3ShieldV1BaseProvider, public Stream
45{                       
46                private:
47                       
48                        bool trace;
49                       
50        public:
51                       
52                        /** Constructor
53                                @param trace if true, dumps all AT dialogue to Serial
54                        */
55                        GSM3ShieldV1DirectModemProvider(bool trace=false);
56                       
57                        /**
58                         */
59                        void begin();
60                       
61                        /**
62                         */
63                        void restartModem();
64                       
65                        /** Enable the debug process.
66                         */
67                        void connect();
68                       
69                        /** Disable the debug process.
70                         */
71                        void disconnect();
72                       
73                        /** Debug write to modem by means of SoftSerial.
74                                @param c                        Character
75                                @return size
76                         */
77                        size_t write(uint8_t c);
78                       
79                        /** Check for incoming bytes in buffer
80                                @return
81                         */
82                        int available();
83                       
84                        /** Read from circular buffer
85                                @return character
86                         */
87                        int read();
88                       
89                        /** Read from circular buffer, but do not delete it
90                                @return character
91                         */
92                        int peek();
93                       
94                        /** Empty circular buffer
95                         */
96                        void flush();
97                       
98                        /** Manages modem response
99                                @param from             Initial byte of buffer
100                                @param to                       Final byte of buffer
101                         */
102                        void manageResponse(byte from, byte to){};
103                       
104                        /** Recognize unsolicited event
105                                @param from             
106                                @return true if successful
107                         */
108                        bool recognizeUnsolicitedEvent(byte from){return false;};
109                       
110                        /** Send AT command to modem
111                                @param command          AT command
112                                @param delay            Time to wait for response
113                                @return response from modem
114                         */
115                        String writeModemCommand(String command, int delay);
116};
117
118#endif
Note: See TracBrowser for help on using the repository browser.