セクションの複数ページをまとめています。 印刷またはPDF形式で保存...

もとのページに戻る

2024-09-06 現在

<MONOSTICK>

MONOSTICK用
    MONOSTICK用のボードビヘイビアです。内蔵ウォッチドッグタイマーの制御とLED点灯用の手続きが含まれます。

    定数

    以下の定数を定義しています。

    const uint8_t PIN_LED = mwx::PIN_DIGITAL::DIO16;  // LED
    
    const uint8_t PIN_WDT = mwx::PIN_DIGITAL::DIO9;     // WDT (shall tick < 1sec)
    const uint8_t PIN_WDT_EN = mwx::PIN_DIGITAL::DIO11; // WDT (LO as WDT enabled)
    
    const uint8_t PIN_LED_YELLOW = mwx::PIN_DIGITAL::DO1; // YELLOW LED
    

    MONOSTICK::PIN_LEDのようにアクセスできます。

    ハードの初期化

    pinMode(PIN_LED, OUTPUT_INIT_HIGH);
    pinMode(PIN_WDT, OUTPUT_INIT_LOW);
    pinMode(PIN_WDT_EN, OUTPUT_INIT_LOW);
    pinMode(PIN_LED_YELLOW, OUTPUT);

    上記のコードのように各ピンが初期化されます。

    ウォッチドッグタイマー

    起動時、スリープ起床時、起動後一定時間経過後に外部のウォッチドッグタイマーを再セットします。

    メソッド

    set_led()

    void set_led_red(uint8_t mode, uint16_t tick)
    void set_led_yellow(uint8_t mode, uint16_t tick)

    LED(赤、黄)の制御を行います。

    modeは以下のパラメータを取ります。tickは点灯時間[ms]を指定しますが、詳細はmodeの解説を参照してください。

    指定意味
    LED_TIMER::BLINKLEDを点滅させます。tickに与える時間[ms]ごとにON/OFFが切り替わります。スリープ復帰後はカウントをリセットし点灯状態から始まります。
    LED_TIMER::ON_RXパケットの受信時にtickに与える時間[ms]だけ点灯します。
    LED_TIMER::ON_TX_COMP送信完了時にtickに与える時間[ms]だけ点灯します。