Sweep (Log) question
I am using the Sweep (Log) module with an ADAU1761. In my C code my beep function turns off the sweep module
writes it's parameters, and then turns it on. (all safeload). It seems to work except I get noise at the period of the sweep
event until I turn the sweep off (MOD_SWEEP1_ALG0_ON_ADDR). Am I using this widget correctly?
Audio Signal Processors
sweep
sigmastudio
SigmaDSP Audio Processors
adau1761
I have fixed the symptom, but I think I am seeing a minor Sigmastudio bug. I was not writing the
mask parameter of the sweep widget, because I did not see Sigmastudio doing it in the capture.
When I write the parameters with the mask the problem seems to disapear.
Hi bootload,
The Beep algorithm varies a bit depending on which IC you are using. Which SigmaDSP are you using for this project?
Also, I would appeciate if you could post the relevant section of the .h file including the mask you're referring to. That would speed up my investigation a bit because we'll both be on the same page. Thanks!
Sorry,
I am using the ADAU1761, my function name is beep(). I am using the Sweep (Log) module.
Here is the revelent part of the .h file. I am also seeing what seems to be a documentation error
in the data controlled crossfade. The help says it should be 28.0, but only works with 5.23
Thanks
/* Module Sweep1 - Sweep (Log) with on/off switch*/
#define MOD_SWEEP1_COUNT 7
#define MOD_SWEEP1_DEVICE "IC2"
#define MOD_SWEEP1_ALG0_START_FREQ_ADDR 10
#define MOD_SWEEP1_ALG0_START_FREQ_FIXPT 0x00002A99
#define MOD_SWEEP1_ALG0_START_FREQ_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.0013)
#define MOD_SWEEP1_ALG0_START_FREQ_TYPE SIGMASTUDIOTYPE_FIXPOINT
#define MOD_SWEEP1_ALG0_STOP_FREQ_ADDR 11
#define MOD_SWEEP1_ALG0_STOP_FREQ_FIXPT 0x00002A99
#define MOD_SWEEP1_ALG0_STOP_FREQ_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0.0013)
#define MOD_SWEEP1_ALG0_STOP_FREQ_TYPE SIGMASTUDIOTYPE_FIXPOINT
#define MOD_SWEEP1_ALG0_NUMCYCLES_PER_STEP_ADDR 12
#define MOD_SWEEP1_ALG0_NUMCYCLES_PER_STEP_FIXPT 0x00000003
#define MOD_SWEEP1_ALG0_NUMCYCLES_PER_STEP_VALUE SIGMASTUDIOTYPE_INTEGER_CONVERT(3)
#define MOD_SWEEP1_ALG0_NUMCYCLES_PER_STEP_TYPE SIGMASTUDIOTYPE_INTEGER
#define MOD_SWEEP1_ALG0_FREQ_INCREMENT_ADDR 13
#define MOD_SWEEP1_ALG0_FREQ_INCREMENT_FIXPT 0x00800000
#define MOD_SWEEP1_ALG0_FREQ_INCREMENT_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(1)
#define MOD_SWEEP1_ALG0_FREQ_INCREMENT_TYPE SIGMASTUDIOTYPE_FIXPOINT
#define MOD_STATIC_SWEEP1_ALG0_MASK_ADDR 14
#define MOD_STATIC_SWEEP1_ALG0_MASK_FIXPT 0x000000FF
#define MOD_STATIC_SWEEP1_ALG0_MASK_VALUE SIGMASTUDIOTYPE_INTEGER_CONVERT(255)
#define MOD_STATIC_SWEEP1_ALG0_MASK_TYPE SIGMASTUDIOTYPE_INTEGER
#define MOD_SWEEP1_ALG0_NUMSTEPS_ADDR 15
#define MOD_SWEEP1_ALG0_NUMSTEPS_FIXPT 0x00000003
#define MOD_SWEEP1_ALG0_NUMSTEPS_VALUE SIGMASTUDIOTYPE_INTEGER_CONVERT(3)
#define MOD_SWEEP1_ALG0_NUMSTEPS_TYPE SIGMASTUDIOTYPE_INTEGER
#define MOD_SWEEP1_ALG0_ON_ADDR 16
#define MOD_SWEEP1_ALG0_ON_FIXPT 0x00000000
#define MOD_SWEEP1_ALG0_ON_VALUE SIGMASTUDIOTYPE_FIXPOINT_CONVERT(0)
#define MOD_SWEEP1_ALG0_ON_TYPE SIGMASTUDIOTYPE_FIXPOINT
Sorry, just to clarify. Is this the algorithm you're trying to use?
If you could include a boiled-down version of the schematic and let me know exactly what you're trying to accomplish, I'd be glad to help. Sorry, I'm still a little confused about your goal, so once I'm clear on that I should be able to help you work through the issues.
Brett,
This is not a big deal, at first I couldn't get the Sweep (Log) working right. I
posted a question, and then realized that if I wrote the mask value to the
mask address it fixed my problem ( noise), even though I didn't see Sigmastudio
writing the mask in the capture window.
Thanks
Ah, now I understand. It's possible that SigmaStudio is actually writing that value, but for some reason it is filtered out from the capture display. I will make the software team aware of it so they can update it in future releases if necessary. Thanks!
This question has been closed by the EZ team and is assumed answered.
Please log in to reply.

