2018年12月2日日曜日

さくらIOの時間データーの処理が出来ました

さくらIOでは、LTE回線由来の日時データーを取得することが可能。
現時点ではオプション料金を払うことなく無料です。

この日時データー、サーバーの世界ではポピュラーだと思いますが、
UNIXタイムベースなのです。
ただ1つ違うのは、単位がミリセコンドだという点。
つまり、一般的なUNIXタイムの1000倍の値が取得されます。
これにはメリットが有りまして、現時点でデーター長が6byteに達するんです。

みなさんは2038年問題というのをご存知でしょうか?
これは、UNIXタイムを32bit長の整数値で処理していた場合、
2038年の1月にオーバーフローしてしまい、日時の処理に不具合が出るというもの。
64bit長の整数値で処理していれば、全く問題無い話なのでございます。

そして、さくらIOからの取得データーは6byte長ですから、
必然的に64bit整数で処理しなければならないわけでして、
上記の2038年問題はクリアーされるという話なのですね。

しかし、良い事尽くめというわけには いかないわけでして・・・・・・

8bitのPICマイコンで処理するのは そこそこ大変なのです。

Cでプログラムを書くのならば、そんなに大変ではないと思いますが、
私はアセンブラONLY。
アルゴリズムを考えるだけでも、ちょっと手間でした。
あと、メモリーの問題も やっかいなところ。
バンクを切り替えずにアクセスできるメモリー領域は限られてしまうので、
大量のメモリーを使用する処理系は ちと面倒なのです。

ともあれ、なんとか実装できましたので、
かんたんスマートモニターへ搭載できるようになりました。

0 件のコメント:

コメントを投稿