PASのブログ

PASの中の人が書く雑記ブログです。

PRGset()の中身を書く アナマル.15

気づけば第15回ですね。。Arduinoを触ったこともない状態でスタートしましたが、いきあたりばったりながら順調に進んでいるので安心しています。

仕事でプログラムするときは、予め仕様をがっちり固めて書くので、無駄も少ないし、可読性は気にしないんですが、皆さんに読んでもらうという前提で書くとなると可読性第一で書いています。 ムダや重複も多いと思いますが、興味を持たれたとしたら各自で精査してみてください。

数回スイッチャーのプログラムを書いた経験がありますが、プログラムセットモードが最も複雑と言いますか面倒な部分なのです。 ですので、わかりやすく書くために、ある程度分解してお送りしようと思います。

ざっくり仕組みを考える。

いくつかブロックにわけて、各段階でチェックが出来るように書きたいと思います。

1.リレーをスイッチで動作させる(マニュアルモードのように)

2.その状態をどのchにアサインするかを操作する

3."BANK_DATA [ ]"の中身を書き換える

4."BANK_DATA [ ]"を消えない領域に保存する

5.保存したデータをスイッチONのときに "BANK_DATA [ ]"に書き込む

6.通常モードに戻る(前回作成済み)

今回は1と2をまず書きます。

まずは保存させる「状態」を作る操作を書く。

畳んでますのでクリックしてください。

リレーをスイッチで切り替える処理

基本的にはマニュアルモードと流れは同じですが、ここでは、「LEDが点灯していれば消灯し、消灯していれば点灯させる」としています。
こうすれば、stateのように、変数の状態とリンクする必要がなくなります。
今回の場合は結局同じことなのですけどね。

登録するchを選ぶ

int chという変数を作り、それを0,1,2,3と回します。
後は必要なLEDだけ点灯させて他を消すという処理です。