本記事には古い情報が含まれている場合があります。まとめページ を作成しましたので併せて御覧下さい。
機能追加が数点とバグ修正が数点です。
20120819版 ファームウェア一式 20130128版をお使い下さい。
20120723版との機能比較 (20120723版の仕様はこちらを参照ください)
- 複数の基準点を用いて(スプライン補間にて)GM管の校正ができる機能を追加
- スプライン補間の基準点を定義する際に16ビット値のほか10進数の電圧値でも定義できるよう改善
- 汎用アナログ信号入力の測定結果を液晶に表示できる機能を追加
- NMEA形式ログに汎用アナログ信号入力の測定値も出力するにした($DMADCタグにて出力)
- HSM-20G の温度計のテンプレート HSM20G-T.CFG が微妙に間違えていたので差し替え
- 各サービス定義ファイル内でdelayStartが未指定時には interval の指定値で遅延起動するよう変更
- APRSの測定経緯度情報を60進数形式で指定したとき、送信時の経緯度がズレるバグを修正
- APRSの仕様に反する文字長で送信していた項目があったバグを修正
複数の基準点を用いてGM管を校正
前回のバージョンから汎用アナログ入力機能にスプライン補間処理を追加しましたが、GM管の校正にも使えるように機能拡張しました。
これまでは2つの基準点による簡易校正でしたが、複数の基準点を使って、より正確な校正が行えるようになりました。
定義ファイル | 項目名 | 内容 | 指定方法 |
GM管特性ファイル | spline00 | μSV/h,cpm | 数値,数値 |
GM管特性ファイル | spline01 | μSV/h,cpm | 数値,数値 |
GM管特性ファイル | spline02 | μSV/h,cpm | 数値,数値 |
GM管特性ファイル | ・ ・ ・ |
μSV/h,cpm | 数値,数値 |
GM管特性ファイル | spline08 | μSV/h,cpm | 数値,数値 |
GM管特性ファイル | spline09 | μSV/h,cpm | 数値,数値 |
汎用アナログ入力の時と同じように、空間線量、その時のCPM数、の値を列挙するだけです。
たとえば、基準線源を使って様々な線量を試して
基準機による空間線量 | Mark2が示した値 |
0.108μSV/h | 18cpm |
0.323μSV/h | 46cpm |
0.832μSV/h | 112cpm |
1.42μSV/h | 187cpm |
という風だったときは、GM管特性ファイル(SBM-20.ini等)の中に
spline00=0.108,18
spline01=0.323,46
spline02=0.832,112
spline03=1.42,187
という風に列挙して下さい。たったの、これだけです。
※splineXXが定義されているときは、旧来の校正パラメータ caribration や offset 等は無視します
env.ini 内 lcdLayout=1 だとリコメンドモード(空間線量に応じて平均化時間を可変させるモード)となり、校正で使う場合には不適ですので、校正に用いる目的で cpm 値をみたいときは lcdLayout=0 として、10分平均値が表示されるモードにし、かつ各空間線量下で10分以上の時間をかけて CPM数 を求めて下さい。
スプライン補間の基準点を10進数の電圧値で定義
スプライン補間の各基準点定義の右側・電圧値は ÷ 3.3 × 65535 した結果の 0〜65535 の値で定義するように決めましたが、よくよく考えたら ÷ 3.3 × 65535 は mbed の中でやらせてしまえばいいわけで、わざわざ人間が定義時に mbed の都合に合わせて事前計算する必要がなかったことに気がつきました。
HSM-20G の湿度計 を例にしますと
測定値(湿度) | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 |
電圧 | 0.74 | 0.95 | 1.31 | 1.68 | 2.02 | 2.37 | 2.69 | 2.99 | 3.19 |
電圧値(16ビット変換後) | 14966 | 18866 | 26015 | 33363 | 40115 | 47066 | 53421 | 59379 | 63350 |
ということで、16ビット変換後の電圧値を定義ファイルに書いて頂いていましたが、今回のバージョンからは、電圧値そのままで良くなりました。
spline00=10,0.74
spline01=20,0.95
spline02=30,1.31
spline03=40,1.68
spline04=50,2.02
spline05=60,2.37
spline06=70,2.69
spline07=80,2.99
spline08=90,3.19
いちおテンプレートで同梱した HSM-20G の 温度(HSM20G-T.CFG)と湿度(HSM20G-H.CFG)も10進表記に変更しておきましたが、旧来の16ビット表記もサポートしてますので、作ってしまった定義ファイルを変更して頂く必要はありません。
汎用アナログ信号入力の測定結果を液晶表示
押しボタンを追加している方のみですが、ボタン押下によって、lcdLayout が切り替わるようになっているところ、何回か押すと汎用アナログ信号入力の測定値が表示される画面モードに切り替わるようにしました。
lcdLayout | 表示モード | 測定値 | 想定用途 |
0 | オリジナル版のまま | 10分平均値 | 固定モニタリングポスト |
1 | リコメンドモード | 空間線量によって可変する 平均化時間で求めた測定値 |
移動しながらの測定 |
2 | ホットスポット検索モード | 上段が1分平均、下段が10分平均 | ホットスポットを探すときむけ |
10 | 汎用アナログ入力の測定値 (ADC0/ADC1) |
||
11 | 汎用アナログ入力の測定値 (ADC2/ADC3) |
||
12 | 汎用アナログ入力の測定値 (ADC4/ADC5) |
押しボタンがない人でも env.ini 内 lcdLayout=10 とか書くと表示は出来ますが、ガイガーカウンターじゃなくなってしまうので・・・
以前にも書きました けど、ボタンの追加方法だけ再掲しときます。
(当時はボタンに p20 を推奨してましたが、p20 は汎用アナログ入力できるピンなので、p21 か p22 をお勧めします)