Windows 11では、タスクバー時計の秒表示が削除されてしまった。
【やじうまPC Watch】Windows 11のタスクバーの時計で「秒」表示が完全に無効化されたワケ – PC Watch https://pc.watch.impress.co.jp/docs/news/yajiuma/1403848.html
同社のエンジニア“Raymond C”氏は、ブログの投稿でこの理由について「パフォーマンスへの影響が大きいため」だと説明している。
理由としては全然納得いかないのだけど、削除されてしまったものは仕方がない。自分で付け足すしかないですね。
こうなったら外付けで秒表示するしかない。#M5Stack#M5Atom
/【やじうまPC Watch】Windows 11のタスクバーの時計で「秒」表示が完全に無効化されたワケ – PC Watch https://t.co/ZqZxrLjnBT pic.twitter.com/TMhZu8PdzZ— Nochi (@shikarunochi) April 20, 2022
M5Atom + 128×64 OLED で秒表示画面を作りました!
パワーアップ! pic.twitter.com/o7fQ4WtYfj
— Nochi (@shikarunochi) April 20, 2022
せっかくなので、1/100秒まで表示。見てると焦ってしまう感はありますがw
プログラムはこちら。
起動時に Wi-Fi 接続して、ntp で現在時刻取得してます。
Wi-Fi 接続した状態で、一度「getLocalTime」を行っておく必要があるみたいです。これやってなくて、時刻取得できなくてちょっとハマりました。
1/100 秒表示は、millis() を使って計測してます。秒の桁が変わった時にカウントを0にして、その後ループ回ってくるたびに、前回から経過した 1/100 秒をカウントに加算してます。少々誤差が出るので、99 を超えたときはちょっとごまかしを入れています。人間の目にはわからないでしょうw
数日起動しっぱなしにすると、2~3秒の誤差が出てきますので、たまに再起動して時刻再取得すると良いでしょう。millis 上限の50日超えたときもちょっと怪しい動作するかも。
OLEDは数か月で焼き付き発生するので、そこは覚悟して使ってください!
2~3ヶ月、ずっと表示しっぱなしにしてたら、数字表示してた部分に焼き付きが…!OLED なので仕方ない。 https://t.co/62aNu0vrAk pic.twitter.com/fR6pWHk9cC
— Nochi(ドウスル?▮) (@shikarunochi) August 9, 2022