■ボタンの長押し判定■
M5 Atom Btn 長押し……などでググってもそれらしい関数などがでてこないから、自分で実装してました。
「押された時刻(millis())を保存しといてぐるぐるループをまわりつつ、設定秒数を過ぎたらランプの色を変えて、ボタンが離された時に必要な処理を開始する」なんてやつ。
そんなプリミティブなコード、TK-80以来書いてないぞ(誇張
途中まで書いてて、ボタンのモードについて調べてたら……出ました。
boolean M5.Btn.pressedFor(<ミリ秒>)
ってのがあるんですね……関数一発じゃないですか……。
■それにしても■
それにしても、こんなのわざわざブログにするほどのことではありません。でも……ググって上位に出てくる作例があまりにも酷いのです。
5秒の長押しを検知したいとするでしょ?
「wasPressedだったらdelay(5000)経過後まだ押されていたら長押しと判断する」
っていうコードが出てきちゃう……。
それがあちこちでコピーされてる。同じアルゴリズムのサンプルを3箇所ぐらいで見たぞ。同じ人のブログなのかもしれないけど。
おにいさん……ループをそんなに止めたらいかんですよ。
初めまして、 2000円のGPSとArduino / ESP-WROOM-02のブログを見ました。自分では、ソースコードが書けない初心者なので、記述にありました[時刻はUTCのままです。ちゃんと日本時間で見たい場合には9時間足せばOKです。移動速度もノット単位です。]のプログラム変更場所を教えてほしく存じます。よろしくお願いいたします。
返信削除