PSoC™ 5, 3 & 1 Forum Discussions
I am using a Cy8CKIT-059 and am having an extremely difficult time trying to get a simple usb audio application to work. For a basic test, all I want to do is enumerate a USB Audio device with line-in and line-out , 2 channels, 16 bit, 48000 sps. I seem to have the descriptor correct. It shows up in Windows 10. When I set the component up for DMA with manual buffer management I am able to loop the audio packets from the out EP to the in EP.
I have now switched the USBFS to DMA with automatic buffer control. I have a simple initialization function that looks like this:
void USB_InitializeAudio(void)
{
USBFS_LoadInEP(AUDIO_IN_EP,&audio_in_buffer[0],AUDIO_BUFFER_SIZE);
USBFS_ReadOutEP(AUDIO_OUT_EP,&audio_out_buffer[0],AUDIO_BUFFER_SIZE);
USBFS_EnableOutEP(AUDIO_OUT_EP);
}
from what I understand, this initializes the USBFS internal DMAs to transfer data to/from my audio_in and audio_out buffers in RAM.
In my main loop then I look for the EP states to be either FULL for the Out EP or Empty for the IN EP and call a Servicing if either of these states occur. The servicing functions are simple also, for the OUT EP all it does is rearm with EnableEP () and for the IN EP I call the LoadInEP with the second argument NULL.
What I was expecting was the device to enumerate as desired, then when I go to play audio out it, nothing should happen as the device simply does nothing with the audio_out buffer and rearms. Furthermore, when the IN EP is Empty, it just fires the DMA to transfer the audio_in buffer contents to the IN EP.
What actually happens is that it enumerates and just hangs up the PC and cause windows to throw an error if you try to send any audio to it. Can one of the experts on this forum take a quick look at my project and tell me what key thing I'm missing? I feel like it's something stupidly simple, but I have been fighting this for a couple days now and am at a total loss.
What I'd really like is a simple project example that enumerates an audio device and just loops the audio back from output back to input using automatic DMAs. If anyone can provide that example I would greatly appreciate it. Why is it so difficult to find good USB audio examples for PSoC5, I would think this would be a common use for the device.
Thanks in advance, Kevin.
Show LessUsing a CY8C24423A, I am trying to multiplex seven different analog inputs to an ADCINC.
The documentation for analog in PSoC1 (relevant info that can be found) is confusing, or at least somewhat 'Greek to me'. Infineon's search engine is so close to being completely useless (no decent way to find multiple keywords and ignore any without all keywords, save typing 'AND' over and over).
I did get a step by step set of instruction from Bing AI that seemed promising until a step indicated adding a Ctrl_Reg from the digital tab and no such module exists... a digital tab or a Ctrl_Reg user module anywhere in user modules.
I'm using 7 pins on Port0 and what really does not compute is that the Chip Editor view of the analog section is schematic(-like) but certainly unclear as to routing these through the multiplexer (Amux8 x 2, one for inputs & one for refs).
The inputs are 4 differential voltages (one across each Cell in a 4 Cell battery), 1 voltage divided sense of the entire battery (P12V_Sense & 2 thermistor voltages for temperature sensing. I have set all these voltages such that they fall within the Vss-Vdd range (0-5V). The 4 Cell voltages use the series connection points between the cells as reference, i.e. +Cell1 uses +Cell2 as reference, +Cell2 uses +Cell3 etc. with Cell4 using Gnd as reference. The thermistors are referenced to Gnd as is the P12V_Sense line.
So, which user modules should I use, how do I place them, how do I route them and how are they configured?
I've been looking at Amux8, ADCINC, RefMux and with the AI's suggestions, the use of a Ctrl_Reg to synchronize switching of both the inputs but also the references. Not finding the Ctrl_Reg in the user modules was disconcerting and left me wondering how all this is supposed to work.
Any help would be appreciated!
Scott
Show LessHello,
The attached I2C_4_INT.c contains code created by the creator. I did not modify it.
When I'm trying to read from PSOC, after few times, I got an exception caused by line 509 (CYASSERT)
...
}
else
{
#if(I2C_4_TIMEOUT_ENABLED)
/* Exit interrupt to take chance for timeout timer to handle this case */
I2C_4_DisableInt();
I2C_4_ClearPendingInt();
#else
/* Block execution flow: unexpected condition */
CYASSERT(0u != 0u);
#endif /* (I2C_4_TIMEOUT_ENABLED) */
}
What can cause this undefined state ?
The attached I2c.c contains 2 routines to read I2C message from host (I2cSlaveRecieveMsg) and send I2C message to host (I2cSlaveSendMsg).
Can you please tell if this code is wrong ?
Thank you,
Zvika
Show LessHi Sir,
We have a question about the Cypress PSOC application and would like to inquire about it. We are currently using CY8C3246, and firmware uses Watchdog From the description of the library function, there are four timer periods We have already chosen the longest interval. CyWdtStart (3,0)// Enable WDT 2.048-3.072s Are there any ways we can use longer timer periods?
Thanks!
Alex.Wang
Show LessHello, around 4-5 years ago I used a component called "PSFB" or phase shifted full bridge, if I recall correctly. I recently started using PSOC Creator again and would like to use this component again but I cannot find a project example in Creator or online in a repository. I can find the documentation of using the component though. PSoC® 3 and PSoC 5LP - Phase-Shift Full-Bridge Modulation and Control (infineon.com)
Can anyone help me locate this project example.
Thanks,
Patrick
Show LessHi
I need to use sprintf function with float numbers. But it does not work.
val=1.2243;
sprintf(text,"Value=%f",(float)val);LCD_Position(0u,0u);
LCD_PrintString(text);
Is there a setting in this regard?
Show Less
instead of using a crystal and a pair of capacitors to set the frequency of the MHz ECO, I want to use a TTL output clock, such as ecs-2200x 24MHz attached. .
which pin should the clock signal go to?
how should the clock tree be arranged?
are there any switches that need to be set (or un-set?)
what else should I check/look out for?
AN60631 and AN54439 are not answering my question(s).
thank you
Show Less在卸载删除程序所在Cypress文件后,重新安装时会跳转到卸载界面,最后安装失败(如附件所示)。请问是什么原因?需要怎么解决?
I've been prototyping a new PCB design using a PSoC 3, since it's more widely available than any of the other PSoC chipsets and has the necessary capabilities I require.
I've been working on the programming for this design for several months, and then yesterday out of nowhere, in the middle of the work day, building the project results in the following error:
I've been all over the developer community pages going back to posts from 2011 regarding this issue. I've viewed perhaps a half-dozen knowledge base articles addressing this issue, and there are links commonly provided to allow someone to update the license. The problem with this is, however, that every one of those links points to a dead page with this:
How do I update my license so I can finish this project?
Show Less