PSoC™ 4 Forum Discussions
Hello.
I am using the proc BLE module with the upgradable stack ble bootloader. I used the example launcher and stack in my application and I am able to upgrade the firmware. The only issue I am having is that I use a pin to keep the power supply enabled. After the software reset my system turns off because the pin doesn't stay high, so to upgrade the firmware I have to turn it on again and the chip enters bootloader mode.
What I want to avoid is having to turn on the system again and to enter bootloader mode immediately after it receives the command. I already defined the same pin in the launcher and stack as an output with an initial state of high, but the pin is not keeping its state.
Is there anyway to keep the pin state high after a reset or is there another way to jump to the bootloader without doing the software reset?
Show LessI am unable to get the security settings working on any of the custom descriptors or CCD's. I have the security settings set to: Mode 1, Authenticated pairing with encription, No, Display, Bonding, 16. My project has the standard Generic Attribute-Service Changed-Configuration which cannot be read unless I enter the correct passkey when pairing. This does not apply to my custom service for which I have a CCD to transfer a value depending on which 1 of 4 buttons has been pressed. Notifications are set to disabled on both my custom and generic CCDs. In my custom descriptor I have set the write permissions to Encryption require and Authentication required (same as the generic CCD).
When I connect my device (Gap Peripheral, Gatt Server) to CySmart 1.2 I get the correct popup (Pairing request received from peer device) when clicking connect. If I click No then the device doesn't pair (all pairing info removed from CySmart), I can then discover all attributes. If I go to the generic CCD and try to write to it I get a message saying 'wrtie characteristic descriptor failed. Insufficient authentication'. If I do the same thing on my custom CCD it allows me to write to it.
The only things that I can see is different in ble component profile in PSoC Creator is that the permissions tick boxes in the generic CCD are greyed out whereas I can change them on my custom CCD. Also, the small round icons on my custom services, characteristics, and descriptors as light grey and the generic ones are dark grey.
I feel as though I must be missing something really simple here... If it helps I'm using a CY8C4127LQI-BL473 running through a CY8CKIT-042-BLE-A Pioneer baseboard
Show LessWhat is the best way to set the connection parameters? I am experiencing timeouts using CySmart as a client. Should the client parameters match the peripheral? I understand that the peripherals parameters are "suggestions" to the client, not sure what this really means.
Thanks
Rich
Show LessI already got help solving a problem of running from the WCO on my project here CYBLE-222014-01 Use 32 kHz WCO as Clock source for TCPWM_1
Now I wanted to add the RTC component and, at the bottom of the Low Frequency Clocks control box I selected RTC_Sel to use WDT2 which would seem logical. The issue is that the 256 Hz interrupts that are generated by my Global_Signal component use a user-defined interrupt that I have a laod of code in. Now I'm getting a warning as follows:
Clock Warning: (For using RTC along with WDT interrupt, ‘Auto generated’ should be selected.).
Any ideas?
Show LessI am using the pioneer kit connected to the PC which is to emulate an MCU which will eventually be hooked to a BLE module. The PC sends commands to the module for it to enter various states (i.e., scanning, advertising, broadcasting, etc.). I am using cool term as a terminal emulator.
When entering scanning mode, and actively triggering off CYBLE_EVT_GAPC_SCAN_PROGRESS_RESULT, which sends data back to the PC (MCU) with an onslaught of data, transmittal of any further commands by the PC is ignored . So I cannot exit scanning mode. If I reduce the transmission activity by gutting contents under CYBLE_EVT_GAPC_SCAN_PROGRESS_RESULT. I can proceed to change to other modes with my transmitted commands. So this appears to be a bandwidth problem. Communication occurring at 115200 baud. I have flow control enabled, but have not yet attempted an Rx Interrupt Method. (Rx Fifo Level). The program in different states (modes) simply looks to see if there is any data available in the Rx buffer and processes it accordingly. This is part of the main loop HandleBleProcessing();
Any way I can give higher precedence to received data than to transmitted data, so that I can still transmit data to the module from the PC (MCU) and it be acted upon accordingly.
Show LessI have a project running on a CYBLE-222014-01 module which uses TCPWM_1 as a counter that is driven by a 32 kHz clock (derived from 48 MHz HFClk). TCPWM_1 drives an ISR that triggers 250 times per second.
Now I'm trying to reduce power consumption and wanted to set things up so that I can DeepSleep between every ISR_1 trigger but I realize that I need to use a 32 kHz clock source that runs while in DeepSleep which I think has to be the WCO (which I am pretty sure is implemented on the CYBLE-222014-01 module). Am I on the right track?
One issue is that I can't seem to select the WCO as the clock source for TCPWM_1, if I try to use the LFClk, it gives me an error (see picture).
I've searched the forum and it looks like I may need to use a WDT in place of TCPWM_1 but I'm unclear on how this will work; how can I make the WDT generate an ISR or (ideally) hook it up to dtrigger my existing ISR_1 at the rate of 250 times per second?
Thanks in advance.
Ted
Show LessCan anyone explain this behavior? Using CY8CKIT-042-BLE-A Pioneer Kit running the PSoC_4_BLE_CapSense_Proximity Example and commenting out the #define ENABLE_LOW_POWER_MODE to disable low power mode so advertising occurs from reset and does not time out after 30 seconds appears to stop notification data from being sent. Notifications are enabled in CySmart by writing and reading the CCCD value 01:00 to handle 0x000F but no CapSense data is present for the CapSense characteristic attribute (0x000E). The Notify property even shows a check mark under Enabled on the right side of CySmart.
What I want to do is avoid having to manually press the user button to start advertising and just have advertising start from reset. Just disabling Low Power Mode starts advertising from reset but then there is no notification data. Why should disabling low power mode stop notifications?
Show LessHi All,
I am using BLE device CYBLE-212019 and i am scanning continuously for beacons. I am seeing strange behavior. I am able to see all type of beacons around me but BLE beacons starting with MAC 12:3B:6A are not seen. CY5677 CySmart BLE 4.2 USB Dongle is able to scan and find that device. Is there any filter setting which i need to disable. Scan settings are "Discover Procedure" General, Scanning State "Active" and Filter Policy is "ALL". Am I am missing any filter settings? Any suggestion will be helpful.
Thanks,
Mritunjay
Show LessI followed AN97060, section 5.3 to add a fixed-stack OTA bootloader to my BLE project. This all seems to have worked fine except that my bootloadable application no longer advertises itself via bluetooth (I successfully loaded an update via CySmart). The app note instructs me to delete the BLE component from the schematic of my bootloadable application. It doesn't seem to give very good instructions on how to include the headers that are normally generated with the project. I'm not sure I did that part correctly. I managed to get around it by adding the BLE component back into my bootloadable, but this eats up a ton of resources. Can anyone help me understand how I'm supposed to share the BLE component between the bootloader and the bootloadable?
Show LessHello I'm Using Cypress CY8C4247LQI-BL483 Microcontroller and trying to Configure Full UART : UART(SCB Mode)v3.0 in UART Configuration .
After Building the Code : Following Errors Were occurred .
""Unable to find a valid placements for Pins and Fixed-Functional Blocks . See the Digital Placements’s Detailed placement Messages Section in the report file for Details ""
Compiler Suggested Following Workaround .
The placer is not able to place all of the carry chains without backtracking. It fills one UDB bank to 15/16 and the other to 7/8 and cannot place the final
2-datapath chain. As a workaround, add a control file to the TopDesign component (in Workspace Explorer's Components tab) with the following lines: ATTRIBUTE
placement_force OF \Timer_ADPActiveTime:TimerUDB:sT16:timerdp:u0\ : LABEL IS "U(2,0)";
ATTRIBUTE placement_force OF \Timer_OutputPeriod:TimerUDB:sT24:timerdp:u0\ : LABEL IS "U(3,1)";
ATTRIBUTE placement_force OF \Timer_OutputActiveTime:TimerUDB:sT24:timerdp:u0\ : LABEL IS "U(0,1)";
This will fill the datapaths in the second UDB bank and allow the placer to assign the remaining datapaths.
I Followed the Instruction and created a Control File and added above mentioned three lines . : After Built Same Error were Observed.
Please Suggest me What Should I do . As I want to Use Both Tx and Rx Interrupt Enabled , With API Settable Baud Rate and Parity .
Show Less