Hello,
is there any API description or usage guide for the AWE Core API. We would like to use the library on a STM32 board with the free license offered through your cooperation with STM.
The AWE Core Integration guide was a nice start for prototyping and for testing when a PC with an AWE Server is connected.
Now we would like to use the libraries in our own code but i can't find any working examples for that. The only thing i know is that i have to call the awe_fwPacketExecuteArray() function. I was unable to find anything else regarding the usage of the API.
Best regards,
Ivan
11:32am
Hi Ivan,
Thanks for the question - running a standalone instance of the AWE Core is a common topic.
Section 2.3.2 of the AWE Core Integration Guide describes how to load an .awb as a C array. For an example of how to use awe_fwPacketExecuteArray, check out our Atmel SAMV71 BSP package at https://dspconcepts.com/downloads (see Source/main.c therein).
We are currently updating our docs for the AWE Core API and we will share these updated docs when they are completed. For now, sections 3.3, 4.3, and 5.2 in the AWE Core Integration Guide should suffice as a reference for integrating onto your hardware. If you have issues implementing any part of our API, or if you find our documentation lacking in some area, please ask specific questions here and we can further assist you.
Hope this helps,
-Axel
4:54am
Hi Axel,
thanks for the fast response. I have started implementing the libraries together with a CubeMX generated project and i am using the stm32discovery and atmel samv71 projects as a guide. There are a lot of questions and problems in the process. I am using the newest awe bsp stm32f746 s1.4 header files and libraries. The atmel samv71 example uses something different as some of the function declarations are different and some of the functions use additional parameters.
One major problem i am encountering now is that all the libraries seem to be compiled with an old IAR version (7.xx) and that they cant be used with the new IAR 8.xx versions. See link for description https://www.iar.com/support/tech-notes/general/library-built-with-7.xx--...
You say that i can ask specific questions, but actually getting there where i can ask specifics is very hard. Which functions should the user rewrite? There are a lot of defines which effects are unknown to me. Does the library need a flash file system? What are the differences when this define is there or not? The AWEInstance type is also a mystery. There are two private pins in the examples. What are those? What are the wires types in the AweInstance? How do i change the input ot output to come from or to i2s? There are several libraries in the AWE BSP stm32f746 s1.4 package. Do i need all of them? Which is for what? What are the main functions that i need to use? The awe_pltTick() function calls the awe_fwTuningTick() and a lot of USB functions in the examples, what is this for, how should i rewrite this function if i don't use USB?
There are a lot of other questions but most of them come from the fact that i have no understanding of the usage of the library and the meanings and effects of the functions. My questions are probably silly and easy to answer once i understand the architecture but for now i don't even know what to ask actually.
Best regards,
Ivan
10:41am
Hey Ivan,
Are you sure you have the latest v1.4 BSP from our downloads page? Those 'EWARM' libraries are built with IAR 8.11.2, so you shouldn't have any issue with your IAR 8.x IDE.
For an integration of Audio Weaver, I would suggest leaning more heavily on the AWE Core Integration Guide than the BSP code and following this general process:
1. Get audio pass through working (DMA RX -> DMA TX)
2. Set up the tuning interface and get echo-back functionality working. This could be through USB, SPI, RS232, or whatever interface is available on your hardware.
3. Start introducing the AWE Core functions one step at a time.
Using this approach to start from scratch is likely more educational than immediately jumping into the ST reference BSP code, which contains a lot of USB related code that you might not need.
-Axel
10:29am
I'm also having much trouble integrating. In particular, I am not having success using the generated target files from Audio Weaver Designer. The best success I could achieve is to make use of the layout array and then load the layout using awe_fwPacketExecuteArray(). I do that by adding the <project>AWB.c and .h generated files to my standalone project. To facilitate using the control driver, I need to use generated files <project>.c and .h but they don't compile! I'm not sure how to use the generated files without hand editing them.
Is there a step by step guide or working example that shows how to use the generated files? The integration guide does not have that information.
Thanks - John Speth