Teacup_Firmware/serial.h

41 lines
1.0 KiB
C

#ifndef _SERIAL_H
#define _SERIAL_H
#include "config.h"
#include <stdint.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#ifdef USB_SERIAL
#include "usb_serial.h"
#define serial_init() usb_init()
#define serial_rxchars() usb_serial_available()
#define serial_popchar() usb_serial_getchar()
#define serial_writechar(c) usb_serial_putchar(c)
#else
// initialise serial subsystem
void serial_init(void);
// return number of characters in the receive buffer,
// and number of spaces in the send buffer
uint8_t serial_rxchars(void);
// uint8_t serial_txchars(void);
// read one character
uint8_t serial_popchar(void);
// send one character
void serial_writechar(uint8_t data);
#endif /* USB_SERIAL */
// read/write many characters
// uint8_t serial_recvblock(uint8_t *block, int blocksize);
void serial_writeblock(void *data, int datalen);
void serial_writestr(uint8_t *data);
// write from flash
void serial_writeblock_P(PGM_P data, int datalen);
void serial_writestr_P(PGM_P data);
#endif /* _SERIAL_H */