SSブログ

FL12をPrgmrArduinoで書き込み(失敗) [その他]

 結局FL12のアドレスをいまだに書き換えられないため、前から試そうと思っていたPrgmrArduino(たぶん、DirectModeでDCCデコーダに書き込めるツールだと思う)を試した。手持ちのもので実験しようと思い、途中まで組み立てたDSdec(初代)を使用した。DSdecはTimer1を12Vにドライブして使うが、PrgmrArduinoはTimer2を使う仕様のため、まずは、出力の9Pinと10Pinを3Pinと11Pinに変更し、+12V、GNDは今までの配線のままとした。イメージ写真は以下。
Timer2.jpg
 ただ、そのままコンパイルするとエラーが出る。ライブラリヘッダーの
#include "WProgram.h"

#include "Arduino.h"
に変更する。
すると、コンパイルは通るが、信号が出ない!
どうやらライブラリ内のDCCServiceModeScheduler.cppの
void DCC_service_mode_waveform_generation_hajime()
{
  //force a toggle on OC2A so that pin OC2A will always complement pin OC2B
  //TCCR2B |= _BV(FOC2A);
  //enable the compare match interrupt
  TIMSK2 |= _BV(OCIE2A);
}

関数のTCCR2B |= _BV(FOC2A);をコメントアウトしてやる必要がある。
よくわからないが、プログラム内でこの命令が二回呼ばれており、一回呼ばれると、出力が始まり、もう一回呼ばれると出力されなくなると言うトグルスイッチなんだろうか?
で、信号は出るようになったのだが、FL12はおろか、EM13すら、なにも書き込めませんでした。
残念。
FL12使えないと、ヘッドライトとテールライトがつけられない・・・。
Kato D102の発売は7月に延びて円安の影響で値段上がるみたいだし。
(予約すらしてないが)
コメント(0)  トラックバック(0) 

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。