PSoC™ 4 Forum Discussions
I have:
Read all available posts on this error.
Checked to see that my uart buffer is 64 bytes.
Updated all components (using psoc 4.1)
Triple checked the dependencies in the bootloadable object to verify hex and elf point to the bootloader's hex and elf files.
Cleaned and rebuilt and reloaded the bootloader.
Running the bootloader host that came with 4.1.
Bootloader and bootloadable projects are in the same workspace.
Still get this error message.
Show LessAll;
I am trying to figure out how to create a Dual-application Bootloader that allows my application code to get a new image from our server and store it in the 'other' image area on my CPU's flash then once verified by my application, jump to the bootloader to then switch to the new image. Then, the next time I get new code, I write it to the 'other' image area (that I was running out of before the last update) and once again, jump to the booloader and run the new image. Basically flipping back and forth when new code arrives. Do I have the correct idea here? If so, are there any examples of how to setup up the project(s) to do this? I am using a CY8C4248AZI-L475 as my CPU. My code size is <20k so there is plenty of flash to store 2 copies.
One other note is my application is basically done and runs on its own. Can you easily make a standard project into a bootloader-bootloadable one?
Hope somebody can steer me in the right direction. Thanks, in advance.
Show LessI want the ble module to execute some functions upon one of it's characteristics being read. Here is my callback function code:
void BleCallBack( uint32 event, void* eventParam )
{
CYBLE_GATTS_READ_RSP_PARAM_T *rdRspParam;
switch( event )
{
case CYBLE_EVT_GATTS_READ_CHAR_VAL_ACCESS_REQ:
rdRspParam = ( CYBLE_GATTS_READ_RSP_PARAM_T * ) eventParam;
if( rdRspParam->?????.attrHandle == CYBLE_DIAPER_BUCKLE_STOREDDIAPERCOUNT_CHAR_HANDLE; )
{
//code to run upon characteristic being read
}
break;
default:
break;
}
What should I use in place of the ?????s? Or should I be doing something completely different.
Thanks!
Show LessThanks for your help.
We do need to power a device with 5V 20mA using a BLE module (014008). The TRM mentions that maximum output current per pin is 20mA but when setting a pin that option is not available - maximum is 10mA
So we are implementing pin-ganging but it gets a bit 'mistycal' because when ganging pins and setting Output current to 10mA (as above) I will get a builder error - need to leave the minimum setup that is 8mA and it builds OK - but that it will cost 3 pins (3 * 8mA = 24mA) to get the minimum 20mA - questions:
- what is the best way to get 20mA sink current in an Output pin(s)?
- Why there is no option for 20mA sink current?
- How can I be sure that in the long run (production) that will not damage the PSoC (heating/etc)
Guidance will be appreciated
Thanks
Joe Rosa
Show LessGreetings!
I appreciate that PSoC Creator and newer versions of PSoC offer great improvements over Designer and PSoC 1 in many ways including the wide selection of easily configurable components. I understand that the newer versions of PSoC including PSoC 4 are preferable to PSoC 1 in most cases. However, I have a project that requires the simple Switched-Capacitor (SC) building blocks that can be configured at the switch level as are available in PSoC 1 and I cannot find anything like them in PSoC 4. Specifically, I'm looking for the equivalent of the SCBLOCK and SwitchCapConfig. Are there any equivalent components in PSoC 4 etc.. ? I'm new to PSoC and hope to choose the appropriate product family before I get deeper on the learning curve.
Please advise. Cheers! -Matt
Show LessHello I am testing the OTA firmware update feature using the upgradable stack. The firmware update process works correctly with a Moto G4 android device, but with a samsung galaxy S7 edge with android 7.0, the process is getting stuck in the enter bootloader command.
Has anyone else had this issue?
below is an image of the log.
Show Less
HI there, I am using the CYBLE-012011-00 and I am having trouble programming my BLE to stop scanning even after following the required steps. Please see below my code. It is acting as an observer to an advertiser.
void StackEventHandler(uint32 event, void* eventParam)
{
/*local variables*/
CYBLE_GAPC_ADV_REPORT_T advReport;
switch(event)
{
case CYBLE_EVT_STACK_ON: /*BLE stack ON*/
/*Start Scanning*/
if(CYBLE_ERROR_OK==CyBle_GapcStartScan(CYBLE_SCANNING_FAST))
{
printf("Started to Scan\r\n");
}
break;
case CYBLE_EVT_GAPC_SCAN_PROGRESS_RESULT:
advReport=*(CYBLE_GAPC_ADV_REPORT_T *)eventParam;
break;
case CYBLE_EVT_GAPC_SCAN_START_STOP:
UART_H2B_UartPutString("\r\nCYBLE_EVT_GAPC_SCAN_START_STOP\r\n");
break;
default:
break;
}
}
/********************************************************************************************************
* Function Name : BLE();
********************************************************************************************************/
int BLE(void)
{
CYBLE_API_RESULT_T apiResult;
CYBLE_STATE_T CYBLE_State;
CyGlobalIntEnable;
Connection_end = 0;
while(Connection_end == 0)
{
apiResult = CyBle_Start(StackEventHandler);
CyBle_GapcStartScan(CYBLE_SCANNING_FAST);
CyBle_ProcessEvents();
}
while(CYBLE_State != CYBLE_STATE_DISCONNECTED)
{
CyBle_GapcStopScan();
CyBle_ProcessEvents();
CYBLE_State = CyBle_GetState();
}
}
Essentially it remains in CYBLE_State = CYBLE_SCANNING
1) Has anyone else had a similar problem and if so is there a solution?
2) I can use CYBLE_SetState() to get to CYBLE_State = CYBLE_STATE_DISCONNECTED. However when I go into deepsleep I am waking up with no other interrupts, So I suspect it may still not be actually functioning correctly.
Any help would be greatly appreciated!
Show LessHi there,
I'm trying to find a suitable BLE solution for an upcoming product. We're looking for a BLE Controller that we can integrate with BlueZ on a Linux system. In other words we're looking for access to the HCI layer of the bluetooth stack. We're also hoping to find one that is available as a module, so we don't have to implement the RF chain ourselves.
I've seen a few posts on the community forums about using HCI mode for testing and the like, but I haven't found much documentation from Cypress on which software stacks can break out this layer. I've also seen this list of Cypress' Bluetooth qualifications which suggests that you can pick and choose which parts of the stack you can include in your firmware build.
Can you provide some more information? If we want a pre-qualified BLE controller available as a pre-certified module for our product, which chipsets are suitable, and where should I be looking to understand the software stack? To further complicate things we're hoping to find a solution that will enable us to update the firmware stack in the future to support BLE Mesh.
Thanks,
Tom
Show LessDear
I have a question about CapSense Slider.
I am going to evaluate PSoC4S.
(using evaluation board: CY8CKIT-145-40XX)
I'm checking a worst case scenario test.
In particular, when move very slowly finger on sensor, whether it can be detect.
(For example, take 10 seconds to move to the next electrode B from a electrode A)
Such a case, the raw count always rise within electrode B becomes slow, because diff count is less than threshold.
Therefore, baseline within electrode B keeps track an compensates for the raw count.
When my finger complete move to electrode B, CapSense cannot detect my finger.(because diff count is less than threshold.)
In such a case, I want to detect my finger on electrode B.
what would be a good way to do it?
Probably, about speed to finger slide, exist a restriction?