Greg Burns

Results 9 comments of Greg Burns

I did more benchmarking tweaking the oversample rate, sample time, and even clock rate. None of these changes get me the stable 8 bits I am looking for. Even oversampling...

I just pushed the update to replace the box-car averaging with an exponential moving average. I did some modelling with a small C program and excel and came up with...

The problem with putting the filtering in the analog control is that is then depends on the rate that the Process method is called. This was not working at all...

Correction, the averaging prevents overshoot/undershoot on step changes. It doesn't have any noticeable effect on smooth changes. Also this isn't traditional hysteresis which supressess changes that fall below some threshold,...

I am not clear if you saying put my filter inside AnalogControl::Process() instead of in the DMA callback? I have tried reading raw values and doing my own filtering inside...

Ok it get it but I don’t see a nice way to do this via AdcChannelConfig. AdcChannelConfig is an automatic variable declared inside DaisyPatch::InitControls() so the smoothing coefficient would need...

I just pushed the change for setting the filter coefficient per channel. This is substantially the same as the filtering that the control class does. I abandoned the slew mitigation...

I tried moving the ADC to DMA2 and also putting the ADC buffer into SDRAM. If there was AHB bus contention according to my reading of the various documentation this...

In the past I have implemented "dynamic" memory allocators just for the convenience of allocating buffers from specific memory regions. A DMA allocator dma_malloc() let's you allocate the buffer from...