Skip to content

BLE: update Cordio link layer to 19.2 #10272

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
890551a
Baseline legacy build using 14.2 drivers.
TacoGrandeTX Jun 26, 2018
a21e4e4
Mods for baseline 15.0 support
TacoGrandeTX Jun 26, 2018
ed4799c
Bringing in Softdevice but excluding BLE feature and improvements in …
TacoGrandeTX Jul 9, 2018
365add4
First porting effort covered by JIRA IOTDEV-1572:
TacoGrandeTX Jul 26, 2018
b0f5f06
Ported analogin and pwm_out for IOTDEV-1573.
TacoGrandeTX Aug 8, 2018
3b7432b
Updates to PWM for IOTDEV-1573
TacoGrandeTX Aug 23, 2018
8633087
serial_api: Fixes to compile with SDK15.0
Aug 19, 2018
5643d71
serial_api: add changes to port from Softdevice 14.2 to 15.0
Aug 16, 2018
cce4399
Nordic sdk_config: Configure UART instances
Aug 24, 2018
18d307d
serial_api: Fix the interrupt registration for Nordic Serial Device
Aug 24, 2018
5ebe9c9
Updates for IOTDEV-1575 and nRF52_DK builds
TacoGrandeTX Sep 21, 2018
e0a2a27
Updates for IOTDEV-1576 (only TRNG API)
TacoGrandeTX Oct 5, 2018
4a7027b
NRF52: spi_api: port from Softdevice 14.2 to 15.0
Aug 14, 2018
6752ae7
NRF52: i2c_api: port from Softdevice 14.2 to 15.0
Aug 13, 2018
44ac5db
NRF: enable PRS (Peripheral Resource Sharing) for NRF52832 and NRF52840
Sep 28, 2018
8313a2d
NRF52832: enable UART
Sep 27, 2018
d613667
nRF52832 needs NRFX_RNG_ENABLED to use the legacy driver
TacoGrandeTX Oct 8, 2018
6579b56
nRF52_DK: Use mbed_lib.json to set app_offset (MBED_APP_START)
TacoGrandeTX Oct 16, 2018
1987142
NRF52: Fix vector table
Sep 26, 2018
2cffbd2
Updates after rebase with Mbed master (circa OS v5.10.1)
TacoGrandeTX Oct 16, 2018
6dae896
Fix build for nRF51 (fewer common files with nRF52)
TacoGrandeTX Oct 22, 2018
31be9c3
Remove dead #define PORT_SHIFT
TacoGrandeTX Oct 22, 2018
30308eb
Add missing SoftDevice build support (MBR, NONE, OTA)
Oct 29, 2018
2f730cf
Revert "NRF52: Fix vector table"
TacoGrandeTX Nov 14, 2018
4e911bd
Cleanup for feature release
TacoGrandeTX Nov 15, 2018
b017717
Enabling NRFX_PPI_ENABLED for serial_api updates
TacoGrandeTX Dec 6, 2018
cf680ba
Changes required for rebase:
TacoGrandeTX Dec 6, 2018
4638d8c
Set the PWM clock prescaler back to default (1MHz clock)
TacoGrandeTX Dec 6, 2018
75847c4
NRF52: serial: fix build warnings
Dec 7, 2018
439ec68
NRF52: Cleanup unused code
Dec 7, 2018
3cfc2ef
Fix timer1 irq configuration
desmond-blue Dec 13, 2018
036bbd9
Update BLE SoftDevice from SDK14 to SDK15
desmond-blue Dec 9, 2018
e381832
Fix SoftDevice configuration on NRF52_DK
desmond-blue Dec 14, 2018
22a425e
Remove duplicate file
TacoGrandeTX Dec 18, 2018
d457c7b
Remove RTC from nRF52840_DK and DELTA_DFCM_NNN50 (was testing)
TacoGrandeTX Dec 18, 2018
d953760
Update file header at TARGET_NRF52 level
TacoGrandeTX Dec 19, 2018
8125d96
Add BLE feature to mbed_lib.json of SoftDevice
desmond-blue Dec 19, 2018
0a55865
NRF52: reloc_vector_table: check the RTS pin settings in code
Jan 12, 2019
4f36cd6
Fix nrf section iter macro check
desmond-blue Jan 24, 2019
9811f54
Rebase to master in preparation for v5.12.0
TacoGrandeTX Mar 4, 2019
b6804a9
Update QSPI in the SDK to support long frame mode
TacoGrandeTX Mar 5, 2019
7a6a612
Fix SOFTDEVICE_NONE builds and clean up
TacoGrandeTX Mar 5, 2019
3fa7686
Fix preprocessor conditionals for AC6 build
TacoGrandeTX Mar 6, 2019
4bce13b
cordi link layer 19.02 sources added
paul-szczepanek-arm Mar 6, 2019
03a6204
cordio LL adaptation and config
paul-szczepanek-arm Mar 6, 2019
13a5fc8
add doxygen
paul-szczepanek-arm Mar 7, 2019
ba74310
move config to nordic ll
paul-szczepanek-arm Mar 7, 2019
9ddc339
move nordic ll to target nordic
paul-szczepanek-arm Mar 7, 2019
c40f853
change tick rate to 1 ms
paul-szczepanek-arm Mar 7, 2019
0711411
handle all types
paul-szczepanek-arm Mar 8, 2019
18bf037
cleanup json
paul-szczepanek-arm Mar 8, 2019
56f3344
translate hci types
paul-szczepanek-arm Mar 8, 2019
e5ce7cd
use pal version of load bd address
paul-szczepanek-arm Mar 11, 2019
25ef7c7
service immediately after sending
paul-szczepanek-arm Mar 11, 2019
8dcc52d
wsf buffer transfers owenrship to controller
paul-szczepanek-arm Mar 12, 2019
b96c0ac
handle extended reset
paul-szczepanek-arm Mar 12, 2019
bde98bc
use TIMER2 instead
paul-szczepanek-arm Mar 19, 2019
4699de9
update LL runtime config to new version
paul-szczepanek-arm Mar 28, 2019
bb25fb3
fix releaseing the WSF msg too early
paul-szczepanek-arm Mar 28, 2019
44ae526
review comments addressed
paul-szczepanek-arm Apr 1, 2019
900443c
zero copy HCI as a config option
paul-szczepanek-arm Apr 1, 2019
19fce04
configs in mbed json
paul-szczepanek-arm Apr 2, 2019
d394961
removed stray comma
paul-szczepanek-arm Apr 8, 2019
d04540b
remove usage of gpio and leds from nordic cordio LL as it interferes …
paul-szczepanek-arm Apr 17, 2019
f1f6c79
license updated
paul-szczepanek-arm Apr 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ void CordioHCIDriver::handle_reset_sequence(uint8_t *pMsg)
case HCI_OPCODE_LE_WRITE_DEF_DATA_LEN:
if (hciCoreCb.extResetSeq) {
/* send first extended command */
(*hciCoreCb.extResetSeq)(pMsg, opcode);
HciReadLocalVerInfoCmd();
} else {
/* initialize extended parameters */
hciCoreCb.maxAdvDataLen = 0;
Expand All @@ -237,6 +237,7 @@ void CordioHCIDriver::handle_reset_sequence(uint8_t *pMsg)
}
break;

case HCI_OPCODE_READ_LOCAL_VER_INFO:
case HCI_OPCODE_LE_READ_MAX_ADV_DATA_LEN:
case HCI_OPCODE_LE_READ_NUM_SUP_ADV_SETS:
case HCI_OPCODE_LE_READ_PER_ADV_LIST_SIZE:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ class CordioHCITransportDriver {
* packet, ACL packet or EVT packet. Depending on the type of transport
* it can prefix the packet itself.
* @param len Number of bytes to transmit.
* @param pData pointer to the data to transmit.
* @param pData Pointer to the data to transmit. This is an WSF buffer
* and if CORDIO_ZERO_COPY_HCI is enabled we receive ownership.
*
* @return The number of bytes which have been transmited.
*/
Expand Down
1 change: 1 addition & 0 deletions features/FEATURE_BLE/targets/TARGET_CORDIO/mbed_lib.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"name": "cordio",
"macros": [ "WSF_MS_PER_TICK=1" ],
"config": {
"max-connections": {
"help": "Maximum number of connections",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,12 @@ void hciTrSendAclData(void *pContext, uint8_t *pData)
/* transmit ACL header and data */
if (hciDrvWrite(HCI_ACL_TYPE, len, pData) == len)
{
/* free buffer */
hciCoreTxAclComplete(pContext, pData);
#if CORDIO_ZERO_COPY_HCI
/* pData is not freed as the hciDrvWrite took ownership of the WSF buffer */
#else
/* free buffer */
WsfMsgFree(pData);
#endif // CORDIO_ZERO_COPY_HCI
}
}

Expand All @@ -80,7 +84,7 @@ void hciTrSendAclData(void *pContext, uint8_t *pData)
*
* \brief Send a complete HCI command to the transport.
*
* \param pData WSF msg buffer containing an HCI command.
* \param pData WSF msg buffer containing an HCI command. WSF buffer ownership is released by this function.
*
* \return None.
*/
Expand All @@ -98,8 +102,12 @@ void hciTrSendCmd(uint8_t *pData)
/* transmit ACL header and data */
if (hciDrvWrite(HCI_CMD_TYPE, len, pData) == len)
{
/* free buffer */
WsfMsgFree(pData);
#if CORDIO_ZERO_COPY_HCI
/* pData is not freed as the hciDrvWrite took ownership of the WSF buffer */
#else
/* free buffer */
WsfMsgFree(pData);
#endif // CORDIO_ZERO_COPY_HCI
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"name": "cordio-ll-nrf52840",
"config": {
"phy-coded-support": {
"help": "Coded PHY supported.",
"value": 1
},
"extended-advertising-size": {
"help": "Maximum extended advertising data (and scan data response) size",
"value": 1650
},
"max-acl-size": {
"help": "Maximum ACL buffer size",
"value": 512
},
"tx-buffers": {
"help": "Default number of send buffers",
"value": 16
}
}
}
55 changes: 55 additions & 0 deletions features/FEATURE_BLE/targets/TARGET_CORDIO_LL/mbed_lib.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"name": "cordio-ll",
"config": {
"max-advertising-sets": {
"help": "Maximum number of advertising sets.",
"value": 4
},
"max-advertising-reports": {
"help": "Maximum number of pending legacy or extended advertising reports.",
"value": 8
},
"default-extended-advertising-framentation-size": {
"help": "Default extended advertising data fragmentation size.",
"value": 64
},
"max-scan-request-events": {
"help": "Maximum scan request received events.",
"value": 4
},
"phy-2m-support": {
"help": "2M PHY supported.",
"value": 1
},
"rx-buffers": {
"help": "Default number of receive buffers.",
"value": 8
},
"phy-coded-support": {
"help": "Coded PHY supported.",
"value": 0
},
"extended-advertising-size": {
"help": "Maximum extended advertising data (and scan data response) size",
"value": 128
},
"max-acl-size": {
"help": "Maximum ACL buffer size",
"value": 256
},
"tx-buffers": {
"help": "Default number of send buffers",
"value": 8
},
"handle-vendor-specific-hci-commands": {
"help": "Handle VS HCI commands. Valid values are 0 (ignore) and 1 (handle).",
"value": 0,
"macro_name": "LHCI_ENABLE_VS"
},
"uart-hci": {
"help": "Does the board have a UART HCI. Valid values are 0 and 1 (must provide UART through PAL).",
"value": 0,
"macro_name": "CHCI_TR_UART"
}
}
}
Loading