PSoC™ 4 Forum Discussions
Hello,
can me somebody help, please?My problem:
I need send maximum packet - it is 512byte - in one MTU .
I found this document:
http://www.cypress.com/knowledge-base-article/maximum-packet-size-according-mtu-kba203312
So, for my dates remain 509 (= 512 - 3) bytes. But in Profiles - I have have the Custom charakteristics with the field - uint8[]. Which length of field has to be? 509bytes?
Thank you
Show LessMy project doesn't fit into the UDBs. The workaround with the control file doesn't work as mentioned. Any idea?
The placer is not able to place all of the carry chains without backtracking. It fills one UDB bank to 15/16 and the other to 7/8 and cannot place the final 2-datapath chain. As a workaround, add a control file to the TopDesign component (in Workspace Explorer's Components tab) with the following lines: ATTRIBUTE placement_force OF \Timer_ADPActiveTime:TimerUDB:sT16:timerdp:u0\ : LABEL IS "U(2,0)"; ATTRIBUTE placement_force OF \Timer_OutputPeriod:TimerUDB:sT24:timerdp:u0\ : LABEL IS "U(3,1)"; ATTRIBUTE placement_force OF \Timer_OutputActiveTime:TimerUDB:sT24:timerdp:u0\ : LABEL IS "U(0,1)"; This will fill the datapaths in the second UDB bank and allow the placer to assign the remaining datapaths.
Show LessHello, I have just received my CY5672 remote control kit. When plugging in the CySmart USB dongle for the first time a series of drivers were installed, however Windows update failed to find the driver for a device labelled as USBUART. I've tried uninstalling and reinstalling this device but no luck and the CySmart software can't locate the dongle. The quick start guide seems to suggest the drivers should be installed automatically but as this isn't working is there somewhere I can download the driver so I can install it manually? I am using Windows 7.
Thanks in advance.
Show LessHi all
Has anyone seen the following stack trace in the PSoC Creator 3.3 Call Stack window. Ignore lines 13 thru 17 as they are specific to my code.
0 IntDefaultHandler() .\Generated_Source\PSoC4\Cm0Start.c 123 0x00004940 (All)
1 <signal handler called>() ?????? ?????? 0xFFFFFFF9 (All)
2 llh_clear_ack() ?????? ?????? 0x0001060E (All)
3 ll_process_acks() ?????? ?????? 0x0000E69E (All)
4 ll_handle_conn_interrupt() ?????? ?????? 0x0000F588 (All)
5 ll_decode_interrupt_type() ?????? ?????? 0x00012310 (All)
6 ll_task_handler() ?????? ?????? 0x0001234C (All)
7 llft_service_queue() ?????? ?????? 0x00013FFA (All)
8 llf_task_start_routine() ?????? ?????? 0x00013F52 (All)
9 CyBle_StackTaskHandler() ?????? ?????? 0x0000C734 (All)
10 OS_scheduler() ?????? ?????? 0x0000D61E (All)
11 CyBleStackMgr_ProcessBleEvents() ?????? ?????? 0x0000C1CA (All)
12 CyBle_ProcessEvents() ?????? ?????? 0x0000BD1C (All)
13 HalBleProcessEvents() ..\Source\ClientSource\Hal_BLE\HalBle_Client.c 570 0x00003AB4 (All)
14 SystemBleProcessEvents() ..\Source\ClientSource\System_Interface\SystemBleInterface_Client.c 71 0x00000590 (All)
15 SYSTEM_BOOTLOADER_doRecurringActions() ..\Source\ClientSource\System_Interface\SystemStateControl_Client.c 1161 0x00001834 (All)
16 SystemStateControl_Client() ..\Source\ClientSource\System_Interface\SystemStateControl_Client.c 194 0x00000B8A (All)
17 main() ..\Source\ClientSource\Application\BLE_UART_Client.c 21 0x000002AC (All)
The issue I am having is that my OTA Firmware application will randomly fail (1 in 8 times approximately) and the BLE Client will be locked in the IntDefaultHandler() routine.
The sequence is as follows:
- Windows application reads .cyacd line.
- Windows application sends the queue command and data via UART to Client (CY8C4248LQI-BL583).
- Client device uses "CyBle_GattcWriteLongCharacteristicValues" to write to Server Device (CY8C4248LQI-BL583).
- Server device actions the command.
- Windows application sends the program command and data via UART to Client.
- Client device uses "CyBle_GattcWriteLongCharacteristicValues" to write to Server Device.
- Server device actions the command.
- Windows application sends the verify command and data via UART to Client.
- Server Device actions the command.
- Repeat for next .cyacd line.
I get the failure after I write either the queue or the program command, so it looks like it is during the period that the BLE stack is sending the data to the server.
I know the Server side is working correctly as I can use the CySmart 1.2 tool to update the server firmware.
Thanks
John
Show Lessin http://www.cypress.com/go/AN92584 I read this :
The BLESS DEEPSLEEP and SLEEP modes are entered under application control. The exit may be initiated in one of two ways:
o The application calls the CyBle_EnterLPM() function with the input parameter as ACTIVE.
I can`t find ANY example of calls the CyBle_EnterLPM() function with the input parameter as ACTIVE.
Please help.
Show LessAs we know, these chips dont have any Low Voltage Detection (which is a poor omission IMHO).
In a device which has a built-in battery, care needs to be taken to ensure the code does not get stuck when the battery gets low, meaning that the device still will not operate when the battery is charged again.
Its possible to implement a battery voltage monitor by using an ADC but this does not seem to be a very reliable method, and seems wasteful of battery power to do this check on a regular basis. The device would need to be woken the the check made and put to sleep again if still OK.
I am wondering what others have done, Is it reliable to simply rely on the watchdog timer, or would there be timing holes during which the watchdog would not fire and reset the code if it crashes owing to low battery? I am not sure what exactly happens to the CPU when a low voltage condition exists. Maybe there is no need to worry about this situation at all.
Or does the radio drop out first? Any thoughts welcome.
Show LessI am running the Cysmart app on both an iPhone and a Nexus 4. On the iPhone my PSoC BLE device is found every time, with each refresh. On Android it only finds it only rarely. Since I would like to start Android development I would like to get this working first.
Edit-> the issues seem to be associated with the Nexus 4, I have a Nexus 6 that works fine.
Any idea why there is the difference?
Rich
Show LessHello,
For a new project, i need to develop a Bluetooth HID Keyboard, so i searched for the good controller.
I found BCM20735 and BCM20733 are good for making HID keyboard, to connect directly a keyboard matrix.
The problem is that i can't find much help for these products like a developement kit, hardware and routing preconisation and, more important, code example to scan a matrix and get a HID Bluetooth keyboard recognized by the host.
Many thanks in advance for your help,
Best Regards,
Benjamin Recoules
Show LessHi,
Have been working with the 41-40xx kit, i would like to read the voltage on the onboard potentiometer and printing the result via UART on the PC.
I'm following a code example that does this, so i created a new project and added the components on the schematic, assigned the pins, incremented heap size and placing the -u_printf_float flag on the linker, also enabling the nano lib.
Then started to write the C code but when i call the CapSense_ADC_Start() function, the project doesn't run (the red LED doesn't blink), when i comment that CapSense_ADC_Start() function the project works as expected (a blinky red LED).
I had changed the stack size to 0x200 (previously it had 0x400, the example code have 0x200).
Attached is the project if someone like to take a look and maybe spot my error.
Carlos
Show LessHello,
Using CYBLE-022001-00, EZ-BLE™ PROC™ Module. I am able to use the code provided with AN86233 (PSoC® 4 Low-Power Modes and Power Reduction Techniques) and get good results. However, the app note design contains almost no components. When I add a UART component (PSoC 4 SCB component, configured for UART). The Hibernate current goes from next-to-nothing to 200uA. I have tried the following APIs before entering Hibernate but nothing seems to make much difference.
UART_Stop();
CySysClkEcoStop();
CySysPmFreezeIo();
UART_rx_wake_SetDriveMode(UART_rx_wake_DM_DIG_HIZ);
UART_tx_SetDriveMode(UART_tx_DM_DIG_HIZ);
I also switched the debug interface from SWD to GPIO.
My question is, what do I need to do before calling CySysPmHibernate() to get something more in the 200nA range and not 200uA with a SBC in the design?
Thanks in advance!
Mark
Show Less