PSoC™ 4 Forum Discussions
Hi, how can i find the HID Keyboard example? Is that a project presented by Cypress?
Hi all, I'm working with the PSOC 4000s and noticed an interesting comment in the Bootloader v1.5 component datasheet. A screenshot is attached.
According to the table, supported IO interfaces for Bootloader component on PSOC 4000 is "Software Transmit UART only". UART is the primary physical comms interface on my hardware platform.
Transmit-only component doesn't make sense to me, data should flow from Host computer/device to target PSOC device w/ Bootloader (i.e. UART Rx minimum). When building Bootloader component w/ SW Transmit UART component, PSOC Creator will complain as expected due to limited IO. However my bootloader project builds fine w/ a standard SCB UART component.
Is UART a valid option w/ bootloader for PSOC 4000s? The goal is creating a single-application bootloader + 1 bootloadable image, to support in-the-field updates on bootloadable.
Thanks!
Show LessI'm having trouble sending capsense trackpad data over I2C. I am using CY8CKIT-041 and would like to send the capsense trackpad data collected by CY8C4045AZI-S413 to the CYBLE-022001-00 over I2C. I would then like to send data out over HOGP but am having trouble setting all of this up.
I currently have an immediate alert service working where I can toggle the alert service in the CYSmart app, the data is received by the CYBLE-022001-00 and an I2C-BLE bridge sends the alert data to the CY8C4045AZI-S413 which in turn toggles a RGB LED depending on which of the 3 alert signals it received. I have attached the code I have pieced together. I am a C novice and any help you can provide would be appreciated in helping me get the HID-BLE Mouse working. Thanks.
Show LessI'm running the fixed stack OTA update example code, no changes. Let's say I do one over the air update to change the LED from blinking red to blinking green. If then I try and do another OTA update to change it back from green to red, the bootloader doesn't start. How can I make it so the bootloader still runs after the first OTA update? I would like to do consecutive OTA updates an arbitrary number of times. Please help. Thanks.
Show LessDear all,
I am currently connected optical sensor to the BLE device and apply the code in link 1. (The optical sensor senses how strong the light and represent it as a square wave and send it to the BLE device). Then I installed the Cysmart android app from the market and was able to obtain the frequency value on my phone from the BLE device. And I want to write an android app that is able to use the value obtained and do some calculations to it on the android device (maybe the user wants to add their own desire value to the result and display a new value etc). The problem is how am I able to achieve that, how can I obtain the value from the BLE device?
P.S: I was also watching https://www.youtube.com/watch?v=yTnsV_J57i8&t, but unable to find a solution to my question.
Show LessHello everyone,
To summarize :
I have a project where the BLE device have to get data from UART, handle it, then send data through BLE to an app Phone (and same thing in the other way).
In my project I have to be able to wake up the BLE device with UART and then handle the data.
The problem is that data received is not consistent (and it is when I don't activate deepsleep).
Il followed instructions in page 171 of SCB_P4_v3_20, because wake up source is not only UART, but BLE too :
Then to test it I send data with a dummy byte (the uart should wake up during it) followed by some other bytes.
And the program resend data through UART.
So i expected to receive the same data I send without the dummy byte. But not at all. (it seems that the second byte play a role too, with something else than 0x01, like 0xAA up to the 4 first bytes can be wrong.., but i don't see why because the UART is supposed to synchronize on the start bit of the next byte, so the data have no role to play)
Enable or disable skipstart seems to change nothing.
I am not sure to handle correctly the lowpower process..
I tried the project on some hardware : PSOC4, and an other PRoC.
In attachement, in UartData.png : in blue what is send, in red what is receive
Here in attachements the projects files (based on Capsense slider project).
Thanks for your help.
Show LessHi,
I am new to the forum so go please go easy on me. I am working on a BLE project which involves sending the 12 bit ADC readings of ten bend sensors out over a uint8[20] array. I am successfully receiving the adc readings on the receiver. But as the ADC readings are transmitted over a uint8 array, the LSB of each reading always arrives first in my receive array. What I want to is to switch the position of the LSB and MSB in the array and add them together so as i can transmit the results over a UART connection. I hope this makes sense and any help would be greatly appreciated.
Show Lesshello, I need to know the maximum distance between a smartphone and a EZ-BLE, with the following Configuration :
-
EZ-BLE only transmitter
-
smartphone with Android only receiver
thanks for your help, Forgive that I do not speak English good.
Show LessHi I am reading keyboard.c of CY5672 Demo code, and feel a little confuse. could anyone explain the code below?
since,
index = i+j*8*ROWS;
NO_COLUMN_PORTS=1,
ROWS=3,
why in Keyboard_Add_Queue(index);,static KeyElement keyQueue[KEY_QUEUE_LEN]; keyQueue is defined with length of 18? what is the purpose of the definition of index?
static void Keyboard_Detect_Keys(void)
{
uint8 i, j, index, col, p_col;
/*By checking row by column key status detect which key is pressed or released*/
for(i=0;i<ROWS;i++)
{
/*Check for any Ghost key detected*/
if(!Keyboard_Detect_Ghost(i))
{
for(j=0;j<NO_COLUMN_PORTS;j++)
{
index = i+j*8*ROWS;
#if (NO_COLUMN_PORTS > 1)
col = (curColumnStatus
p_col = (col & prevColumnStatus
col = (col & curColumnStatus
#else
col = (curColumnStatus ^ prevColumnStatus);
p_col = (col & prevColumnStatus);
col = (col & curColumnStatus);
#endif /* (NO_COLUMN_PORTS > 1) */
while((col != 0) || (p_col != 0))
{
/*If column value is 1 then update Keyboard queue with index*/
if(col & BIT_0_MASK)
{
Keyboard_Add_Queue(index);
}
/*If previous column value is 1 then update un-pressed status for status change
in column*/
if(p_col & BIT_0_MASK)
{
Keyboard_Update_Release_Key_State(index);
}
index+=ROWS;
col = col>>BIT_1_POSITION;
p_col = p_col>>BIT_1_POSITION;
}
#if (NO_COLUMN_PORTS > 1)
prevColumnStatus
#else
prevColumnStatus = curColumnStatus;
#endif /* (NO_COLUMN_PORTS > 1) */
}
}
}
}
i develop my custom boot loader which work on .cyacd format (as api for writing data in flash is only for row).i dont want to use bootloader or bootloadable component.so how can i generate .cyacd file?
Show Less