C-SizeDCCの自動運転
C-SizeDCCの自動運転フラグ
自動運転センサーディテクタはスケッチのロコアドレスを255にすると、C-SizeDCCの選択アドレスを使って運転します。最大スピードもC-SizeDCCのスピード設定で制限します。
void readIIC(byte inByte, byte inCmd, word inAddr, byte inDat, byte inStat)
{
if (((inByte == 3) && (aLocAddr == 255)) || (aLocAddr == gLocAddress)) {
bIICLocalAddr = true; // use mintcan address and speed
}
半自動的な運転が可能ですが、停車時にうっかりスピードツマミに触るとロコが暴走する危険がありました。そこで、C-SizeDCCの選択アドレスで自動運転している時は、手動操作によるDCCパケットを送らない事にしました。
void changedTargetSpeed(word inAddr, const byte inSpeed)
{
if (bIICLocalAddr == false) {
DSCore.SetLocoSpeedEx(gLocProtocol + inAddr, ((word)inSpeed << 3), gSpeedStep);
}
自動運転アドレスとC-SizeDCCのアドレスが同じ場合も同様です。2バイトアドレスの明確な区分けを行っていないので、自動運転スケッチで実アドレス255のロコを運転する時は、C-SizeDCC側も255を選択しないといけません。
これで、2列車のアドレスをRailComで読み出して自動運転する事が可能になりました。RailComアドレスリーダーを実用レベルに仕上げる課題は残ったままです。
« Arduino nano の互換性 | トップページ | DCCアンケート »
「自動運転」カテゴリの記事
- ミント缶で自動運転(2024.04.14)
- C-SizeDCCの自動運転(2021.11.11)
- Arduino nano の互換性(2021.10.23)
- 対向運転3(2021.10.16)
- 対向運転2(2021.09.27)
この記事へのコメントは終了しました。
コメント