M
M
MWX Library
検索…
<CUE>
TWELITE CUE上のペリフェラルに対応するボードビヘイビアです。
ボード上の加速度センサー、磁気センサー、LEDを取り扱えるようになっています。
    加速度センサー
    磁気センサー
    LED
1
void setup() {
2
auto&& brd = the_twelite.board.use<CUE>();
3
}
Copied!

加速度センサー

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

磁気センサー

開閉センサーパルのセンサーは磁気センサーで、2本の信号線の割り込みの入力のみです。
1
const uint8_t CUE::PIN_SNS_NORTH = 16;
2
const uint8_t CUE::PIN_SNS_OUT1 = 16;
3
const uint8_t CUE::PIN_SNS_SOUTH = 8;
4
const uint8_t CUE::PIN_SNS_OUT2 = 8;
Copied!
PAL_MAG::PIN_SNS_NORTHはセンサーがN極を検出したとき、PAL_MAG::PIN_SNS_SOUTHはセンサーがN極を検出したときに割り込みが入ります。
スリープ前に以下の設定をしておきます。
1
pinMode(CUE::PIN_SNS_OUT1, PIN_MODE::WAKE_FALLING);
2
pinMode(CUE::PIN_SNS_OUT2, PIN_MODE::WAKE_FALLING);
Copied!
起床時に起床要因のIOを確認します。
1
uint8_t b_north =
2
the_twelite.is_wokeup_by_dio(CUE::PIN_SNS_NORTH);
3
uint8_t b_south =
4
the_twelite.is_wokeup_by_dio(CUE::PIN_SNS_SOUTH);
Copied!

LED

set_led()

1
void set_led(uint8_t mode, uint16_t tick)
Copied!
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]だけ点灯します。
スリープ復帰後も復帰前の設定が維持されます。

led_one_shot()

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

ウォッチドッグタイマー

起動時、スリープ起床時、起動後一定時間経過後に外部のウォッチドッグタイマーを再セットします。
ウォッチドッグタイマーをタイムアウトしないためにTWELITEを60秒以内の設定(キャリブレーション済み内部CRタイマー使用時)で起床してください。
最終更新 3mo ago