PSoC™ 4 Forum Discussions
Hi ,
We use the CY8C4146AZI as the touch chip in our handset. But recently, we meet many problems.
It is always have key stuck problems.
They may show the following phenomena.
(1) Some key were always triggered after powering up even though you didn't press the touch key in some handset.
(2) Some key may be always be triggered after you figure leave the touch sensor in some handset.
(3)In this phenomena,it shows unstable feature. Sometimes, I touch the key of the handset, it may have key stuck issue which described before.
And then I read the values of the touch signal, it is much bigger than normal situation. When your figure leave the touch sensor, this signal is
also bigger than normal. In the normal situation, if you didn't touch the touch sensor, the corresponding touch signal value should be zero.
But sometimes, it may seems as a normal handset. In this situation, all the touch sensor can work normal. And the value of the signal is also
in normal rang. What cause this problem? And what should I do to solve this problem?
’
Show LessHello,
We are trying to port our fixed stack bootloader project to IAR.
We have PSOC 4 with MCU CYBLE-224110-00
The instructions on porting the project to IAR are SEVERLY lacking from Cypress documenation.
In this document: https://www.cypress.com/file/198301/download the information does not allow you to port to IAR because it just doesn't describe the entire process. I had to figure it out by myself.
I have managed to finally port the project, have it compiled and linked properly and managed to run the bootloader followed by the bootloadable on our custom board. HOWEVER, for some reason when the bootloadable runs, the code gets stuck at the very beginning when calling the function CyBle_Start().
Since the BLE stack is located in the bootloader, I added a few prints in the generated source function CyBle_Start within the bootloader project just to identify WHERE the code gets stuck. I see that it enters the function CyBle_StackInit() and doesn't continue. When the same function is invoked when the bootloader is running, it works fine.
Moreover, the exact SAME bootloadable works fine with the project runs via PSOC Creator 4.2.
Just so you understand how I ported the project to IAR (perhaps I did something wrong) here is the list of steps I made:
- Export the bootloader project to IAR and followed the instructions mentioned in chapter "Setting up a PSoC 4/PSoC 5LP IAR Project" under PSOC Creator's help manual.
- Compiled the bootloader project in IAR and made sure a hex and elf file are output from IAR.
- Update the bootloader component in the bootloaderable project with the paths of the elf and hex files of the bootloader mentioned above.
- Then exported the bootloadable project to IAR by also following the instructions in chapter "Setting up a PSoC 4/PSoC 5LP IAR Project" under PSOC Creator's help manual.
- Then modified the mk.bat file in the bootloader project in the following way:
- Changed output directory to be: set OUTPUT_DIR=%~dp0..\..\%LOADABLE_PRJ_NAME%.cydsn\Generated_Source\PSoC4\
- Changed compiler to be: set COMPILER=%IAR_COMPILER%
- Activated the mk.bat file
- Went to the file cm0iar.icf in \Generated_Source\PSoC4\ under the bootloadable project and add the following line:
- include "BootloaderSymbolsIar.icf";
- Compiled the bootloadable project in IAR only to discover that NOT all functions of the BLE stack that are used by the bootloadable have been "kept" by the bootloader linker. So I went back to the bootloader project and went to project-->options-->linker-->Extra Options and added the following lines:
--keep CyBle_GappStopAdvertisement
--keep CyBle_GappSetNumOfAdvPkts
--keep CyBle_GattsReadAttributeValue
--keep CyBle_EnterLPM
--keep CyBle_GetBleSsState
--keep CyBle_GapGetDevicesFromWhiteList
--keep CyBle_StoreBondingData
--keep CyBle_GapSetLocalName
--keep CyBle_GapUpdateAdvData
--keep CyBle_GapRemoveOldestDeviceFromBondedList
9. Then I compiled the bootloader again, ran the mk.bat file again and compiled the bootloadable again and then... compilation and linking was successfull!
10. I then loaded to my custom board the hex file that the IAR generated (contains both the bootloader and the bootloadable combined) and the bootloader loads fine and the BLE is initialized fine and then the bootloadable loads and gets stuck in CyBle_StackInit().
We would like to understand what can cause this and how to resolve this?
Thanks,
David
Show LessBLE101robot I am trying to follow and copy. I am on the Andriod side now. It seem that the code in git, bleapp/AndroidStudio/BLE101_robot/app at master · cypresssemiconductorco/bleapp · GitHub , is missing "activity_main.xml" file.
Better yet, where can I find a complete BLE101robot Andriod code?
Thanks.
Show LessHi,
We would like to decrease the size of the heap in our OTA Fixed Stack Bootloader Project from 0x400 (1k) to something less.
We have PSOC 4 and our MCU is CYBLE-224110-00.
We just wanted to know if the BLE stack (written by Cypress) makes any use of the Heap memory and if so, what is the minimum size recommended to keep it?
Thanks,
David
Show LessHi. Just received the CY8CKIT-148 inductive sensing evaluation kit and the out of the box experience is quite poor.
Touch of the center PROXIMITY pad works - LED7 lights ON / OFF.
Use of the Cypress black metal plate on PROXIMITY pad works to light up the LEDS4..6.
BTN1 (metal) works once in a while to light up LED1. BTN2 & BTN3 do not work at all to light up LED2 and LED3, respectively.
Is there new firmware for testing? Will review but TI solution is much more stable but due to a specific need, reviewing the 4700S.
Also, this kit is based on KITPROG2? Not KITPROG3? Will try to hunt down the tools to upgrade this firmware which we believe to be stale.
Welcome any feedback on allowing us to validate the quality of BTN1..BTN3 so we can move to our code development.
Update (after toying with this for 30 minutes) - summary - Kit has out dated firmware.
To assist future readers (competitors):
1) Ran PSOC programmer -> the tool complained that the Kitprog2 is "out of date". Sure but just bought this new from Arrow..
Utilities tab -> Upgrade firmware button was greyed out.
Reviewed this webpage (thanks element14!!) and noted the similarity of the firmware issues.
Pressed SW1 MODE switch and bingo, the Upgrade firmware button is no longer grey and available for my use.
2) Navigated to File -> File load -> go to folder with the (CY8CKIT-148) CE222867_MagSense_With_Feedback_LEDs.hex file -> File -> Program. After a few seconds, all works well.
PS: For our box, C:\Users\lab\Downloads\CY8CKIT-148 PSoC 4700S Inductive Sensing Evaluation Kit Code Examples was the selected folder.
Now we are good to start our real review.
Show LessHey all,
I'm Using the CY8CKIT-041-41XX PSoC 4100S touchpad and I have a problem with the sensor-Status getting stuck, if I touch the Sensor for to long.
And also if I use HF nearby, the sensor status sometimes doesn't return to zero or it takes a long time. I think it's because the rawcounts are still a lot higher than baseline.
So with no touch the values (Graph view, SenseTuner) are:
raw count: 54,430 -54,390
baseline: 54,390
after touch:
rawcount: 54,580-54,720
baseline: 54,415
(My widgit threshold Parameters are: FT:110; NT: 60; NNT:60; Low baseline reset:255, Hysteresis: 5, On debounce: 2, I use the 5x5 centroid type and activated the Jitter Filter. Also I tried it with the IIR Filter)
Do you know which settings I have to change, so the sensor status returns to zero right after unhanding the sensor?
Thanks in advance,
len
Show LessHi Sir ,
In my last discussion , Roy tell me that the unused pins need not be configured or be terminated to ground or supply through resistors of typical value of 10K Ohm. My customer now ask if unused pins could be configured internal pull up or pull down , so they can save the pcb space and resistors .
Thanks.
Show LessHello,
My new cy8ckit-147 kit is not recognized by the psoc creator v4.2. I've tried creating my own program and selecting a pre-coded example. I receive the attached message. ie, the board is not found.
Any help is appreciated.
Shawn
Show LessI started working with the Broadcast Observer project in this link.
https://community.cypress.com/thread/35472?start=0&tstart=0
I had it running on 2 BLE kits with 2 RealTerm windows. I could see both Advertisements received by the other board. Next I started to modify the project for my needs.
Test tool for device:
I want one of my projects to start up in Observer mode, look for an Advertisement from the other board by matching the blue tooth address, then switch to Broadcast to send a message out for TBD time (to allow the other board to receive it) which will include some device setting updates and then switch back to Observer. I was thinking I would use a Watchdog timer and when I received the interrupt I would switch back to Observer. This will be used as a test tool for testing the operation of my primary device.
Device:
The other board will be my primary device which will wake up from sleep from watchdog at 1s interval, Broadcast a message for TBD time, switch to Observer to see a message that includes setting updates, process the data, and then go back to sleep. If it doesn't receive a message in TBD time it will just go back to sleep until it is time to Advertise again. We don't want to connect to the device.
I have been able to get the Test tool project to start up in Observer mode, receive Advertise packets and match the blue tooth address. Then I try to stop the scan, but when I receive the CYBLE_EVT_GAPC_SCAN_START_STOP after I call CyBle_GapcStopScan() the device is in CYBLE_STATE_SCANNING state which I wasn't expecting. When I try to start advertising by calling CyBle_GappStartAdvertisement(CYBLE_ADVERTISING_FAST) I receive an CYBLE_ERROR_INVALID_STATE. I tried to do the stop scan and start advertise by setting a flag and processing in main and I also tried to do it after matching the blue tooth address in CYBLE_EVT_GAPC_SCAN_PROGRESS_RESULT instead of doing it in CYBLE_EVT_GAPC_SCAN_START_STOP but they also produce the same CYBLE_ERROR_INVALID_STATE state.
RealTerm output:
What am I doing wrong? I attached my project.
Show Less