<PAL_NOTICE>
最終更新
最終更新
のボードビヘイビアです。
に加えボード上のセンサーを取り扱えるようになっています。
LEDドライバ PCA9632
加速度センサー MC3630
のオブジェクトです。ボード定義ではWireの初期化、デバイスの初期化を実施します。原則として後述のPCA9632操作メソッドを用いて制御します。
CR2032コイン電池から大きな電流を継続的に取り出すことは出来ません。本ボード定義上では通常時の最大照度設定を約50%のPWMデューティ比としていますが、この設定でも過負荷による影響が顕出する場合があります。動作要件に応じて発光するLEDの組み合わせ、点灯照度、点滅を調整してください。
定義
意味
PAL_NOTICE::LED_OFF
消灯
PAL_NOTICE::LED_ON
点灯(PWM照度制御)
PAL_NOTICE::LED_BLINK
点滅
PAL_NOTICE::LED_NOP
変更しない
定義
意味
PAL_NOTICE::LED_R
LED赤
PAL_NOTICE::LED_G
LED緑
PAL_NOTICE::LED_B
LED青
PAL_NOTICE::LED_W
LED白
定義
意味
PAL_NOTICE::LED_REG_MAX_PWM
標準照度のPMWレジスタ設定値(全灯の1/2を標準とする)
PAL_NOTICE::LED_REG_BOOST_PWM
ブースト時のPWMレジスタ設定値
NOTICE PAL では、PCA9632の出力後段にFETスイッチを設けています。このスイッチをONにしない限りLEDは点灯しません。
個別のLEDを消灯、点灯、点滅に設定します。
set_leds_off()
は全てのLEDの点灯状態を消灯にします。
PWMのデューティ比(LEDの点灯明るさ)を指定します。
set_led_brightness_?_reg()
とset_leds_brightness_reg()
はレジスタ値を直接指定します。0..255を指定し点灯は比duty/256
となります。
set_led_brightness_?1000()
とset_leds_brightness1000()
は、デューティ比を0..1000で指定します。0は消灯相当で値が大きくなるほど明るく(点灯区間が長くなる)なります。boost
をfalse
にすると1000を指定したときのレジスタ値が127となります。true
では255となります。
NOTICE PALがコイン電池により運用されるため、規定最大値を約50%のデューティ比としています。
最終的な設定はレジスタ値に割り当てられるため0..1000段階の指定であっても、実際の制御値はレジスタ値の精度になります。
PAL_NOTICE::LED_BLINK
を指定したLEDは、指定した周期・点灯期間比で点滅します。
個別に点滅パターンを指定することは出来ません。
上記の点灯照度設定で指定したPWMデューティ比で点灯するため、明るさの制御も可能です。
set_blink_cycle_ms()
はx
で指定した期間[ms]を周期として点滅します。
set_blink_duty1000()
はx
を0..1000で指定し周期*x/1000
を点灯期間として点滅します。
最終的な設定はレジスタ値に割り当てられるため0..1000段階の指定であっても、実際の制御値はレジスタ値の精度になります。
ごく短い間4つのLEDを点灯します。点灯後はマスタースイッチがON(set_led_master_sw_on()
)になります。
のオブジェクトです。ボード定義ではSPIの初期化、MC3630デバイスの初期化、MC3630の割り込み処理などを行っています。諸処理は定義の手続きを用います。
set_leds()
は全てのLEDの点灯状態を変更します。パラメータはPAL_NOTICE::LED_OFF
PAL_NOTICE::LED_ON
PAL_NOTICE::LED_BLINK
PAL_NOTICE::LED_NOP
のいずれかを指定します。