DCCコントローラ作り直し その4 [DCCコントローラ]
で、fujigaya2 DCC Cheap Controller向けスケッチの完成です。
ソースはこちらになります。
スペクトルはこんな感じです。
A(0.1ms),1,2695,790,0,0,0,0,0,0,0,
(1),0,0,0,0,0,0,0,0,0,0,
(2),0,0,0,0,0,0,0,0,0,0,
(3),0,0,0,0,0,0,0,0,0,0,
(4),0,0,0,0,0,0,0,0,0,0,(5),
B(10ms),3486,0,0,0,0,0,0,0,0,0,
(100),0,0,0,0,0,0,0,0,0,0,
(200),0,0,0,0,0,0,0,0,0,0,
(300),0,0,0,0,0,0,0,0,0,0,
(400),0,0,0,0,0,0,0,0,0,0,(500),
パルスの周期を300us以内に抑えて、(適当ですが)ESUのLokSoundV5と,見るだけ君では反応することを確認しました。
もちろん、
・127以降のロングアドレス、
・DecoderへのWrite/Read機能、
・ポイント制御、ファンクションのF5以降の操作、
などへの対応はバッサリを切り捨てております。
また、パルス幅のタイミングに使用しているdelayMicrosecondsは4usの刻みしかないそうで、
デコーダによっては認識が微妙になる可能性もあります。
あと、
#define BIT_ONE_US 56
#define BIT_ZERO_US 110
#define PREAMBLE_NUM 15
#define REPEAT_PACKET 3
#define DECODER_ADDRESS 0x03
などを、いじれますので、デコーダに合わせて、
・BIT_ZERO_US 、BIT_ONE_USで 「0」、「1」のパルス幅を変える。
・PREAMBLE_NUM でプリアンブルの数を変える。
・REPEAT_PACKET で送信の繰り返し数をかえる。
など、簡単に変更できるようにしておきました。
ソースはこちらになります。
スペクトルはこんな感じです。
A(0.1ms),1,2695,790,0,0,0,0,0,0,0,
(1),0,0,0,0,0,0,0,0,0,0,
(2),0,0,0,0,0,0,0,0,0,0,
(3),0,0,0,0,0,0,0,0,0,0,
(4),0,0,0,0,0,0,0,0,0,0,(5),
B(10ms),3486,0,0,0,0,0,0,0,0,0,
(100),0,0,0,0,0,0,0,0,0,0,
(200),0,0,0,0,0,0,0,0,0,0,
(300),0,0,0,0,0,0,0,0,0,0,
(400),0,0,0,0,0,0,0,0,0,0,(500),
パルスの周期を300us以内に抑えて、(適当ですが)ESUのLokSoundV5と,見るだけ君では反応することを確認しました。
もちろん、
・127以降のロングアドレス、
・DecoderへのWrite/Read機能、
・ポイント制御、ファンクションのF5以降の操作、
などへの対応はバッサリを切り捨てております。
また、パルス幅のタイミングに使用しているdelayMicrosecondsは4usの刻みしかないそうで、
デコーダによっては認識が微妙になる可能性もあります。
あと、
#define BIT_ONE_US 56
#define BIT_ZERO_US 110
#define PREAMBLE_NUM 15
#define REPEAT_PACKET 3
#define DECODER_ADDRESS 0x03
などを、いじれますので、デコーダに合わせて、
・BIT_ZERO_US 、BIT_ONE_USで 「0」、「1」のパルス幅を変える。
・PREAMBLE_NUM でプリアンブルの数を変える。
・REPEAT_PACKET で送信の繰り返し数をかえる。
など、簡単に変更できるようにしておきました。
2020-02-16 20:25
コメント(0)
コメント 0