PSoC™ 4 Forum Discussions
I can read data by bridge control panel through following command
w 40 e3 r 40 x x x
but when I convert this command to program,
(see my upload file)
it dose not work.
is it right?
Show LessHi,
We are developing a new BLE product using a custom profile. The device will have a custom application so there is no need to use standard profiles and also it avoids the need for certification.
The device is done and works perfectly using the custom profiles but we now want to add Battery monitoring and Firmware revision to the product. We can add a "Battery" service to the design or we can add a "Battery Level" characteristic to the custom profile...
What is the benefit of one of these methods over the other? If we add the "Battery" service does that then mean we need to have the product certified by the SIG?
Any thoughts would be great,
Stephen
Show LessI'm working with Scanning and Advertising to addresses in the white list. A lot of functionality will be handled through data provided in the advertisement packet, which, before looking into using a white list, I had solely relied on for filtering unnecessary scanned devices before invoking the rest. I have a few questions about implementing:
1) The datasheet says there can only be up to 8 devices on the list. In one part of the application, I want my potential max white listed devices to be 24. Its a toggling function, so I just need to advertise just long enough for the device to get it, then it'll switch to a new data packet. What's a good, efficient and quick, way to run through those 24 devices?
2) Is there a way to "blacklist", or a way to advertise only to addresses that, for example, only have the same 3 CompanyID bytes in their address?
Thanks for any direction anyone has.
Show LessWe have to implement Firmware update Over The Air (FOTA), because we have to provide firmware updates to our customers that are using "smart phones" (Android/iOS). I have some questions regarding this:
- Should this be possible to do using http://www.cypress.com/documentation/application-notes/an97060-psoc-4-ble-and-proc-ble-over-air-ota-device-firmware-upgrade ?
- Have you guys successfully been able to use the open CySmart source code to do FOTA in your closed source Android/iOS apps?
- If I add FOTA functionality as described in the application note, this gives bootloader subprojects in my PSoC Creator workspace. But will debugging go straight to the "main" project's
int main()
function? And is it possible to override all the bootloader functionality during development in some easy way? - A bit off-topic: Is it possible to write persistent data (like dynamic program settings) into a user Flash memory location? If so, how do I do this, that is, whereto in Flash memory should my user data be written and how is it done, if bootloaders also uses parts of the Flash memory?
I have to implement FOTA pretty soon, hence my questions 🙂
Show LessHello,
I'm quite sure I've seen a video for project #49 (Mesh network) of 100 projects in 100 days, but I can't seem to find it anywhere.
Can anybody help me?
Thanks!
Show LessHi,
I am trying to program CY5672 PRoC BLE Remote with the example in PSoC creator(CY5672 Remote Control).After flashing the code Remote is not at all getting discovered.When i am debugging BLE_Init Function is not at all executing. Is their any macro to be disable?
I am attaching the call stack snapshot.
Regards
srikanth
Show LessHi,
i am still learning how to use the interrupts in PSoC4 and i have the following situation:
CY_ISR(UART_RX_INT_myReceiveInt)
{
BLEtoUART(testbuf, 4, 1);
GECKO_UART_SpiUartClearRxBuffer();
source = GECKO_UART_GetRxInterruptSourceMasked();
GECKO_UART_ClearRxInterruptSource(source);
}
VS
CY_ISR(UART_RX_INT_myReceiveInt)
{
source = GECKO_UART_GetRxInterruptSourceMasked();
GECKO_UART_ClearRxInterruptSource(source);
BLEtoUART(testbuf, 4, 1);
GECKO_UART_SpiUartClearRxBuffer();
}
VS
CY_ISR(UART_RX_INT_myReceiveInt)
{
BLEtoUART(testbuf, 4, 1);
GECKO_UART_SpiUartClearRxBuffer();
source = GECKO_UART_GetRxInterruptSourceMasked();
GECKO_UART_ClearRxInterruptSource(source);
}
The second snippet executes the line BLEtoUART(testbuf,4,1)
two times. The first one is fine and the third one is fine. Please tell me how to handle the UART interrupt the right way. What i want to achieve ultimately is:
1. Detect when a character is received by the UART
2. Scan the received frame for start and end FLAG which indicate a valid message
3. Extract the message
Is there anyway to only throw an interrupt when a specific FLAG character is received by the UART?
Thanks for clarification,
Pat
Show LessHello All,
how do I access CapSense_InitializeAllBaselines() functions? By that I mean I am creating a project using generics and manual run time tuning. Looks like I have to enable some feature in the capsense component. thanks in advance.
Steve
Show LessHi
I'm using CyBle_GattsReadAttributeValue API to storage in GATT Database,I read data from Android APP, not successful, what happend?
case CYBLE_EVT_GATT_CONNECT_IND:
UART_UartPutString("\n\rConnection established");
bufferData[0] = 1;
bufferData[1] = 0x41;
bufferData[2] = 0x42;
handleValuePair.value.val = bufferData;
handleValuePair.value.len = bufferDataLength;
handleValuePair.attrHandle = CYBLE_CUSTOM_READ_DECL_HANDLE;
if( CYBLE_GATT_ERR_NONE == CyBle_GattsReadAttributeValue(&handleValuePair,&cyBle_connHandle,CYBLE_GATT_DB_LOCALLY_INITIATED) )
{
UART_UartPutString("\n\rStorage GATT DataBase Successful!");
}
else
UART_UartPutString("\n\rStorage GATT DataBase Error!");
//CyBle_ProcessEvents();
break;