M
M
MWX Library
v0.1.7
検索
K
Comment on page

<CUE>

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

加速度センサー

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

磁気センサー

開閉センサーパルのセンサーは磁気センサーで、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;
PAL_MAG::PIN_SNS_NORTHはセンサーがN極を検出したとき、PAL_MAG::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::BLINK
LEDを点滅させます。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()の機能と同時には使えません。

ウォッチドッグタイマー

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