RXduino  1.20a
RXduinoマニュアル 最終更新日 平成26年6月29日
Ethernet.h
説明を見る。
1 /*******************************************************************************
2 * RXduinoライブラリ & 特電HAL
3 *
4 * このソフトウェアは特殊電子回路株式会社によって開発されたものであり、当社製品の
5 * サポートとして提供されます。このライブラリは当社製品および当社がライセンスした
6 * 製品に対して使用することができます。
7 * このソフトウェアはあるがままの状態で提供され、内容および動作についての保障はあ
8 * りません。弊社はファイルの内容および実行結果についていかなる責任も負いません。
9 * お客様は、お客様の製品開発のために当ソフトウェアのソースコードを自由に参照し、
10 * 引用していただくことができます。
11 * このファイルを単体で第三者へ開示・再配布・貸与・譲渡することはできません。
12 * コンパイル・リンク後のオブジェクトファイル(ELF ファイルまたはMOT,SRECファイル)
13 * であって、デバッグ情報が削除されている場合は第三者に再配布することができます。
14 * (C) Copyright 2011-2012 TokushuDenshiKairo Inc. 特殊電子回路株式会社
15 * http://rx.tokudenkairo.co.jp/
16 *******************************************************************************/
17 
18 #ifndef __H_RXDUINO_ETHERNET
19 #define __H_RXDUINO_ETHERNET
20 /**************************************************************************/
25 #include "rxduino.h"
26 #include "tkdnip.h"
27 #include "../tkdnhal/tkdn_version.h"
28 
29  // 登録する関数の型は以下のとおり
30  // void func( unsigned char dest_ip[4],
31  // unsigned char src_ip[4],
32  // short dest_port,
33  // short src_port,
34  // unsigned char *data, // UDPパケットのデータ部
35  // short datalen); // UDPパケットのデータの長さ(ヘッダは含まない)
36 
37 #define ETHERNET_LIBRARY_VERSION 0x01200000 // Version 1.20
38 #define ETHERNET_LIBRARY_TIME 1402069288 // 2014/6/07 00:41:28
39 //------------------------------------------------------------------
40 // TEthernet
41 //------------------------------------------------------------------
42 /*********************************************************************/
48 class TEthernet {
49 private:
50 
51 public:
52 /*********************************************************************/
63  static unsigned long getVersion(version_info *vi);
64 
65 /*********************************************************************/
73  static void processPackets();
74 
75 /*********************************************************************/
83  void setHostname(const char *myhostname);
84 
85 /*********************************************************************/
91  int begin(byte mac[6]);
92 
93 /*********************************************************************/
100  void begin(byte mac[6], byte ip[4]);
101 
102 /*********************************************************************/
110  void begin(byte mac[6], byte ip[4], byte dns[4]);
111 
112 /*********************************************************************/
121  void begin(byte mac[6], byte ip[4], byte dns[4], byte gateway[4]);
122 
123 /*********************************************************************/
133  void begin(byte mac[6], byte ip[4], byte dns[4], byte gateway[4], byte subnet[4]);
134 
135 /*********************************************************************/
141  char *localIP();
142 
143 /*********************************************************************/
148  bool isLinkup();
149 
150 /*********************************************************************/
155  bool Ping(const char *hostname);
156 
157 /*********************************************************************/
162  bool Ping(byte ip[4]);
163 
164 /*********************************************************************/
171  byte *gethostbyname(const char *hostname);
172 
173 /*********************************************************************/
178  bool dhcp(void);
179 
180 /*********************************************************************/
188  bool sendUDP(byte ipaddr[4],unsigned short dest_port,byte *buf,int len);
189 
190  //
191 /*********************************************************************/
199  void registUdpHandler(UDP_HANDLE_FUNC func);
200 };
201 
202 extern TEthernet Ethernet;
203 
204 /*********************************************************************/
210 private:
211  tcp_t *info;
212  bool istmp;
213 
214 public:
215 /*********************************************************************/
226  static unsigned long getVersion(version_info *vi);
227 
228  EthernetClient();
229  EthernetClient(tcp_t *info);
230  ~EthernetClient();
231 
232 /*********************************************************************/
239  bool connect(byte server[4],unsigned short port);
240 
241 /*********************************************************************/
245  bool connected();
246 
247 /*********************************************************************/
251  void stop();
252 
253 /*********************************************************************/
258  void write(unsigned char c);
259 
260 /*********************************************************************/
265  void write(const char *str);
266 
267 /*********************************************************************/
273  void write(unsigned char *buf,int len);
274 
275 /*********************************************************************/
281  void print(int val, int print_type=DEC);
282 
283 /*********************************************************************/
290  void print(double val, int fpdigit=2);
291 
292 /*********************************************************************/
297  void print(const char *str);
298 
299 /*********************************************************************/
303  void println(void);
304 
305 /*********************************************************************/
311  void println(int val, int print_type=DEC);
312 
313 /*********************************************************************/
320  void println(double val, int fpdigit=2);
321 
322 /*********************************************************************/
327  void println(const char *str);
328 
329 /*********************************************************************/
333  int available();
334 
335 /*********************************************************************/
340  int read();
341 
342 /*********************************************************************/
345  void flush();
346 
347  operator int();
348  operator bool();
349 
350 };
351 
352 /*********************************************************************/
358 private:
359  tcp_t *info;
360 
361 public:
362 /*********************************************************************/
373  static unsigned long getVersion(version_info *vi);
374 
375 /*********************************************************************/
380  EthernetServer(unsigned short port);
381  ~EthernetServer();
382 
383 /*********************************************************************/
387  void begin();
388 
389 /*********************************************************************/
396 
397 /*********************************************************************/
402  void write(unsigned char c);
403 
404 /*********************************************************************/
409  void write(const char *str);
410 
411 /*********************************************************************/
417  void write(unsigned char *buf,int len);
418 
419 /*********************************************************************/
425  void print(int val, int print_type=DEC);
426 
427 /*********************************************************************/
434  void print(double val, int fpdigit=2);
435 
436 /*********************************************************************/
441  void print(const char *str);
442 
443 /*********************************************************************/
447  void println();
448 
449 /*********************************************************************/
455  void println(int val, int print_type=DEC);
456 
457 /*********************************************************************/
464  void println(double val, int fpdigit=2);
465 
466 /*********************************************************************/
471  void println(const char *str);
472 
473 };
474 
475 #endif // __H_RXDUINO_ETHERNET
476 
byte * gethostbyname(const char *hostname)
DNSにアクセスして、ホスト名からIPアドレスを調べる
EthernetServer(unsigned short port)
サーバクラスのコンストラクタ
static void processPackets()
イーサネットの受信処理を進める
RX62N/RX63N用のTCP/IPプロトコルスタック。
Arduino互換のTCPサーバ・クラス
Definition: Ethernet.h:357
static unsigned long getVersion(version_info *vi)
ライブラリのバージョン情報を取得する
static unsigned long getVersion(version_info *vi)
ライブラリのバージョン情報を取得する
bool Ping(const char *hostname)
ターゲットホスト名を指定してPingを送る
int available()
接続している相手先から受け取ったデータがあるかどうかを調べる
void write(unsigned char c)
接続している相手先に1バイトのデータを送信する
int begin(byte mac[6])
イーサネットライブラリを開始する
void stop()
TCPで接続していればFINを送って、コネクションを閉じる
EthernetClient available()
サーバに接続していて受信データのあるクライアントのオブジェクトを返す
bool isLinkup()
LANがリンクアップしているかどうかを返す
bool connect(byte server[4], unsigned short port)
サーバに接続する
void begin()
サーバの接続待ちを開始する
struct tcp_str tcp_t
TCPの接続情報を示す構造体 内部構造は知る必要はないため隠蔽されている
Definition: tkdnip.h:124
static unsigned long getVersion(version_info *vi)
ライブラリのバージョン情報を取得する
void write(unsigned char c)
接続しているすべてのクライアントに1バイトのデータを送信する
void flush()
この関数は実装されていない
void setHostname(const char *myhostname)
自分のホスト名を設定する
unsigned char byte
8bitの符号無し数値(0~255)を表わす
Definition: rxduino.h:43
void println()
接続しているすべてのクライアントに改行コードを送る
bool connected()
TCPで接続しているかどうか調べる
Arduino互換のイーサネットクラス
Definition: Ethernet.h:48
Renesas RX62N/63N用のArduino互換ライブラリ
Arduino互換のTCPクライアント・クラス
Definition: Ethernet.h:209
bool sendUDP(byte ipaddr[4], unsigned short dest_port, byte *buf, int len)
UDPパケットを送る
void print(int val, int print_type=DEC)
接続しているすべてのクライアントに型式を指定して、文字列として数値を送る
char * localIP()
自分のIPアドレスを文字列にして受け取る
bool dhcp(void)
DHCPでIPアドレスやDNS、ゲートウェイ等の取得を再実行する
void println(void)
接続している相手先に改行コードを送る
int read()
受信したデータを1文字取り出す
void registUdpHandler(UDP_HANDLE_FUNC func)
UDPを受信したときにコールバックされる関数を登録する
バージョン情報構造体
Definition: tkdn_version.h:31
void print(int val, int print_type=DEC)
接続している相手先に型式を指定して、文字列として数値を送る