PSoC™ 4 Forum Discussions
Hi,
I have an application where an event will trigger the need to generate UART data, and transmit it, but if the event is not present, the UART component should act as a pass through for data, where any data in is automatically transmitted right back out without needing to look at it or modify it.
What is the simplest way to do this? Can I disable the ISRs for my own generation and transmission and somehow 'hardwire' the pins through code?
Thank you as usual for your help.
Tom
Show LessHi,
I have a question that where can I download CY5672 PRoC™ BLE Remote Control Reference Design Kit ' related files, such as source code and board desigen files?
Show LessHi,
I set up a simple system to read the die temperature. I set it up as the datasheet shows, but I cannot set the 'Single Ended Result Format' due to it being greyed out. Anyone else tried to do this before?
The error I get is 'Net 35 is connectecd to analog mux but is not connected to another component'. Is this the other input to the ADC? What am I supposed to connect it to? The datasheet does not elaborate. Very simple error I am sure.
Thank you,
Tom
Show LessHi,
I was wondering if anyone had any examples of how to write a floating point number to Em_EEPROM. I remember reading something somewhere along these lines on these forums (though I cannot find it now) about accomplishing this, but do not recall how it was done.
Thank you in advance for any help!
Tom
Show LessHi,
I'm working on an assignment for my studies, I'm making a system that measures the voltages of two incoming channels with the SAR ADC component. I understand that this component resides within the Programmable Analog block of the PSoC 4. Another part of the application writes the measured voltage of the first channel to a 7-segment display, which is located on an extension board. The display has four digits, only one digit is written to the display at a time, but with a high enough refresh rate the user won't notice any flickering.
The frequency I chose for writing a digit to the display is 200Hz. I have implemented this with a Timer Counter, where the clock frequency is 100kHz and when the counter hits the 500, an interrupt is generated (writing the digit).
This was fine when (at first) I only had 1 Analog channel to measure. But with 2 analog channels the PSoC appeared to have trouble reaching the 200Hz (this I assume as I clearly saw flickering). I think I have solved the problem by reconfiguring the SAR ADC with a higher sample frequency (now at 12Mhz) and a lower averaged result (from 256 to 64 samples), which leads to a result within 117us per channel. I can't see the 7-segment display flicker any more:)
But wait, why would the ADC influence my 7-seg display in the first place? This I don't understand, I was hoping that someone can shed some light here. I thought the ADC is implemented in the (programmable) 'hardware', so it won't take up any resources from the ARM microcontroller, right? Also the Timer Counter resides in 'hardware' yes? (in the programmable digital block?)
If more info (or the project files?) is needed for giving an answer, let me know!
Thanks much,
Caspar
Show LessI'm working on one of the example projects from the 100 Projects in 100 Days set of projects - Dynamic Broadcaster, Project #9 www.cypress.com/ - and instead of the broadcasting data generated by the firmware (a counter), I want my device to broadcast data read from the proximity sensor (CapSense). When I added the CapSense component and code into the Dynamic Broadcaster project, the proximity sensing portion worked fine but as the proximity sensor data changed, none of those changes were being broadcasted which I later found was due to the portion of the code that broadcasts the data becoming inaccessible due to the BLE state not being active which doesn't meet the necessary condition to execute that section of code.
[Further details if needed: In the DynamicADVPayloadUpdate() function, when the BLE Subsystem (BLESs) state was checked (Condition: CyBle_GetBleSsState() == CYBLE_BLESS_STATE_ACTIVE), it was never active, so naturally did not execute anything it encapsulated which was the code to broadcast the sensor data.]
So that was my problem. Now, the state that is detected when CyBle_GetBleSsState() is called at that point is CYBLE_BLESS_STATE_EVENT_CLOSE. I added an additional condition to include accepting this state if encountered as well since after reading up on it in the BLE document (www.cypress.com/ Pg. 52-53), this state seems just as fine as if the BLESs were active but I wanted to ask to make sure I wasn't missing anything as I am very new to all of this. Is there anything I should be concerned about or note if I allow BLE data transmission when the BLESs is in the CYBLE_BLESS_STATE_EVENT_CLOSE state versus the active state?
Show LessI have a PSCO 4200 project that spends most time in Deep Sleep.
An interrupt on pin wakes the device and it runs a small bit of code and goes back to sleep.
I need to knwo if the battery is getting low but hoping not to need external resistors and use either ADC or Comparator.
The program needs to simply get a flag that indicates whether battery is above or below 2.95V but not reset the device.
Looking at the technical reference, I found the Low Voltage Detect API. It looks as though I could use CyVdDigitEnable(0,4) and this would set low limit at 1.7V + 4 x 0.25V (2.95V).
If I leave the "Reset" parameter set to "0" as above, will this mean I get a flag I can read but not physically reset the device?
Would there be a small snippet of Code showing how to use the API?
Thanks
Show Lesshey all,
I'm trying to do some data dumping to my PC from the CY8CKIT-042 PSoC via the virtual com port (which is handeled by the onboard psoc5 chip), but it wont let me transfer faster than 115200 baud.
I've connected the tx and rx through to the psoc 5 chip (I think it's via J8) and it works fine. I tested with an oscilloscope and the PSoC4 can send faster than 115200 but the PSoC 5 can't seem to handle it.
does anyone know why this might be? and/or how to fix it?
Show LessHmm, ok I'm adding 3 analog channels into an SAR ADC - the 1st one using P0[2] input worked fine.
Added another batter monitor using a pin P0[4] and got the analog routing error, so change to P0[2[ and all is well.
Now I'm adding a 3rd and nothing seems to make it happy - by trial and error. Even going by the PSoC 4 Pioneer kit guide and using P2[0],P2[1] and P2[2] for SARADC inputs fails. Certainly we can use more than 2 analog inputs?
I have P0[0] used for a digital UART (9600Baud) in but that can be moved.
Any guidance for analog routing methodology?
Minimal bundle attached.
Thanks! I'm having a lot of fun with this 😉
Show LessI seem to keep having an encryption error when trying to read/write values to the psoc4 ble cy8kit target. I am using psoc creator 3.1 sp1.
I get the same error when sending unmolested example applications to the app and try things like just read the battery status characteristic.
I try cycling power on my target and replugging the cykit usb dongle but nothing seems ot solve the error.
I did remove the target from my white list and re-adding it.
At this point I am stumped as I am not able to read the battery status.
Show Less