|
EL_dev_arduino 4.3.0
|
#include <EL.h>

公開メンバ関数 | |
| EL (WiFiUDP &udp, byte classGroupCode, byte classCode, byte instanceNumber) | |
| オブジェクトを一つだけサポートする場合のコンストラクタ | |
| EL (WiFiUDP &udp, byte eojs[][3], int count) | |
| オブジェクトを複数サポートする場合のコンストラクタ | |
| EL (WiFiUDP &udp, std::initializer_list< std::initializer_list< byte > > eojs) | |
| オブジェクトを複数サポートする場合のコンストラクタ | |
| void | begin (void) |
| 通信の開始、受信開始 | |
| void | begin (ELCallback cb) |
| 通信の開始、受信開始、ユーザ関数受付 | |
| void | update (const byte epc, PDCEDT pdcedt) |
| EPCの値を変更する, eojが1個の場合(複数の場合は0番に相当) | |
| void | update (const int devId, const byte epc, PDCEDT pdcedt) |
| EPCの値を変更する, 複数の場合 | |
| void | update (const byte epc, std::initializer_list< byte > edt) |
| EPCの値を変更する, eojが1個の場合(複数の場合は0番に相当) | |
| void | update (const int devId, const byte epc, std::initializer_list< byte > edt) |
| EPCの値を変更する, 複数の場合 | |
| byte * | at (const byte epc) |
| EPCの値を取得する, eojが1個の場合(複数の場合は0番に相当) | |
| byte * | at (const int devId, const byte epc) |
| EPCの値を取得する, 複数の場合 | |
| void | send (IPAddress toip, byte sBuffer[], int size) |
| IP指定による送信 | |
| void | sendOPC1 (const IPAddress toip, const byte tid[], const byte seoj[], const byte deoj[], const byte esv, const byte epc, const byte pdcedt[]) |
| OPC1指定による送信(SEOJも指定する,ほぼ内部関数) | |
| void | sendOPC1 (const IPAddress toip, const byte seoj[], const byte deoj[], const byte esv, const byte epc, const byte pdcedt[]) |
| OPC1指定による送信(SEOJも指定する,ほぼ内部関数) | |
| void | sendOPC1 (const IPAddress toip, const byte deoj[], const byte esv, const byte epc, const byte pdcedt[]) |
| OPC1指定による送信(SEOJは初期化時に指定したものを使う) | |
| void | sendOPC1 (const IPAddress toip, const byte seoj[], const byte deoj[], const byte esv, const byte epc, std::initializer_list< byte > edt) |
| OPC1指定による送信(SEOJは初期化時に指定したものを使う) | |
| void | sendOPC1ID (const IPAddress toip, const int devId, const byte deoj[], const byte esv, const byte epc, const byte pdcedt[]) |
| void | sendBroad (byte sBuffer[], int size) |
| ブロードキャストによる送信(default: 192.168.1.255) | |
| void | sendMulti (byte sBuffer[], int size) |
| マルチキャストによる送信(default: 192.168.1.255) | |
| void | sendMultiOPC1 (const byte tid[], const byte seoj[], const byte deoj[], const byte esv, const byte epc, const byte pdcedt[]) |
| OPC一個用のマルチキャスト送信、TID指定有り | |
| void | sendMultiOPC1 (const byte seoj[], const byte deoj[], const byte esv, const byte epc, const byte pdcedt[]) |
| OPC一個用のマルチキャスト送信、TID自動 | |
| void | sendMultiOPC1 (const byte deoj[], const byte esv, const byte epc, const byte pdcedt[]) |
| OPC一個用のマルチキャスト送信、seoj省略(0番)、TID自動 | |
| void | sendMultiOPC1 (const byte seoj[], const byte deoj[], const byte esv, const byte epc, std::initializer_list< byte > edt) |
| OPC1指定による送信(SEOJは初期化時に指定したものを使う) | |
| void | sendMultiOPC1ID (const int devId, const byte deoj[], const byte esv, const byte epc, const byte pdcedt[]) |
| OPC一個用のマルチキャスト送信、seojの代わりにIDで指定、TID自動 | |
| void | sendDetails (const IPAddress toip, const byte tid[], const byte seoj[], const byte deoj[], const byte esv, const byte opc, const byte detail[], const byte detailSize) |
| 複数のEPCで送信する場合はこれを使う | |
| void | replyGetDetail (const IPAddress toip, const byte seoj[]) |
| Getに対して複数OPCにも対応して返答する内部関数 | |
| boolean | replyGetDetail_sub (const byte eoj[], const byte epc, int &devId) |
| EOJとEPCを指定したとき、そのプロパティ(EDT)があるかチェックする内部関数 | |
| void | replySetDetail (const IPAddress toip, const byte seoj[]) |
| Setに対して複数OPCにも対応して返答する内部関数 | |
| boolean | replySetDetail_sub (const byte eoj[], const byte epc, int &devId) |
| EOJとEPCを指定したとき、そのプロパティ(EDT)があるかチェックする内部関数 | |
| void | replyInfreqDetail (const IPAddress toip, const byte seoj[]) |
| INF_REQに対して複数OPCにも対応して返答する内部関数 | |
| boolean | replyInfreqDetail_sub (const byte eoj[], const byte epc, int &devId) |
| EOJとEPCを指定したとき、そのプロパティ(EDT)があるかチェックする内部関数 | |
| void | replySetgetDetail (const IPAddress toip, const byte seoj[]) |
| SETGETに対して返答する内部関数(現在は一律で不可応答する) | |
| void | replyInfcDetail (const IPAddress toip, const byte seoj[]) |
| INFCに対して複数OPCにも対応して返答する内部関数 | |
| void | checkInfAndSend (int devId, const byte epc) |
| INFプロパティならマルチキャストで送信 | |
| void | checkInfAndSend (const byte eoj[], const byte epc) |
| INFプロパティならマルチキャストで送信 | |
| int | read () |
| 受信データを受け取る | |
| IPAddress | remoteIP (void) |
| 受信データの送信元を取得する | |
| void | returner (void) |
| 受信データを処理する。EL処理でupdateしたら呼ぶ, Ver.3 | |
| void | recvProcess (void) |
| 受信処理 Ver.4 | |
| void | printAll (void) |
| インスタンスの情報を表示 | |
| int | getDevId (const byte obj[]) |
| device idを取得する内部関数 | |
| void | delPtr (byte ptr[]) |
| byte[] を安全にdeleteするinline関数 | |
| bool | verifyPacket (const byte data[], int size) |
| 受信パケットの正常生チェック | |
公開変数類 | |
| ELOBJ | profile |
| profile object (for specialist) | |
| ELOBJ * | devices |
| device objects (for multi eoj) | |
| byte | _rBuffer [EL_BUFFER_SIZE] |
| receive buffer | |
| byte | _tid [2] |
| TID (semi-auto incremented) | |
限定公開メンバ関数 | |
| int | parsePacket (void) |
| 受信データを読む | |
| void | commonConstructor (WiFiUDP &udp, byte eojs[][3], int count) |
| コンストラクタ共通処理 | |
| void | tidAutoIncrement (void) |
| TIDの自動インクリメント、オーバーフロー対策 | |
Main class for EL
| EL::EL | ( | WiFiUDP & | udp, |
| byte | classGroupCode, | ||
| byte | classCode, | ||
| byte | instanceNumber | ||
| ) |
オブジェクトを一つだけサポートする場合のコンストラクタ
| udp | WiFiUDP& |
| classGroupCode | byte class group code |
| classCode | byte class code |
| instanceNumber | byte instance number |

| EL::EL | ( | WiFiUDP & | udp, |
| byte | eojs[][3], | ||
| int | count | ||
| ) |
オブジェクトを複数サポートする場合のコンストラクタ
| udp | WiFiUDP& |
| eojs | byte [][3] |
| count | int |

| EL::EL | ( | WiFiUDP & | udp, |
| std::initializer_list< std::initializer_list< byte > > | eojs | ||
| ) |
オブジェクトを複数サポートする場合のコンストラクタ
| udp | WiFiUDP& |
| eojs | std::initializer_list<std::initializer_list<byte>> |

| byte * EL::at | ( | const byte | epc | ) |
EPCの値を取得する, eojが1個の場合(複数の場合は0番に相当)
| epc | const byte |

| byte * EL::at | ( | const int | devId, |
| const byte | epc | ||
| ) |
EPCの値を取得する, 複数の場合
| devId | const int, コンストラクタで渡した順番に相当 |
| epc | const byte |

| void EL::begin | ( | ELCallback | cb | ) |
通信の開始、受信開始、ユーザ関数受付

| void EL::begin | ( | void | ) |
通信の開始、受信開始

| void EL::checkInfAndSend | ( | const byte | eoj[], |
| const byte | epc | ||
| ) |
INFプロパティならマルチキャストで送信
| eoj | const byte[] |
| epc | const byte |

| void EL::checkInfAndSend | ( | int | devId, |
| const byte | epc | ||
| ) |
INFプロパティならマルチキャストで送信
| devId | int |
| epc | const byte |


|
protected |
コンストラクタ共通処理
| udp | WiFiUDP& |
| eojs | byte[][3] |
| count | int |


|
inline |
byte[] を安全にdeleteするinline関数
| ptr | byte[] |
| int EL::getDevId | ( | const byte | obj[] | ) |
device idを取得する内部関数
| obj | const byte [] |

|
protected |
受信データを読む

| void EL::printAll | ( | void | ) |
インスタンスの情報を表示

| int EL::read | ( | void | ) |
受信データを受け取る


| void EL::recvProcess | ( | void | ) |
受信処理 Ver.4

| IPAddress EL::remoteIP | ( | void | ) |
受信データの送信元を取得する

| void EL::replyGetDetail | ( | const IPAddress | toip, |
| const byte | _seoj[] = nullptr |
||
| ) |
Getに対して複数OPCにも対応して返答する内部関数
| toip | const IPAddress |
| _seoj | const byte[] |


| boolean EL::replyGetDetail_sub | ( | const byte | eoj[], |
| const byte | epc, | ||
| int & | devId | ||
| ) |
EOJとEPCを指定したとき、そのプロパティ(EDT)があるかチェックする内部関数
| eoj | const byte[] |
| epc | const byte |
| devId[out] | int&: -2: EL_DEVID_NOTHING, -1:EL_DEVID_NODEPROFILE, x:devId |

| void EL::replyInfcDetail | ( | const IPAddress | toip, |
| const byte | _seoj[] = nullptr |
||
| ) |
INFCに対して複数OPCにも対応して返答する内部関数
| toip | const IPAddress |
| _seoj | const byte[] |


| void EL::replyInfreqDetail | ( | const IPAddress | toip, |
| const byte | _seoj[] = nullptr |
||
| ) |
INF_REQに対して複数OPCにも対応して返答する内部関数
| toip | const IPAddress |
| _seoj | const byte[] |


| boolean EL::replyInfreqDetail_sub | ( | const byte | eoj[], |
| const byte | epc, | ||
| int & | devId | ||
| ) |
EOJとEPCを指定したとき、そのプロパティ(EDT)があるかチェックする内部関数
| eoj | const byte[] |
| epc | const byte |
| devId[out] | int&: -2: EL_DEVID_NOTHING, -1:EL_DEVID_NODEPROFILE, x:devId |

| void EL::replySetDetail | ( | const IPAddress | toip, |
| const byte | _seoj[] = nullptr |
||
| ) |
Setに対して複数OPCにも対応して返答する内部関数
| toip | const IPAddress |


| boolean EL::replySetDetail_sub | ( | const byte | eoj[], |
| const byte | epc, | ||
| int & | devId | ||
| ) |
EOJとEPCを指定したとき、そのプロパティ(EDT)があるかチェックする内部関数
| eoj | const byte[] |
| epc | const byte |
| devId[out] | int&: -1:profile, x:devId |

| void EL::replySetgetDetail | ( | const IPAddress | toip, |
| const byte | _seoj[] = nullptr |
||
| ) |
SETGETに対して返答する内部関数(現在は一律で不可応答する)
| toip | const IPAddress |
| _seoj | const byte[] |


| void EL::returner | ( | void | ) |
受信データを処理する。EL処理でupdateしたら呼ぶ, Ver.3


| void EL::send | ( | IPAddress | toip, |
| byte | sBuffer[], | ||
| int | size | ||
| ) |
IP指定による送信
| toip | IPAddress |
| sBuffer | byte[] |
| size | int size of sBuffer |

| void EL::sendBroad | ( | byte | sBuffer[], |
| int | size | ||
| ) |
ブロードキャストによる送信(default: 192.168.1.255)
| sBuffer | byte[] |
| size | int |
| void EL::sendDetails | ( | const IPAddress | toip, |
| const byte | tid[], | ||
| const byte | seoj[], | ||
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | opc, | ||
| const byte | detail[], | ||
| const byte | detailSize | ||
| ) |
複数のEPCで送信する場合はこれを使う
| toip | const IPAddress:送信先 |
| tid | const tid:TID |
| seoj | const byte[3] |
| deoj | const byte[3] |
| esv | const byte |
| opc | const byte |
| detail | const byte[N]: {EPC, PDC, EDT[x]}[y] |
| detailSize | const byte: size of detail N |


| void EL::sendMulti | ( | byte | sBuffer[], |
| int | size | ||
| ) |
マルチキャストによる送信(default: 192.168.1.255)
| sBuffer | byte [] |
| size | int バージョンによってはブロードキャストによる送信の場合がある。 |

| void EL::sendMultiOPC1 | ( | const byte | deoj[], |
| const byte | esv, | ||
| const byte | epc, | ||
| const byte | pdcedt[] | ||
| ) |
OPC一個用のマルチキャスト送信、seoj省略(0番)、TID自動
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| pdcedt | const byte[] |

| void EL::sendMultiOPC1 | ( | const byte | seoj[], |
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| const byte | pdcedt[] | ||
| ) |
OPC一個用のマルチキャスト送信、TID自動
| seoj | const byte[] |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| pdcedt | const byte[] |

| void EL::sendMultiOPC1 | ( | const byte | seoj[], |
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| std::initializer_list< byte > | edt | ||
| ) |
OPC1指定による送信(SEOJは初期化時に指定したものを使う)
| seoj | const byte[] |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| edt | std::initializer_list<byte> |

| void EL::sendMultiOPC1 | ( | const byte | tid[], |
| const byte | seoj[], | ||
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| const byte | pdcedt[] | ||
| ) |
OPC一個用のマルチキャスト送信、TID指定有り
| tid | const byte[] |
| seoj | const byte[] |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| pdcedt | const byte[] |


| void EL::sendMultiOPC1ID | ( | const int | devId, |
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| const byte | pdcedt[] | ||
| ) |
OPC一個用のマルチキャスト送信、seojの代わりにIDで指定、TID自動
| devId | const int |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| pdcedt | const byte[] |


| void EL::sendOPC1 | ( | const IPAddress | toip, |
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| const byte | pdcedt[] | ||
| ) |
OPC1指定による送信(SEOJは初期化時に指定したものを使う)
| toip | const IPAddress |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| pdcedt | const byte[] |

| void EL::sendOPC1 | ( | const IPAddress | toip, |
| const byte | seoj[], | ||
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| const byte | pdcedt[] | ||
| ) |
OPC1指定による送信(SEOJも指定する,ほぼ内部関数)
| toip | const IPAddress |
| seoj | const byte[] |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| pdcedt | const byte[] |

| void EL::sendOPC1 | ( | const IPAddress | toip, |
| const byte | seoj[], | ||
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| std::initializer_list< byte > | edt | ||
| ) |
OPC1指定による送信(SEOJは初期化時に指定したものを使う)
| toip | const IPAddress |
| seoj | const byte[] |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| edt | std::initializer_list<byte> |

| void EL::sendOPC1 | ( | const IPAddress | toip, |
| const byte | tid[], | ||
| const byte | seoj[], | ||
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| const byte | pdcedt[] | ||
| ) |
OPC1指定による送信(SEOJも指定する,ほぼ内部関数)
| toip | const IPAddress |
| tid | const byte[] |
| seoj | const byte[] |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| pdcedt | const byte[] |


| void EL::sendOPC1ID | ( | const IPAddress | toip, |
| const int | devId, | ||
| const byte | deoj[], | ||
| const byte | esv, | ||
| const byte | epc, | ||
| const byte | pdcedt[] | ||
| ) |
| toip | const IPAddress |
| devId | const int |
| deoj | const byte[] |
| esv | const byte |
| epc | const byte |
| pdcedt | const byte[] |

|
protected |
TIDの自動インクリメント、オーバーフロー対策

| void EL::update | ( | const byte | epc, |
| PDCEDT | pdcedt | ||
| ) |
EPCの値を変更する, eojが1個の場合(複数の場合は0番に相当)
| epc | const byte |
| pdcedt | PDCEDT |


| void EL::update | ( | const byte | epc, |
| std::initializer_list< byte > | edt | ||
| ) |
EPCの値を変更する, eojが1個の場合(複数の場合は0番に相当)
| epc | const byte |
| edt | std::initializer_list<byte> |

| void EL::update | ( | const int | devId, |
| const byte | epc, | ||
| PDCEDT | pdcedt | ||
| ) |
EPCの値を変更する, 複数の場合
| devId | const int, コンストラクタで渡した順番に相当 |
| epc | const byte |
| pdcedt | PDCEDT |

| void EL::update | ( | const int | devId, |
| const byte | epc, | ||
| std::initializer_list< byte > | edt | ||
| ) |
EPCの値を変更する, 複数の場合
| devId | const int, コンストラクタで渡した順番に相当 |
| epc | const byte |
| edt | std::initializer_list<byte> |

| bool EL::verifyPacket | ( | const byte | buffer[], |
| int | packetSize | ||
| ) |
受信パケットの正常生チェック
| buffer | byte[] |
| packetSize | int |

| byte EL::_rBuffer[EL_BUFFER_SIZE] |
receive buffer
| byte EL::_tid[2] |
TID (semi-auto incremented)
| ELOBJ* EL::devices |
device objects (for multi eoj)
| ELOBJ EL::profile |
profile object (for specialist)