Mbed OS Reference
Loading...
Searching...
No Matches
NRFCordioHCITransportDriver.h
1/* mbed Microcontroller Library
2 * Copyright (c) 2017-2018 ARM Limited
3 * SPDX-License-Identifier: Apache-2.0
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef NRF_CORDIO_HCI_TRANSPORT_DRIVER_H_
19#define NRF_CORDIO_HCI_TRANSPORT_DRIVER_H_
20
21#include "ble/driver/CordioHCITransportDriver.h"
22
23namespace ble {
24
25
26/**
27 * Nordic port of CordioHCITransportDriver
28 */
30public:
31 /**
32 * Driver destructor.
33 */
35
36 /**
37 * Inialization of the transport.
38 */
39 virtual void initialize();
40
41 /**
42 * termination of the transport.
43 */
44 virtual void terminate();
45
46 /**
47 * Write data in the transport channel.
48 *
49 * @param type The type of packet to transmit. It might be an HCI command
50 * packet, ACL packet or EVT packet. Depending on the type of transport
51 * it can prefix the packet itself.
52 * @param len Number of bytes to transmit.
53 * @param pData Pointer to the data to transmit. This is an WSF buffer
54 * and if CORDIO_ZERO_COPY_HCI is enabled we receive ownership.
55 *
56 * @return The number of bytes which have been transmited.
57 */
58 virtual uint16_t write(uint8_t type, uint16_t len, uint8_t *pData);
59};
60
61} // namespace ble
62
63#endif /* NRF_CORDIO_HCI_TRANSPORT_DRIVER_H_ */
Base class of the HCI transport driver.
Nordic port of CordioHCITransportDriver.
virtual uint16_t write(uint8_t type, uint16_t len, uint8_t *pData)
Write data in the transport channel.
virtual void initialize()
Inialization of the transport.
virtual ~NRFCordioHCITransportDriver()
Driver destructor.
virtual void terminate()
termination of the transport.
Entry namespace for all BLE API definitions.