PSoC™ 4 Forum Discussions
I'm trying to write a function to handle the a GSM modem using AT commands and Uart (SCB mode).
Uart on SCB has RX and TX buffer 128 bytes each.
Unfortunately, my function not working properly.
This function reads 8-10 bytes instead of 128.
Sometimes also lost bytes.
There is no in PSoC Creator decent example how to use a uart with big buffers.
Please can you help me and show you how to write this function.
Show LessHello there.
I am now searching the RF IC which outputs I/Q signal to get phase data for calculation.
It would be common for this purpose to use I/Q demodulator and microcontroller,
but these are too expensive to use for mass production.
I am searching widely used IC which outputs I/Q signal and inexpensive.
I know a few IC which outputs I/Q signal, but I can't find it because there is no description about it in datasheet.
Moreover, it also needs microcontroller.
So, PSoC is the best if RF part of it outputs I/Q signal by reason of single chip configuration.
Though I can't find setting to output I/Q signal from this BLE module used in PSoC Creator.
Are there any PSoC and RF module which I can get I/Q signal and calculate phase value ?
Show LessHi guys!
At the moment i am working on a project that should enable a Android Device (APP programmed with Java in Android Studio ) to send a picture to the CY8CKIT-142. I used a MTU size of 23 bytes because of another Problem which i want do discuss in another post. Because of the resolution of the Eink-display i have to send 284 - 23 byte packages. It takes about 28!!! seconds to transmit the picture. Is there any way to speed up the transmission?
- MTU size is 23byte;
- Profile role: GATT Server
- GAP role: Peripheral
- BLE low power mode
- Custom Service 16 bit and Custom Characteristic with 16 bit ->
- variable named DATA Type: uint8[]; Length = 20 byte
- Properties of Custom Characteristic: Read is true and write is true
- GAP Settings -> General -> Attribute MTU size = 23bytes
- GAP Settings -> Peripheral preferred connection -> Connection interval Minimum = Maximum = 7.5ms
a few lines of my Code (only write request in StackHandler of BLE)
case CYBLE_EVT_GATTS_WRITE_REQ:
wrReqParam=(CYBLE_GATTS_WRITE_REQ_PARAM_T *) eventParam; /
if(wrReqParam->handleValPair.attrHandle==CYBLE_DISPLAYAKT_DISPLAY_CHAR_HANDLE)
{
if(CYBLE_GATT_ERR_NONE==CyBle_GattsWriteAttributeValue(&wrReqParam->handleValPair,0,&cyBle_connHandle,CYBLE_GATT_DB_PEER_INITIATED))
{
for(i=0;i<MTU_SIZE-3-1;i++)
{
picture[i+(MTU_SIZE-3)*packagenr]=wrReqParam->handleValPair.value.val;
//receive++;
}
CyBle_GattsWriteRsp(cyBle_connHandle);
................... usw....
Show LessI have 2 PSoC 4 devices that I want to talk to each other via I2C.
One of these is connected to an NewHaven 128x32 bit LCD. I can use the Bridge Control Panel to communicate with the LCD Slave with no problem.
ex: W 10 00 00 00 00 00 00 32 38 54 53 53 4f 50 00 p
Displays '28TSSOP' on the top line of the LCD as I expected.
However when I use the attached project, the following code seems to be working, but nothing appears on the LCD.
<code>
i2cstat = I2CLCD_I2CMasterWriteBuf(0x10, (uint8 *)i2c_buf, BUFFER_SIZE, I2CLCD_I2C_MODE_COMPLETE_XFER);
if (i2cstat == I2CLCD_I2C_MSTR_NO_ERROR ) // I2CM_MSTR_NO_ERROR
{
PWR12V_Write( ~PWR12V_Read() );
}
</code>
PWR12V is connected to an LED and it toggles, which tells me there isn't an error from the write buffer command.
Any help is appreciated. I've been banging my head on this for 2 days now...
Dan
Show LessHi all,
I have been reading the 4L Pioneer Kit Schematics and Kit Guide and can not find any information about the CintA1, CintA2, CintB1 and CintB2 capacitors, on the Schematic (screenshot of that section attached) it says i can found information of their purpose on the Kit Guide but i have not been able to do that, maybe i have not search very well 😕 .
I guess those are used for CapSense purposes but i would like to be sure why they are used.
Any help will be appreciated.
Carlos
Show LessI have been developing firmware for a custom device using the CYBLE 022001-00 micro-controller. One of the features I am trying to implement is fixed stack over the air update via BLE. I set the preferred connection parameters to conform to Apple's expectations (outlined here: https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf)
I followed this guide: http://www.cypress.com/file/198301/download
And declared the API functions I needed from the bootloader project as extern. The project builds, and writes to my device just fine, but I can only connect using the CySmart Windows app and the USB dongle. If I attempt to connect using the CySmart iOS app, or my custom iOS app, the connection times out.
The only change I have made to the BLE component in my project since adding OTA is adding the bootloader service, and changing the GAP security settings. Changing the security settings to no encryption and no authentication lets me connect the device to the CySmart iOS app, but I still do not receive GATT notifications.
Any thoughts on what is going on?
My project is larger than 10MB so I am unable to upload it here. Here is a Dropbox link to it instead: https://www.dropbox.com/s/xngy3t0ijg6p70x/Firmware-Cypress.zip?dl=0
Show LessIs there any API or function to access the own public address of a Bluetooth device (in this case a PSoC4 BLE) when working as a server? And if possible also of the client that it is connected to?
I know that the Connection Handle (CYBLE_CONN_HANDLE_T) has a parameter uint8 bdHandle that identifies the peer device connected, but how can I access the public address of this device.
Thank you!
While receiving UART commands, I need to convert strings to numerical values. For example, string "1.23" would produce float number 1.23 using function 'atof()':
V=atof('1.23…');
Unfortunately, in the case of a typo this function will return a valid number also ("0"), which will be passed to the program. For example:
atof('1.$23…')=0, ($ is a typo)
Is there any built-in function to check for valid input number?
regards,
odissey1
Show LessI've tried to speed up the download rate of Bootloader.The code size is ~ 100k It currently takes 3:30 to download the firmware, yielding an effective baud rate of 4000! What can I modify to speed up this process?
Below are my calculations and findings:
download time vs. baud rate settingBaud Rate download time 9600 5:51 19200 4:37 38400 3:35 57600 3:34 115200 3:30 230400 3:30(as you can see, a baud rate setting of 38400 and higher is NOT a limiting factor here)code size: 104906 byteseffective baud rate: (104906 bytes * 8 bits/byte)/(210 seconds) => 3996 baudShow Less
Hi,
Is is possible for a BLE peripheral profile to use APIs to set a Passkey from code (i.e. to a defined code) so that a phone that is pairing with it is prompted to confirm that as the PIN?
Thanks, Dave
Show Less