50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
|
|
/*******************************************************************************
|
||
|
|
* Copyright © 2019 TRINAMIC Motion Control GmbH & Co. KG
|
||
|
|
* (now owned by Analog Devices Inc.),
|
||
|
|
*
|
||
|
|
* Copyright © 2023 Analog Devices Inc. All Rights Reserved. This software is
|
||
|
|
* proprietary & confidential to Analog Devices, Inc. and its licensors.
|
||
|
|
*******************************************************************************/
|
||
|
|
|
||
|
|
|
||
|
|
#ifndef RXTX_H_
|
||
|
|
#define RXTX_H_
|
||
|
|
|
||
|
|
#include "tmc/helpers/API_Header.h"
|
||
|
|
|
||
|
|
#if defined(Landungsbruecke) || defined(LandungsbrueckeSmall)
|
||
|
|
typedef enum {
|
||
|
|
UART0_INTERRUPT_UART,
|
||
|
|
UART0_INTERRUPT_WLAN
|
||
|
|
} UART0_Interrupt;
|
||
|
|
extern UART0_Interrupt uart0_interrupt;
|
||
|
|
#endif
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
void (*init)();
|
||
|
|
void (*deInit)(void);
|
||
|
|
void (*tx)(uint8_t ch);
|
||
|
|
uint8_t (*rx)(uint8_t *ch);
|
||
|
|
void (*txN)(uint8_t *ch, unsigned char number);
|
||
|
|
uint8_t (*rxN)(uint8_t *ch, unsigned char number);
|
||
|
|
void (*clearBuffers)(void);
|
||
|
|
uint32_t (*bytesAvailable)(void);
|
||
|
|
uint32_t baudRate;
|
||
|
|
} RXTXTypeDef;
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
uint32_t read;
|
||
|
|
uint32_t wrote;
|
||
|
|
volatile uint8_t *buffer;
|
||
|
|
} BufferingTypeDef;
|
||
|
|
|
||
|
|
typedef struct
|
||
|
|
{
|
||
|
|
BufferingTypeDef tx;
|
||
|
|
BufferingTypeDef rx;
|
||
|
|
} RXTXBufferingTypeDef;
|
||
|
|
|
||
|
|
#endif /* RXTX_H_ */
|