PSoC™ 4 Forum Discussions
Hi everyone, I'm trying to use CYSPP mode on my CYBLE-022001-00 module but it doesn't work.
There is something from my terminal application:
.cysppstart
@R,0011,.CYSPPSTART,0107
.cysppcheck
@R,0011,.CYSPPCHECK,0502
According to EZ-Serial system error codes:
0107 | EZS_ERR_CORE_INVALID_STATE | Invalid state for requested operation
0502 | EZS_ERR_GAP_CONNECTION_REQUIRED | Connection required, but none is available
What does it mean and how I can fix it? I use pioneer kit and the latest ez-serial firmware for my module
Show LessNow I want to use the direct advertising when central bonded to my peripheral.But seems the ios use the resolving address, will the direct advertising still work when central changes the peeraddress.
Show LessI am using ADC to monitor the voltage of an analog input value to my BLE Pioneer Kit. I want to print the voltage value every 10 milliseconds. When I click the program button while in the main.c file under source code, the program doesn't seem to start right away. Only after a few minutes does "Voltage is 0 mV" start to print in Tera Term. After printing for about 30 seconds, symbols begin to appear in the Tera Term window. I've attached a text file of the serial data that prints to Tera Term. I've made sure that the baud rates match in tera term and in the ADC settings. The code that I use in main.c is below. Any idea what the problem might be?
/* ========================================
*
* Copyright YOUR COMPANY, THE YEAR
* All Rights Reserved
* UNPUBLISHED, LICENSED SOFTWARE.
*
* CONFIDENTIAL AND PROPRIETARY INFORMATION
* WHICH IS THE PROPERTY OF your company.
*
* ========================================
*/
#include "project.h"
#include "stdio.h"
int main()
{
ADC_Start(); //start ADC
float x;
char tempStr[10];
CyGlobalIntEnable; /* Enable global interrupts. */
UART_Start(); //Starts Serial communication
ADC_StartConvert(); //Starts ADC Conversion
//infinite Loop begins to acquire voltage values
for (;;)
{
ADC_IsEndConversion(ADC_WAIT_FOR_RESULT); //Waits for ADC value to be calculated
x=ADC_GetResult16(0); //Sets x to the value of channel 0 (analog input channel is channel 0)
float y = (ADC_CountsTo_mVolts(0,x)); //converts ADC value to millivolts
int n = y;
sprintf(tempStr, " Voltage is %-d mV", n);
UART_UartPutString(tempStr); //Sends string with mV value to UART
UART_UartPutString("\r\n");
CyDelay(10); //Delay before reading next value
}
}
/* [] END OF FILE */
Show LessHello
I'm having a very strange problem with scanning for advertising devices
I modified the Observer project (Day 10 )for my hardware
While I;m 100% certain that there are devices advertising, ( CySmart sees them the CYBLE_EVT_GAPC_SCAN_PROGRESS_RESULT event never fires!
And the strangest thing is that it was working yesterday!.
I was at a different location but other than that nothing is different.
Project is attached. It's just a sample from the 100 series - I only disabled the low power mode stuff and the UART
Any ideas? I'm at my wit's end
One thing that appears strange to me
In the file BLE_eventHandler.c in the case CYBLE_EVT_GAPC_SCAN_PROGRESS_RESULT the code only executes when CYBLE_CPS_CLIENT is defined. It is not defined for this project . Any details on that ?
Thank you
Andy
Show LessI'm looking at the BLE v3.30 component DS and the stack event
CYBLE_EVT_HIDSS_REPORT_CHAR_WRITE HIDS Server - Write Report characteristic request. The
parameter of this event is a structure of CYBLE_HIDSS_REPORT_VALUE_T type.
The event itself is listed in the API, but the return type CYBLE_HIDSS_REPORT_VALUE_T, is not (undeclared identifier), and this is the only information is what I've c/p'd.
My question is, is it even active/used? I'm assuming it would be generated on the server-side when the client calls CyBle_HidscSetCharacteristicValue, in order to let the server know when data has been written/changed by the client. If that were the case, I'd have use for it, if anyone could tell me how to make that happen, by defining the return type, or activating the event.
Show LessI use the component LCD_SEG,which added 7seg.The numbers to display changes somtimes.
How to make the displayed numbers blink?
Thanks first.
Show LessHello, I need to change the auto generated code in psoc 4.0
For a Project we use WCO as a clock source, LFCLK. The file cyfitter_cfg.c is an auto generated file from Psoc 4. after starting WCO component, a 500ms wait is performed till WCO should be stable. After the wait, a Low Power Option of WCO is set.
Goal of our application is, the Cyble 022001-00 is mainly in hibernation mode. After an Interrupt(from NFC chip) it programs a NFC Tag with the BLE address. A Smartphone reds the address, connects to BLE and retrieve information.
One of the main goals of our application is low power. So current implementation takes 500+ms till the NFC tag is written and the Smartphone tries to connect. Manley the delay of the wait function after starting WCO. For writing the NFC Tag no WCO related function is needed.
My plan is to delete the wait cycle and set the low power option of WCO manually in my source code. For this I need an option how to change out generated source files. If there are any drawbacks to my plan please let me know.
It would be interesting to know the max time till WCO is stable, haven't found a hint of it in user manual and data sheet.
Thanks
@Bob sorry but my last posting is closed, but solved for me. To answer your last question I live near Karslruhe.
Show LessHi guys,
Im trying to implement a FOTA to program a PSoC4 using a Quectel UC20 as a Host. First I download the .cyacd file from an FTP server and store it in the UC20´s RAM memory and then sending the file through UART to the MCU in bootloader mode using the function Booloader_Start(). Now, im stuck. As far as im concerned, only by sending the correct data (.cyacd file parsed to hex) to the PSoC4, the bootloadable should be correctly installed, but reading the documentation i have noticed that the MCU answers to every command sent by my host, are these answers needed by the host to do a correct programming? Or are they only useful for a flow control when using another mcu as host? I have read about the Silicon ID and the format of the .cyacd file and it seems that what i´m trying to do is to bypass all of that. I´m a newbie in the microcontroller world so i´ll be happy for any of your guidance and to explain myself.
Esteban
Show LessHello,
I got this error while trying to compile a project. I am using CY8C4247AZI-M485
Error in component: cy_boot. The cy_boot_v4_20 component (cy_boot) is not compatible with the selected device. Please check the component datasheet for details on updating to a compatible component.
I was looking around the forum and I found that I have to update my components. I checked and found that my components are updated see attached. Any idea what else I could do?
Show LessHello. Sorry for my english, I'm using a Google translator.
I want to use the quadrature decoder module to connect the mechanical encoder to the PSoC 4 (CY8CKIT-049-4200). When I add the module and collect the project, I get a message "E2071: Unable to pack the design into 4 UDBs." See the Digital Placement section of the report file for details. "
I watched in datashit that the component of the quadrature decoder (8 bits) takes 6 PLDs, if the filter is off, and 7 PLDs if the filter is turned on. By default, the filter is enabled. I turned off the filter, and was able to assemble the project. Why does not the default component allow me to build a project? Is there not enough macrocells in CY8CKIT-049-4200 4 for this?
I do not want to put external capacitors, I need this filter. I tried to add 1 external filter such as "Glitch Filter", and the project again refused to assemble with the same wording of the problem.
I was able to assemble the project by adding 2 elements such as "Debouncer". Will this element be used as a simple alternative to "Glitch Filter"?
Show Less