2014-12-02 17:10:06 -07:00
|
|
|
#ifndef SERIAL_H
|
|
|
|
#define SERIAL_H
|
|
|
|
|
|
|
|
#include "device.h"
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <avr/io.h>
|
2019-01-08 12:56:58 -07:00
|
|
|
#include "util/FIFO.h"
|
2019-01-12 07:12:51 -07:00
|
|
|
#include "hardware/LED.h"
|
2014-12-02 17:10:06 -07:00
|
|
|
|
|
|
|
typedef struct Serial {
|
|
|
|
FILE uart0;
|
2019-02-04 09:02:19 -07:00
|
|
|
FILE uart1;
|
2014-12-02 17:10:06 -07:00
|
|
|
} Serial;
|
|
|
|
|
2019-02-04 09:02:19 -07:00
|
|
|
FIFOBuffer uart0FIFO;
|
2020-06-01 05:45:26 -06:00
|
|
|
uint8_t uart0Buf[CONFIG_UART0_BUFFER_SIZE+1];
|
2019-02-04 09:02:19 -07:00
|
|
|
|
|
|
|
FIFOBuffer uart1FIFO;
|
2020-06-01 05:45:26 -06:00
|
|
|
uint8_t uart1Buf[CONFIG_UART1_BUFFER_SIZE+1];
|
2019-01-08 12:56:58 -07:00
|
|
|
|
2014-12-02 17:10:06 -07:00
|
|
|
void serial_init(Serial *serial);
|
|
|
|
bool serial_available(uint8_t index);
|
2019-02-04 09:02:19 -07:00
|
|
|
|
2018-04-24 06:38:48 -06:00
|
|
|
int uart0_putchar(char c, FILE *stream);
|
|
|
|
int uart0_getchar(FILE *stream);
|
2014-12-02 17:10:06 -07:00
|
|
|
char uart0_getchar_nowait(void);
|
|
|
|
|
2019-02-04 09:02:19 -07:00
|
|
|
int uart1_putchar(char c, FILE *stream);
|
|
|
|
int uart1_getchar(FILE *stream);
|
|
|
|
char uart1_getchar_nowait(void);
|
|
|
|
|
|
|
|
void serial_setbaudrate_1200(uint8_t port);
|
|
|
|
void serial_setbaudrate_2400(uint8_t port);
|
|
|
|
void serial_setbaudrate_4800(uint8_t port);
|
|
|
|
void serial_setbaudrate_9600(uint8_t port);
|
|
|
|
void serial_setbaudrate_14400(uint8_t port);
|
|
|
|
void serial_setbaudrate_19200(uint8_t port);
|
|
|
|
void serial_setbaudrate_28800(uint8_t port);
|
|
|
|
void serial_setbaudrate_38400(uint8_t port);
|
|
|
|
void serial_setbaudrate_57600(uint8_t port);
|
|
|
|
void serial_setbaudrate_76800(uint8_t port);
|
|
|
|
void serial_setbaudrate_115200(uint8_t port);
|
|
|
|
void serial_setbaudrate_230400(uint8_t port);
|
2019-01-29 08:41:27 -07:00
|
|
|
|
2014-12-02 17:10:06 -07:00
|
|
|
#endif
|