OpenSiv3D icon indicating copy to clipboard operation
OpenSiv3D copied to clipboard

Linux 版の PowerStatus 修正

Open Reputeless opened this issue 3 years ago • 5 comments

  • v0.4.3 までの実装だといくつかの値が正確に取得できていない
  • 結果を返すまで時間がかかる

Reputeless avatar Apr 17 '21 12:04 Reputeless

ライブラリ経由でなくても良いならば、/sys/class/power_supply/を読むといいかもしれません。

MurakamiShun avatar May 26 '21 16:05 MurakamiShun

情報ありがとうございます! 調査します。

Reputeless avatar May 26 '21 23:05 Reputeless

/sys/class/power_supply/ を使うことで、所要時間が 20ms → 2ms になりました。 また、正確な ACLineStatus が取得できるようになりました。コメントありがとうございました。@MurakamiShun

Reputeless avatar May 27 '21 06:05 Reputeless

PowerStatus::batteryLifeTimeSec,PowerStatus::batteryTimeToFullChargeSecについてですが、Linuxのデフォルトのドライバ(ここここ)ですと、取得できないようです。 あくまでユーザー拡張で定義されるようなので定義されるとすれば、それぞれtime_to_empty_now,time_to_full_nowを読むことになると想定されます(行儀がいいドライバであればですが...)

MurakamiShun avatar May 28 '21 13:05 MurakamiShun

情報提供ありがとうございます。time_to_empty_now, time_to_full_now を調べる処理も追加したいと思います。 PowerStatus::batteryLifeTimeSec, PowerStatus::batteryTimeToFullChargeSec は一応 Optional<int32> なので、取得できたらラッキーという心持ちです。

Reputeless avatar May 28 '21 13:05 Reputeless