PSoC™ 5, 3 & 1 Forum Discussions
text.format{('custom.tabs.no.results')}
I'm trying to create a logical block to take care of data transfer for a large array (several thousand) of NeoPixel type smart RGBW LEDs.
Each LED requires 32 bits, and each bit is broken into 4 chips - a Zero is sent with one high chip, and three low chips, and a One is sent with two high and two low. I've created a state machine which "should" be able to take an array of 32b RGBW data from memory, load them into a 32b Shift Register via DMA, and shift it through the state machine to chip the bits and TX to the NeoPixels.
The documentation for the Shift Register indicates that it's FIFOs can be loaded directly from CPU, or via DMA (which was my intent). I've tried attaching the Interrupt output from the Shift_Register to the DRQ input of a DMA module, and then tried to run the DMA wizard, but the DMA wizard doesn't show the DMA module, nor the Shift Register's FIFOs as a DMA endpoint.
The DMA Wizard does see a Control Register, but since there is no parallel load option on the Shift Register, I can't use that to move data (other than a bit at a time with the Shift In, which wouldn't help me at all).
I've looked for examples of using DMA or Shift Registers with DMA, and can't find any, so I'm currently stuck...
Any help would be much appreciated.
Dave
Show LessI've attached some simplified code that exhibits what I think is odd behavior. If you run the code on the CY8CKIT-001 with the CY8C38 module installed you'll notice that when you touch a CapSense component the LED lights for a short period of time and it is identified on the display. Note that the PGA_Inv component is not started, it is commented out.
Now uncomment the PGA_Inv component and rebuild and run the project. Now, the LED blinks and the CapSense routines overwrite each other continuously. The PGA_Inv component must be triggering CapSense events.
Any idea as to what obvious thing I am missing?
Show LessI was wondering how does one play samples? The first thing I'd like to achieve is to play a sine wave from a waveform sample. I wonder if I can do that or is there a simpler way?
Store raw audio in EEPROM -> drive DMA with clock or PWM -> pipe DMA output to DAC
If there are any examples or application notes on this, I'd really appreciate that! Also, can I play audio from external memory (as in SD card)?
Show LessI get this error when trying to upload a hex file to my board
FAILED! Hex File parsing failure. PSoC Programmer does not support current type of hex file
At the moment not sure which hex file I need to upload. How do I tell which is the one I need to upload with the PsOC Programmer?
Show LessDear all
How to program the SAR ADC with full speed of 1 MSPS. I am using CY8CKIT-059 kit. I am getting the error while configuration with 1MSPS of 18MHz colck. Please help.
Show LessHi All,
I made a PSOC project that contains components from PSOC (Mixer, Amp, SAR ADC, DAC, PWM, Shift register and SPI interface). Some output components are also used (INAmp, Buffer and some filter stuff).
I let the PSOC to route freely and then, I tried to change the pins and it works fine.
Now, when I built the project. It builts successfully (Can see attached Pic).
I just wanted to know that, it is enough or, is there any other way of confirming it?
Looking forward to your suggestions.
maknight
Show LessI wanted to re-create the blink example using the Cortex core only, no digital or analog modules. So far this is what I got but I still can't see the LED (port 2 pin2) blinking. What am I missing?
#include <project.h>
#include <cypins.h>
#include <cydevice_trm.h>
#define CYREG_PRT2_PC1 0x40005011u //define pin 2.2
#define CyPins_SetPin(pinPC) ( *(reg8 *)(pinPC) |= CY_PINS_PC_DATAOUT) //set pin
#define CyPins_ClearPin(pinPC) ( *(reg8 *)(pinPC) &= ((uint8)(~CY_PINS_PC_DATAOUT))) //clear pin
int main()
{
while(0)
{
CyPins_SetPin(CYREG_PRT2_PC1);
CyDelay(1000);
CyPins_ClearPin(CYREG_PRT2_PC1);
CyDelay(1000);
}
return(1);
}
I recently had difficulties programming my CY8CKIT-050 using either the on-board DVK05 programmer or a separate MiniProg3 programmer inside a virtual Windows 7 session under Paralles (MacOS 10.9.4, Windows 7 SP1).
Specifically, I could successfully program my device, but subsequent attempts to program would give an "unknown error -100." If I unplugged the programmer and plugged it back in, I could program once again but any further attempts would give the same error.
The problem existed in both Parallels 9 and VMWare Fusion 6, but when I booted into Windows 7 natively (Bootcamp) the problem went away. It seems Cypress uses some non-standard USB tricks in their programmers that confuse the virtualized USB drivers. Although I have not found a workaround for Parallels, there is a workaround for VMWare Fusion. The specific line that I added to my vmx file was:
usb.quirks.device0 = "0x04b4:0xf131 skip-reset, skip-refresh, skip-setconfig"
This resolved the issue immediately, unfortunately I'm now stuck using VMWare instead of Parallels. At least I'm not stuck in native mode, though!
Hope this helps someone else. I struggled for weeks with this issue and even involved FAEs from Cypress on the matter, to no avail.
Regards,
Mike
Hi,
Can I generate a 16 MHz clock on an output GPIO pin on cy8ckit-059 kit?
I am able to generate 24 MHz and integer divided clocks of 24 MHz (for example 12 MHz), but not 16 MHz. Giving a frequency value of 16 MHz still generates a 12 MHz clock.
Regards,
Vishnu
Show LessHave a few questions about PSoC Designer.
I'm just getting started with cypress.
I have a CY3210-PSoCEVal kit.
I'm trying to load a open source program to the chip.
I have installed that to the demo board and am trying to compile and load the open source project to the chip.
I go to tools options compiler and select imagecraft. Problem is after that I go back to the build tab and the Compile button is grayed out.
Also I'm using PSoC designer 5.3 per the open source instructions.
Ive been looking for the step by step guild to compiling and loading to the chip but haven't found it. Can any give me step by step instructions or point me to a video or instructions so I can make this happen?
Thanks so much!
Show Less