I’m not sure what is wrong with me that I like fooling with all this stuff but I have been having a blast over the holidays goofing around. In my quest for a nice Aluminum Knob but the ease of using a color UI for decoder settings, I’ve hacked together some parts and code as I seek network nirvana. Or something like that. Anyhow, if there is interest, some pics and rambling here:
Cool stuff, Martin, but way over my head (https://www.largescalecentral.com/externals/tinymce/plugins/emoticons/img/smiley-laughing.gif).
What are you using to generate the DCC bitstream? DCC++?
No, I’m not really a C++ fan, so I coded up some C methods. They are in Atmel C so they port to the various atmel processors pretty easily. I have two state machines for DCC. The DCC receive uses the EXT INT0 pin and a microsecond timer to time the bit lengths, then converts them to bytes in the state machine. The output DCC uses a timer to convert the DCC message packet (in bytes) out into the bit stream. It all runs via interrupt. The background just loads up a DCC message and says ‘go’ and it clocks out. In the case of RX, a valid packet coming in schedules a task in the background and then I can examine the message and do diabolical things to it.