no-OS
Classes | Macros | Enumerations | Variables
aducm3029_uart.h File Reference

Header file of UART driver for ADuCM302x. More...

#include <drivers/uart/adi_uart.h>
#include <stdbool.h>
#include <stdint.h>
#include "no_os_error.h"
#include "no_os_irq.h"
#include "no_os_uart.h"
Include dependency graph for aducm3029_uart.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  no_os_baud_desc
 Structure of an element from baud_rates_26MHz. The baud rate is calculated with the formula: Baudrate = (NO_OS_CLK_FREQ / (div_m + div_n/2048) * pow(2,osr+2) * div_c)). More...
 
struct  no_os_op_desc
 It stores the state of a operation. More...
 
struct  no_os_aducm_uart_desc
 Stores specific parameter needed by the UART driver for internal operations. More...
 

Macros

#define NO_OS_UART_MAX_BYTES   1024u
 

Enumerations

enum  UART_ERROR {
  NO_ERR = 0x00,
  BAD_INPUT_PARAMETERS = 0x01,
  WAITING_FOR_CALLBACK = 0x02,
  HW_ERR_FRAMING = 0x10,
  HW_ERR_PARITY = 0x20,
  HW_ERR_OVERRUN = 0x40,
  BREAK_INTERRUPT = 0x80,
  HW_ERR_RX_CHAN_DMA_BUS_FAULT = 0x100,
  HW_ERR_TX_CHAN_DMA_BUS_FAULT = 0x200,
  HW_ERR_RX_CHAN_DMA_INVALID_DESCR = 0x400,
  HW_ERR_TX_CHAN_DMA_INVALID_DESCR = 0x800,
  HW_ERR_RX_CHAN_DMA_UNKNOWN_ERROR = 0x1000,
  HW_ERR_TX_CHAN_DMA_UNKNOWN_ERROR = 0x2000
}
 Values returned by no_os_uart_get_errors. Multiple values can be set. More...
 

Variables

const struct no_os_uart_platform_ops aducm_uart_ops
 aducm3029 platform specific UART platform ops structure More...
 

Detailed Description

Header file of UART driver for ADuCM302x.

Author
Mihail Chindris (mihai.nosp@m.l.ch.nosp@m.indri.nosp@m.s@an.nosp@m.alog..nosp@m.com)

Copyright 2019(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, 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.

Macro Definition Documentation

◆ NO_OS_UART_MAX_BYTES

#define NO_OS_UART_MAX_BYTES   1024u

Maximum number of bytes that can be transmitted on UART in one transfer

Enumeration Type Documentation

◆ UART_ERROR

enum UART_ERROR

Values returned by no_os_uart_get_errors. Multiple values can be set.

Enumerator
NO_ERR 

No errors

BAD_INPUT_PARAMETERS 

Bytes number for read/write was set 0 or greater than NO_OS_UART_MAX_BYTES

WAITING_FOR_CALLBACK 

New call was made before a callback call ended

HW_ERR_FRAMING 

Rx framing error

HW_ERR_PARITY 

Rx parity error

HW_ERR_OVERRUN 

Receive overrun

BREAK_INTERRUPT 

Break condition

HW_ERR_RX_CHAN_DMA_BUS_FAULT 

Rx DMA channel bus fault detected

HW_ERR_TX_CHAN_DMA_BUS_FAULT 

Tx DMA channel bus fault detected

HW_ERR_RX_CHAN_DMA_INVALID_DESCR 

Rx DMA channel invalid descriptor detected.

HW_ERR_TX_CHAN_DMA_INVALID_DESCR 

Tx DMA channel invalid descriptor detected.

HW_ERR_RX_CHAN_DMA_UNKNOWN_ERROR 

Rx DMA channel unknown error detected.

HW_ERR_TX_CHAN_DMA_UNKNOWN_ERROR 

Tx DMA channel unknown error detected.

Variable Documentation

◆ aducm_uart_ops

const struct no_os_uart_platform_ops aducm_uart_ops

aducm3029 platform specific UART platform ops structure