いやぁ、参りました。
機能追加を繰り返して、動作したと思ったら、まったく関係ないところが動かなくなるという、摩訶不思議な現象に遭遇。
色々調べたら、画面タスク内の変数が途中で化けてる・・・
最初はリアルタイムOSのスタックのあたりか? と色々試してみるも現象は同じ。
昔、ネットで遭遇した覚えはあるものの、そんなページ覚えてもいないし、ブックマークもしていない。記憶する脳みそも持っていない。
こんな時は、スタート地点に戻るのが一番。
画面タスク(別ファイル)で定義してある変数を、main.c に持っていって、外部参照にしてみる。
無事、解決。
volatileという修飾子も付いているので、最適化されてるわけでもない・・・コンパイラかリンカーのオプションが足りないかな。
まぁ、理屈はあっているのでオッケーとしてしまいました。
たぶん、ある一定量の変数を超えると、こういう現象になるんでしょう。このコンパイラは。
歳をとると、深く追求しません。(笑)
何の事かさっぱり分かりませんよね?
ただのメモ書きと思ってください。すみません。
という事で、GX-ZERO-1のBG履歴から、一行づつ削除する機能を追加しました。
(相変わらず汚い写真ですが・・・乙)
今までは、全消去でしたから、長いBGを測定した時と、高線量を計測した時の累計が混在して、平均値が平均値でない状態になっていたので、改修しました。
5時間くらいのバックグランドを計測したデータが消えるのは虚しいですよね?
↑
最近実感したという愚か者です。
もうちょっと試験してからリリースします。
食料品検査用のソフトも、かなり優秀になってきました。
しかし、GM菅で食料品を検査するなら、β線も入れて検査したいですねぇ。
こんな事書いたら、学者さん達に叩かれそうです。
エネルギーを見ないと核種が分からないでしょ!
ってね。
結局カリウム40だけを省いてやれば、食べたら有害な放射性物質が含まれているかは分かるはずで・・・
セシウムであろうが、トリウムであろうが、ラジウムであろうが、食べたらあきまへん。
カリウム40は、β線を放出してカルシウム40になります。(89.3%)
で、γ線を出してアルゴン40になります。(10.7%)
エネルギーは、約1000KeV。セシウム137のエネルギーは662KeV。
試料中のカリウムの量が分かれば、カリウム40の量も分かります。
という特性を利用すれば、何とかなりそうなんですが、論文が書けそうになります。
まぁ、色々頑張ってみます。
0 件のコメント:
コメントを投稿