[sdiy] OBJECT ORIENTED C in synth programming
dan snazelle
subjectivity at hotmail.com
Fri Apr 8 21:35:33 CEST 2011
On Apr 8, 2011, at 3:26 PM, Scott Gravenhorst wrote:
> dan snazelle <subjectivity at hotmail.com> wrote:
>> Ok
>>
>> While we are on the topic of Learning about TYPEDEF's and
>> STRUCTURES, can anyone recommend a book that covers C in relation
>> to AVRs well?
>>
>> The reason I ask is that the C books I have, so often fall back
>> on using PRINT as their example.
>>
>> It would be great to have a book on C that related things to the
>> world of ADCs and DACS and TIMERS.
>
> Welcome to the world of digital design.
>
> While printf et al works great with a screen, you are correct that such
> an expression is useless where there is no screen.
>
> I've not worked with an AVR, but I have worked with PICs, other
> microprocessors and FPGA development boards. Such things will often
> have LEDs that can be controlled by the micro or other device.
> Sometimes that's all you get and sometimes not even that.
>
> In my work, I've managed to survive with only a few LEDs (8 if I'm
> lucky), an oscope and the DAC. I can route information to the LEDs -
> that's pretty easy. But sometimes I need different information. I can
> scope the DAC to see if anything is happening at all (perhaps way to
> slow to hear or maybe using so few bits that I can't hear it).
>
> When having trouble, I will route specific information to the LEDs in
> such a way that the LEDs aren't flashing at 10 kHz but rather are stead
> state so I can see and "read" them. This can be somewhat tedious as I
> move through the code, but the points where I put code to write to LEDs
> are intended to indicate - "This is definately working" or "this is
> definately not working" and work from that.
>
> You need to be as much of an engineer about designing temporary
> diagnostic features (such as using LEDs) as you are about designing
> your synth, special effect, noisemaker or whatever.
>
> If your device has a UART, then that can be used to spray out numbers
> or whatever. Connecting to a PC COM port with a terminal program
> running allows you to see them.
>
> Bottom line is that you need to be clever regarding what you have at
> your disposal and learn to code with those attributes.
>
> It is wise to do some hello-world stuff with those things so that you
> can apply them with confidence in a malfunctioning design.
>
> -- ScottG
> ________________________________________________________________________
> -- Scott Gravenhorst
> -- FPGA MIDI Synthesizer Information: home1.gte.net/res0658s/FPGA_synth/
> -- FatMan: home1.gte.net/res0658s/fatman/
> -- NonFatMan: home1.gte.net/res0658s/electronics/
> -- When the going gets tough, the tough use the command line.
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>
THANKS FOR SOME GREAT ADVICE
This gives me some hints for how to DEBUG which is something I have been messing with a bit.
I am finding that right now, one of the big headaches when trying to understand code which is complex, is to figure out which functions or variables are doing what.
and yes, I have figured out how to make a variable spit out via the UART
i think people trying to make synths or noisemakers have a hard time from the start as so few texts spend any time on it!
I will try your led advice
thanks
More information about the Synth-diy
mailing list