PSoC™ 4 Forum Discussions
We've uploaded the first 20 projects in 100 Projects in 100 Days blog series.
All of these projects can be verified using $49 CY8CKIT-042-BLE Bluetooth Low Energy Pioneer Kit. Here is the list of the 20 projects:
Project #002: BLE Heart Rate Sensor
Project #003: BLE Custom Profile - CapSense and RGB LED
Project #004: CapSense Proximity
Project #005: Health Thermometer
Project #006: BLE Central with Immediate Alert Service
Project #007: BLE Peripheral and Broadcaster - Changing GAP Roles
Project #009: Dynamic Broadcaster - Changing Advertising Packets
Project #010: BLE GAP Observer
Project #011: GAP Central and Observer
Project #012: BLE GAP Central and Peripheral
Project #013: GATT Client and Server
Project #018: Direct Test Mode (DTM)
Project #019: Updating BLE Connection Parameters
Project #020: UART to BLE Bridge
Stay tuned! A lot more interesting projects are coming in the following weeks.
Show LessHi Everyone. I have a poject use Uart and Control.
My Uart have 3 input RX, RX - GPS, RX- LCD, RX- GSM; and 3 output for TX - LCD, TX-GSM,TX-GPS.
I use control reg for choise only input RX, and output TX.
Please tell me some advices that:
Fisrtly tell me: I should use while(1) for getchar() data buffer in UART? (or) I should use interupt UART for getchar() data buffer? Because?
this is image:
Show Lessi capture audio data through i2s interface,and store audio data to psoc internal flash。but writing flash will impact i2s communication,how can i avoid this problem?
Show LessHad USB driver problems with all Cypress Psoc4 development tools (miniprog,pioneer kit, 42 and BLE kits).
None of then working at my Win8.1 desktop..(all working at my DELL notebook win7p).
Entered support ticket and after 3 long session the problem was found to be 3 bad cypress USB driver,seems somthing got corrupted???.
Now its working fine..
Thanks to great support fron Cypress..
Thanks Naman,Jobi and Andriy
bets regards
Ron
Show LessHi,
I am guessing this is something simple I am overlooking, but I am unable to get the ADC to correctly read input voltage values. See the attached project. For example, my multimeter (and a back up) are reading:
ADC 0: 2.368V
ADC 2: 2.283V
The processor is computing:
ADC 0: 2.255V
ADC 2: 2.180V
Both values are about 5% different - could be a red herring.
Any ideas?
Thank you,
Tom
I am complete with my design, but I have one remaining issue. Please see attached image of the relevant components. Every time I power the board ( PSoC 4 CY8CKIT-049 42xx ) a LED connected to PO_YELLOW pin briefly flashes. I managed to detect it wit an Osciloscop and triggering on it. Pin PO_YELLOW is configured as Strong Drive (High-1) and PI_J2_SINGLE as high impedance digital (Low-0). Just to clarify PO are output pins and PI are input pins, all digital. PI_J2_SINGLE is used as a jumper to hardware connect to another pin on the chip. I can confirm, however, that the culprit is the Counter, which is 16bit UDB. If I connect PO_YELLOW directly on the comp port of the counter the behavior is replicated. Further info for the counter configuration: Period:5 Compare:1 Mode:EqualTo ClockMode:UpCounter
Any advice?
Do you want me share the project?
Show LessAs silly as it sounds, I have been fiddling for hours to get my project to read a digital input pin.
The device is a PSOC 4200 (SSOIC-28)
I have a Digital Input pin on P4[0], P4[1] and P4[2].
I see from the technical manual there are limitations on P4 with routing but it appears the pins can be used as GPIO.
My Power supply is 3V
The signals are slow (1 is a 100ms enable signal and the other a 2ms period clock and data pin)
I have tried CMOS trip levels, transparency mode, buffer on and off, high impedance, pull down, initial value = 0, initial value = 1.
I have a logic analyser connected to the input pins on the micro and the signal is stable and consistant, packets are being sent every 350ms.
I have tried CyPins_ReadPin(PINALIAS) and PIN_Read() but neither is detecting the high level of pin.
Earlier I did have an interrupt running on one of the pins and it was working but when single stepping the code, the interrupt remained being tripped by new packets coming in and causing the code to branch to isr. I changed back to pin read in an attempt to read the pin
My last attempt is bundled up and attached.
Surely, I have done something stupid, I cannot imagine reading a digital input pin would be so involved.
I will attach the wavforms in next post
Show LessPSoC 4 BLE has an oberver mode that can scan for the nearby advertising devices continuously and show the advertising report and scan response data of the advertising devices. Is it possible to configure the PSoC 4 BLE to observe the communication messages between another two connected devices? For example, my phone is connected with a heartrate monitor device, will I be able to program my PSoC 4 BLE to get the information across these two devices without connecting to them?
Many thanks in advanced for your input.
Show LessI've just realised something about PSoC chips, that they are better than regular UMCs at protecting Intelectual Property ! Or are they? Really interested to hear your opinion on the matter.
The way I see it, it is a hradware definied by sofware. So, looked from outside, it is harder to reverse engineer setups with PSoC since you have no idea whetehr a pin is in/out , digital/analog etc. You can always infer by inspecting what type of periphery it interface with I guess...
However as far as logic/purpose of a particular chip goes, how easy is to get that from let's say having a PSOC programmer and fetching the code from the chip? Is it possible to disable read once a design and purpose is fixed ???
I can only guess it must be hard, considering you might need propriatary cypress internal documentation, but far from impossible?
Show LessI've spent some time today tracking down a bug in the provided UART code.
I have a large (4k) software RX fifo configured in PSoC BLE UART (for RS-232 data).
When that RX buffer gets overfull, the ISR code generated by the PSoC Creator gets stuck: It has set the related irq mask to 0x5 (NOT_EMPTY and TRIGGER), but the ISR code, at least when the fifo is full, does not have an action to clear TRIGGER as a source and only explicitly clears NOT_EMPTY. As a result it gets stuck in the ISR, with irq source of 0x01 (TRIGGER, but not NOT_EMPTY).
My quick solution is to clear TRIGGER as a irq source. Better would be clear TRIGGER in the ISR, but I'm not sure of the implications of that.
On a related note, I find the API for UART to be weird. I need to send blocks of data, but only the most basic "put string" functions are provided for UART. I've been using the SPI functions (PutArray, UART_SpiUartGetRxBufferSize) functions to acheive the same results. I can't find any "block read" function, and UART_UartGetByte() doesn't return a byte, etc...
Best regards.
Show Less