PSoC™ 4 Forum Discussions
Hi,
We are having issues adding a Fixed Stack Bootloader functionality to an existing PSoC application.
We've been successful in running the example applications and sending updates over the air.
We've been very unsuccessful with adding the functionality into our existing app.
The main problem we have is after having moved the BLE component out of the BootloadABLE portion of the app, all the BLE component code we rely fails to compile.
We have a handful of services that we handle read/write requests for by checking if the CYBLE_GATT_DB_ATTR_HANDLE_T passed from the event loop is equal to say: CYBLE_THINGIE_SERVICE_CUSTOM_CHARACTERISTIC_CHAR_HANDLE
We've tried declaring these service handles as extern's in the ota_mandatory.h file, but compilation still fails. Left scratching our heads as what exactly we're doing wrong.
We're also a bit confused about what code from the existing app needs to be moved to the bootloader and what needs to stay bootloadable
Show LessDear all,
We are considering to use CYBLE-222014-01 module in our device which is based on STM32L4 processor. BLE module and STM32 will be connected using I2C or SPI.
The question is, if it is possible to program new fresh BLE module FLASH memory directly from our STM32L4 processor over I2C (or SPI eventually)? If I understand it correctly, Bootloader functionality comes up only after Bootloader is first time flashed into BLE module over SWD, but we don't have free place on our board for SWD programming interface, for factory first-time programming of Bootloader.
So can be BLE module ordered from Cypres with Bootloader pre-installed, so we can than only programm our custom hex over I2C/SPI?
Or the only way how to program new BLE module is to implement SWD programmer functionality into our STM32 processor? (like in http://www.cypress.com/documentation/application-notes/an73054-psoc-3-and-psoc-5lp-programming-using-external)
Thanks in advance for any comments 🙂
Show LessWhat's involved in getting a design certified with the FCC using a PSoC 4 BLE uC? If I use the same layout for the antenna and matching network as the eval module will I need to go through agency certifcation?
Show LessHaving a bit of a problem with the chicken and egg nature of the Bootloader and Bootloadable projects.
When flashing a PSoC with the Bootloader project none of the services are initially available (because they are contained in the Bootloadable and nothing has been installed OTA yet)
Is there anyway to flash the PSoC with the Bootloader and an initial BootloadABLE image?
Show LessDear Forum:
Greetings, I am just trying to get up and going with PSoC Creator to make a prototype and have found some example code that I think will help me greatly in the 100 Projects in 100 Days, namely, the Day 10: Observer and the Day 11: Central Observer projects. However, in them the BLE component is v.1.10 and PSoc Creator 4.0 is completely unable to deal with that; it just errors and can't build.
Is there any way around this? Or any way I can update the component? I can drag the new BLE_3.20 component into the schematic, of course, but I don't know how to configure it and make it work (at all! That's the whole point of the example code: to show me how!)
Thanks, guys!
Show LessHello All,
I am having an issue with PSOC Creator 3.3 or 4.0 not being able to acquire the device. I am trying to program the Find_Me example onto a custom pcb that has been created with the Cyble-014008 module on it. So that I can verify that everything is at least programming correctly. I made sure that the device selector has the Cyble-014008 as the selected device. The programming method that is being used the 5 pin SWD programming mode.
I have tried using the 5 volts from the Miniprog3 and also externally powering the device, I still come up with the same error.
I have checked to make sure that all of the traces are connected and are put to the correct pins on the module, and everything seems to be correct for that.
Is there something that I am missing some where or is something wrong with how I created the schematic?
I have attached what I can of the schematic, the error I am seeing, and both programming methods I've tried.
Thank you for your time and expertise.
Psoc Creator 3.3 or 4.0
MiniProg3 version 2.05[3.08/2.08]
Cyble-014008 Module
Show LessHello,
I'd like to set a flag in our bootloader which then should be read by the bootloadable (=application). I can't find anything in the datasheet about this. Is there any standard way of doing it? The metadata doesn't seem to have any custom fields that can be used for things like this.
Thanks, Jacob
Show LessI've been testing the power modes on the CYBLE-022001-00 EVAL kit, and I've run into a brick wall on a couple of things:
When I attempt to use the CySysPmStop() function call to turn everything off and set the unit into "stopped" mode, the unit switches from drawing almost no power to drawing 6 mA of power. There's no way this is the stop mode listed in the spec as using "90 nA" of current?
What could be causing this?
Also, I'm having issues with the DeepSleep() and Hibernate() modes as well, as those are using between 7.5 and 8 uA, but the spec lists them as 1.3 uA and 150 nA respectively. Currently, I'm turning off the ILO,WCO, and ECO clocks, and calling both Sleep() and Stop() on all components that are on with no effect on the power consumption.
Is this normal for the unit to use 8 uA when in hibernate and deepsleep?
edit: This current draw is being caused by Resistive pull-up resistors (3 of them). Unfortunately, I need to use them to detect a button press while in hibernate mode; Is there a way to reduce the current draw from these pins while they wait for a button press signal to wakeup from hibernate?
Show LessHi guys,
Currently I am using PSoC 4200M as master to readout the motion sensor data (MPU9250, as slaver) via SCB SPI. I have basically finished the program, but it does not work.
As I am very new for PSoC, I just like to confirm with your the correctness of the SPI writing and reading function.
I have defined dedicated functions for registers Writing and Reading, as shown below.
/* Write Register*/
void MPU9250_WriteReg( uint8_t WriteAddr, uint8_t WriteData )
{
SPIM_SpiUartWriteTxData(WriteAddr);
SPIM_SpiUartWriteTxData(WriteData);
}
/* Read Register*/
uint8_t MPU9250_ReadReg( uint8_t ReadAddr )
{
uint8_t ReadData = 0;
SPIM_SpiUartWriteTxData(0x80 | ReadAddr);
ReadData = SPIM_SpiUartReadRxData();
return ReadData;
}
/* Read a series of Registers*/
void MPU9250_ReadRegs( uint8_t ReadAddr, uint8_t *ReadBuf, uint8_t Bytes )
{
uint8_t i =0;
SPIM_SpiUartWriteTxData(0x80 | ReadAddr);
for(i = 0; i < Bytes; i++)
ReadBuf = SPIM_SpiUartReadRxData()
}
But some websites said the Reading function need to add dummy bytes, and said the typical flow for the SPI master should be:
1) Send command byte(s)
2) Read and discard dummy byte(s) returned
Then to read back any response from the slave:
3) Send dummy byte(s)
4) Read response bytes(s) returned
Then, I updated the Reading functions correspondingly, as shown below:
/* Read Register updated*/
uint8_t MPU9250_ReadReg( uint8_t ReadAddr )
{
uint8_t ReadData = 0;
uint8_t dummy = 0;
SPIM_SpiUartWriteTxData(0x80 | ReadAddr);
dummy = SPIM_SpiUartReadRxData();
SPIM_SpiUartWriteTxData(0xFF); // Dummy
ReadData = SPIM_SpiUartReadRxData();
return ReadData;
}
/* Read a series of Registers updated*/
void MPU9250_ReadRegs( uint8_t ReadAddr, uint8_t *ReadBuf, uint8_t Bytes )
{
uint8_t i =0;
uint8_t dummy=0;
for(i = 0; i < Bytes; i++) {
SPIM_SpiUartWriteTxData(0x80 | ReadAddr + i);
dummy = SPIM_SpiUartReadRxData();
SPIM_SpiUartWriteTxData(0xFF); // Dummy
ReadBuf = SPIM_SpiUartReadRxData();}
}
If possible, could you help me check the correctness of both Writing and Reading function? Could you tell me which way is correct? Or even both ways are incorrect?
Many thanks for your help.
Kind Regards
Wesley
Show LessHi All,
Just wondering if anyone has done this recently. We have a product ready for the market and we need an FCC certification asap. The product uses one of the Cypress certified BLE modules. Our understanding is that we do not have to repeat the intentional radiation tests because they can be inherited from the module certification but we need some document (permission?) from Cypress for this. Does anyone know the right contact person at Cypress who can efficiently help with this? Thanks a lot!
-Tamás
Yes, I have opened a tech support case and waiting for their reply. I'm trying to speed things up by directly getting to the right contact person this way.
Show Less