play generated voice stream in a call

Hiya,

Well done.

That’s the easy bit!

ciao, Dave

I agree with you, but why only in the LowIrq gives problem and not in the High? In the example I found many TRACE in the lowirq, and they makes something more than my DEBUG function.
Anyway I will take more care next time… :wink:

Yeah!

The “Low” level IRQ is the closest to being a “real” interrupt - so it has the tightest limitations;

The “High” level IRQ is a bit “further” removed, so things are not so critical;

The Application/Tasklevel is the furthest removed - but you still have to take some care not to upset the Watchdog, for instance…

a suggestion… is better the extension board with usb+ethernet or the one with rs232+usb ?

That, of course, depends entirely on what you want to do with it!

For Traces, I think the RS232 would be more useful :question:

Mainly for do debug / tracing.

I don’t know if is possible with the ethernet module too.

The problem with USB is that it restarts whenever the module restarts - which makes it impossible to see the earliest traces from your application starting!

That’s why I recommend a UART for Traces.

ok the answer is definitively rs232 :slight_smile:

thanks!

I think so! 8)

Sorry for just adding my post , I am having a hard time making my own. But I think my problem is in the same area.
Firstly let me just direct you to the PCM example in M2M that allows you to record via mic or voice call and then allows you to play it back via speaker or voice call… hope this helps.

MY PROBLEM IS: I want to record from the mic in AMR format, this is a included codec of the q2686/7 the format is much smaller then PCM and could easily solve the memory issues.

The manual only tells you how to play it. I would greatly appreciate any assistance.

Regards,
Riaan

Hi,

I used PCM, later I will try with AMR too.
looking at the example I suppose you should change the app_RECORD_CmdHandler in this way:

..
adl_audioAmrCodecRate_e CodecRate = ADL_AUDIO_AMR_RATE_5_15;
// Set Codec Rate
Ret = adl_audioSetOption ( handle, ADL_AUDIO_AMR_CODEC_RATE,
                          &CodecRate )
// Memory allocation
Ret = adl_audioSetOption ( handle, ADL_AUDIO_AMR_BUFFER_SIZE,
                          &BufferSize );
...
RetVal = adl_audioStreamListen ( record_resource_Handle, ADL_AUDIO_AM , appListenLowIrqHandle, appListenHighIrqHandle, StreamBufferListen);
...

at the moment I’m out of office and cannot try it :slight_smile:

can you say which kind of problem you get?
bye,
Luca

I received the iesm but without serial cable… so I tried in the meantime to use usb.
Usb cannot be used with bearer and haves problem (at least I) with m2mstudio-seriallink manager.
For using the second uart (the one in the iesm) a special cable is needed? the 16-way connector seems to be not ‘standard’.
You know where I can find it?

For who is interested I opened my small project and now is public on sourceforge at sourceforge.net/projects/fastrack-voice/
So other beginner developers like me can look a complex example. I hope can help.

:wink:

It is an AVX product - the part number is given in the IESM User Guide.

Have you asked your Wavecom Distributor?
If not, you will have to try to find an AVX distributor - although they may well require a minimum order quantity.

If you’re stuck, I might be able to get you one…

yes I found that, but that means the cable should be self made.

the first thing I have done when I received the IESM plugin was to call the distributor: “and the cable??!” for usb obviously there is no problem but the wip_bearer not works on uart3.
anyway the distributor says has contacted wavecom that says not sells the cable/connector: like you buy a pc keyboard with a special connector without cable and you don’t sell the cable… :confused: I can understand if the connector is standard but in this case, is not fair to the customer.

Now I am looking for an avx distributor in italy (I suppose is in milan).
I am alone with this problem??

thanks for the help!

Yes, it is a pain, isn’t it!

If you have no luck, drop me a private message - I may be able to help you…

then Riaan, didn’t you have any problem with audio on slots? in fact, I work with Q2686 module and I can see some information on slot 1 (not on slot 0) after rising edge of PCM_SYNC on oscilloscope whith AT+SPEAKER=1, and I don’t know how I can resume the default configuration that data is sent on slot 0.

any idea?

Hiya,

This looks like a new topic (although related to the original). The original thread was about using the internal ADL functions for recording and playback on an internally answered voice call - not using the hardware PCM lines for interfacing PCM hardware to the Q26.

Might be a good idea - and you might get some better responses - if you start a new thread.

ciao, Dave

Indeed - and you can always give a link to this thread, if you think it’s relelvant/helpful…

now I have a very related question :smiley:

have you ever experienced any problem about a missing play Low IRQ event?

in my application, this handler doesn’t work continuously, for example every 20 ms. sometimes I have missed events.

so as it mentioned in ADL User Guide-audio interface section, if there is a lost interrupt in PLAY section, then it will send an empty frame of “0x0”, and the BufferEmpty flag will set to TRUE.

I wonder if there is any common experience about this issue,
or
any idea about disabling this behaviour: “sending an empty frame when an Interrupt is missed”?
or
even an answer to this question: “why a LowIRQLevel Interrupt is missed? or how can I prevent this occurance?”