Arduino  1.8.10
GSM3ShieldV1ClientProvider クラス

#include <GSM3ShieldV1ClientProvider.h>

GSM3ShieldV1ClientProvider の継承関係図
GSM3MobileClientProvider GSM3ShieldV1BaseProvider

公開メンバ関数

 GSM3ShieldV1ClientProvider ()
 
int minSocket ()
 
int maxSocket ()
 
int connectTCPClient (const char *server, int port, int id_socket)
 
int connectTCPClient (IPAddress add, int port, int id_socket)
 
void beginWriteSocket (bool client1Server0, int id_socket)
 
void writeSocket (const char *buf)
 
void writeSocket (uint8_t c)
 
void endWriteSocket ()
 
int availableSocket (bool client, int id_socket)
 
int readSocket ()
 
void flushSocket ()
 
int peekSocket ()
 
int disconnectTCP (bool client1Server0, int id_socket)
 
bool recognizeUnsolicitedEvent (byte from)
 
void manageResponse (byte from, byte to)
 
int ready ()
 
int getSocket (int socket=-1)
 
void releaseSocket (int socket)
 
bool getStatusSocketClient (uint8_t socket)
 
- 基底クラス GSM3MobileClientProvider に属する継承公開メンバ関数
 GSM3MobileClientProvider ()
 
- 基底クラス GSM3ShieldV1BaseProvider に属する継承公開メンバ関数
int ready ()
 
void prepareAuxLocate (PGM_P str, char auxLocate[])
 

その他の継承メンバ

- 基底クラス GSM3MobileClientProvider に属する継承限定公開変数類
uint8_t sockets
 

詳解

GSM3ShieldV1ClientProvider.h40 行目に定義があります。

構築子と解体子

◆ GSM3ShieldV1ClientProvider()

GSM3ShieldV1ClientProvider::GSM3ShieldV1ClientProvider ( )

Constructor

GSM3ShieldV1ClientProvider.cpp37 行目に定義があります。

38 {
40 };
GSM3MobileClientProvider * theGSM3MobileClientProvider

関数詳解

◆ availableSocket()

int GSM3ShieldV1ClientProvider::availableSocket ( bool  client,
int  id_socket 
)
virtual

Check if there are data to be read in socket.

引数
client1Server01 if modem acts as client, 0 if acts as server
id_socketLocal socket number
戻り値
0 if command running, 1 if there are data available, 4 if no data, otherwise error

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp228 行目に定義があります。

◆ beginWriteSocket()

void GSM3ShieldV1ClientProvider::beginWriteSocket ( bool  client1Server0,
int  id_socket 
)
virtual

Begin writing through a socket

引数
client1Server01 if modem acts as client, 0 if acts as server
id_socketLocal socket number
戻り値
0 if command running, 1 if success, otherwise error

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp202 行目に定義があります。

203 {
204 }

◆ connectTCPClient() [1/2]

int GSM3ShieldV1ClientProvider::connectTCPClient ( const char *  server,
int  port,
int  id_socket 
)
virtual

Connect to a remote TCP server

引数
serverString with IP or server name
portRemote port number
id_socketLocal socket number
戻り値
0 if command running, 1 if success, otherwise error

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp60 行目に定義があります。

61 {
63  idSocket = id_socket;
64 
68  connectTCPClientContinue();
70 }
void registerUMProvider(GSM3ShieldV1BaseProvider *provider)
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore
void openCommand(GSM3ShieldV1BaseProvider *activeProvider, GSM3_commandType_e c)

◆ connectTCPClient() [2/2]

int GSM3ShieldV1ClientProvider::connectTCPClient ( IPAddress  add,
int  port,
int  id_socket 
)
virtual

Connect to a remote TCP server

引数
addRemote IP address
portRemote port number
id_socketLocal socket number
戻り値
0 if command running, 1 if success, otherwise error

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp72 行目に定義があります。

73 {
74  remoteIP=add;
76  return connectTCPClient(0, port, id_socket);
77 }
int connectTCPClient(const char *server, int port, int id_socket)
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore

◆ disconnectTCP()

int GSM3ShieldV1ClientProvider::disconnectTCP ( bool  client1Server0,
int  id_socket 
)
virtual

Close a socket

引数
client1Server01 if modem acts as client, 0 if acts as server
id_socketSocket
戻り値
0 if command running, 1 if success, otherwise error

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp169 行目に定義があります。

170 {
171  // id Socket does not really mean anything, in this case we have
172  // only one socket running
174 
175  // If we are not closed, launch the command
176 //[ZZ] if(theGSM3ShieldV1ModemCore.getStatus()==TRANSPARENT_CONNECTED)
177 // {
178  delay(1000);
180  delay(1000);
183 // }
184  // Looks like it runs everytime, so we simply flush to death and go on
185  do
186  {
187  // Empty the local buffer, and tell the modem to XON
188  // If meanwhile we receive a DISCONNECT we should detect it as URC.
191  // Give some time for the buffer to refill
192  delay(100);
195 
198 }
void genericCommand_rq(PGM_P str, bool addCR=true)
#define PSTR(s)
Definition: pgmspace.h:408
void delay(unsigned long)
Definition: wiring.c:106
GSM3CircularBuffer & theBuffer()
void unRegisterUMProvider(GSM3ShieldV1BaseProvider *provider)
size_t print(const __FlashStringHelper *)
Definition: Print.cpp:44
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore
void setStatus(GSM3_NetworkStatus_t status)
void openCommand(GSM3ShieldV1BaseProvider *activeProvider, GSM3_commandType_e c)

◆ endWriteSocket()

void GSM3ShieldV1ClientProvider::endWriteSocket ( )
virtual

Finish current writing

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp222 行目に定義があります。

223 {
224 }

◆ flushSocket()

void GSM3ShieldV1ClientProvider::flushSocket ( )
virtual

Flush socket

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp268 行目に定義があります。

269 {
271 
272  flushSocketContinue();
273 }
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore
void openCommand(GSM3ShieldV1BaseProvider *activeProvider, GSM3_commandType_e c)

◆ getSocket()

int GSM3ShieldV1ClientProvider::getSocket ( int  socket = -1)
virtual

Get socket

引数
socketSocket
戻り値
socket

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp310 行目に定義があります。

311 {
312  return 0;
313 }

◆ getStatusSocketClient()

bool GSM3ShieldV1ClientProvider::getStatusSocketClient ( uint8_t  socket)
virtual

Get socket client status

引数
socketSocket
戻り値
1 if connected, 0 otherwise

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp320 行目に定義があります。

321 {
323 
324 };
GSM3_NetworkStatus_t getStatus()
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore

◆ manageResponse()

void GSM3ShieldV1ClientProvider::manageResponse ( byte  from,
byte  to 
)
virtual

Manages modem response

引数
fromInitial byte position
toFinal byte position

GSM3ShieldV1BaseProviderを再実装しています。

GSM3ShieldV1ClientProvider.cpp43 行目に定義があります。

44 {
46  {
47  case NONE:
49  break;
50  case CONNECTTCPCLIENT:
51  connectTCPClientContinue();
52  break;
53  case FLUSHSOCKET:
54  flushSocketContinue();
55  break;
56  }
57 }
GSM3CircularBuffer cb
void deleteToTheEnd(byte from)
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore
GSM3_commandType_e getOngoingCommand()

◆ maxSocket()

int GSM3ShieldV1ClientProvider::maxSocket ( )
inlinevirtual

maxSocket

戻り値
0

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.h74 行目に定義があります。

74 {return 0;};

◆ minSocket()

int GSM3ShieldV1ClientProvider::minSocket ( )
inlinevirtual

minSocket

戻り値
0

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.h69 行目に定義があります。

69 {return 0;};

◆ peekSocket()

int GSM3ShieldV1ClientProvider::peekSocket ( )
virtual

Get a character but will not advance the buffer head

戻り値
character

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp261 行目に定義があります。

262 {
264 }
GSM3CircularBuffer & theBuffer()
char peek(int increment)
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore

◆ readSocket()

int GSM3ShieldV1ClientProvider::readSocket ( )
virtual

Read data (get a character) available in socket

戻り値
character

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp242 行目に定義があります。

243 {
244  char charSocket;
245 
247  {
248  return 0;
249  }
250 
251  charSocket = theGSM3ShieldV1ModemCore.theBuffer().read();
252 
255 
256  return charSocket;
257 
258 }
GSM3CircularBuffer & theBuffer()
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore

◆ ready()

int GSM3ShieldV1ClientProvider::ready ( )
inlinevirtual

Get last command status

戻り値
returns 0 if last command is still executing, 1 success, >1 error

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.h156 行目に定義があります。

◆ recognizeUnsolicitedEvent()

bool GSM3ShieldV1ClientProvider::recognizeUnsolicitedEvent ( byte  from)
virtual

Recognize unsolicited event

引数
oldTail
戻り値
true if successful

GSM3ShieldV1BaseProviderを再実装しています。

GSM3ShieldV1ClientProvider.cpp295 行目に定義があります。

296 {
297  char auxLocate [12];
298  prepareAuxLocate(PSTR("CLOSED"), auxLocate);
299 
301  {
304  return true;
305  }
306 
307  return false;
308 }
GSM3_NetworkStatus_t getStatus()
#define PSTR(s)
Definition: pgmspace.h:408
GSM3CircularBuffer & theBuffer()
void unRegisterUMProvider(GSM3ShieldV1BaseProvider *provider)
void prepareAuxLocate(PGM_P str, char auxLocate[])
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore
void setStatus(GSM3_NetworkStatus_t status)
bool chopUntil(const char *reference, bool movetotheend, bool head=true)

◆ releaseSocket()

void GSM3ShieldV1ClientProvider::releaseSocket ( int  socket)
virtual

Release socket

引数
socketSocket

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp315 行目に定義があります。

316 {
317 
318 }

◆ writeSocket() [1/2]

void GSM3ShieldV1ClientProvider::writeSocket ( const char *  buf)
virtual

Write through a socket. MUST go after beginWriteSocket()

引数
bufcharacters to be written (final 0 will not be written)

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp208 行目に定義があります。

209 {
212 }
GSM3_NetworkStatus_t getStatus()
size_t print(const __FlashStringHelper *)
Definition: Print.cpp:44
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore

◆ writeSocket() [2/2]

void GSM3ShieldV1ClientProvider::writeSocket ( uint8_t  c)
virtual

Write through a socket. MUST go after beginWriteSocket()

引数
ccharacter to be written

GSM3MobileClientProviderを実装しています。

GSM3ShieldV1ClientProvider.cpp215 行目に定義があります。

216 {
219 }
GSM3_NetworkStatus_t getStatus()
size_t print(const __FlashStringHelper *)
Definition: Print.cpp:44
GSM3ShieldV1ModemCore theGSM3ShieldV1ModemCore

このクラス詳解は次のファイルから抽出されました: