Armadilloフォーラム

DIOによるSLEEPからの復帰

matumoto

2024年4月2日 16時22分

お世話になっております。
現在A6E+Di8+Ai4を使用しており
DI1~4の変化に応じてSLEEPから復帰し動作させるソフトを検討中ですが
Di1とDi2の変化ではSLEEPから復帰しますが、Di3とDi4ではSLEEPから復帰できていません。
Di3とDi4の変化でも機器設定を変更することで、復帰は可能となりますでしょうか。
復帰可能でしたら、機器設定方法を教えてください。

コメント

at_syunya.ohshio

2024年4月2日 19時32分

大塩です。

> 現在A6E+Di8+Ai4を使用しており
> DI1~4の変化に応じてSLEEPから復帰し動作させるソフトを検討中ですが
> Di1とDi2の変化ではSLEEPから復帰しますが、Di3とDi4ではSLEEPから復帰できていません。
> Di3とDi4の変化でも機器設定を変更することで、復帰は可能となりますでしょうか。
> 復帰可能でしたら、機器設定方法を教えてください。

以下コマンド実行した後にスリープ後、起床できるかお試し頂けますでしょうか。

echo enabled > /sys/bus/i2c/devices/3-0027/power/wakeup

こちらでは動作確認を行い、起床できることを確認しております。

以上です。

大塩様
ご回答ありがとうございます。

echo enabled > /sys/bus/i2c/devices/3-0027/power/wakeup

をっ実施し/sys/bus/i2c/devices/3-0027/power/wakeupの内容が「enable」になっていること確認後
sleepさせましたが、Di3とDi4では復帰しませんでした。
Di1で復帰させて、内容を確認しましたが、「disable」に代わっていました。

こちらからの情報不足だったかもしれません。。

こちらでのSLEEPへの入り方は、/etc/atmark/power-utils.confの内容を

ARGET='TEST'
MODE='SLEEP'
WAKEUP='SW1','GPIO','RTC:86400'

で行っておりTEST実行後、SLEEPする動作です。
このやり方の場合も、本来であればご教授いただいた方法で出来るはずでしょうか。
何度もすいませんが、よろしくお願いいたします。

at_syunya.ohshio

2024年4月12日 16時49分

大塩です。

> echo enabled > /sys/bus/i2c/devices/3-0027/power/wakeup
>
> をっ実施し/sys/bus/i2c/devices/3-0027/power/wakeupの内容が「enable」になっていること確認後
> sleepさせましたが、Di3とDi4では復帰しませんでした。
> Di1で復帰させて、内容を確認しましたが、「disable」に代わっていました。
> こちらでのSLEEPへの入り方は、/etc/atmark/power-utils.confの内容を
>
> ARGET='TEST'
> MODE='SLEEP'
> WAKEUP='SW1','GPIO','RTC:86400'
>
> で行っておりTEST実行後、SLEEPする動作です。

コンテナ終了をトリガーとした方法でお試しいただいていること、承知いたしました。
動作テスト方法を提示せず申し訳ありません。

/sys/bus/i2c/devices/3-0027/power/wakeup が disable になっている理由は、
power-utils サービスがすべての wakeup を一度disabled にした後、
WAKEUPに記載されている内容について enabled としているため発生します。

こちらとしてはまず以下の方法で動作確認を行いました。
echo enabled > /sys/bus/i2c/devices/3-0027/power/wakeup を実行
aiot-sleepコマンドを実行し、スリープ
・D3/D4 からの通信をトリガーとして起床できるか確認

コンテナ終了をトリガーとした動作で起床したい場合、/usr/bin/aiot-set-wake-trigger を修正する必要があります。
修正したaiot-set-wake-trigger を送付しますので、aiot-set-wake-trigger で動作確認したい場合は
以下方法で動作確認していただけますでしょうか。

・添付したaiot-set-wake-trigger.zip をArmadillo上で解凍する
chmod +x aiot-set-wake-trigger コマンドによって aiot-set-wake-trigger に実行権限を付与
・解凍した aiot-set-wake-trigger を /usr/bin/aiot-set-wake-trigger に置き換える
・sleep 動作テストを実施

以上です。

ファイル ファイルの説明
aiot-set-wake-trigger.zip DI3/DI4 をトリガー可能とした aiot-set-wake-trigger

大塩様

早々のご対応ありがとうございます。
SLEEPから起動することを確認いたしました。