====== 省電力モードの利用 (standby/poweroff) ======
MA-S1xx シリーズでは、MA-E3xx シリーズで対応していた Standby モードに加えて、電源 OFF 状態で待機する off モードが利用できるようになりました。\\
これにより、待機時の消費電力の大幅な削減が可能になっています。
\\
====== Power off モード ======
shutdown された状態で待機し、対応した入力があった場合に起動するという動作をします。\\
OS の起動シーケンスすべてが走りますので、起動する頻度が高い場合には不向きです。\\
1 時間に 1 回など、低頻度でバッテリー駆動する、というような用途に向いています。\\
※ 電源コードを抜いて電源供給を断ってしまうと**起動することはできません**。
対応している入力には下記があります。
|<30em 3em 10em 15em>|
^ No. ^ GPIO Name ^ 内容 |
| 1|BU_DI0|DI0 変化検知|
| 2|BU_DI1|DI1 〃|
| 3|BU_DI2|DI2 〃|
| 4|BU_DI3|DI3 〃|
| 5|BU_EXT_RTC_ALARM|外付け RTC ALARM|
| 6|BU_MSP430_IRQ|マイコン割込((将来の機能拡張により利用予定))|
| 7|BU_XIO_WAKEUP|拡張ボード割込((将来の機能拡張により利用予定))|
| 8| - |OPT スイッチ割込((常時有効))|
\\
===== 使用方法 =====
==== OPT スイッチ押下による起動 ====
shutdown 後、OPT スイッチを押下することで MA-S1xx を起動することができます。\\
{{:mas1xx_ope:power_management:ma-s1xx_opt_sw.jpg?600|OPT スイッチ}}
\\
==== DI 変化検知による起動 ====
DI の変化のエッジ(立ち上がり/立ち下がり)を設定しておくことで、該当 DI が変化した場合に起動することができます。\\
起動後は無効化されていますので、sysfs でエッジの極性を設定する必要があります。
{{:mas1xx_ope:power_management:ma-s1xx_di.jpg?600|DI}}
\\
=== DI0 立ち下がりエッジ(接点 ON)指定 ===
root@gemini:~# cd /sys/class/gpio/BU_DI0
root@gemini:/sys/class/gpio/BU_DI0# cat wakeup_pol
none <--- 無効化されている
root@gemini:/sys/class/gpio/BU_DI0# echo falling > wakeup_pol
root@gemini:/sys/class/gpio/BU_DI0# cat wakeup_pol
falling <--- 立ち下がりエッジに設定された
root@gemini:/sys/class/gpio/BU_DI0#
\\
==== 外付け RTC Alarm による起動 ====
外付け RTC にアラームを設定し、指定時刻になったら起動するように設定することができます。\\
注意点としては、アラームには **日・時・分** しか設定できないので、2ヶ月先のような指定は指定はできません。\\
また、電源 OFF 中は時刻補正ができませんので、あまり先のアラームを設定すると起動時刻にズレが生じます。
=== 例: 2020/08/24 16:30:00(JST) に起動する設定 ===
root@gemini:~# rtcwake -d rtc1 -m off -u -t `date +%s -d "2020-08-24 16:30:00"`
rtcwake: wakeup from "off" using rtc1 at Mon Aug 24 07:30:01 2020
root@gemini:~# Stopping Session c1 of user root.
Stopping Session c2 of user root.
[ OK ] Removed slice system-modprobe.slice.
[ OK ] Stopped target Multi-User System.
[ OK ] Stopped target Login Prompts.
[ OK ] Stopped target Timers.
... shutdown
[ 1917.951871] systemd-shutdown[1]: Failed to finalize file systems, loop devices, ignoring
[ 1918.008126] reboot: Power down
AT91Bootstrap 3.9.1-00029-gc1b347d (Sat Jun 27 07:17:07 JST 2020)
ACT8865: changed nRSTO trigger to "OSC OK"
SF: Got Manufacturer and Device ID: 0xbf 0x26 0x41 0xbf 0x26
SF: Copy 0x80000 bytes from 0x10000 to 0x26f00000
SF: Done to load image
\\
===== Alpine Linux 高速起動モード =====
不要な機能を省いた軽量化 Kernel + Alpine Linux を使用することで、15 秒ほどで起動するシステムを作ることも可能です。\\
これを使用することで、比較的高頻度で Power off モードを使用することも可能になります。
{{:mas1xx_ope:power_management:ma-s1xx_alpine_initramfs_boot.mp4}}
\\
===== RTOS(NuttX) 併用モード =====
毎回 Linux を起動すると起動・終了に時間がかかり、高頻度でこのモードを利用すると待機時の低消費電力が無駄になってしまいます。\\
そのため、Linux を必要としないような軽い処理は RTOS(NuttX) で処理を行い、AWS へ通信をするなどの高度な処理をするときだけ\\
Linux を起動する、というような使い方も可能です。
(将来拡張)
\\
===== Barebox 併用モード =====
Linux を起動せず、Barebox(ブートローダー) で処理をしてしまうモードです。\\
NuttX 利用のケースと同様、通信など高度な処理が必要な場合に Linux を起動して処理を行います。
\\