UARDECS1.2.1について簡易説明書
2019/6/10 H.kurosaki

●本ソフトウェアの利用は、同封のライセンス条項に同意した上で行ってください。

●動作環境
以下の機種での動作を確認しています
◎UARDECSの動作機種
	Arduino UNO+Ethernet Shield R3 (W5100)
	Arduino MEGA+Ethernet Shield R3 (W5100)
	Arduino Ethernet R3 (W5100)
	Arduino UNO+Ethernet Shield 2 (W5500)
	Arduino MEGA+Ethernet Shield 2 (W5500)
	Arduino UNO+WIZ550io(W5500)
	Arduino MEGA+WIZ550io(W5500)

※Arduino Leonardo Ethernetはコンパイル可能ですがメモリ不足により非推奨

◎UARDECS_MEGAの動作機種
	Arduino MEGA+Ethernet Shield R3(W5100)
	Arduino MEGA+Ethernet Shield 2(W5500)
	Arduino MEGA+WIZ550io(W5500)
※Arduino UNOではメモリ不足により非推奨

●開発環境の構築
(1)Arduino IDE1.8.7以降を使用します
Arduino IDEをインストールした後、マイドキュメントフォルダの中の"Arduino\libraries"の下に
利用する機種に合ったファイルをコピーし、ライブラリをインストールする必要があります。

◎Ethernet Shield 2またはW5500を搭載した互換シールドを使う場合
　"libraries(W5500用)"の中に入っている"UARDECS"と"UARDECS_MEGA"フォルダをコピーします
　IDE1.8.7以降では初期状態でW5500(Ethernet Shield 2など)のライブラリがインストールされていません
　IDEインストール後に以下の方法で追加インストールを行います
　①IDEを起動し、スケッチ＞ライブラリをインクルード＞ライブラリを管理を選ぶ
　②ライブラリの検索画面が出るので、タイプに「全て」検索欄に「ethernet2」と入力する
　③Ethernet Built-In…という項目が出るのでクリックするとバージョン選択画面とインストールボタンが出るので押す
　注意:付属のWiz550io用任意パッチを使う場合、バージョン1.0.3以外は動作対象外です
　④IDE1.8.7以降はライブラリのインストールフォルダがドキュメントフォルダ以下の
　"\Arduino\libraries"の中になっており、ここにEthernet2フォルダが出現していれば成功です

◎Ethernet Shield R3またはW5100を搭載した互換シールドを使う場合
　"W5100(旧機種用)"フォルダにファイルが入っています
　"libraries"の中に入っている"UARDECS"と"UARDECS_MEGA"フォルダをコピーします。
　①最初からインストールされているEthernetライブラリを探します。インストーラ付きのIDEを使っている場合は、”C:\Program Files (x86)\Arduino\libraries”の中にあります。ここにEthernetというフォルダがあるのでフォルダごと、ここからコピーします。
　②Ethernetライブラリをマイドキュメント/Arduino/librariesのUARDECSと同じフォルダの中にペーストします。
　③ライブラリマネージャという画面が出るので、タイプに「全て」、検索欄にethernetと入力するとEthernet Built-IN by Various・・・というライブラリが出てくるのでバージョンが2.0.0であることを確認します。
　④IDE1.8.7ではバージョン2.0.0が最初からインストールされています。もし、他のバージョンが検出された場合、バージョンを選択→バージョン2.0.0を選んでインストールして下さい。
　⑤次に、再びマイドキュメント/Arduino/librariesフォルダに入ります。先程コピーしたEthernetフォルダを開き、その下のsrcフォルダに入ると"socket.cpp"があります。UARDECSの"W5100用Ethernetパッチ(不具合対応)"フォルダにある、Ver2.0.0用の"socket.cpp"で上書きします。

(3)UARDECS_MEGAについて
メモリ容量の多いArduino MEGA用に追加された機能強化バージョンです
基本的に従来のUARDECSの上位互換でソースコードが流用でき、設定可能な項目が増えた上位バージョンです。
このライブラリをインストールした場合、従来のUARDECSのソースコードのヘッダ部分を
#include <Uardecs.h> → #include <Uardecs_mega.h>
に書き換えるだけで利用可能です。
UNOでも作成するCCMの数が少なければコンパイルは可能ですが、メモリに余裕が無いので非推奨です。
従来のUARDECSとの大きな違いは、CCM typeなどをweb上からユーザーが変更して保存できることです。
EEPROMにデータが書かれていない初回起動時やプログラムの変更時にCCMの登録文字列にゴミが表示されることがあります。
その場合ノードを起動してブラウザでアクセスし"CCM Edit"→"Reset all type"を選んでCCMを初期化して下さい。

●サンプルスケッチ
正常にライブラリがインストールできていればIDE左上の
"ファイル"→"スケッチの例"の中にUARDECSという項目ができており、
その中からサンプルスケッチを呼び出すことができます

●WIZ550ioの使い方
これはArduinoのシールドではなく、W5500の周辺回路のみで構成されたモジュールですが、
適切に結線すればEthernet Shield2と同じことができます。
必要な結線はArduino→Wiz550ioとすると以下の7ピンで、バス電圧は5V,3.3V両用です。
D10→SCSn
(ICSP)MOSI→MOSI
(ICSP)MISO→MISO
(ICSP)SCK→SCLK
RESET→RSTn
3.3V→3V3D
GND→GND
ただし、Arduino単体では3.3Vの電力供給が不足するおそれがあるので、
3.3Vのレギュレータを増設するのをお勧めします。
※ICSPはUNOではD11(MOSI),D12(MISO),D13(SCK)に同じ端子が出ているので
　これを結線すれば問題なく動きますが、MEGAではD50(MISO),D51(MOSI),D52(SCK)端子になるので
　なるべく6pinのICSP端子を使うことをお勧めします。

●Wiz550io用任意パッチについて
このパッチは現時点でWiz550io専用で他の機種では効果がありません。
ドキュメントの中のフォルダ"Arduino"の中の、
"libraries\Ethernet2\src"以下の同名のファイルを上書きすることで、
MACアドレスの設定が不要になります。
ソースコード内で宣言したMACアドレスは、W5500のチップに工場出荷時に内蔵された
MACアドレスで上書きされます。
毎回ソースコード内に記述していたMACアドレスの設定ミスを防ぐのに有効ですが、
利用できる機種が限定されるため、任意パッチになっています。
Ethernet Shield 2で使用した場合、メモリの消費量が少し増えるだけで
パッチを使用しない時と挙動が変わりません。
