Despite having just designed this part in last year, we are being forced to use the new part per: https://www.cypress.com/documentation/product-termination-notice-ptn/ptn191207
This seems to have been done without much consideration for the costs involved to the customer. What does Drop-In really mean?
There seem to be 2 salient issues that are costly to remedy:
1. The BLE QDID has changed. So do we need to buy another $8000 BLE listing?
2. The software is seemingly incompatible per PSoC 4 BLE – Migrating from 256 KB V1 (Bluetooth 4.1) to 256 KB V2 (Bluetooth 4.2) Devices – KBA2269... . Our mobile app OTA is based on CySmart, but we did not design in a way to support multiple device and file types. Can the new device load the old module's code as is, or do we need to supply 2 versions of code and differentiate them, then support that in the app?
- ez-ble module
1) Both CYBLE-224110-00 and CYBLE-224116-01 are Bluetooth SIG qualified and you can find the QUID in respective Module's datasheet. Also both Modules are equivalent in terms of radio performance if the DLE(data length extension) is not used in 224116 module(which can be disabled in the Creator SW effectively making 224116 operating same as the 224110), so this should be completed in terms of paper qualification and you do not need to go through complete RF certification process.
2) The file types for both the devices that is 224110 and 224116 will be the same, therefore the new device can load the code of the old device. You can refer to the Appendix C (page 33) of the following document: https://www.cypress.com/file/45171/download
This explains the Host(module)/ Target (app) communications that take place. According to this the mobile app should support the new device as well.
I'm not finding it so simple:
1. The Psoc Programmer will not use the old firmware file to upload to the 224116. It says "ERROR! --->| The hex file does not match with the acquired device, please check the device"
2. Psoc Creator is similar: "Error: dbg.M0033: The selected debug target 'CYBLE-224116-01' is not compatible with the project's selected device 'CYBLE-224110-00'."
3. Even after migrating all three projects (Stack, Bootloader, and App) to 224116 to the device, upgrading it with the CySmart App using A file generated for 224110 says :SiliconID or SiliconRev does not match. I would assume it is the same vice versa.
So it seems the answer #2 is very wrong. Unless you see some workaround, we are being forced to do significant re-writing to support this drop-in replacement.
The error is occurring because the target device and the selected device in PSoC creator are different.
You need to change the device from CYBLE-224110-00 to CYBLE-224116-01 in the device selector in PSoC creator and then build the project.
The hex file generated in this case could then be used in PSoC Programmer.
For changing the selected device, right click on the project name in the workspace > Click on device selector > select CYBLE-224116-01.
I understand the process, and I have done that. But the files are not compatible as you asserted. Is there a workaround that lets us program both device types with the same file?
Sorry for the confusion. Do you mean .hex file by the word 'code'?
The firmware written for both the devices is same. Firmware includes source files and application code. But the .hex files to program CYBLE-224116-01 and CYBLE-224110-01 are different. You have to build the project again in PSoC Creator after changing the device in device selector to generate the new hex file for this device.
With the new hex file you can program the CYBLE-224116-01 device without any problems. Please try this and update us.