mirror of https://github.com/ARMmbed/mbed-os.git
General clean-up of unsupported targets
parent
4ae7b0e814
commit
a15f6a43ad
|
@ -33,13 +33,9 @@
|
|||
#else
|
||||
|
||||
#if (MBED_CONF_TARGET_NETWORK_DEFAULT_INTERFACE_TYPE == WIFI) && \
|
||||
!defined(TARGET_UBLOX_EVK_ODIN_W2) && \
|
||||
!defined(TARGET_REALTEK_RTL8195AM) && \
|
||||
!defined(TARGET_MTB_ADV_WISE_1530) && \
|
||||
!defined(TARGET_MTB_USI_WM_BN_BM_22) && \
|
||||
!defined(TARGET_WIO_EMW3166) && \
|
||||
!defined(TARGET_MTB_UBLOX_ODIN_W2) && \
|
||||
!defined(TARGET_UNO_91H)
|
||||
!defined(TARGET_WIO_EMW3166)
|
||||
#error [NOT_SUPPORTED] Wifi tests are not valid for the target
|
||||
#else
|
||||
|
||||
|
|
|
@ -5,13 +5,7 @@
|
|||
"NO_SUPPORT_FOR_IPV4_MULTICAST_FILTER": false
|
||||
},
|
||||
"target_overrides": {
|
||||
"MTB_UBLOX_ODIN_W2": {
|
||||
"NO_SUPPORT_FOR_MULTICAST_FILTER": true
|
||||
},
|
||||
"UBLOX_EVK_ODIN_W2": {
|
||||
"NO_SUPPORT_FOR_MULTICAST_FILTER": true
|
||||
},
|
||||
"MTB_WIO_EMW3166": {
|
||||
"WIO_EMW3166": {
|
||||
"NO_SUPPORT_FOR_IPV4_MULTICAST_FILTER": true
|
||||
},
|
||||
"MTB_ADV_WISE_1530": {
|
||||
|
|
|
@ -13,9 +13,6 @@
|
|||
"platform.stdio-buffered-serial": true,
|
||||
"platform.stdio-flush-at-exit": true,
|
||||
"drivers.uart-serial-rxbuf-size": 768
|
||||
},
|
||||
"UBLOX_EVK_ODIN_W2" : {
|
||||
"target.device_has_remove": ["EMAC"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,17 +42,15 @@ If you only want to run some specific tests, you can use the `-n` option. You ca
|
|||
|
||||
#### Running the tests with a specific test-config
|
||||
|
||||
Some devices may offer multiple network interfaces to operate with. For example, `UBLOX_EVK_ODIN_W2` offers ethernet and Wi-Fi capabilities.
|
||||
|
||||
The tests can be run for either one of those using already existing test-config -files.
|
||||
Some devices may offer multiple network interfaces to operate with. The tests can be run for either one of those using already existing test-config -files.
|
||||
|
||||
To run the tests with the Wi-Fi interface:
|
||||
|
||||
`mbed test -m UBLOX_EVK_ODIN_W2 -t <toolchain> --icetea --test-config tools/test_configs/HeapBlockDeviceAndWifiInterface.json`
|
||||
`mbed test -m <target> -t <toolchain> --icetea --test-config tools/test_configs/HeapBlockDeviceAndWifiInterface.json`
|
||||
|
||||
To run the tests with the ethernet interface:
|
||||
|
||||
`mbed test -m UBLOX_EVK_ODIN_W2 -t <toolchain> --icetea --test-config tools/test_configs/HeapBlockDeviceAndEthernetInterface.json`
|
||||
`mbed test -m <target> -t <toolchain> --icetea --test-config tools/test_configs/HeapBlockDeviceAndEthernetInterface.json`
|
||||
|
||||
#### Providing Wi-Fi access point information
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ class Testcase(Bench):
|
|||
'*': {
|
||||
"count":3,
|
||||
"type": "hardware",
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "UBLOX_EVK_ODIN_W2", "KW41Z"],
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "KW41Z"],
|
||||
"application": {
|
||||
"name": "TEST_APPS-device-nanostack_mac_tester"
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ class Testcase(Bench):
|
|||
'*': {
|
||||
"count":1,
|
||||
"type": "hardware",
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "UBLOX_EVK_ODIN_W2", "KW41Z"],
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "KW41Z"],
|
||||
"application": {
|
||||
"name": "TEST_APPS-device-nanostack_mac_tester"
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ class Testcase(Bench):
|
|||
'*': {
|
||||
"count":3,
|
||||
"type": "hardware",
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "UBLOX_EVK_ODIN_W2", "KW41Z"],
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "KW41Z"],
|
||||
"application": {
|
||||
"name": "TEST_APPS-device-nanostack_mac_tester"
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ class Testcase(Bench):
|
|||
'*': {
|
||||
"count":2,
|
||||
"type": "hardware",
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "UBLOX_EVK_ODIN_W2", "KW41Z"],
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "KW41Z"],
|
||||
"application": {
|
||||
"name": "TEST_APPS-device-nanostack_mac_tester"
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ class Testcase(Bench):
|
|||
'*': {
|
||||
"count":3,
|
||||
"type": "hardware",
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "UBLOX_EVK_ODIN_W2", "KW41Z"],
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "KW41Z"],
|
||||
"application": {
|
||||
"name": "TEST_APPS-device-nanostack_mac_tester"
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ class Testcase(Bench):
|
|||
'*': {
|
||||
"count":2,
|
||||
"type": "hardware",
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "UBLOX_EVK_ODIN_W2", "KW41Z"],
|
||||
"allowed_platforms": ["K64F", "K66F", "NUCLEO_F429ZI", "KW24D", "KW41Z"],
|
||||
"application": {
|
||||
"name": "TEST_APPS-device-nanostack_mac_tester"
|
||||
}
|
||||
|
|
|
@ -113,18 +113,6 @@
|
|||
"SPI_CLK": "D13",
|
||||
"SPI_CS": "D10"
|
||||
},
|
||||
"UBLOX_EVK_ODIN_W2": {
|
||||
"SPI_CS": "D9",
|
||||
"SPI_MOSI": "D11",
|
||||
"SPI_MISO": "D12",
|
||||
"SPI_CLK": "D13"
|
||||
},
|
||||
"MTB_UBLOX_ODIN_W2": {
|
||||
"SPI_CS": "PG_4",
|
||||
"SPI_MOSI": "PE_14",
|
||||
"SPI_MISO": "PE_13",
|
||||
"SPI_CLK": "PE_12"
|
||||
},
|
||||
"RZ_A1H": {
|
||||
"SPI_MOSI": "P8_5",
|
||||
"SPI_MISO": "P8_6",
|
||||
|
@ -161,12 +149,6 @@
|
|||
"SPI_CLK": "p7",
|
||||
"SPI_CS": "p8"
|
||||
},
|
||||
"REALTEK_RTL8195AM": {
|
||||
"SPI_MOSI": "D11",
|
||||
"SPI_MISO": "D12",
|
||||
"SPI_CLK": "D13",
|
||||
"SPI_CS": "D10"
|
||||
},
|
||||
"CC3220SF_LAUNCHXL": {
|
||||
"SPI_MOSI": "D11",
|
||||
"SPI_MISO": "D12",
|
||||
|
|
|
@ -37,12 +37,6 @@
|
|||
"SPI_CLK": "PTD5",
|
||||
"SPI_CS": "PTD4"
|
||||
},
|
||||
"MTB_UBLOX_ODIN_W2": {
|
||||
"SPI_MOSI": "PE_14",
|
||||
"SPI_MISO": "PE_13",
|
||||
"SPI_CLK": "PE_12",
|
||||
"SPI_CS": "PE_11"
|
||||
},
|
||||
"MTB_ADV_WISE_1530": {
|
||||
"SPI_MOSI": "PC_3",
|
||||
"SPI_MISO": "PC_2",
|
||||
|
|
|
@ -1,370 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2018 ARM Limited
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "CordioBLE.h"
|
||||
#include "CordioHCIDriver.h"
|
||||
#include "hci_defs.h"
|
||||
#include "hci_api.h"
|
||||
#include "hci_cmd.h"
|
||||
#include "hci_core.h"
|
||||
#include "bstream.h"
|
||||
#include "wsf_buf.h"
|
||||
#include <stdbool.h>
|
||||
#include "hci_mbed_os_adaptation.h"
|
||||
#include "H4TransportDriver.h"
|
||||
#include "OdinCordioInterface.h"
|
||||
|
||||
namespace ble {
|
||||
namespace vendor {
|
||||
namespace odin_w2 {
|
||||
|
||||
class HCIDriver : public cordio::CordioHCIDriver {
|
||||
public:
|
||||
HCIDriver(cordio::CordioHCITransportDriver &transport_driver, PinName shutdown_name, PinName hci_rts_name) :
|
||||
cordio::CordioHCIDriver(transport_driver),
|
||||
shutdown(shutdown_name, 0),
|
||||
hci_rts(hci_rts_name, 0),
|
||||
service_pack_index(0),
|
||||
service_pack_transfered(false) {
|
||||
};
|
||||
|
||||
virtual cordio::buf_pool_desc_t get_buffer_pool_description();
|
||||
|
||||
virtual void do_initialize();
|
||||
|
||||
virtual void do_terminate();
|
||||
|
||||
virtual void start_reset_sequence();
|
||||
|
||||
virtual void handle_reset_sequence(uint8_t *pMsg);
|
||||
|
||||
private:
|
||||
void start_service_pack_transfer(void)
|
||||
{
|
||||
service_pack_index = 0;
|
||||
service_pack_transfered = false;
|
||||
send_service_pack_command();
|
||||
}
|
||||
|
||||
void send_service_pack_command(void)
|
||||
{
|
||||
uint16_t cmd_len = odin_service_pack[service_pack_index + HCI_CMD_HDR_LEN];
|
||||
cmd_opcode_ack_expected = (odin_service_pack[service_pack_index + 2] << 8) | odin_service_pack[service_pack_index + 1];
|
||||
uint8_t *pBuf = hciCmdAlloc(cmd_opcode_ack_expected, cmd_len);
|
||||
if (pBuf) {
|
||||
memcpy(pBuf, odin_service_pack + service_pack_index + 1, cmd_len + HCI_CMD_HDR_LEN);
|
||||
hciCmdSend(pBuf);
|
||||
} else {
|
||||
printf("Error cannot allocate memory for the buffer");
|
||||
}
|
||||
}
|
||||
|
||||
void ack_service_pack_command(uint16_t opcode, uint8_t *msg)
|
||||
{
|
||||
/* check if response opcode is same as expected command opcode */
|
||||
MBED_ASSERT (cmd_opcode_ack_expected == opcode);
|
||||
|
||||
/* update service pack index */
|
||||
service_pack_index += (1 + HCI_CMD_HDR_LEN + odin_service_pack[service_pack_index + HCI_CMD_HDR_LEN]);
|
||||
|
||||
if (service_pack_index < service_pack_size)
|
||||
send_service_pack_command();
|
||||
else if (opcode == HCID_VS_WRITE_BD_ADDR) {
|
||||
/* send an HCI Reset command to start the sequence */
|
||||
HciResetCmd();
|
||||
service_pack_transfered = true;
|
||||
} else {
|
||||
/* send BT device hardware address write command */
|
||||
send_hci_vs_cmd(HCID_VS_WRITE_BD_ADDR);
|
||||
cmd_opcode_ack_expected = HCID_VS_WRITE_BD_ADDR;
|
||||
}
|
||||
}
|
||||
|
||||
void hci_read_resolving_list_size(void)
|
||||
{
|
||||
/* if LL Privacy is supported by Controller and included */
|
||||
if ((hciCoreCb.leSupFeat & HCI_LE_SUP_FEAT_PRIVACY) &&
|
||||
(hciLeSupFeatCfg & HCI_LE_SUP_FEAT_PRIVACY)) {
|
||||
/* send next command in sequence */
|
||||
HciLeReadResolvingListSize();
|
||||
} else {
|
||||
hciCoreCb.resListSize = 0;
|
||||
|
||||
/* send next command in sequence */
|
||||
hci_read_max_data_len();
|
||||
}
|
||||
}
|
||||
|
||||
void hci_read_max_data_len(void)
|
||||
{
|
||||
/* if LE Data Packet Length Extensions is supported by Controller and included */
|
||||
if ((hciCoreCb.leSupFeat & HCI_LE_SUP_FEAT_DATA_LEN_EXT) &&
|
||||
(hciLeSupFeatCfg & HCI_LE_SUP_FEAT_DATA_LEN_EXT)) {
|
||||
/* send next command in sequence */
|
||||
HciLeReadMaxDataLen();
|
||||
} else {
|
||||
/* send next command in sequence */
|
||||
HciLeRandCmd();
|
||||
}
|
||||
}
|
||||
|
||||
DigitalOut shutdown; // power/shutdown pin for bt device
|
||||
DigitalOut hci_rts; // request to sent pin
|
||||
size_t service_pack_index; // Index of command to be recently sent over hci
|
||||
bool service_pack_transfered; // Flag to notify if service pack is completely transferred or not
|
||||
uint16_t cmd_opcode_ack_expected; // Command against which acknowledgment is expected
|
||||
uint32_t service_pack_size; // size of service pack
|
||||
char *odin_service_pack ; // Service pack needs to be provided by driver
|
||||
vs_cmd_send_t send_hci_vs_cmd ; // callback function to call vendor specific call handler
|
||||
|
||||
};
|
||||
|
||||
} // namespace odin_w2
|
||||
} // namespace vendor
|
||||
} // namespace ble
|
||||
|
||||
|
||||
ble::vendor::cordio::buf_pool_desc_t ble::vendor::odin_w2::HCIDriver::get_buffer_pool_description()
|
||||
{
|
||||
// Use default buffer pool
|
||||
return ble::vendor::cordio::CordioHCIDriver::get_default_buffer_pool_description();
|
||||
}
|
||||
|
||||
void ble::vendor::odin_w2::HCIDriver::do_initialize()
|
||||
{
|
||||
cordio_callback_s callback;
|
||||
|
||||
hci_rts = 1; // Flow Control is OFF
|
||||
|
||||
shutdown = 0; // BT Power is OFF
|
||||
ThisThread::sleep_for(20);
|
||||
shutdown = 1; // BT Power is ON
|
||||
ThisThread::sleep_for(500);
|
||||
|
||||
hci_rts = 0; // Flow Control is ON
|
||||
|
||||
/* ODIN ble driver initialization function */
|
||||
cbCordio_Btinit(&callback);
|
||||
|
||||
odin_service_pack = callback.Service_pack;
|
||||
send_hci_vs_cmd = callback.vs_command_callback;
|
||||
service_pack_size = callback.service_pack_size;
|
||||
}
|
||||
|
||||
void ble::vendor::odin_w2::HCIDriver::do_terminate()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ble::vendor::odin_w2::HCIDriver::start_reset_sequence()
|
||||
{
|
||||
/* Update baudrate of ble to speed up setup time */
|
||||
send_hci_vs_cmd(HCID_VS_UPDATE_UART_BAUD_RATE);
|
||||
|
||||
}
|
||||
|
||||
void ble::vendor::odin_w2::HCIDriver::handle_reset_sequence(uint8_t *pMsg)
|
||||
{
|
||||
uint16_t opcode;
|
||||
static uint8_t randCnt;
|
||||
|
||||
/* if event is a command complete event */
|
||||
if (*pMsg == HCI_CMD_CMPL_EVT) {
|
||||
/* parse parameters */
|
||||
pMsg += HCI_EVT_HDR_LEN;
|
||||
pMsg++; /* skip num packets */
|
||||
BSTREAM_TO_UINT16(opcode, pMsg);
|
||||
pMsg++; /* skip status */
|
||||
|
||||
if (opcode == HCID_VS_UPDATE_UART_BAUD_RATE) {
|
||||
update_uart_baud_rate();
|
||||
start_service_pack_transfer();
|
||||
return;
|
||||
}
|
||||
|
||||
if (service_pack_transfered == false) {
|
||||
ack_service_pack_command(opcode, pMsg);
|
||||
return;
|
||||
}
|
||||
|
||||
/* decode opcode */
|
||||
switch (opcode) {
|
||||
|
||||
case HCI_OPCODE_RESET:
|
||||
/* Send (fast and slow) clock configuration command */
|
||||
send_hci_vs_cmd(HCID_VS_FAST_CLOCK_CONFIG_BTIP);
|
||||
break;
|
||||
|
||||
case HCID_VS_FAST_CLOCK_CONFIG_BTIP:
|
||||
/* Send deep-sleep behavior control command (setting retransmission, inactivity and rts pulse width for Bt) */
|
||||
send_hci_vs_cmd(HCID_VS_HCILL_PARS_CFG);
|
||||
break;
|
||||
|
||||
case HCID_VS_HCILL_PARS_CFG:
|
||||
/* Send sleep mode configuration command */
|
||||
send_hci_vs_cmd(HCID_VS_SLEEP_PROTOCOLS_CFG);
|
||||
break;
|
||||
|
||||
case HCID_VS_SLEEP_PROTOCOLS_CFG:
|
||||
/* initialize rand command count */
|
||||
randCnt = 0;
|
||||
|
||||
/* send next command in sequence */
|
||||
HciSetEventMaskCmd((uint8_t *)hciEventMask);
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_SET_EVENT_MASK:
|
||||
/* send next command in sequence */
|
||||
HciLeSetEventMaskCmd((uint8_t *)hciLeEventMask);
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_SET_EVENT_MASK:
|
||||
/* send next command in sequence */
|
||||
HciSetEventMaskPage2Cmd((uint8_t *)hciEventMaskPage2);
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_SET_EVENT_MASK_PAGE2:
|
||||
/* send next command in sequence */
|
||||
HciReadBdAddrCmd();
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_READ_BD_ADDR:
|
||||
/* parse and store event parameters */
|
||||
BdaCpy(hciCoreCb.bdAddr, pMsg);
|
||||
|
||||
/* send next command in sequence */
|
||||
HciLeReadBufSizeCmd();
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_READ_BUF_SIZE:
|
||||
/* parse and store event parameters */
|
||||
BSTREAM_TO_UINT16(hciCoreCb.bufSize, pMsg);
|
||||
BSTREAM_TO_UINT8(hciCoreCb.numBufs, pMsg);
|
||||
|
||||
/* initialize ACL buffer accounting */
|
||||
hciCoreCb.availBufs = hciCoreCb.numBufs;
|
||||
|
||||
/* send next command in sequence */
|
||||
HciLeReadSupStatesCmd();
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_READ_SUP_STATES:
|
||||
/* parse and store event parameters */
|
||||
memcpy(hciCoreCb.leStates, pMsg, HCI_LE_STATES_LEN);
|
||||
|
||||
/* send next command in sequence */
|
||||
HciLeReadWhiteListSizeCmd();
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_READ_WHITE_LIST_SIZE:
|
||||
/* parse and store event parameters */
|
||||
BSTREAM_TO_UINT8(hciCoreCb.whiteListSize, pMsg);
|
||||
|
||||
/* send next command in sequence */
|
||||
HciLeReadLocalSupFeatCmd();
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_READ_LOCAL_SUP_FEAT:
|
||||
/* parse and store event parameters */
|
||||
BSTREAM_TO_UINT16(hciCoreCb.leSupFeat, pMsg);
|
||||
|
||||
/* send next command in sequence */
|
||||
hci_read_resolving_list_size();
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_READ_RES_LIST_SIZE:
|
||||
/* parse and store event parameters */
|
||||
BSTREAM_TO_UINT8(hciCoreCb.resListSize, pMsg);
|
||||
|
||||
/* send next command in sequence */
|
||||
hci_read_max_data_len();
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_READ_MAX_DATA_LEN:
|
||||
uint16_t maxTxOctets;
|
||||
uint16_t maxTxTime;
|
||||
|
||||
BSTREAM_TO_UINT16(maxTxOctets, pMsg);
|
||||
BSTREAM_TO_UINT16(maxTxTime, pMsg);
|
||||
|
||||
/* use Controller's maximum supported payload octets and packet duration times
|
||||
* for transmission as Host's suggested values for maximum transmission number
|
||||
* of payload octets and maximum packet transmission time for new connections.
|
||||
*/
|
||||
HciLeWriteDefDataLen(maxTxOctets, maxTxTime);
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_WRITE_DEF_DATA_LEN:
|
||||
if (hciCoreCb.extResetSeq) {
|
||||
/* send first extended command */
|
||||
(*hciCoreCb.extResetSeq)(pMsg, opcode);
|
||||
} else {
|
||||
/* initialize extended parameters */
|
||||
hciCoreCb.maxAdvDataLen = 0;
|
||||
hciCoreCb.numSupAdvSets = 0;
|
||||
hciCoreCb.perAdvListSize = 0;
|
||||
|
||||
/* send next command in sequence */
|
||||
HciLeRandCmd();
|
||||
}
|
||||
break;
|
||||
|
||||
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:
|
||||
if (hciCoreCb.extResetSeq) {
|
||||
/* send next extended command in sequence */
|
||||
(*hciCoreCb.extResetSeq)(pMsg, opcode);
|
||||
}
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_RAND:
|
||||
/* check if need to send second rand command */
|
||||
if (randCnt < (HCI_RESET_RAND_CNT - 1)) {
|
||||
randCnt++;
|
||||
HciLeRandCmd();
|
||||
} else {
|
||||
uint8_t addr[6] = { 0 };
|
||||
memcpy(addr, pMsg, sizeof(addr));
|
||||
DM_RAND_ADDR_SET(addr, DM_RAND_ADDR_STATIC);
|
||||
// note: will invoke set rand address
|
||||
set_random_static_address(addr);
|
||||
}
|
||||
break;
|
||||
|
||||
case HCI_OPCODE_LE_SET_RAND_ADDR:
|
||||
/* send next command in sequence */
|
||||
signal_reset_sequence_done();
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ble::vendor::cordio::CordioHCIDriver& ble_cordio_get_hci_driver() {
|
||||
static ble::vendor::cordio::H4TransportDriver transport_driver (/* cbCFG_PIO_PIN_BT_HCI_TX */ PG_14,
|
||||
/* cbCFG_PIO_PIN_BT_HCI_RX */ PC_7,
|
||||
/* cbCFG_PIO_PIN_BT_HCI_CTS */ PG_15,
|
||||
/* cbCFG_PIO_PIN_BT_HCI_RTS */ PG_12,
|
||||
115200);
|
||||
static ble::vendor::odin_w2::HCIDriver hci_driver ( transport_driver,
|
||||
/* cbCFG_PIO_PIN_BT_ENABLE */ PG_7,
|
||||
/* cbCFG_PIO_PIN_BT_HCI_RTS */ PG_12);
|
||||
|
||||
return hci_driver;
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
/* mbed Microcontroller Library
|
||||
* Copyright (c) 2017-2017 ARM Limited
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef ODIN_CORDIO_INTF_H
|
||||
#define ODIN_CORDIO_INTF_H
|
||||
|
||||
#include <stdio.h>
|
||||
#include "cb_main.h"
|
||||
|
||||
/*------------------------------------------------------------------------------
|
||||
* Vendor specific commands opcode
|
||||
* ------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* Command to write hardware address to BT device */
|
||||
#define HCID_VS_WRITE_BD_ADDR 0xFC06
|
||||
|
||||
/* It configures clk parameters for fast and slow clock */
|
||||
#define HCID_VS_FAST_CLOCK_CONFIG_BTIP 0xFD1C
|
||||
|
||||
/* Command to configure stand-by behavior */
|
||||
#define HCID_VS_HCILL_PARS_CFG 0xFD2B
|
||||
|
||||
/* Command to configures the sleep mode */
|
||||
#define HCID_VS_SLEEP_PROTOCOLS_CFG 0xFD0C
|
||||
|
||||
/* Command to Update BT device baudrate */
|
||||
#define HCID_VS_UPDATE_UART_BAUD_RATE 0xFF36
|
||||
|
||||
#define HCI_RESET_RAND_CNT 4
|
||||
|
||||
#endif /* ODIN_CORDIO_INTF_H */
|
|
@ -1,49 +0,0 @@
|
|||
Permissive Binary License
|
||||
|
||||
Version 1.0, September 2015
|
||||
|
||||
Redistribution. Redistribution and use in binary form, without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
1) Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
|
||||
2) Unless to the extent explicitly permitted by law, no reverse
|
||||
engineering, decompilation, or disassembly of this software is
|
||||
permitted.
|
||||
|
||||
3) Redistribution as part of a software development kit must include the
|
||||
accompanying file named "DEPENDENCIES" and any dependencies listed in
|
||||
that file.
|
||||
|
||||
4) Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
Limited patent license. The copyright holders (and contributors) grant a
|
||||
worldwide, non-exclusive, no-charge, royalty-free patent license to
|
||||
make, have made, use, offer to sell, sell, import, and otherwise
|
||||
transfer this software, where such license applies only to those patent
|
||||
claims licensable by the copyright holders (and contributors) that are
|
||||
necessarily infringed by this software. This patent license shall not
|
||||
apply to any combinations that include this software. No hardware is
|
||||
licensed hereunder.
|
||||
|
||||
If you institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the software
|
||||
itself infringes your patent(s), then your rights granted under this
|
||||
license shall terminate as of the date such litigation is filed.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
CONTRIBUTORS "AS IS." ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
|
||||
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
Binary file not shown.
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"name": "bootloader_UBLOX_EVK_ODIN_W2",
|
||||
"target_overrides": {
|
||||
"*": {
|
||||
"target.app_offset": "0x10400",
|
||||
"target.header_offset": "0x10000",
|
||||
"target.bootloader_img": "mbed-bootloader-sotp-v3_4_0.bin"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -156,13 +156,6 @@
|
|||
}
|
||||
},
|
||||
"target_overrides": {
|
||||
"REALTEK_RTL8195AM": {
|
||||
"tcpip-thread-stacksize": 1600,
|
||||
"mem-size": 12800
|
||||
},
|
||||
"UBLOX_EVK_ODIN_W2": {
|
||||
"pbuf-pool-size" : 10
|
||||
},
|
||||
"STM": {
|
||||
"mem-size": 2310
|
||||
},
|
||||
|
|
|
@ -20,8 +20,4 @@
|
|||
#ifndef MBEDTLS_DEVICE_H
|
||||
#define MBEDTLS_DEVICE_H
|
||||
|
||||
#ifdef TARGET_UBLOX_EVK_ODIN_W2
|
||||
#define MBEDTLS_MPI_WINDOW_SIZE 3 /**< Maximum windows size used. */
|
||||
#endif
|
||||
|
||||
#endif /* MBEDTLS_DEVICE_H */
|
||||
|
|
|
@ -35,9 +35,6 @@
|
|||
"DISCO_H747I_CM4": {
|
||||
"storage_type": "TDB_INTERNAL"
|
||||
},
|
||||
"UBLOX_EVK_ODIN_W2": {
|
||||
"storage_type": "TDB_INTERNAL"
|
||||
},
|
||||
"LPC55S69_S": {
|
||||
"storage_type": "TDB_INTERNAL"
|
||||
},
|
||||
|
|
|
@ -209,10 +209,6 @@
|
|||
"crash-capture-enabled": true,
|
||||
"fatal-error-auto-reboot-enabled": true
|
||||
},
|
||||
"UBLOX_EVK_ODIN_W2": {
|
||||
"crash-capture-enabled": true,
|
||||
"fatal-error-auto-reboot-enabled": true
|
||||
},
|
||||
"UBLOX_C030_U201": {
|
||||
"crash-capture-enabled": true,
|
||||
"fatal-error-auto-reboot-enabled": true
|
||||
|
|
|
@ -203,7 +203,7 @@ def test_init_override_app_config(target):
|
|||
mock_json_file_to_dict.assert_any_call(app_config)
|
||||
assert config.app_config_data == mock_return
|
||||
|
||||
@pytest.mark.parametrize("target", ["K64F", "UBLOX_EVK_ODIN_W2"])
|
||||
@pytest.mark.parametrize("target", ["K64F"])
|
||||
@pytest.mark.parametrize("overrides", [
|
||||
{},
|
||||
{"restrict_size": "0x200"},
|
||||
|
|
|
@ -293,7 +293,7 @@
|
|||
"targets" : ["DISCO_F469NI", "DISCO_F746NG", "K66F",
|
||||
"NUCLEO_F429ZI", "NUCLEO_F439ZI", "NUCLEO_F746ZG",
|
||||
"NUCLEO_F756ZG", "NUCLEO_F767ZI",
|
||||
"NUMAKER_PFM_NUC472", "UBLOX_EVK_ODIN_W2"],
|
||||
"NUMAKER_PFM_NUC472"],
|
||||
"toolchains" : [],
|
||||
"exporters": [],
|
||||
"compile" : true,
|
||||
|
@ -307,7 +307,7 @@
|
|||
"sub-repo-example": false,
|
||||
"subs": [],
|
||||
"features" : [],
|
||||
"targets" : ["K64F", "NUCLEO_F429ZI", "UBLOX_EVK_ODIN_W2"],
|
||||
"targets" : ["K64F", "NUCLEO_F429ZI"],
|
||||
"toolchains" : [],
|
||||
"exporters": [],
|
||||
"compile" : true,
|
||||
|
|
|
@ -3,9 +3,6 @@
|
|||
"HEAPBLOCKDEVICE": "HeapBlockDevice.json",
|
||||
"HEAPBLOCKDEVICE_AND_ETHERNET": "HeapBlockDeviceAndEthernetInterface.json",
|
||||
"HEAPBLOCKDEVICE_AND_WIFI": "HeapBlockDeviceAndWifiInterface.json",
|
||||
"ODIN_WIFI" : "OdinInterface.json",
|
||||
"ODIN_ETHERNET" : "Odin_EthernetInterface.json",
|
||||
"REALTEK_WIFI" : "RealtekInterface.json",
|
||||
"ESP8266_WIFI" : "ESP8266Interface.json",
|
||||
"ISM43362_WIFI" : "ISM43362Interface.json",
|
||||
"IDW0XX1_WIFI" : "SpwfSAInterface.json",
|
||||
|
@ -14,6 +11,5 @@
|
|||
"THREAD_END_DEVICE" : "ThreadInterface_end_device.json",
|
||||
"THREAD_ROUTER" : "ThreadInterface_router.json",
|
||||
"NO_NETWORK": "no_network.json",
|
||||
"NANOSTACK_MAC_TESTER": "NanostackMACTester.json",
|
||||
"CC3220SF_WIFI": "CC3220SFInterface.json"
|
||||
"NANOSTACK_MAC_TESTER": "NanostackMACTester.json"
|
||||
}
|
||||
|
|
|
@ -1,14 +1,4 @@
|
|||
{
|
||||
"UBLOX_EVK_ODIN_W2": {
|
||||
"nsapi.socket-stats-enable": true,
|
||||
"default_test_configuration": "NONE",
|
||||
"test_configurations": ["HEAPBLOCKDEVICE_AND_WIFI", "HEAPBLOCKDEVICE_AND_ETHERNET"]
|
||||
},
|
||||
"REALTEK_RTL8195AM": {
|
||||
"nsapi.socket-stats-enable": true,
|
||||
"default_test_configuration": "NONE",
|
||||
"test_configurations": ["HEAPBLOCKDEVICE_AND_WIFI"]
|
||||
},
|
||||
"K64F": {
|
||||
"nsapi.socket-stats-enable": true,
|
||||
"default_test_configuration": "HEAPBLOCKDEVICE_AND_ETHERNET",
|
||||
|
@ -29,11 +19,6 @@
|
|||
"default_test_configuration": "NONE",
|
||||
"test_configurations": ["ISM43362_WIFI"]
|
||||
},
|
||||
"MTB_UBLOX_ODIN_W2": {
|
||||
"nsapi.socket-stats-enable": true,
|
||||
"default_test_configuration": "NONE",
|
||||
"test_configurations": ["HEAPBLOCKDEVICE_AND_WIFI"]
|
||||
},
|
||||
"MTB_ADV_WISE_1530": {
|
||||
"nsapi.socket-stats-enable": true,
|
||||
"default_test_configuration": "NONE",
|
||||
|
@ -66,10 +51,5 @@
|
|||
"TB_SENSE_1": {
|
||||
"default_test_configuration": "NO_NETWORK",
|
||||
"test_configurations": ["6LOWPAN_HOST", "6LOWPAN_ROUTER", "THREAD_END_DEVICE", "THREAD_ROUTER"]
|
||||
},
|
||||
"CC3220SF": {
|
||||
"nsapi.socket-stats-enable": true,
|
||||
"default_test_configuration": "CC3220SF_WIFI",
|
||||
"test_configurations": ["CC3220SF_WIFI"]
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue