はじめに
TWELiteは電力消費が少なく無線通信もできるスグレモノのマイコンだが、何しろ情報が少ない。MONO Wireless社のページにある解説はなかなかとっつきにくい。が、どうしても使いたいので、少しずつ勉強している。
今回は、無線通信せず長時間データをロギングする方法について検討した。とはいえまだ机上の検討だが...。
保存先は?
Arduinoを使っていた時の経験から、通常最初に思いつくのはSDカード。ただ、TWELiteからSDカードに読み書きする方法が見つからない。また、SDカードは電力消費が多いという話もあり、出来れば避けたい。
EEPROMはマイコン本体に装着されているメモリの一種であり、容量が限られているものの、これを使うことも可能とのこと。確かに書き込む内容を厳選すれば、これでも良さそうだ。TWELiteは4kbyte弱くらいの容量を持つらしい。
Mono Wiress社のホームページで調べると、以下のページにぶつかる。
また、mwxのページにはUnit_???もあり、どうやらAct_samplesの中にUnit_EEPROMというものがあるらしい。sdkのページに紹介されている内容はどうもピンとこないし、また、Act_samplesから始めるのはとっつきやすそうなので、ということで、Unit_EEPROMで試してみようか、と、思った。
ここから、はまる。私の持っているMWSDKのAct_samplesの中にはUnit_EEPROMというファイルはない...。
GoogleでUnit_EEPROMを検索し、Githubに見つけてそれをダウンロードして入手できた。
さらにもう一つ難関があった。Unit_EEPROMをコンパイルしてTWELite Dipにアップしようとしても、エラーが出てコンパイルできない。「EEPROMなんてしらないよ」というようなエラーメッセージだ。mwxのページ
の説明に#includeするべきファイルが抜けているのか...。
解決策は、Unit_EEPROMの置かれていたGitHubページのMonoWirelessのメインのページから見出すことができた。mwxへのリンクをクリックすると、EEPROM関連と思われるmwx_periph_eeprom.cppが存在する。また、このフォルダのファイルは/Applications/MWSTAGE/MWSDK/TWENET/current/src/mwx内のファイルとかなり一致している。/Applications/MWSTAGE/MWSDK/TWENET/current/src/mwxにmwxへのリンクのファイルを上書きしたところ、ようやく「EEPROMなんてしらないよ」エラーが出なくなった。