PSoC™ 4 Forum Discussions
Hi, I am new to psoc4 and for the most part I have been very impressed with the flow! I am finally trying to implement my application with a bootloader for the final product and am having problems with the uart bootloader.
I have stepped back and tried to get things running on the pioneer board with the bootloader examples. I was able to get the i2c bootloader example working. I modified the project to support the uart bootloader and it is not working. I get the following error: "The bootloader reported error 'Packet length invalid: the packet's length does not conform to the required packet format"
I ahve double and tripled checked my setting and dropped the baudrate just be sure it was not a timing issue, but keep getting the same error. Based upon error, it sounds like the packet size generated in the bootloadable project may be the issue? I don't see any settings for this.
Any ideas? As always, I'm time crunched to get this working. I have attached my bootloader and bootloadable projects.
Thanks!
Show LessGood morning
I'm trying to measure the frequency of a square signal from a sensor, for which I used the counter and PWM module as shown in http://www.cypress.com/file/144696/download, when I try to send the value the frequency using the USART module, an error stating that "datapath cells" 4/4 appears. I understand that I can not use more modules and I wonder if Psoc programming must be done in both languages (Graphic and code), or if it can be done only by one of the two; or if there is no solution for UDB use all at the same time, as I also convert ADC and other sensors using SPI or I2C module.
Thanks
Show Less
I'm trying to use an SCB I2C on the 4200 BLE pioneer board and after doing I2C_Start() it doesn't appear as though the I2C bus becomes "non-busy". As a result, the first write never succeeds or completes. The check for bus state below always comes back as busy (I2C_I2C_MSTR_BUS_BUSY). I've hardwired a sensor onto the pioneer board at P3[0]:sda and P3[1]:scl pins and have those pulled up with external pullups. I never see those signals driven low on a scope. It's almost as though an internal status register is keeping the I2C component busy. Thoughts?
uint32 I2C_I2CMasterWriteBuf(uint32 slaveAddress, uint8 * wrData, uint32 cnt, uint32 mode)
{
uint32 errStatus;
errStatus = I2C_I2C_MSTR_NOT_READY;
if(NULL != wrData) /* Check buffer pointer */
{
/* Check FSM state and bus before generating Start/ReStart condition */
if(I2C_CHECK_I2C_FSM_IDLE)
{
I2C_DisableInt(); /* Lock from interruption */
/* Check bus state */
errStatus = I2C_CHECK_I2C_STATUS(I2C_I2C_STATUS_BUS_BUSY) ?
I2C_I2C_MSTR_BUS_BUSY : I2C_I2C_MSTR_NO_ERROR;
We have a divice of Psoc 4BLE to provied "read', "notify" and "write without responce" services, and I am developing an IOS app to communicate with this device. My app can successful connect to the device but failed to "Notify" or "wirte message“ to the device. Anyone know what the problem is ?
When we tested this device with LightBlue (both IOS edition and Android edition) which is an popular tool to test BLE services, we found:
1. The LightBlue Android can connect and communicate with the device.
2. The LightBlue IOS can only connect to the device, but fail to communicate with the device. (The device cannot receive the notification request and message from LightBlue IOS).
When we tested this device with CySmart, both CySmart IOS and CySmart Android were worked. They can connect to the services and communication with them.
I guess the problem could be caused by Psoc 4BLE and CoreBlutooth (IOS BLE library).
PS: We have used another BLE device (which is provided by another company) before, and it worked on both LightBlue IOS and Andorid.
Show LessHi,
I am trying to get Local Random/Public Bluetooth Device Address of my dongle, to call Cmd_Get_Bluetooth_Device_Address_API by sending a byteArray,
// 02_Public: Cmd_Get_Bluetooth_Device_Address_Api (Trigger Complete)
cmdPacket_GetBleDevicePublicAddress[0] = 0x0C
cmdPacket_GetBleDevicePublicAddress[1] = 0x00
cmdPacket_GetBleDevicePublicAddress[2] = 0x01; // sizeof(uint8)
cmdPacket_GetBleDevicePublicAddress[3] = 0x00;
cmdPacket_GetBleDevicePublicAddress[4] = 0x00;// Public Address Type
However, whenever I try this after the Cmd_Init_Ble_Stack_Api() was successfully done, I can only get a signal of CYBLE_ERROR_INVALID_PARAMETER
Could anyone tell me what did I miss to initial its address?
How could I get the Random and Public Address?
Thank you!
Show LessHello all,
I have coded for the simple buttons on the PSoC 4 Pioneer Board, using the onboard slider elements as Buttons. It has compiled & build OK;
Then I programmed the board, successfully. The output was tuned to respective LED's on board (Red, Yellow, Blue);
But the problem I have is:
1. It isn't holding the output i.e. I want a Toggled output but it just turns ON when touched & turns OFF when finger is removed.
What should get me out of it?
2. Also can I have Percentile illumination to the LED's @ OFF state (20%) & ON state (100%) like it was in Ez-Click?
Thanks & Regards-
Amit
Show LessCY8C4247AZI-M485 is compatible for any char lcd?
I am now using CY8CMBR3116,MCU is stm32,how to decide CY8CMBR3116 addr?
'String' (ASCII code in array) which i 'reading' have variable length but in custom profile i have to declare constant length of utf8s.
1. For example When i reading value ('0x44, 0x45, 0x46') BLE sending '0x44, 0x45, 0x46, 0x00, 0x00, 0x00...' because in custom profile i declared length =50 I don't need this 0x00 there is any solution to send it without zeros?
2. When i start notify everything is ok... but when there is more than 20 bytes to send via notification it doesn't send anything.
How can i solve this problem?
3. Maybe there is any other possibility to send more than 20 bytes than notifications without reading?
This post is about the Psoc 4. I will post some Psoc 4 imformation tomorrow.