Merge pull request #11 from mrrwa/Update-Examples-5.4

V5.4 Bug Fixes and Minor Chages
This commit is contained in:
Alex Shepherd
2016-11-27 19:42:57 +13:00
committed by GitHub
18 changed files with 97 additions and 81 deletions

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -299,7 +299,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -299,7 +299,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -293,7 +293,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// ******** UNLESS YOU WANT ALL CV'S RESET UPON EVERY POWER UP // ******** UNLESS YOU WANT ALL CV'S RESET UPON EVERY POWER UP
// ******** AFTER THE INITIAL DECODER LOAD REMOVE THE "//" IN THE FOOLOWING LINE!! // ******** AFTER THE INITIAL DECODER LOAD REMOVE THE "//" IN THE FOOLOWING LINE!!

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -299,7 +299,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -19,7 +19,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -302,7 +302,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -299,7 +299,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -295,7 +295,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -295,7 +295,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -295,7 +295,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// ******** UNLESS YOU WANT ALL CV'S RESET UPON EVERY POWER UP // ******** UNLESS YOU WANT ALL CV'S RESET UPON EVERY POWER UP
// ******** AFTER THE INITIAL DECODER LOAD REMOVE THE "//" IN THE FOOLOWING LINE!! // ******** AFTER THE INITIAL DECODER LOAD REMOVE THE "//" IN THE FOOLOWING LINE!!
@@ -33,7 +33,7 @@ const int FunctionPin15 = 18; //A4
const int FunctionPin16 = 19; //A5 const int FunctionPin16 = 19; //A5
NmraDcc Dcc ; NmraDcc Dcc ;
DCC_MSG Packet ; DCC_MSG Packet ;
uint8_t CV_DECODER_MASTER_RESET = 120;
#define This_Decoder_Address 24 #define This_Decoder_Address 24
struct CVPair struct CVPair
@@ -47,6 +47,7 @@ CVPair FactoryDefaultCVs [] =
{CV_ACCESSORY_DECODER_ADDRESS_MSB, 0}, {CV_ACCESSORY_DECODER_ADDRESS_MSB, 0},
{CV_MULTIFUNCTION_EXTENDED_ADDRESS_MSB, 0}, {CV_MULTIFUNCTION_EXTENDED_ADDRESS_MSB, 0},
{CV_MULTIFUNCTION_EXTENDED_ADDRESS_LSB, 0}, {CV_MULTIFUNCTION_EXTENDED_ADDRESS_LSB, 0},
{CV_DECODER_MASTER_RESET, 0},
}; };
uint8_t FactoryDefaultCVIndex = 4; uint8_t FactoryDefaultCVIndex = 4;

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -15,7 +15,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -295,7 +295,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -15,7 +15,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[12]; SoftwareServo servo[13];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -16,7 +16,7 @@
#include <NmraDcc.h> #include <NmraDcc.h>
#include <SoftwareServo.h> #include <SoftwareServo.h>
SoftwareServo servo[16]; SoftwareServo servo[17];
#define servo_start_delay 50 #define servo_start_delay 50
#define servo_init_delay 7 #define servo_init_delay 7
#define servo_slowdown 3 //servo loop counter limit #define servo_slowdown 3 //servo loop counter limit
@@ -295,7 +295,7 @@ void loop() //****************************************************************
// from the Arduino loop() function for correct library operation // from the Arduino loop() function for correct library operation
Dcc.process(); Dcc.process();
SoftwareServo::refresh(); SoftwareServo::refresh();
delay(8); delay(4);
for (int i=0; i < numfpins; i++) { for (int i=0; i < numfpins; i++) {
if (ftn_queue[i].inuse==1) { if (ftn_queue[i].inuse==1) {

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// LED control is dependent on direction of travel // LED control is dependent on direction of travel
// ******** UNLESS YOU WANT ALL CV'S RESET UPON EVERY POWER UP // ******** UNLESS YOU WANT ALL CV'S RESET UPON EVERY POWER UP
// ******** AFTER THE INITIAL DECODER LOAD REMOVE THE "//" IN THE FOOLOWING LINE!! // ******** AFTER THE INITIAL DECODER LOAD REMOVE THE "//" IN THE FOOLOWING LINE!!
@@ -44,6 +44,7 @@ const int FunctionPin15 = 18; //A4
const int FunctionPin16 = 19; //A5 const int FunctionPin16 = 19; //A5
NmraDcc Dcc ; NmraDcc Dcc ;
DCC_MSG Packet ; DCC_MSG Packet ;
uint8_t CV_DECODER_MASTER_RESET = 120;
#define This_Decoder_Address 24 #define This_Decoder_Address 24
struct CVPair struct CVPair
@@ -57,6 +58,7 @@ CVPair FactoryDefaultCVs [] =
{CV_ACCESSORY_DECODER_ADDRESS_MSB, 0}, {CV_ACCESSORY_DECODER_ADDRESS_MSB, 0},
{CV_MULTIFUNCTION_EXTENDED_ADDRESS_MSB, 0}, {CV_MULTIFUNCTION_EXTENDED_ADDRESS_MSB, 0},
{CV_MULTIFUNCTION_EXTENDED_ADDRESS_LSB, 0}, {CV_MULTIFUNCTION_EXTENDED_ADDRESS_LSB, 0},
{CV_DECODER_MASTER_RESET, 0},
}; };
uint8_t FactoryDefaultCVIndex = 0; uint8_t FactoryDefaultCVIndex = 0;
void notifyCVResetFactoryDefault() void notifyCVResetFactoryDefault()

View File

@@ -1,5 +1,5 @@
// Production 17 Function DCC Decoder // Production 17 Function DCC Decoder
// Version 5.1 Geoff Bunza 2014,2015,2016 // Version 5.4 Geoff Bunza 2014,2015,2016
// NO LONGER REQUIRES modified software servo Lib // NO LONGER REQUIRES modified software servo Lib
// Software restructuring mods added from Alex Shepherd and Franz-Peter // Software restructuring mods added from Alex Shepherd and Franz-Peter
// With sincere thanks // With sincere thanks
@@ -66,6 +66,7 @@ const int FunctionPin15 = 18; //A4
const int FunctionPin16 = 19; //A5 const int FunctionPin16 = 19; //A5
NmraDcc Dcc ; NmraDcc Dcc ;
DCC_MSG Packet ; DCC_MSG Packet ;
uint8_t CV_DECODER_MASTER_RESET = 120;
#define This_Decoder_Address 24 #define This_Decoder_Address 24
@@ -80,6 +81,7 @@ CVPair FactoryDefaultCVs [] =
{CV_ACCESSORY_DECODER_ADDRESS_MSB, 0}, {CV_ACCESSORY_DECODER_ADDRESS_MSB, 0},
{CV_MULTIFUNCTION_EXTENDED_ADDRESS_MSB, 0}, {CV_MULTIFUNCTION_EXTENDED_ADDRESS_MSB, 0},
{CV_MULTIFUNCTION_EXTENDED_ADDRESS_LSB, 0}, {CV_MULTIFUNCTION_EXTENDED_ADDRESS_LSB, 0},
{CV_DECODER_MASTER_RESET, 0},
}; };
uint8_t FactoryDefaultCVIndex = 0; uint8_t FactoryDefaultCVIndex = 0;

View File

@@ -1,12 +1,13 @@
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}} {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}}
{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\sl276\slmult1\b\f0\fs24 Decoder Configuration Details\par {\*\generator Riched20 10.0.10586}\viewkind4\uc1
\pard\sl276\slmult1\b\f0\fs24 Decoder Configuration Details\par
\par \par
\b0 The multfunction decoder examples all for 4 functions to be assigned to any of the 17 available pins: on/off control, single line blinking with variable rate, servo control with start position/stop position/transit rate CV setting and end to end control via the function (on/off), and paired line blinking with variable rate.\par \b0 The multfunction decoder examples all for 6 functions to be assigned to any of the 17 available pins: on/off control, single line blinking with variable rate, servo control with start position/stop position/transit rate CV setting and end to end control via the function (on/off), and paired line blinking with variable rate.\par
\par \par
When first loaded the decoder is set to short DCC address 24 (or 17 in Decoder_17LED_1Function). The decoder can be reset to the original parameters by loading CV 120 with 120 (decimal). This will reset everything including the decoder address, when the pushbutton on the Pro Mini is pushed (reset) or by powering the decoder off then on. You will know when the default CV setting are being reset as the decoder will flash Digital Pin 14 (A0) for one second.\par When first loaded the decoder is set to short DCC address 24 (or 17 in Decoder_17LED_1Function). The decoder can be reset to the original parameters by loading CV 120 with 120 (decimal). This will reset everything including the decoder address, when the pushbutton on the Pro Mini is pushed (reset) or by powering the decoder off then on. You will know when the default CV setting are being reset as the decoder will flash Digital Pin 14 (A0) for one second.\par
The decoder address can be changed to another \ul\b short\ulnone\b0 DCC address by changing CV 1.\par The decoder address can be changed to another \ul\b short\ulnone\b0 DCC address by changing CV 1.\par
\par \par
\b The 7 Servo 10 LED decoder configuration\par \b Example Only: 7 Servo 10 LED decoder configuration\par
\par \par
\b0 Arduino Pro Mini Pins are set as follows: 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19\par \b0 Arduino Pro Mini Pins are set as follows: 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19\par
\ul\b Pro Mini Pin\ulnone\b0\tab \ul\b Function\par \ul\b Pro Mini Pin\ulnone\b0\tab \ul\b Function\par
@@ -151,7 +152,8 @@ For example \b F0\b0 is initially set for \b servo\b0 control:\par
\par \par
Before changing the CV settings take a look at the initial settings and make small changes first to observe the effects. This should give modelers a starting point, and a better understanding for customizing their decoders.\par Before changing the CV settings take a look at the initial settings and make small changes first to observe the effects. This should give modelers a starting point, and a better understanding for customizing their decoders.\par
\par \par
Please also note there is a new 17 LED (On/Off) decoder configuration (Decoder_17LED_4Function), which while providing the 17 LED on/off control like the very first decoder (Decoder_17LED_1Function) introduced in this project, whichh ONLY has on/off control. However, this new version can be reconfigured via CV control to perform the other functions too.\par Please also note there is a new 17 LED (On/Off) decoder configuration (Dec_17LED_6Ftn), which while providing the 17 LED on/off control like the very first decoder (Dec_17LED_1Ftn) introduced in this project, which ONLY has on/off control. However, this new version can be reconfigured via CV control to perform the other functions too.\par
\pard\par \pard\par
} }

View File

@@ -1,38 +1,47 @@
Release Notes for the 5.1 SMA Decoder Examples Release Notes for the 5.4 SMA Decoder Examples
1. Buf fix to allow maximum of 17 servos
1. Automatic servo attachment and detachment has been implemented for all
servo control functions. When a servo has stopped at the end of its traverse, 2. Bug Fix to correct 2 reload #define definitions
it will be "detached" by the software. This has been demonstrated
to reduce power consumption greatly and reduce servo "chatter." 3. Change to major Loop Delay cut in half to allow for fewer misses of DCC packet detection
2. Several bug fixes including all reported bugs as of May 2016 4. File Decoders_MultiFunction_Description.rtf has minor edits for new file names and 6FTN version.
3. In the fully conficurable verions. all 17 pins now can be configured for any of 6 functions Release Notes for the 5.1 SMA Decoder Examples
Config 0=On/Off,1=Blink,2=Servo,3=DBL LED Blink,4=variable Pulse ,5=fade on
1. Automatic servo attachment and detachment has been implemented for all
4. Servo timing has a timing modifier added for extra slow servo traverse servo control functions. When a servo has stopped at the end of its traverse,
#define servo_slowdown 3 //servo loop counter limit it will be "detached" by the software. This has been demonstrated
Can be set from 0 to 255 -- the higher the number the slower the traverse to reduce power consumption greatly and reduce servo "chatter."
5. Software has been restructured to support new NmraDcc library releases 2. Several bug fixes including all reported bugs as of May 2016
including the NmraDcc-MicroBahner library version.
3. In the fully conficurable verions. all 17 pins now can be configured for any of 6 functions
6. 18 Predefined decoder skectekes are included: Config 0=On/Off,1=Blink,2=Servo,3=DBL LED Blink,4=variable Pulse ,5=fade on
Mobile Decoders:
Dec_2MotDrive_12LED_1Srv_6Ftn Dual motor drive, 12 LED 6 Function 4. Servo timing has a timing modifier added for extra slow servo traverse
Dec_7Serv_10LED_6Ftn 7 Servo 10 LED 6 Function #define servo_slowdown 3 //servo loop counter limit
Dec_10Serv_7LED_6Ftn 10 Servo 7 LED 6 Function Can be set from 0 to 255 -- the higher the number the slower the traverse
Dec_13Serv_4LED_6Ftn 13 Servo 4 LED 6 Function
Dec_15Serv_2LED_6Ftn 15 Servo 2 LED 6 Function 5. Software has been restructured to support new NmraDcc library releases
Dec_17LED_1Ftn 17 LED ON/OFF Control including the NmraDcc-MicroBahner library version.
Dec_17LED_6Ftn 17 LED 6 Function
Dec_Dir_and_Fade 17 LED with Dual Direction Control and FADE 6. 18 Predefined decoder skectekes are included:
Dec_SMA12_LED_Groups LED Group Control for Euro Signaling Mobile Decoders:
Accessory Decoders: Dec_2MotDrive_12LED_1Srv_6Ftn Dual motor drive, 12 LED 6 Function
AccDec_7ServoBackandForth6Ftn 7 Servo 10 LED 6 Function Dec_7Serv_10LED_6Ftn 7 Servo 10 LED 6 Function
AccDec_7Servos_10LED_6Ftn 7 Servo 10 LED 6 Function Dec_10Serv_7LED_6Ftn 10 Servo 7 LED 6 Function
AccDec_10Servos_7LED_6Ftn 10 Servo 7 LED 6 Function Dec_13Serv_4LED_6Ftn 13 Servo 4 LED 6 Function
AccDec_13Servos_4LED_6Ftn 13 Servo 4 LED 6 Function Dec_15Serv_2LED_6Ftn 15 Servo 2 LED 6 Function
AccDec_15Servos_2LED_6Ftn 15 Servo 2 LED 6 Function Dec_17LED_1Ftn 17 LED ON/OFF Control
AccDec_17LED_1Ftn 17 LED ON/OFF Control Dec_17LED_6Ftn 17 LED 6 Function
Dec_Dir_and_Fade 17 LED with Dual Direction Control and FADE
Dec_SMA12_LED_Groups LED Group Control for Euro Signaling
Accessory Decoders:
AccDec_7ServoBackandForth6Ftn 7 Servo 10 LED 6 Function
AccDec_7Servos_10LED_6Ftn 7 Servo 10 LED 6 Function
AccDec_10Servos_7LED_6Ftn 10 Servo 7 LED 6 Function
AccDec_13Servos_4LED_6Ftn 13 Servo 4 LED 6 Function
AccDec_15Servos_2LED_6Ftn 15 Servo 2 LED 6 Function
AccDec_17LED_1Ftn 17 LED ON/OFF Control
AccDec_17LED_6Ftn 17 LED 6 Function AccDec_17LED_6Ftn 17 LED 6 Function