昨日、TEMPerV2を使っているユーザから、「githubであなたが改造したpcsensorに対してTERMPerV2対応を加えたものを公開してる人がいる」、ということを教えてもらった。
修正版:https://github.com/waja/pcsensors/blob/master/debian/patches/multiple_temerature_readings
ソースをみてもどういう修正なのかがわからなかったので、教えてくれた人に尋ねた。
TEMPerV2は、温度センサーを2つ持っているが、pcsensor.cの1.0.2では、1つ目の温度センサーの情報しか取得できない。
2つ目の温度センサーからも温度が取得できるようにした修正であるとのこと。
というわけで、自分のところのソース修正を開始
・センサーが2個である、という決め打ち修正はよくないのでMAX_SENSORで定義し
それ以上の個数がある場合でも容易に対応ができるように変更
・センサーが1個しかないTEMPerV1.2で、2個分取得しようとすると異常な値になるので
waja’s pcsensor.cの修正だけでは駄目なので、修正
修正したものを「https://github.com/osakanataro/pcsensor」にて公開しました。
また、「http://blog.osakana.net/sw/pcsensor/pcsensor-1.0.3.tar.gz」にtar.gzを置いています。
・マルチデバイス時にデバイス名を出力するオプション “-d”
# ./pcsensor -d 2014/07/11 10:42:13 Bus 002 Device 003 Temperature0 88.47F 31.38C 2014/07/11 10:42:13 Bus 003 Device 003 Temperature0 74.30F 23.50C #
・接続されているTEMPerのリスト表示 “-D”
# ./pcsensor -D 0 is Bus 002 Device 003 1 is Bus 003 Device 003 #
・接続されているTEMPerの個別表示 “-D番号”
# ./pcsensor -D0 2014/07/11 10:43:48 Temperature0 88.47F 31.38C # ./pcsensor -D1 2014/07/11 10:44:16 Temperature0 74.30F 23.50C #
・摂氏/華氏表示の同時指定を可能にした
# ./pcsensor -c 2014/07/11 10:44:49 Temperature0 31.38C 2014/07/11 10:44:49 Temperature0 23.50C # ./pcsensor -f 2014/07/11 10:44:53 Temperature0 88.47F 2014/07/11 10:44:53 Temperature0 74.30F # ./pcsensor -f -c 2014/07/11 10:45:02 Temperature0 88.47F 31.38C 2014/07/11 10:45:02 Temperature0 74.30F 23.50C #
・1つのデバイスに2個の温度センサーがついている場合
# ./pcsensor -c -n2 2014/07/11 10:44:49 Temperature0 31.38C 2014/07/11 10:44:49 Temperature1 23.50C #
なお、センサーが1つしかないもので、-n2指定すると以下の様な異常値になります。
# ./pcsensor -c -n2 2014/07/11 11:09:41 Temperature0 214.60F 101.45C 2014/07/11 11:09:41 Temperature1 32.00F 0.00C #