OpenSiv3D
OpenSiv3D copied to clipboard
Linux 版の PowerStatus 修正
- v0.4.3 までの実装だといくつかの値が正確に取得できていない
- 結果を返すまで時間がかかる
ライブラリ経由でなくても良いならば、/sys/class/power_supply/
を読むといいかもしれません。
情報ありがとうございます! 調査します。
/sys/class/power_supply/
を使うことで、所要時間が 20ms → 2ms になりました。
また、正確な ACLineStatus
が取得できるようになりました。コメントありがとうございました。@MurakamiShun
PowerStatus::batteryLifeTimeSec
,PowerStatus::batteryTimeToFullChargeSec
についてですが、Linuxのデフォルトのドライバ(こことここ)ですと、取得できないようです。
あくまでユーザー拡張で定義されるようなので定義されるとすれば、それぞれtime_to_empty_now
,time_to_full_now
を読むことになると想定されます(行儀がいいドライバであればですが...)
情報提供ありがとうございます。time_to_empty_now
, time_to_full_now
を調べる処理も追加したいと思います。
PowerStatus::batteryLifeTimeSec
, PowerStatus::batteryTimeToFullChargeSec
は一応 Optional<int32>
なので、取得できたらラッキーという心持ちです。