忍者ブログ

あやの

NゲージをベースとしたDCCについての日記を 書いています。 ある程度貯まりましたら、鉄道模型のDCCのまとめサイトに まとめています。 DCC館 http://1st.geocities.jp/dcc_digital/ DCC2号館 http://dcc.client.jp/

2017/07    06«2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  »08
Arduinoを採用しているDCC電子工作連合のデコーダーは自由にカスタムできるのが、
醍醐味なのですが、DCC人口の内でハードとソフトがわかる人は、ほんの数%くらいでしょうか。
というわけで、いろいろサボっていたデコーダーの高機能化を図りました。

SmileFunctionDecoderのCPUはAtmelのATtiny85を使っていまして、プログラムメモリは
8kbyteしかありません。
パンタグラフスケッチでほぼ100%まで使い切っていましたので、
いろいろごまかして、スケッチを小さくしてCV値の設定でカスタムできるようにしました。

github:sfd3_panta

取説だけ改版しましたので、ふーん、と眺めてもらえると幸いです。
(ソースは修正中のためまだ上げていません)
ソースファイルもupしました。

今回の改良で、スパークの点灯条件をいろいろいじれるようにしたのと
28STEPに対応しました。

28STEP対応は、3行足しただけです。
早速やあさんから教えてもらった、map関数を使いました。


スピードについてちょっと解せないのですが、スロットル範囲が
DCS50Kの場合、128STEPモード 1〜125
                               28STEPモード 1〜29
Desktop Stationの場合、128STEPモード 1〜126 

とNRMA DCCライブラリは認識していました。

NRMAの規格によると、28STEPはこの表の通りだと思いますが、最大で28だと
思うんですけど、DCS50Kを使うと29なので・・・NRMA DCCライブラリ覗かないと
わからないですね。

128STEPは、6bitで表現するので、0〜127(最大)だと思うのですが、DCS50Kは最大125
DesktopStationは126でした。



なので、28STEPから128STEPに変換するためのmap関数のパラメータで悩んで、
現状は
    Speed = map(Speed,1,29,1,126);  // 変換前 1~29 -> 変換後 1~126
にしました。

正解は何でしょう?


4桁アドレスの確認もできました。
ただし、DCS50KによるCV29,CV17,CV18の設定ではうまくいきませんでした。
DCS50Kのダイレクトモードによるアドレス変更はできましたので、とりあえず、
良しとします?!



拍手[0回]

PR
お名前
タイトル
メール(非公開)
URL
文字色
絵文字 Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメント
パスワード   コメント編集に必要です
管理人のみ閲覧

ブログ内検索

プロフィール

HN:
あやのすけ
性別:
非公開
<< Back  | HOME Next >>
Copyright ©  -- あやの --  All Rights Reserved
Design by CriCri / Material by もずねこ / powered by NINJA TOOLS / 忍者ブログ / [PR]