PSoC™ 4 Forum Discussions
I frequently check data through SW Download and I2C communication with MiniProg4, but it can be inconvenient because the two ports are separated. So, I am using these two ports connected, and there is no problem. In the case of MiniProg4, can it be used by connecting SWD and I2C? Is it not a problem because SWD and I2C never operate at the same time?
Hi, I am using the Psoc 4100 s max microcontroller in which CY8C4149AZI-S598 mcu used. Can you please help in finding out which pins we can configure for SPI communication in this microcontroller. I am unable to find out these and also dont have pinout diagram for that.
Show LessHi, Community,
I am trying to do an I2C communication project with CY8CKIT-041S-MAX.
I have almost finished writing the code, but when I build, I get an error about Cy_SCB_I2C_Enable (cy_scb_i2c.h).
I found a similar phenomenon in PSoC6 post.
To solve this problem, I tried to add the necessary files in the library manager, but that did not solve the problem.
If you know the best way to deal with this error, please let me know.
The error message is as below:
C:/xxx/build/APP_CY8CKIT-041S-MAX/Debug/main.o: in function `Cy_SCB_I2C_Enable':
make: *** [../mtb_shared/core-make/release-v3.2.2/make/core/main.mk:374: secondstage_build] Error 2
make[1]: *** [../mtb_shared/core-make/release-v3.2.2/make/core/build.mk:422: C:/xxx/build/APP_CY8CKIT-041S-MAX/Debug/mtb-example-psoc4-empty-app.elf] Error 1
undefined reference to `sI2C_InterruptHandler'
Best Regards,
Although the project build automatically saves the C files, it does not save any edited assembly files. Is there a way to force these files to save before building the project?
Show LessI am using Psoc Creator with cy8ckit-42 with a lengthy assembly file added to the simple blinky project. While the code has been building and running successfully and as it has gotten larger, adding an additional instance of a macro running correctly in other parts of the code causes the M0120 build error:
Build error: invalid offset, value too big (0x00000404)
The macro only accesses registers but has the instruction "ldr r1,=0x00010000" The disassembly shows the constant is accessed with a pc offset in another instance so I guess it must be this offset that is too large. Is the only way to deal with this is to declare the constant in memory? Thanks very much.
Show LessI have a product that uses a PSOC 4200 BLE. Customers complain that every couple of weeks or so, the BLE stops advertising. So it's a bug that pops up rarely. But it's pretty bad when it does! CyBle_SoftReset(); is not enough to bring the bluetooth back to life.
I don't know what it causing the bug, but I suspect the deep sleep transition. I am finding conflicting ideas regarding the allowable BLESS state for CPU Deep Sleep.
Here's the relevant part of my code:
blePower = CyBle_GetBleSsState();
if(blePower == CYBLE_BLESS_STATE_DEEPSLEEP || blePower == CYBLE_BLESS_STATE_ECO_ON)
{
st = SYS_ST_WAKE_FROM_DEEPSLEEP;
/* C11. Put system into Deep-Sleep mode*/
CySysPmDeepSleep();
}
In the auto-generated CyBle_Stack.h, I see that it is OK to put CPU to deep sleep with the CYBLE_BLESS_STATE_ECO_ON state:
/******************************************************************************
* Function Name: CyBle_GetBleSsState
***************************************************************************//...
* <td>CYBLE_BLESS_STATE_ECO_ON</td>
* <td>BLE Sub System is in process of wakeup from Deep Sleep Mode and ECO(XTAL) is turned on.
* CPU can be put in Deep Sleep Mode.</td>
* </tr>
...
* <td>CYBLE_BLESS_STATE_DEEPSLEEP</td>
* <td>BLE Sub System is in Deep Sleep Mode. CPU can be put in Deep Sleep Mode.</td>
* </tr>
...
CYBLE_BLESS_STATE_T CyBle_GetBleSsState(void);
However, I see here: https://github.com/cypress-speedycat/EasySleep/blob/master/source/EasySleep.c
that there is some controversy about using CYBLE_BLESS_STATE_ECO_ON as a valid state before entering deep sleep mode:
// NOTE: CyBle_GetBleSsState says CPU can be put to DeepSleep upon
// ECO_ON too, but that does not make sense since BLE is waking
// up then
Could an expert chime in on this? Is there a mistake in the CyBle_Stack.h file?
Development kit: PSoC4.4, CY8CKIT-042-BLE-A, CY8C4248LQI-BL583 target board.
Remove the CY8CKIT-042-BLE-A on the CY8C4248LQI-BL583 module, the CY8CKIT-042-BLE-A on the SWD line to fly to their own CY8C4248LQI-BL583 target board, has always been burned with the PSoC4 debugging product code to the target board can be. A certain time to modify the code, burned to the target board, PSoC4 can not get burned target board device, with a new target board, PSoC4 can be recognized, burned the last modified code can not be recognized. May I know why or how to solve this? Thank you.
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/PSoC%E6%97%A0%E6%B3%95%E8%8E%B7%E5%8F%96%E8%AE%BE%E5%A4%87/td-p/712323
Show LessHi @Rohan_M ,
I removed all #ifndef TARGET_APP_CY8CKIT_040T conditions from blinky main file,
Its switching from blinky file to bootloader file with command input [w 0c 01 3b 00 00 c4 ff 17 p] via Bridge Control Panel(BCP).
Not switching from bootloader to blinky file, if we give command input [w 0c 01 ea 17 p] via Bridge Control Panel(BCP).
I attached the Project file, kindly check and give your feedback.
Thank you,
Show Less
Step 1: Pin_A is enabled, and Pin_B is disabled.
Step 2: Enable Pin_B.
Step 3: Pin_A is automatically disabled. This is because Pin_B has been enabled.
Is there a feature that operates like Step 3?
It seems that entering a function in the Disable Property of the Built-in Tab for the component should work,
but I am not sure which function to use or how to write it. Could you please tell me how to do it?
“Pin_B_Disabled = not Pin_A_is_Disabled”
Hello,
I'm not sure from which revision, but the PSoC4000S power-down slew rate is listed in the datasheet.(1V/ms min, 67V/ms max.)
The current design does not meet this requirement (slow power fall), so I am considering adding a reset IC to the XRES to solve this problem.
For example, if the reset IC assert XRES at 1.7V or lower, is there any problem even if the slew rate at power-down does not meet the datasheet specs?
If the problem can be solved by adding a reset IC, what should the trip voltage be set to?
Regards,
Shimamura
Show Less