<PAL_AMB>
環境センサーパル用
以下の定数を定義しています。
static const uint8_t PIN_BTN = 12; // button (as SET)
static const uint8_t PIN_LED = 5; // LED
static const uint8_t PIN_WDT = 13; // WDT (shall tick every 60sec)
static const uint8_t PIN_D1 = 1; // DIP SW1
static const uint8_t PIN_D2 = 2; // DIP SW2
static const uint8_t PIN_D3 = 3; // DIP SW3
static const uint8_t PIN_D4 = 4; // DIP SW4
static const uint8_t PIN_SNS_EN = 16;
static const uint8_t PIN_SNS_INT = 17;
PAL_AMB::PIN_BTN
のようにアクセスできます。
pinMode(PIN_BTN, INPUT_PULLUP);
pinMode(PIN_LED, OUTPUT_INIT_HIGH);
pinMode(PIN_WDT, OUTPUT_INIT_HIGH);
pinMode(PIN_D1, INPUT_PULLUP);
pinMode(PIN_D2, INPUT_PULLUP);
pinMode(PIN_D3, INPUT_PULLUP);
pinMode(PIN_D4, INPUT_PULLUP);
上記のコードのように各ピンが初期化されます。
起動時、スリープ起床時、起動後一定時間経過後に外部のウォッチドッグタイマーを再セットします。
void set_led(uint8_t mode, uint16_t tick)
LED(D1)の制御を行います。
mode
は以下のパラメータを取ります。tick
は点灯時間[ms]を指定しますが、詳細はmode
の解説を参照してください。
指定 | 意味 |
---|---|
LED_TIMER::BLINK | LEDを点滅させます。tick に与える時間[ms]ごとにON/OFFが切り替わります。スリープ復帰後はカウントをリセットし点灯状態から始まります。 |
LED_TIMER::ON_RX | パケットの受信時にtick に与える時間[ms]だけ点灯します。 |
LED_TIMER::ON_TX_COMP | 送信完了時にtick に与える時間[ms]だけ点灯します。 |
void led_one_shot(uint16_t tick)
指定期間だけLEDを点灯します。set_led()
の機能と同時には使えません。
inline uint8_t get_D1()
inline uint8_t get_D2()
inline uint8_t get_D3()
inline uint8_t get_D4()
inline uint8_t get_DIPSW_BM()
get_D1() .. get_D4()
はDIP SWがHIGH(スイッチが上)の時0
、LOW(スイッチが下)のとき1
を返します。
get_DIPSW_BM()
はDIP SWの設定値を0..15
で返します。SW1==LOW
を1
, SW2 == LOW
を2
, SW3 == LOW
を4
, SW4 == LOW
を8
とした和を返します。
D1..D4のHIGH(1),LOW(0)
の値とは反対になります。
DIP SWのLOW(0)
側がセットされた、つまり、1
の値を持つと意味付けしているためです。