PSoC™ 5, 3 & 1 Forum Discussions
Hello, I currently have a DMA tied to the Rx of a UART in which for each received byte, the DMA will store the byte into a SRAM buffer, incrementing the address of this destination buffer. Because the CPU will be parsing the information as it comes in, I want to be able to reset the destination SRAM buffer address of the DMA so it can start again from the beginning whenever the CPU decides to.
The posting here is very similar to what I am trying to accomplish where I would need to setup a nested DMA.
I am trying to acquire more clarity on how this may be done. I was able to the find the TDMEM registers, however, I did not find the xfrcnt [0:12] register.
Please let me know thank you.
Show LessHi,
This is to announce that a new stand-alone version (1.0) of the KIT-059 annotation component for the CY8CKIT-059 PSoC5LP Protoyping Kit has been uploaded into Community Code Examples section:
KIT-059: annotation component for CY8CKIT-059 PSoC5LP Prototyping Kit
It supersedes version v0.0 from KIT-059 Annotation Library Annotation library for CY8CKIT-059 Prototyping Kit
The KIT-059 (v1.0) is now a part of the PSoC Annotation Library v1.0, which can be found here:
Component Datasheet is attached.
regards,
/odissey1
Show LessI have three pins being sampled continuously by an ADC_SAR_Seq so the values are as fresh as possible. I'd like to connect a ScanComp to the same three pins to flag zero crossing events when they occur. Simply connecting the two is not possible it seems. So I am wondering if there is a workaround perhaps using a third component? - would really like to achieve this at the 'hardware' level so everything is as real time as possible (I'm tracking analogue hall sensors embedded in a BLDC motor I'm controlling) - current solution I'm thinking of is to setup extra dummy pins to connect the second component to and then using physical jumper wires but it just seems like such a hack and would like to get it inside the chip.
I'm using a CY8CKIT-059 device in PSOC Creator 4.2
Show LessHi,
a few days ago I posted the following discussion USBFS HID UPS
Now i want developing an Application in C# to sniffer the report buffer from usb.
How i can do this?
I use FreeSoC2 Development Board, SparkFun’s take on the PSoC5LP ARM Cortex with two processors onboard: a CY8C5868LTI-LP039 and a CY8C5888AXI-LP096. I want configure USB Full-Speed (USBFS) component as HID Uninterruptable Power Supply Interface (UPS).
Thanks in advance for any replies.
Lucia
Show LessThis is a pretty noob question, I apologize now for my ignorance, I have been searching around and haven't found much on the subject. I am designing my first board that incorporates a PSoC device (CY8C5287AXI-LP095). The board is basically just a MUX board, where the majority of the GPIO pins will be used to control the MUXs on the boards. There will be some I2C communication to other devices.
My intentions were to send commands from a PC to the PSoC which would then turn on and off the GPIO pins as requested or run certain functions when told to do so. What would be the best communication protocol or method be to accomplish this?
I guess I'm a bit hazy on UART vs USB. I have a CY8CKIT-059 that I was able to setup UART on. The example I used basically turns on and off the LED and checks the condition of the switch with PuTTY commands, great it worked on the kit, this would be perfect. The kit was plugged into the USB on the side of the computer, but I used a UART component on my TopDesign. The UART example I used communicated through the kitprog -> target board, so this made things even more confusing since I set pins as RX/TX then connected nothing to them.
If I want to use UART what other hardware do I need since I wont be using a kitprog or miniprog permanently connected to my design? Do I just wire said hardware to the SIO pins like the ones I "used" in my example?
Thank you
Show LessI am using the CCG3PA as a slave device. I am using the callback example provided and seem to only send one byte when the master polls. In this particular case, when the master polls, the slave should respond with 4 bytes. I am getting the first one with 0xFFs after that. The clocks are being sent by the master so it isn't the master. I am looking at the signals with a scope. It seems that the slave is not sending the whole buffer. I initialize the buffer with I2C_1_I2CSlaveInitReadBuf(). The callback simply sets a flag and my loop is per the example, i.e. checks flag and master write complete. A small snippet of code which is almost identlcal to the example is below. The ISR is a stock generated ISR which looks like it will send until the buffer size has been sent.
Any help will be appreciated.
// Master has finished writing to the slave
if (I2CFlag)
{
I2CFlag = false;
/* Check if master write is complete */
if (0u != (I2C_1_I2C_SSTAT_WR_CMPLT & I2C_1_I2CSlaveStatus()))
{
/* Validate the packet frame */
//uint8_t packet_size = I2C_1_I2CSlaveGetWriteBufSize();
/* Check start and end of transmission characters */
pd_control_parse_message(); /* fills buffer with response */
/* Clear the slave write buffer for next write */
I2C_1_I2CSlaveClearWriteBuf();
(void) I2C_1_I2CSlaveClearWriteStatus();
}
/* Read Complete: Expose buffer to master */
if(0u != (I2C_1_I2C_SSTAT_RD_CMPLT & I2C_1_I2CSlaveStatus()))
{
/* Clear the slave read buffer for next read */
I2C_1_I2CSlaveClearReadBuf();
(void) I2C_1_I2CSlaveClearReadStatus();
}
}
if(error_detected == true)
{
//HandleError();
}
Show LessHi all, I have a question about if what I want to do is possible or not.
I'm writing some keypad code for PSoC that I want to be flexible, allowing me to assign functions to any arbitrary key in my bank of keypad lines. Another wrinkle is that I also need to be able to assign any of these pins from Input to output at runtime (some keypads have small status LEDs that the microcontroller must drive). I have a couple questions about how to accomplish this:
My PSoC hardware for this is configured as such:
1) My goal is I want to be able to pass the PSoC a configuration via serial that will configure these pins to support any combination of inputs/outputs needed, as well as assign each pin to the desired function. From my understanding I can simply change the drive mode of the pin to strong drive and it will reconfigure as an output correct? In this case, I assume the Status Register bit for that line will read the output level?
2) For setting individual pins as outputs, it would make things much easier if I could create an array of pin aliases. This way if I have the number (1-14) of the pin that is supposed to be an output, I could simply access it via the array and set the drive mode to turn it to an output:
const uint32_t Keypad_PinArray[14] = {Kpd_0, Kpd_1,Kpd_2, Kpd_3, Kpd_4, Kpd_5, Kpd_6, Kpd_7, Kpd_8, Kpd_9, Kpd_10, Kpd_11, Kpd_12, Kpd_13};
uint8_t output_pin = 12; /*Pin # 1-14 => PinArray 0-13*/
CyPins_SetPinDriveMode(Kpd_PinArray[output_pin-1],CY_PINS_DM_STRONG);
It looks like CyPins_SetPinDriveMode is looking for a uint32_t for the pin argument, so can I just drop the Kpd_# macros into my uint32_t and be OK?
I'd just like to confirm that this will work as I am expecting, and if not, is there a way to accomplish what I'm looking to do?
Thanks!
Show LessHello,
I have a CY8CKIT-059 prototyping kit. I'm trying out the CE95277 ADC and UART example project and it works as expected on Windows. However, Linux doesn't seem to be able to enumerate the USB UART:
[438313.531136] usb 1-3.4: new full-speed USB device number 59 using xhci_hcd
[438313.621579] usb 1-3.4: New USB device found, idVendor=04b4, idProduct=f139
[438313.621581] usb 1-3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=128
[438313.621582] usb 1-3.4: Product: Cypress KitProg
[438313.621583] usb 1-3.4: Manufacturer: Cypress Semiconductor
[438313.621584] usb 1-3.4: SerialNumber: 0E0A0338012E4400
[438313.624378] hid-generic 0003:04B4:F139.0006: hiddev0,hidraw3: USB HID v1.11 Device [Cypress Semiconductor Cypress KitProg] on usb-0000:00:14.0-3.4/input0
[438313.625096] cdc_acm: probe of 1-3.4:1.2 failed with error -22
Any idea on what causes this?
Thanks, Jacob
Show LessWe have been in use CY8CLED01D01-56 LTXI the material D/C 2017/2018, but the material has been discontinued, now we use the last batch of 260 PCS is 2010 batches, but the discovery after computer output is not normal, is a software configuration problem, please? Whether the product has updated? Please let us know how to deal with, thank you.
Show LessHi everyone,
I tried to build my project with an CYC8CPLC20 in PSoC Designer 5.4. But i have problems with two files that i don't have in my project.
1)
mkdepend.exe: error: cannot open "mkdep"
make: *** [depend] Error 1
2)
can't open file linkfile
make: *** [output/AN54416_PLC_Low_Power.rom] Error 1
And i don't know how to create these files.
Someone can help me if he has the solution? Thanks in advance.
Show Less