PSoC™ 4 Forum Discussions
Hi,
My team is developing embedded device that uses CYBLE-022001-00. We want to replace current module with CYBLE-222005-00 since it has twice as much flash and ram. In datasheet it says "Drop-in compatible with CYBLE-022001-00 and includes additional VREF input". On our pcb design VREF pin is floating, it's not connected.
Module has been replaced on 8 custom boards and we are experiencing these problems:
- Our CY8CKIT-042-BLE PIONEER BASEBOARD that we use as programmer doesn't detect modules (on 7 custom boards).
- On one board we can detect module and program it, but connection breaks sporadically in debug mode and it seems like firmware on module is not running.
- All our custom boards worked perfectly with CYBLE-022001-00.
Regarding this we have few questions.
Is there some critical differences between these two modules, except additional VREF pin? Is it mandatory to connect VREF pin? Do you have some recommendation regarding detecting and debugging problems we are experiencing? Another module that is drop-in compatible is CYBLE-222014-01, should we consider testing our boards with this module - should that give us different results?
Regards,
Dusan
Show LessHi Team
I am using Cypress PSoC 4200 for CY8C4248LQI-BL483 for my project. I see that for some reason, the PSoC is not generating the following #defines
#if (CY_SFLASH_XTRA_ROWS)
#define CY_SFLASH_USERBASE (CYREG_SFLASH_MACRO_0_FREE_SFLASH0) /**< The base pointer of the user SFlash memory. */
#define CY_SFLASH_SIZE (CYDEV_SFLASH_SIZE) /**< The size of the SFlash memory. */
#define CY_SFLASH_SIZEOF_USERROW (CYDEV_FLS_ROW_SIZE) /**< The size of the SFlash row. */
#define CY_SFLASH_NUMBER_USERROWS (4u) /**< The number of SFlash row. */
#endif /* (CY_SFLASH_XTRA_ROWS) */
How do I generate it? Is there a setting which needs to be enabled in the PSoC creator ?
Show LessHi,
does anyone know a source for developing "the Android" part for PSoC BLE? I'm totally new to Android application development, so it's hard to find a starting point. Is there any tutorial which describes it from the scratch?
From what I know yet I need at least:
- PSoC BLE hardware -> already have a BLE pioneer kit
- BLE enabled android device -> my smartphone supports the BLE pioneer kit demo application
- Android Studio -> I'll download it
So, the environment is available. I tried to dig deeper into BLE & Android, but it seems that it's necessary to do some Android basics prior to develop an Android bluetooth application...
Regards,
Ralf
Show LessI have my cyble-022001 based sensor working fine and need to make an app to write the data to file on android or IOS device. I have already made a simple app that shows the data on screen. I used Evothings Studio and the app so far runs only in Evothings viewer app, thus it's not a compiled native app, just HTML and javascripts, but should be possible to compile using cordova + native SDK.
I'm new to apps and quite confused what is needed for an app the be able to communicate via BLE and write data to a file for hours while the phone is locked or used for something else.
Does it need a service? Foreground or background service?
What is a good platform to make such on app for both android and IOS. Evothings + cordova seems easy to get started with, but I don't know if they have all the functions needed, especially related to keeping the data logging on while the device is locked. Also Evothings has not been updated since 2017.
I'm good at c, know some c++ and javascript. I have not used java nor swift, which seem to be the languages native SDK's use. I did make a simple app with android SDK a few years ago. I guess that was java?
Show LessHi,
I'm using a CYBLE-212006 module in combination with PSoC Creator 4.2.
I try to connect to a ble peripheral as shown in Day011_Central_Observer project from 100 Projects in 100 Days.
- I scan for peripherals
- Everytime I found one, I store this peripheral in an array
- After stopping the scan I try to connect to the selected peripheral.
- When I call apiResult = CyBle_GapcConnectDevice(&connectPeriphDevice[Periph_Selected]); the Api result is CYBLE_ERROR_INVALID_PARAMETER
What does this error mean and how to fix?
Here a a code snipped:
CYBLE_GAP_BD_ADDR_T connectPeriphDevice[10];
/*
* Function Name: Get_Adv_Scan_Packets
*/
void Get_Adv_Scan_Packets(CYBLE_GAPC_ADV_REPORT_T* scanReport){
uint8 RepIndex; //Index for Bytes in Scan Response Packet {
if (devIndex < 9) {
IsDetected = 1;
// Receiving Advertisement Packet
if ((scanReport->eventType == CYBLE_GAPC_CONN_UNDIRECTED_ADV)||
(scanReport->eventType == CYBLE_GAPC_CONN_DIRECTED_ADV)||
(scanReport->eventType == CYBLE_GAPC_SCAN_UNDIRECTED_ADV)||
(scanReport->eventType == CYBLE_GAPC_NON_CONN_UNDIRECTED_ADV)){
memcpy(connectPeriphDevice[devIndex].bdAddr, scanReport->peerBdAddr,
sizeof(connectPeriphDevice[devIndex].bdAddr));
devIndex++;
}
}
else {
printf ("Device Counts Exceeds 10 \r\n");
}
}
}
//This function is called in main.c
void Handle_ble_Central_Observer_State(void) {
if (CYBLE_STACK_STATE_BUSY == CyBle_GattGetBusStatus()){
/*If stack is busy wait for ready signal*/
return;
}
if (!IsConnected) {
if(CYBLE_STATE_DISCONNECTED == CyBle_GetState()) {
if(IsSelected) {
apiResult = CyBle_GapcConnectDevice(&connectPeriphDevice[Periph_Selected]); //ERROR
if(CYBLE_ERROR_OK != apiResult ){
printf ("Connection Request to peripheral failed \r\n");
}
IsSelected = 0;
}
}
}
}
Thanks!
Pascal
Show LessHi guys, I need help regarding CYBLE-012011 with segger J-Link debugger, i made the connection and while connecting Segger open the list of device, but I am not able to get my device name in that list, however I am able to connect by choosing another part number CYBEL-014008, but not able to do anything else (like, erase,program, read), please help me out with this.
Show LessGoodmorning,
i have a board with Psoc 4 (CY8C4247AZI-M485) and i need to use can bus with 125Kb as baud rate, i have some difficult to find right clock configuration.
I know should be better to have an external OSC but... i don't have it, some suggestions?
thanks in advance
Show LessIn my project, I have clocked the MAX11201 ADC via CYBLE-012011-00 I/O pin, but without using the CPU, is there any way to do that, i tried the PWM but dont know why i am not getting the pwm signal at the output pin (port 3 pin 7).
Show LessDiscovered this when I tried to change the code, and the original echo function still worked in PuTTY. Verified that the code was not running by inserting an LED indication in the clause where the received byte is verified to be non-zero, and is written back out. The LED never comes on even though the echo function works.
Show Less