04-18-2012 05:37 PM
ran into a hard-to-find bug in the x-series DDK, you guys might want to correct.
in the routine:
void tCHInChDMAChannel::_config(nMDBG::tStatus2& status)
_readIdx = 0;
_writeIdx = 0;
there is one more line you need in there:
_lastwriteIdx = 0;
this doesn't cause a problem for any of the sample programs, since they only use tCHInChDMAChannel once and dispose of it. however if you start() the channel for a second time without doing a reset (to avoid a buffer re-allocation), the object will incorrectly report the number of bytes available.
04-20-2012 03:06 PM
Thanks for letting us know about this. According to the comments in that file, we expected to be able to stop the dma channel and start it back up.