Platform drivers for Mbed.

Dependents:   EVAL-CN0535-FMCZ EVAL-CN0535-FMCZ EVAL-AD568x-AD569x EVAL-AD7606 ... more

Committer:
mahphalke
Date:
Fri Mar 19 12:10:16 2021 +0530
Revision:
16:61ad39564f45
Parent:
15:fd2c3c3038bf
Added uart changes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EndaKilgarriff 9:9e247b9c9abf 1 /***************************************************************************//**
EndaKilgarriff 9:9e247b9c9abf 2 * @file uart_extra.h
EndaKilgarriff 9:9e247b9c9abf 3 * @brief: Header containing extra types required for UART interface
EndaKilgarriff 9:9e247b9c9abf 4 ********************************************************************************
EndaKilgarriff 9:9e247b9c9abf 5 * Copyright (c) 2020 Analog Devices, Inc.
EndaKilgarriff 9:9e247b9c9abf 6 *
EndaKilgarriff 9:9e247b9c9abf 7 * All rights reserved.
EndaKilgarriff 9:9e247b9c9abf 8 *
EndaKilgarriff 9:9e247b9c9abf 9 * This software is proprietary to Analog Devices, Inc. and its licensors.
EndaKilgarriff 9:9e247b9c9abf 10 * By using this software you agree to the terms of the associated
EndaKilgarriff 9:9e247b9c9abf 11 * Analog Devices Software License Agreement.
EndaKilgarriff 9:9e247b9c9abf 12 *******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 13
EndaKilgarriff 9:9e247b9c9abf 14 #ifndef UART_EXTRA_H
EndaKilgarriff 9:9e247b9c9abf 15 #define UART_EXTRA_H
EndaKilgarriff 9:9e247b9c9abf 16
EndaKilgarriff 9:9e247b9c9abf 17
EndaKilgarriff 9:9e247b9c9abf 18 // Platform support needs to be C-compatible to work with other drivers
EndaKilgarriff 9:9e247b9c9abf 19 #ifdef __cplusplus
EndaKilgarriff 9:9e247b9c9abf 20 extern "C"
EndaKilgarriff 9:9e247b9c9abf 21 {
EndaKilgarriff 9:9e247b9c9abf 22 #endif
EndaKilgarriff 9:9e247b9c9abf 23
EndaKilgarriff 9:9e247b9c9abf 24 /******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 25 /***************************** Include Files **********************************/
EndaKilgarriff 9:9e247b9c9abf 26 /******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 27 #include <stdio.h>
EndaKilgarriff 9:9e247b9c9abf 28
EndaKilgarriff 9:9e247b9c9abf 29 /******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 30 /********************** Macros and Constants Definitions **********************/
EndaKilgarriff 9:9e247b9c9abf 31 /******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 32
EndaKilgarriff 9:9e247b9c9abf 33 /******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 34 /********************** Variables and User defined data types *****************/
EndaKilgarriff 9:9e247b9c9abf 35 /******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 36
EndaKilgarriff 9:9e247b9c9abf 37 /*
EndaKilgarriff 9:9e247b9c9abf 38 * Note: The structure members are not strongly typed, as this file is included
EndaKilgarriff 9:9e247b9c9abf 39 * in application specific '.c' files. The mbed code structure does not
EndaKilgarriff 9:9e247b9c9abf 40 * allow inclusion of mbed driver files (e.g. mbed.h) into '.c' files.
EndaKilgarriff 9:9e247b9c9abf 41 * All the members are hence typecasted to mbed specific type during
EndaKilgarriff 9:9e247b9c9abf 42 * uart init and read/write operations.
EndaKilgarriff 9:9e247b9c9abf 43 **/
EndaKilgarriff 9:9e247b9c9abf 44
EndaKilgarriff 9:9e247b9c9abf 45 /**
EndaKilgarriff 9:9e247b9c9abf 46 * @struct mbed_uart_init_param
EndaKilgarriff 9:9e247b9c9abf 47 * @brief Structure holding the UART init parameters for mbed platform.
EndaKilgarriff 9:9e247b9c9abf 48 */
EndaKilgarriff 9:9e247b9c9abf 49 typedef struct {
mahphalke 15:fd2c3c3038bf 50 bool virtual_com_enable; /* Flag that enables the selection between
mahphalke 15:fd2c3c3038bf 51 * Virtual COM Port Or standard UART link */
mahphalke 15:fd2c3c3038bf 52 uint8_t uart_tx_pin; /* UART Transmit Pin (only for UART comm) */
mahphalke 15:fd2c3c3038bf 53 uint8_t uart_rx_pin; /* UART Receive Pin (only for UART comm) */
mahphalke 15:fd2c3c3038bf 54 uint16_t vendor_id; /* USB VCOM Vendor ID (only for USB Virtual comm) */
mahphalke 15:fd2c3c3038bf 55 uint16_t product_id; /* USB VCOM Product ID (only for USB Virtual comm) */
mahphalke 15:fd2c3c3038bf 56 uint16_t product_release; /* USB VCOM product release value (only for USB Virtual comm) */
EndaKilgarriff 9:9e247b9c9abf 57 } mbed_uart_init_param;
EndaKilgarriff 9:9e247b9c9abf 58
EndaKilgarriff 9:9e247b9c9abf 59 /**
EndaKilgarriff 9:9e247b9c9abf 60 * @struct mbed_uart_desc
EndaKilgarriff 9:9e247b9c9abf 61 * @brief UART specific descriptor for the mbed platform.
EndaKilgarriff 9:9e247b9c9abf 62 */
EndaKilgarriff 9:9e247b9c9abf 63 typedef struct {
mahphalke 15:fd2c3c3038bf 64 void *uart_port; /* UART port instance */
mahphalke 15:fd2c3c3038bf 65 bool virtual_com_enable; /* Flag that enables the selection between
mahphalke 15:fd2c3c3038bf 66 * Virtual COM Port Or standard UART link */
EndaKilgarriff 9:9e247b9c9abf 67 } mbed_uart_desc;
EndaKilgarriff 9:9e247b9c9abf 68
EndaKilgarriff 9:9e247b9c9abf 69 /******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 70 /************************ Functions Declarations ******************************/
EndaKilgarriff 9:9e247b9c9abf 71 /******************************************************************************/
EndaKilgarriff 9:9e247b9c9abf 72
EndaKilgarriff 9:9e247b9c9abf 73
EndaKilgarriff 9:9e247b9c9abf 74 #ifdef __cplusplus // Closing extern c
EndaKilgarriff 9:9e247b9c9abf 75 }
EndaKilgarriff 9:9e247b9c9abf 76 #endif
EndaKilgarriff 9:9e247b9c9abf 77
EndaKilgarriff 9:9e247b9c9abf 78 #endif /* UART_EXTRA_H */