PSoC™ 6 Forum Discussions
Hello everyone! (Read the edit at the final)
I'm working with the low-power modes, and in the documentation from Infineon, the only one I found, link: https://infineon.github.io/psoc6pdl/pdl_api_reference_manual/html/group__group__syspm__functions__power.html
It explains the functions, but there are not many examples of them, or at least I couldn't find them.
As the title expresses I want to go out from a ULP mode, because I was testing a code and in this code, after entering this mode, it keeps popping up the message that is supposed to be shown only when the core is in ULP, a thing shouldn't be because technically the function Cy_SysPm_CpuSendWakeupEvent(); is taking it out of that mode. Or maybe I'm wrong, it only wakes up for a moment and comes back to ULP mode. So, in that case, please let me know how can I access the active mode again with a simple function like the ones there are to enter these power modes (in the link I provided).
I'll put part of my code as the complete one is longer, but the thing is that when my variable reaches more than 100, enters the ULP, and it only goes to the second condition, meaning it never went out definitely from the ULP and enters the active mode just for a while with the WakeupEvent function (the IsActive functions I know are redundant but I wanted to make sure it was the reason of my failed attempt to go out of the ULP mode but it is not the reason, with or without those commented conditions it doesn't go back to active mode definitely, it prints me my 2 messages in the 2nd if):
if((int)variable > 100 && !Cy_SysPm_IsSystemUlp() /*&& Cy_SysPm_Cm4IsActive()*/)
{
Uart_Printf_PutString("\n\rTransition to Ultra Low Power Mode...\n");
Cy_SysPm_SystemEnterUlp();
CyDelay(10);
}
if(Cy_SysPm_IsSystemUlp() /*&& !Cy_SysPm_Cm4IsActive()*/)
{
Uart_Printf_PutString("\n\rTransition out from ULP Mode...\n");
CyDelay(1000);
Cy_SysPm_CpuSendWakeupEvent();
if(Cy_SysPm_Cm4IsActive())
Uart_Printf_PutString("\n\rShould be Active now\n");
CyDelay(1000);
}
CyDelay(100);
}
Could you please help me? Thanks in advance.
Edit: Guys I found out that the Low Power mode is an Active mode, as well as the ULP, because in the Cy_Hal documentation the normal mode appears as LP and the LowPower as ULP, and also in a state diagram it shows that is the system in the mode but the CPU is active or sleeping. This might be the reason why I cannot go out from ULP, so I just go to LP to come back to Active mode? thanks in advance! 😉
Gio
Show Less
How to configure CYW54907 in CYW954907AEVAL1F for current and RF evaluation.
I'm able to flash example programs to the board using ModusToolBox. I've flashed the device with "Tester WiFi- Bluetooth console, " enabling the chip to scan WiFi and connect with any hotspot.
Is there any example with which we can use the device with some tool like the "wl tool" with which we can give commands to the device to configure it in different modes?
Also how to make current measurements to measure the current consumed by the chip at these modes, what modification has to be done to get the measurement points(VBAT and VDDIO).
Show Less
Hello community!
I need help
I have a project using PSoC 6 and MH-Z19B sensor
but I can't find a library of this sensor on PSoC 6 or an example of this sensor on PSoC 6!
What I could find was the MHZ19 library written for Arduino, which I don't know how to rewrite for PSoC use!
Can someone help me rewrite the MHZ19 library for PSoC 6? Or the program can read the MH-Z19B sensor on PSoC Creator!
Thanks
Dear Engineers.
I am trying to create a picovoice project using board CY8CKIT-062S2-43012, but picovoice is not showing up in project-creator.
I think it was displayed before, do you know why?
I am using ModusToolbox 3.1.0 and project creator 2.10.
Show LessHello
I am building an interface for FSLP (force sense linear potentiometer) to detect user touch swipes.
I am using comparator ISR to detect the user touching the FSLP, then take a pressure reading from the ADC, if pressure exceeds the threshold, then the firmware reconfigures the pin config of the FSLP and runs the ADC again to take 10 readings that represent the position of the user touch on the FSLP strip. It works perfectly. I have to add 20ms delay between ADC readings to capture 10 consecutive readings that can track the user swiping the sensor.
The logic goes as follows:
1. User touches the sensor, this triggers comparator isr if the touch produces voltage that exceeds the threshold.
2. Comparator ISR triggers single ADC capture to read the force and check it against the threshold of a touch.
3. If force is enough, this reconfigures the FSLP pins and calls ADC_StartConvert()
4. The rest is managed by the DMA_ADC using single descriptor that is required to capture 10 readings, 20ms apart.
Now I am trying to do this using DMA to avoid the 10 x 20ms delays in runtime.
I am using EOS that triggers the DMA. But the slowest SPS is ~1,700, I only need 50 samples spaced 20ms apart.
Any recommendations ?
Show Less
Hey there all 👋
1) Do you know why the "Graphic LCD Controller " is limited to HVGA resolution?
2) Is there a way to raise that limit to something more like 800x480?
3) @NidhinM_71 said "It will support at least 1024x1024 pixels [second half 2018]" back in 2018. Has there been any progress on that?
https://community.infineon.com/t5/PSoC-6/Graphic-LCD-Controller-GraphicLCDCtrl-for-PSoC6/m-p/88605#M2578
Hello,
I would like to mount two PSoC6 on the same board, and connect them in a JTAG daisy chain to write flash roms.
With MiniProg4 and Cypress Programmer,
There was a radio button to select which PSoC6 to write to.
However, when trying to write via the CLI, only one PSoC6 is recognized.
How can I use the CLI to select a PSoC6 on the JTAG chain to write to?
Regards,
Shimamura
Hi everyone,
I'm developing an IoT wearable device with CY8C6347FMI-BLD53T. I'm trying to wake up the CPU from hibernate mode using Wakeup pins.
According to PSoC63 technical reference manual, there are several dedicated wakeup pins that can wake the chip from hibernation using GPIO interrupt, but I am not sure whether these pins are predetermined or can be set arbitrarily by the user using registers.
In PWR_HIBERNATE register, I noticed that MASK_HIBPIN bits(27:24) are associated with the wakeup pins. Each bit corresponds to one of the wakeup pins. It seems that at least four wakeup pins can be defined using these bits.
However, I didn't see any detailed instruction about how to configure/define the wakeup pins with these bits (MASK_HIBPIN). I checked all PSoC6 related documents, but I haven't found any note about the wakeup pins setting.
Or are the wakeup pins already set in hardware? According to the datasheet, P0.4 is hibernate_wakeup[1] and P1.4 is hibernate_wakeup[2].
Are these pins are the dedicated wakeup pins? If so, what are MASK_HIBPIN bits for?
I'm struggling with it for the last few days, but I can't find any solution about that.
Any advice would be greatly appreciated.
Ting Wang
Show Less
Hello,
we have some questions about the BLE stack.
Here are some details about our setup:
Chip: CY8CPROTO-063-BLE (CYBLE-416045-02)
Modus Toolbox: 3.1.0
BLE Stack: 3.8.0 (WICED/AIROC BLE)
1. In the default configuration, the BLE stack is used in dual-core mode, i.e. BLE controller on CM0p with predefined image CM0P_BLESS, BLE stack on CM4, and IPC for communication between the two CPU cores.
Is it possible to move the whole BLE functionality (BLE controller + BLE stack) to CM4 core, and use predefined image CM0P_SLEEP on CM0p?
I found some examples and documentation for using PSOC Creator and the old BLESS stack, but none for Modus Toolbox and the new WICED/AIROC BLE stack.
2. Is there a project implementation available, for building and modifying the CM0p image CM0P_BLESS on our own?
Hello,
I am going over this document to enable OTA for my code: https://github.com/Infineon/training-modustoolbox-level3-bluetooth/blob/master/Type1/Manual/Ch09-OTA.pdf
As a first step, I am trying to create a Modus Toolbox project by using downloaded code from https://github.com/Infineon/mtb-example-psoc6-mcuboot-basic, but I am having trouble. MTX is not recogniZing this as a project so I guess it lacks some files.
How do I kick this off?
Also I am using Bluetooth_Hello_Sensor code, which has only 1 main file (not separate for cm0p and cm4). Should the application example have separate ones to be able to follow this manual? Please advise.
Show Less