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

もとのページに戻る

2024-09-06 現在

<ARIA>

TWELITE ARIA用
    TWELITE ARIA上のペリフェラルに対応するボードビヘイビアです。

    ボード上の加速度センサー、磁気センサー、LEDを取り扱えるようになっています。

    • 温湿度センサー
    • 磁気センサー
    • LED
    void setup() {
      auto&& brd = the_twelite.board.use<ARIA>();
    }

    温湿度センサー

    SHT4xセンサーのメンバーオブジェクト (sns_SHT4x) が定義されています。

    磁気センサー

    開閉センサーパルのセンサーは磁気センサーで、2本の信号線の割り込みの入力のみです。

    const uint8_t CUE::PIN_SNS_NORTH = 16;
    const uint8_t CUE::PIN_SNS_OUT1 = 16;
    const uint8_t CUE::PIN_SNS_SOUTH = 8;
    const uint8_t CUE::PIN_SNS_OUT2 = 8;

    ARIA::PIN_SNS_NORTH はセンサーがN極を検出したとき、ARIA::PIN_SNS_SOUTH はセンサーがN極を検出したときに割り込みが入ります。

    スリープ前に以下の設定をしておきます。

    pinMode(CUE::PIN_SNS_OUT1, PIN_MODE::WAKE_FALLING);
    pinMode(CUE::PIN_SNS_OUT2, PIN_MODE::WAKE_FALLING);

    起床時に起床要因のIOを確認します。

    uint8_t b_north =
      the_twelite.is_wokeup_by_dio(CUE::PIN_SNS_NORTH);
    uint8_t b_south =
      the_twelite.is_wokeup_by_dio(CUE::PIN_SNS_SOUTH);

    LED

    set_led()

    void set_led(uint8_t mode, uint16_t tick)

    LED(D1)の制御を行います。

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

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

    led_one_shot()

    void led_one_shot(uint16_t tick)

    指定期間だけLEDを点灯します。set_led()の機能と同時には使えません。

    ウォッチドッグタイマー

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