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> なので、取得できたらラッキーという心持ちです。