[En-Nut-Discussion] Contributions: vs1001 and microdelay

Mgr. Pavel Chromy chromy at asix.cz
Thu Apr 3 22:15:01 CEST 2003

Hello Harald,

Here are the sources I promised in my last email

I have completely revised vs1001.c which did not work for me at all.
I have found a few serious and many minor bugs.

I have attached 3 vs1001k sources:

vs1001k_commented.c - contains original code with my comments about
the bugs quoted by !! (double exclamanation mark)

vs1001k_minchanges.c - contains original code with minimal changes
which make it work

vs1001k.c - _completely_ revised code with added functionality,
which works perfectly for me.

- I removed some rather limiting parts of the code
  (e.g. watermark checking - everything explained in my comments in vs1001_commented.c)
- Playback can be stopped and resumed
- Round buffer management without keeping redundant information
  (data counter not necessary)
- Internal vs1001 buffer is flushed on request at the end of the
  playback in the interrupt routine.
- Does not disable all interrups, just the one which is necessary.
- Code which mihght possibly hang (if the decoder failes) was fixed
- Bugs which may cause crossing buffer coundary and more...
- Everything is now more clean and simple.

Added functions (commented in the source code):
extern int VsPlayerStop(void);
extern int VsPlayerFlush(void);
extern u_short VsBufferAvailable(void);
extern u_short VsPlayTime(void);
extern u_char VsGetStatus(void);

There is also source timer.c containing function NutMicroDelay()
for precise timing (microsecond). It does not take calling
overhead into account, but this is less that a microsecond.
It is clock speed dependant, since it is a hard task to do it
This tiny function is pretty usefull when controlling attached devices
so I thought that you might want to add it to the distribution.

Mgr. Pavel Chromy
ASIX s.r.o.
Staropramenna 4
150 00 Praha 5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: microdelay.zip
Type: application/x-zip-compressed
Size: 594 bytes
Desc: not available
URL: <http://lists.egnite.de/pipermail/en-nut-discussion/attachments/20030403/43b94b71/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vs1001k.zip
Type: application/x-zip-compressed
Size: 19221 bytes
Desc: not available
URL: <http://lists.egnite.de/pipermail/en-nut-discussion/attachments/20030403/43b94b71/attachment-0003.bin>

More information about the En-Nut-Discussion mailing list