Help us understand the problem. What is going on with this article?

message station > ..v0.29 > メッセージ保持機能実装完了 > EEPROMライブラリ使用

More than 3 years have passed since last update.

https://hackaday.io/project/9526-bring-your-own-pizero-byop
でBYOPの核となるMessage stationの実装

http://qiita.com/7of9/items/a1aee7c4b8f0d4bc8d9b
の続き

code v0.29

v0.29 @ github

SPIFFSの落とし穴

SPIFFSライブラリを使ってメッセージを保持しようとしたら、他の自作ライブラリが宣言されてないというエラーが出るようになった。

@exabugs さんの記事にて同じFlashに書き込む別の方法としてEEPROMライブラリがあることを覚えていたので、そちらを使うことにした。
http://qiita.com/exabugs/items/0220edd4c9bf93da981b

EEPROMライブラリは uint_8 型での書込みなので、ラッパー関数を自作して使用した。
filesysLib.ino

ファイル構成

ファイル構成は以下となった。

  • dataStructure.h
  • esp8266_160217_AQM0802.ino
  • esp8266_160220_BYOP.ino
  • esp8266_160220_StringLib.ino
  • esp8266_160220_UARTlib.ino
  • esp8266_160220_dataLib.ino
  • esp8266_160221_msgStorageLib.ino
  • esp8266_160227_filesysLib.ino
  • msgStorage.h

今回追加した esp8266_160227_filesysLib.ino は他のプロジェクトでも使えるように実装したつもりであるが、依存性が何か残っているかもしれない。
debug_outputDebugString()はデバッグ出力用なので、ダミー関数を用意することでesp8266_160227_filesysLibを他プロジェクトで使えると思うが未確認。

シリアルコマンド

通信プロトコル
http://qiita.com/7of9/items/a62a6f21b00923fe3658

使用例

シリアルモニタの入力例

hello,1,7of9
check
post,Vital,hello_Vital,0
bye

電源を切る
電源を入れる : Flashからメッセージが読み込まれる

hello,2,Vital
check
get
bye

シリアルモニタの出力例

hello,7of9
check,0
post,ok
bye,7of9
hello,Vital
check,1
get,hello_Vital,0
bye,Vital

メッセージクリア

v0.24においてメッセージをクリアするコマンドも入れておいた。
主にテスト用。

// serail number of the 1st commit of [esp8266_160220_BYOP]
static const String kAuthorizationCode = "7975f53";

として定義しているコードを合わせて以下でメッセージをクリアできる。

clear,7975f53

kAuthorizationCodeを入れているのは誤操作防止。

VoyagerやNextGenerationとかだと、艦長、副長、中佐くらいのAuthorizationCodeを合わせることで船の自爆シーケンスを開始できるのだが、敵役のボーグ(or カーデシア人 or ロミュラン人)が停止してくれる親切設計。

TODO

DONE: メッセージpost時の日時を保持する処理が未実装

7of9
セブンオブナインです。Unimatrix 01の第三付属物 9の7という識別番号です。Star trek Voyagerの好きなキャラクターです。まとめ記事は後日タイトルから内容がわからなくなるため、title検索で見つかるよう個々の記事にしてます。いわゆるBorg集合体の有名なセリフから「お前たち(の知識)を吸収する。抵抗は無意味だ」。Thanks in advance.
qiitadon
Qiitadon(β)から生まれた Qiita ユーザー・コミュニティです。
https://qiitadon.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした