2016年06月25日

FlashAirのレジスタから時刻を得る


libFlashTimeでは、現在時刻の取得にファイル書き込みをして、
その更新日時を取り出すということをしていた。

当然、フラッシュに書き込みが発生するので、寿命が縮む。

しかし、最近更新されたFlashAir開発者サイトのレジスタマップを確認すると、
ReadStatusRegで取り出せる情報の中にDate,Timeがあることに気づいた。

ので実装。

DL = string.sub(fa.ReadStatusReg(),225,226)
DH = string.sub(fa.ReadStatusReg(),227,228)
TL = string.sub(fa.ReadStatusReg(),229,230)
TH = string.sub(fa.ReadStatusReg(),231,232)
z = tonumber(DH..DL..TH..TL,16)
Year,Month,Day,Hour,min,sec = t.GetLocalTimeFromFATtime(z);
print("RegTime "..Year.."/"..Month.."/"..Day.." "..Hour..":"..min..":"..sec.."");

これで、フラッシュに書き込むこと無く、時刻を取得できる。

おわり。
後々、libFlashTimeに関数として実装する予定。
posted by gpsnmeajp at 00:32| Comment(0) | TrackBack(0) | 未分類
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/181155333
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック