HDL2-Aに搭載されているRenesas R8C/25マイコンの制御メモ
現状HDL-XRから引用している為多少の差異が存在する可能性有
HDL2-A公式ファームウェア上では、Linux Kernelにpoweroffとresetのハンドラの登録のみドライバで行い、それ以外のLEDやブザー、ボタン類等はユーザースペースのコマンドにより制御していると思われる。
root@OpenWrt:/# stty -F /dev/ttyS1 speed 9600 baud; line = 0; -brkint -imaxbel root@OpenWrt:/# stty -F /dev/ttyS1 57600 # HDL2-A上のR8C/25マイコンはbaudrate 57600bpsで通信する必要有 root@OpenWrt:/# echo ":sts on" > /dev/ttyS1 # STATUS LED点灯(点滅停止) root@OpenWrt:/# echo ":mml a" > /dev/ttyS1 # ブザー単音 root@OpenWrt:/# echo ":hdd 0 5" > /dev/ttyS1 # HDD1 赤点灯
STATUS LED
橙点灯は現状引数が不明
| mode (内部名称) |
stock (取扱説明書における名称) |
備考 |
|---|---|---|
on |
緑点灯 | 点滅等せず同じ輝度で点灯 |
blink |
緑点滅 | 輝度の減少または増加無く完全に0/1で点滅 |
notify |
緑点滅(ゆっくり) | 輝度を多段階で調整されての点滅 |
err |
赤点灯 | 点滅等せず同じ輝度で点灯 |
serious_err |
赤点滅 | 一度設定するとblink以外へ変更不可 blinkからserious_err以外を設定しても強制的にserious_errにされてしまう |
HDD LED
HDD毎のLED
| 設定値 | stock (取扱説明書における名称) |
備考 |
|---|---|---|
5 |
赤点灯 | HDD未接続 |
1 / 2 / 3 / 4 |
赤点滅 | HDD障害 (数字によって点滅スピードは変わらず) |
0 |
消灯 | HDD正常動作 |
HDL-XR (/mnt/hda5/bin/shutilities)
R8_CMD=/usr/local/bin/R8sendmsg R8_HDD_STS_NORMAL=0 R8_HDD_STS_FAIL=1 (赤点灯?) R8_HDD_STS_ERROR=2 (赤点滅?) R8_HDD_STS_PLUG=3 R8_HDD_STS_UNPLUG=4 R8_HDD_STS_NOT_CONNECT=5 (消灯?)
ボタン
- HDL2-Aが搭載するボタンのいずれかを押すと、対応するアルファベットがUARTで送信されてくる
- down時に
@<大文字>、up時に@<小文字>が送信される
(例 (RESET): down:@R, up:@r)
- down時に
:btnで現在のボタンの状態が取得できる
(例:;crPwxyz(POWERボタンが押されている))
コンソール1:
root@OpenWrt:~# echo ":btn" > /dev/ttyS1 root@OpenWrt:~# echo ":btn" > /dev/ttyS1
コンソール2:
root@OpenWrt:/# cat /dev/ttyS1 @P <-- POWER down @p <-- POWER up @P @p @P @p @R <-- RESET down @r <-- RESET up @R @r @R @r ;crpwxyz <-- コンソール1 ":btn" 1回目 @P <-- POWER down @P <-- 一定時間押下し続けた場合もう一度送信される ;crPwxyz <-- コンソール1 ":btn" 2回目 @p <-- POWER up
ブザー
音程として指定できるアルファベットは
a, b, c, d, e, f, gの7個個々に対応する音程は固定されず<で音程を一つ(?)上げ、>で音程を一つ(?)下げる
t,q,l,o,vはPWMか何かのパラメータと思われる- パラメータ設定後にパラメータ無しで音程単体の場合は最後に設定したパラメータが反映される
|; ;|で囲うと繰り返し囲われた中の最初の数字が繰り返し回数と思われる(0の場合は無限)
| 設定値 | stock(取扱説明書における名称) | 備考 |
|---|---|---|
t150o6q7v8l16b>b |
ピポ | ブート開始時 |
t120v8q7o7|;0b32.r32;| |
ピピピ(繰り返し) | ブート不可時 |
|;0v1q8o6c4r8;| |
ピー(繰り返し) | ファン故障/温度異常時 |
t120q8l4o6v8|;0bg;| |
- | HDL2-Aの取扱説明書には無し ピーポー音(繰り返し) |
r2c8r8c8r8g8r8g8r8a8r8a8r8g8
r4r8f8r8f8r8e8r8e8r8d8r8d8r8c8 |
- | HDL2-Aの説明書には無し きらきら星(一部) |
ファン
fancontコマンドにより制御fancontを引数無しで実行時に返る値2桁のうち、1桁目は0-> 自動, 1 -> 手動、2桁目は以下の表で1-3に対応
| 設定値 | モード |
|---|---|
0 |
自動制御 (R8C/25マイコンが計測した温度と設定されている閾値を基にHigh/Lowを決定, 初期値) |
1 |
手動制御, Low |
2 |
手動制御, High |
3 |
手動制御, Stop |
温度閾値
thsetコマンドにより制御- 設定値のインデックスの大小関係は
idx1 < idx0、idx2は0または1との大小関係なく設定できる模様 :thset(例::thset 1 40)- 閾値設定は再起動するとリセットされる
thget 時の
インデックス |
初期値 | 概要 |
|---|---|---|
0 |
2d
(45℃) |
(不明) R8Cマイコンを搭載する機種によってはファン速度がHigh/Middle/Lowとなっており、インデックス0は3段階対応機種においてMiddle -> High遷移閾値と思われる。HDL-A/HDL2-Aにおいては2段階のみである為未使用と思われる。 |
1 |
28
(40℃) |
ファン自動制御時Low -> High遷移閾値 (同値でHighへ遷移) |
2 |
3c
(60℃) |
温度異常閾値? 一定時間(不明)経過後にR8C/25マイコンにより自動シャットダウン |