How to make desired waveforms by AD5668?
I was the one who suggested the device to the OP in the other thread.

AD5668 is an Octal, 16-Bit SPI Voltage Output DAC with 5 ppm/°C On-Chip Reference. You need to select a sampling frequency first that is several times more than the frequency of the target signal. You can then just drive the DAC, using an SPI interface, with a pre-populated set of samples.

What I did, in order to generate an waveform, is that I wrote a general purpose function, that just adds the magnitude of respective harmonic components to the fundamental, along with phase information. This generates the array that is used to drive the DAC. The timer that is used to do the periodic SPI, is configured to control the fundamental frequency.

I just wrote some code to prototype the same. The function call to generate the array, for example, for a saw-tooth waveform is

GenSamplesHarmonics(20000,0,10000,180,6666,0,5000,180,4000,0,3333,180,2856,0,2500,180,2222,0,2000,180,1818,0,1666,180,1538,0,1428,180,1332,0);


I'll just try to explain:

A Saw-tooth wave is essentially all harmonics at amplitude 1/n, even harmonics negative. The fundamental amplitude is 20000(arbitrarily chosen). The next argument is the phase relationship with the fundamental(obviously zero in this case). Each subsequent argument pair is the 1/n of the fundamental, with each alternate pair 180 degrees out of phase.

Hope that helps.