PSoC™ Creator & Designer Forum Discussions
Hello,
We have a problem with interrupts in PSoC Creator.
We have a Rotary Encoder (ec12e), which gives to staggered pulses when we rotate it. To see if it rotates clockwise or anti-clockwise, we want to read one of the signals just after they are not both low anymore, see the picture.
Therefore we have put in an NOR gate, which gives a high when both signals go low. We want a interrupt on the falling edge of the signal from the NOR-gate.
Unforturnately, we get three interrupts - which makes us think that the interrupt isn't on the falling edge, but is just random.
Do you have any suggestions as to how we can get an interrupt on the falling edge?
Best regards Nikolaj
Show LessCypress,
As of this morning, I can no longer run PSoC Creator 4.3. Yesterday, I was able to successfully build a Creator-based program and program a KIT with the code.
This morning, I now receive the following response from the same project when trying to build:
If I try to load another program I get the following when just trying to open the project:
The details of this error are attached to this post.
I then uninstalled Creator 4.3 and reinstalled this version.
The same results!
I'm running:
- Intel i7 with 4 CPUs.
Regarding Creator projects. I appear to be "dead in the water". I have not found a project that loads or builds.
Let me know if I can supply more info.
Note: Do you realize that the official Cypress PSoC Creator 4.3 download link is not working? https://www.cypress.com/file/502331/download
Len
Update:
I downloaded the iso image version "psoc_creator_4.3_b1445.iso"
I uninstalled Creator 4.3 again and used the iso image to reinstall it.
I now get a new error message that prevents the install.
Message was edited by: Leonard Poma
Message was edited by: Leonard Poma Update with Process Monitor info using Process = psoc_creator.exe. I stopped the process log immediately after the exception is received.
Update: Here is Visual Studio 2019 output window with JIT debugging attachment to psoc_creator.exe. It appears that the variable "givenPathname" being loaded into the function cycmbase.dll!CyDesigner.Common.Base.CyPathUtil.CreateCanonical(String givenPathname, String anchorDirectory, CyErr& errors) is NULL.
Message was edited by: Leonard Poma Update with Visual Studio 2019 JIT debugging attachment to psoc_creator.exe.
Update: I have a little more JIT debug info from the exception. Disassembly and Register info:
Message was edited by: Leonard Poma Update: Disassembly and Register info.
Show LessI'm a relative noob to PSOC, and am trying to identify the simplest/best (leaning strongly toward simplest 🙂 approach to implementing a counter that can count up and down. The 'Base Counter' verilog component outwardly looks like it might fit the bill (specifically, it's 'Clock and Direction' mode), but I can find no data sheet, documentation, code examples, etc for it. (I've started picking my way through the .v file for it, but it's slow going for a noob.)
Is there any type of code example for the use of this component? If someone more experienced thinks this is not the simplest/best approach to implementing a counter that can count up and/or down, I'd be open to suggestions!
I'm trying to implement a step/dir stepper driver, and would ideally like to use the counter value to keep track the motor's assumed position, as it is subsequently fed pos/neg steps by a PID process, if that helps add any clarity to what I'm trying to get to. The other side of that is that I'd like it to sort of be a 'fire and forget' type of process - w/o the need for interrupts, continually calling the stepper routine, etc - so call a 'moveToPosition(p)' and/or 'moveSteps(s)' type of function, would set the counter's compare or period value, sets the direction needed to get there, and then the hardware drives the needed number of step pulses to get to the target position, w/o the firmware having to really be involved. (I'm also open to suggestions on that type of process, if anyone has any to offer!)
Oh, I'm working with a PSOC62 on the CY8CKIT-062-WiFi-BT Pioneer Kit.
Thanks for any assistance - I'm loving the PSOC world, it's just a whole 'nuther level beyond the simpler uC's I've used in the past! 🙂
Jim
Show LessI'd like to access a PSoC5 LP's reset pin to use in some combinatorial logic in my PSoC design.
Is there a way to access this pin without running it into another I/O pin?
Thanks!
Show LessHello everyone,
I would like to ask what is the difference between the following two approaches in creating buttons:
1. a button with 3 sensing elements
2. 3 Buttons with 1 sensing element
is it physically the same? We have 3 Self Cap Buttons each of them should be read separately and triggers an Action.
Thanks and Regards
Show LessHi
Using cyble-0222014 module, I want to change the frequency of the CLK component during program execution.
I have a clk with a frequency of 1 kHz and when the Bluetooth is connected i want to change it to 510kHz.
Because I want to use the blue LED blink during paring, and when its connected i want to be able to fade the blue LED w PWM.
I have used all possible counter/timer on schematic, so i want to change the CLK instead, How?
Show LessHi,
cyelftool that is used for PSoC 4 designs isn't available for Mac/Linux. It's the only missing piece to be able to build on those operating systems (after exporting a Makefile from PSoC Creator).
For PSoC 6 we have cymcuelftool - these tools seems to differ.
If you (for a very very weird unknown reason) refuse to release cyelftool for Linux/Mac, can you please make cymcuelftool compatible somehow? How do they differ? Can cymcuelftool do what cyelftool does?
It's so close to being usable on usable operating systems - please provide this last missing piece.
Thanks, Jacob
Show LessHi,
What is the correct way to use GPIO's? We have a board where CYPD5225 has to control few devices by pulling several gpios low and high. Simple enough. However I can't seem to find clear example what is the right way (tm) of doing this.
Only clue is FW_IND pin that is configured by default in the shipped example project.
This autogenerates some pin functions but those are not used.
Instead example code uses some low level api and hardcoded defines.
...
gpio_set_value (FW_LED_GPIO_PORT_PIN, !(gpio_read_value (FW_LED_GPIO_PORT_PIN)));
...
...
/* Configure the LED control GPIO as an output. */
gpio_hsiom_set_config (FW_LED_GPIO_PORT_PIN, HSIOM_MODE_GPIO, GPIO_DM_STRONG, true);
...
Is there a simple example how GPIO's should be used?
For example, in USBFS_DispatchAUDIOClassRqst there's a custom code section:
/* `#START AUDIO_READ_REQUESTS` Place other request handler here */
/* `#END` */
and then an optional callback:
#ifdef USBFS_DISPATCH_AUDIO_CLASS_AUDIO_READ_REQUESTS_CALLBACK
USBFS_DispatchAUDIOClass_AUDIO_READ_REQUESTS_Callback();
#endif /* (USBFS_DISPATCH_AUDIO_CLASS_AUDIO_READ_REQUESTS_CALLBACK) */
These are both for implementing custom audio class request handlers, right? Why choose one solution over the other?
Also, why are there no options to modify the code for USBFS_GET_MIN, USBFS_GET_MAX, USBFS_GET_RES, etc? To make custom code for these we either need to edit the USB component (which makes it harder to upgrade) or replace the entire class handler using USBFS_EXTERN_CLS? It would be good if every request handler in the component could be replaced/modified in user code.
Show LessWhen I plug my board in, it doesn't even show up on my Device Manager, much less PSoC Creator. The green 7.1 LED blinks at 1 Hz and nothing changes when I try different modes. Please advise.
Thanks,
Neil
Show Less