GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
がじぇるね岡宮です。
画像処理をするImageライブラリを評価バージョンE1.10として公開させていただきました。
大変すみませんが、プロデューサーの皆様から多く意見を反映したいため、スケッチリファレンスはまだ作成していません。(若干言い訳がましいですね・・・)。デフォルトのサンプルコードから、ある程度読み取っていただければありがたいです。サンプルでは動体検知しかしていませんが、人物検知用のライブラリは実装しています。
ちなみに、動体検知は写真3枚、人物検知は1枚で行います。
パラメータ(感度とか)の調整はまだ入れてません。ドライバとしては入ってますので、既存ライブラリの実装を参考にお試しいただければと思います。既に純正CCRXでのWebカメラサンプルでは感度調整など簡単にお試しできますが、普通の生活空間では結局デフォルトがちょうどいいと感じがしたので、日程を優先してE1.10を公開しました。
まだ動くことだけしか確認できていませんが、ファイルのタイムスタンプが2063年なのは何故だろうと思ってました。
FATのタイムスタンプの年が7bitで1980年スタートなので、
15 - 1980 = 0xf8530x53(83) + 1980 = 2063
となっている模様です。
なので、スケッチのdateTime()は以下とする必要がありますね。
*date = FAT_DATE((t.year+2000), t.mon, t.day);
※RTCの年カウンタは16bitなのに8bitしか使えないなんて。
RTCライブラリですが、GR-SAKURA スケッチV2.02も同様の仕様となっておりだいぶ混乱しました。
年データのコンバートには、HEX2BCD()と BCD2HEX() は16ビットへの拡張をされたらいかがでしょう。
Akagawaさん、Kinoshitaさん、ありがとうございます。すみません、確認漏れしまして。
確かにライブラリの仕様変更をした方がいいですね。KURUMIも。。。
イーサネットからJPGデータを取れるように、下記の改造しようとしてるのですが、setup()内のSDメモリ初期化で、エラーがでるようになりました。何か、エラー解消のヒントありませんか?
#define __ETHER__ #define __SD__ #include <Arduino.h> #include "Image.h" #ifdef __SD__ #include "SD.h" #endif // __SD__ #include "RTC.h" #ifdef __ETHER__ #include <Ethernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; EthernetServer Server(80); #endif // __ETHER__ Image image[3]; RTC_TIMETYPE t; void dateTime(uint16_t* date, uint16_t* time); void setup(){ pinMode( PIN_LED0, OUTPUT ); digitalWrite( PIN_LED0, 1 ); // ON Serial.begin(9600); #ifdef __ETHER__ if (Ethernet.begin(mac) == 0) { Serial.println("DHCP fail"); } Server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); #endif // __ETHER__ while(!Serial.available()); // wait to press key Serial.read(); //dummy Serial.println("start"); #ifdef __SD__ pinMode(SS, OUTPUT); if(!SD.begin(SS)){ Serial.println("Card failed, or not present."); // ここでエラー! } else { Serial.println("Success to access SD."); } #endif // __SD__
まず、SDXCは対応してないですがどうなんでしょうか?
あ、改造したらできなくなったのですかね。
なんだか、KinoshitaさんのSAKURAとかぶりますね、、
オリジナルサンプルでは、同じSDメモリに書き込めています。どこか、イーサとリソースが被ってるんでしょうか?
リソースは被ってないと思いますが、ちょっとエミュレータが今無いため明日確認になるかもしれません。loopに移したら(mainでEtherの処理を済ませる)どうなるか、確認していただいても宜しいですか?
私の環境ですが、SDメモリ部分をコメントアウトして、実行すると、何故か、Ethernet.begin(mac);のDHCPの取得で失敗している模様で、loopまでたどり着けていないみたいです。
そもそもEthernet関連が正常に動作していない様です。
SAKURAv2の「サーバーサンプル」で試していますが、TemplateV1.00では動作して、E1.10では動作しません。
DHCPの取得に失敗します(デフォルトの192.168.0.3になります)。IPアドレスを指定してもダメでした。
私の環境に特化した問題でなくて良かった。私も、「デフォルトの192.168.0.3になります」です。