From alsa-devel-owner@alsa.jcu.cz  Wed Dec  2 14:27:42 1998
Received: from sigrid.sim.ucm.es (sigrid.sim.ucm.es [147.96.1.73])
	by marvin.jcu.cz (8.9.1a/8.9.1) with ESMTP id OAA28180
	for <alsa-devel@jcu.cz>; Wed, 2 Dec 1998 14:26:36 +0100
Received: from eucmos.sim.ucm.es by sigrid.sim.ucm.es (PMDF V5.1-9 #28211)
 with SMTP id <0F3C00G3W83HRX@sigrid.sim.ucm.es> for alsa-devel@jcu.cz; Wed,
 2 Dec 1998 13:30:53 +0100 (MET)
Received: by eucmos.sim.ucm.es (5.65v4.0/1.1.8.2/28Oct94-0802PM)
 id AA07701; Wed, 02 Dec 1998 13:36:13 +0100
Date: Tue, 01 Dec 1998 23:22:17 +0100 (CET)
From: Christian Fischbach <fishbach@pool.informatik.rwth-aachen.de>
Subject: Es1869.c
To: alsa-devel@jcu.cz
Message-id: <Pine.LNX.3.96.981201231525.752B-100000@debian>
MIME-version: 1.0
Content-type: TEXT/PLAIN; charset=US-ASCII
Reply-To: alsa-devel@alsa.jcu.cz
Sender: alsa-devel-owner@alsa.jcu.cz
Precedence: list

Hello!

I know that this mail comes a few days to late.
If anyone got this mail three times, sorry! Thats why I was not sure if
this mail arrives correcty because of the USER-ONLY limitation of this
mailinglist.

Abramo Bagnara <abbagnara@racine.ra.it> wrote:

> I've tested your first version.
> It works for me too.

Nice to hear!

> There's a problem that you can verify giving this sequence of commands:
> $ exec 3> /dev/audio
> $ cat ring.au >&3

> As you'll hear the sound is repeated many times.

Yes, I hear. I was a good idea to insert some code for stopping the DMA
transfer. I was so happy hearing anything, that I did not recognize it. :-)))

Your version stops with the echo, but there is still a problem somewhere.
If you type

$ exec 3> /dev/audio
$ cat ring.au >&3
$ cat ring.au >&3
$ cat ring.au >&3
$ cat ring.au >&3
$ exit

you will hear the ring sound twice after you entered the second cat and three
times after you entered the third cat. By typing exit you will get the
kernelmessage:

kernel: snd: Oops, playback start when tail = 1

This problem also happens with the old es1688 driver.

... and there is an onther thing that do not let me sleep well. I have the
impression, that the songs played with the 1869 driver sound a bit different
than those played with the 1688 driver. I have the feeling that my driver
playes them a bit slower. But I checked the set_rate function several times
and can not find an error if the frequencies in the DS1869.pdf are correct.

> Note that the argumens to snd_delay need to be fixed 

I do not have all my books here. Can anyone tell me the delaytime for
snd_delay?

It is quite a strange experience to correct some parts of code and getting a
mail the next day with a diff which corrects among other things this
error.
Anyway I am grateful to Abramo for working on the es1869 driver. The problem
is that my only possibility to use Internet here in Spain is at university,
but only half an hour a day (I pointed out some time ago that I do not
recomment studying computer science in Spain!).
Because it makes no sense if two persons work on the same part of code and
because I am fist back in Germany in July, I suggest that I stop working on
the es1869 driver, although I will read this mailinglist further to know
what is happening.

As I told some time ago, I think the header of the sources, saying "Copyright
by Christian Fischbach", is not well chosen. I am very happy to have a
working driver, I do not need my name anywhere.

Here my final words to the driver:

- there is a need of "indent -kr -i8", because I use a little different
  spacing.
- In the headerfile es1869.h are many unused lines, because I did not use
  ES1869P (I did not like it always to serarch for the right word for the
  register, although at other places direct numbers are unavoidable).
- the documentation of es1869 says nothing to the question if fullduplex is
  possible only in mono mode, although the example of
  Fullduplex-Configuration on Page 53 uses monomode.
- I am sure that the frequencies in Fullduplex must be the same, I tryed to
  use different, that did not work. But I wonder why there are two registers
  for the samplerate (0x71 and 0xA1). I think it is a good idea always to set
  them both in function snd_es1869_set_rate.

  You should be able to recognize the following:
  * play a .wav, eg. with bplay
  * listen to it while typing 
    # cat /dev/audio > /dev/null

  On my computer the speed of the played .wav changes a littlebit. This stops
  if you always set both registers. The main problem is the following:

- The check is missing, which do not allow a program to try to use different
  samplingrates.

so far ...

   bye,

      Chris


