PSoC™ 4 Forum Discussions
我在modustoolbox里面使用Cy_CapSense_IsAnyWidgetActive函数,返回值0表示无按键,非0表示有一个按键或多个按键触摸,那么如何获取组合按键,请帮忙提供相关代码参考,谢谢!
您好,
我希望通过代码来设置Compensation IDAC,当前rawcount会随着设置的Compensation IDAC变化而变化,但baseline没有跟随变化,请问是什么原因?谢谢,如下是相关的代码。
Can't I get the CY3295-TTBRIDGE manual?
On the Infineon site, the only product available was a 2-page product.
If you own it or know the link to the manual, please help.
Thanks.
Memory mapping for psoc4100s plus CY8C4147AZI S475
Dear Infineon Team,
Yesterday I implemented the Bootloaader Project by following the document. I've additionally downloaded the Bootloader example and created a Separate Bootloader and Bootloadable project inside my touch switch Workspace.
Now When I move into the Bootloader Host and Trying to Flash the project of Bootloadable via UART Communication Protocol, It says " Programming Failed in 1305 ms"
Let me know if you have any questions regarding the Project Implementation that I did.
I'm attaching some Screenshot for the Error and I'll be additionally attachinng some glimpse of my project too.
Show LessHi, Community,
If the proximity sensor of the capsense CSD is designed with a sensor gang, how should the scan time be calculated?
We have designed sensor gangs with different thresholds to work for proximity and buttons respectively.
In this case, is it correct to understand the "Slot scan time" and "Total scan time" displayed in the Scan Order as follows?
(1) The slot scan time for Proximity is the sum of the scan times for each of the buttons (Button 0 to Button 8).
In the case of the picture, the scan time in each slot is 85μS.
Proximity senseor's slot scan time (683 μS) ≒ 85 x 8 (number of button elements) = 680 μS.
(Actually, I consider that the time will vary with the set sense clock and the number of electrode elements.)
(2) Total scan time means the same time for both Proximity and CSD button functions.
In other words, while the Proximity threshold of 40 is reached, and while the Touch threshold of 100 is reached (in this case, each electrode acts as an independent button), the respective total scan times will never exceed 1 ms.
MCU used is PSoC 4000S.
Best Regards,
Chihiro Tatebayashi / NEXTY
Show Less
I see a lot of references to Flash Macro 0 and Flash Macro 1. I have determined that they refer to two banks of Flash, but I haven't been able to determine why the distinction exists or if it has any relevance to the developer, other than one more variable that needs to be taken into account. For instance, if it were possible to do a non-blocking write to Flash Macro 1 while executing code in Flash Macro 0, that would be a big deal and very useful. However, I have never seen anything that suggested such was the case (although it is possible to do a non-blocking write while executing from RAM, but that can get messy). There might be a minor benefit if there was a block erase for each macro separately, but I haven't seen that, and it would be minimally useful.
Is there any good reason to identify two Flash banks and program them with two macros, other than that's just the way we did it? An while I'm asking questions, why were they called macros? Seems like banks or pages would make more sense. I think of a macro as a software tool that encapsulates a frequently used code snippet to simplify writing source code, and possibly make the result more readable.
Show LessHello,
I am trying to add encoder to my project. I can read my encoder values between 0 to 65536 as 32.768 starting midpoint, and I want to make interrupt when counter overflows after 65536 value. I made:
CY_ISR(OverflowEnc) { // Encoder Overflow
ER_Write(1); //Turn on LED
CyDelay(100);
Encoder_ClearInterrupt(Encoder_INTR_MASK_TC);
Encoder_Int_ClearPending();
}
as a Interupt Handler and at main function:
Encoder_Start();
Encoder_Int_StartEx(OverflowEnc);
But unfortunately no interupt happens, I made Terminal count interrupt checked at schematic. An sure attached Encoder_Int Interrupt block at design.
What I am missing? 😞
I've inherited an Upgradable Stack project, which uses three PSoC Creator projects, a launcher+copier, a stack app, and a user app, and I'm trying to figure out how RAM is laid out. My understanding about the stack app project is that it consists of two parts:
- An opaque binary blob, with entry points defined by PROVIDE constructs in the cycodeshareimport.ld linker script. It looks like all the RAM it uses is statically or dynamically allocated by the app that uses it, and passed to the stack by pointer through a call to CyBle_StackInit.
- A mini-app, implemented as auto-generated source code, which is only used when doing OTA DFU. It's RAM is statically allocated as part of the main linker script.
The thing that's confusing me is that the user app project (originally written by someone else) has a custom linker script, and one of the things that's added to it, compared to the auto-generated cm0gcc.ld, is the following:
BOOTLOADER_RAM_SIZE = (Bootloader___bss_end__ - 0x20000000);
.bootloader_data (NOLOAD) : ALIGN(8)
{
. += (BOOTLOADER_RAM_SIZE);
}
This is in the RAM layout area, following the .ramvectors and .btldr_run sections, and before the .noinit, .data, .bss etc sections. It looks like its purpose is to ensure that the user application doesn't clobber the area of RAM used by the stack's OTA DFU mini-application.
I don't know where this came from. Some old forum post gives the impression that it was copied from some example code somewhere. But if I'm right that the stack's OTA DFU mini-app only uses this area when it is actually doing OTA DFU, then it shouldn't be necessary to preserve it when the user application is running. The fact that the autogenerated linker script doesn't include this supports this conjecture. In a part with only 32K of RAM, I'd rather not waste what amounts to about 20% of the RAM. Does anyone know if there's some obscure reason for reserving this area for the OTA DFU mini-app?
Show Less表題のボードにPSoC Creator4.4からプログラムの書き込みをしようとしたのですが、「Port Acquire Failed No devices detected」と表示され、ボードを認識していないようです。なにをすれば認識するようになるのか教えていただけないでしょうか?
基板は2枚試したのですが2枚とも認識しないため、ハード異常ではないと思います。
Bootloader Host でPID:0xF13Bにし、リセットボタンを押しながらUSB接続すると認識するという記事があったので試したので、認識せずこまっています。
Show Less