Files
beyon-motion/Clean_TMC2209/lib/tmc/hal/RXTX.h

50 lines
1.2 KiB
C
Raw Normal View History

2026-03-31 13:10:37 +02:00
/*******************************************************************************
* 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_ */