Commit Graph

13 Commits (d6323700d9a92b44e63d8bdb30c38b625f59b17f)

Author SHA1 Message Date
nazar.palamar b245445ecb Addressed code review comments: 1. remove bt_power member from HCIDriver class; 2. set PullUp for bt_power in CyH4TransportDriver; 3. cleanup code: replace tabs to 4 spaces 2021-08-13 17:25:14 +03:00
nazar.palamar c2f7a9539b Update of BT power up sequences to remove redundant delay (500ms) in BT_POWER operation during HCIDrive initialization.
Current BT_POWER sequence:
1. BT_POWER=0  ( from CyH4TransportDriver::initialize)
2. delay 1ms   ( from CyH4TransportDriver::initialize)
3. BT_POWER=1  ( from CyH4TransportDriver::initialize)
4. delay 500ms (from HCIDriver::do_initialize)
5. BT_POWER=1  (from HCIDriver::do_initialize)
6. delay 500ms (from HCIDriver::do_initialize)

updates:
1. remove 4) and 5)
2. keep all BT_POWER operations in one place. The best logic place is CyH4TransportDriver::initialize.

So finally the BT_POWER sequences should looks like:
1. BT_POWER=0  ( from CyH4TransportDriver::initialize)
2. delay 1ms   ( from CyH4TransportDriver::initialize)
3. BT_POWER=1  ( from CyH4TransportDriver::initialize)
4. delay 500ms ( from CyH4TransportDriver::initialize)
2021-08-13 17:25:12 +03:00
nazar.palamar 1d6843e538 Fixed MCU deep-sleep locking flow in CYW43XXX Cordio HCI driver. The CYW43XXX Cordio HCI driver incorrect handles lock/unlock deep-sleep entry, as results it allows to put PSoC6 in to deep-sleep when CYW43xx does not expect this (the host_wake_up pin in ACTIVE_LOW state, which means hat host must be in ACTIVE mode ).
Now, CYW43XXX Cordio HCI driver has the following MCU deep-sleep locking scenarios/flows:
a) A BT device or MCU does not support Low Power mode (MBED configuration does not include MBED_TICKLESS, DEVICE_SLEEP, DEVICE_LPTICKER or CYCFG_BT_LP_ENABLED features). In this case, CyH4TransportDriver locks deep-sleep in the initialize() function and unlocks the terminate() function.

b) A BT device and MCU support Low Power mode. In this case, the control of the unlock/lock of the deep-sleep functionality will be done in bt_host_wake_rise_irq_handler and bt_host_wake_fall_irq_handler handlers. Finally, CyH4TransportDriver unlocks the deep-sleep in terminate() function (if it was locked before) by checking the bt_host_wake_active flag.

Fixes #13076, #13700, #13295.
2021-08-06 16:41:24 +03:00
pennam dc4fb8d74b Use fixed wait time 2021-07-07 09:24:39 +02:00
Martino Facchin c0a8e41719 CYW43XXX: Add generic transport layer 2021-03-11 15:43:28 +01:00
Wheeler Keith (CY CSS ICW Integration) 1e56565692 Clean up from 2 Dec review 2020-12-03 20:33:58 -08:00
Wheeler Keith (CY CSS ICW Integration) 3445eb2cc8 Shifting BT power pin references to mbed style in transport ccriver and cy_bt_cordio_cfg; removing freeing of dev wake pin and changing to deasserting this during terminate 2020-12-03 20:33:56 -08:00
Wheeler Keith (CY CSS ICW Integration) 4d70877b35 Removing 500ms delay inCyH4TransportDriver init; fixing warning about order of BT POWER in declarations 2020-12-03 20:33:54 -08:00
Dustin Crossman 0e6ede86de Convert cyhal_gpio calls to mbed equivalent. 2020-12-03 20:33:52 -08:00
Wheeler Keith (CY CSS ICW Integration) 389ed278c9 Working on changes from code review 2020-12-03 20:33:50 -08:00
Wheeler Keith (CY CSS ICW Integration) 47aab97d16 Moving UART init from construtor to init method; altering init method to reset BT device via regulator control; modifications to terminate method 2020-12-03 20:33:49 -08:00
Keith Wheeler bf7adcf0d2 Adding to BLE terminate method code that releases the UART and disables interrupts and GPIO 2020-12-03 20:33:47 -08:00
Paul Szczeanek b6db853e16 backwards compatiblity with mbed build tools 2020-08-07 14:53:28 +01:00