https://groups.google.com/a/arduino.cc/d/msg/developers/ls3hkviFYM4/XWT2LbfzNcgJteensy4-core
void serial_putchar(uint32_t c); | void serial_putchar(uint32_t c); | ||||
void serial_write(const void *buf, unsigned int count); | void serial_write(const void *buf, unsigned int count); | ||||
void serial_flush(void); | void serial_flush(void); | ||||
int serial_room(void); | |||||
int serial_write_buffer_free(void); | |||||
int serial_available(void); | int serial_available(void); | ||||
int serial_getchar(void); | int serial_getchar(void); | ||||
int serial_peek(void); | int serial_peek(void); | ||||
void serial2_putchar(uint32_t c); | void serial2_putchar(uint32_t c); | ||||
void serial2_write(const void *buf, unsigned int count); | void serial2_write(const void *buf, unsigned int count); | ||||
void serial2_flush(void); | void serial2_flush(void); | ||||
int serial2_room(void); | |||||
int serial2_write_buffer_free(void); | |||||
int serial2_available(void); | int serial2_available(void); | ||||
int serial2_getchar(void); | int serial2_getchar(void); | ||||
int serial2_peek(void); | int serial2_peek(void); | ||||
void serial3_putchar(uint32_t c); | void serial3_putchar(uint32_t c); | ||||
void serial3_write(const void *buf, unsigned int count); | void serial3_write(const void *buf, unsigned int count); | ||||
void serial3_flush(void); | void serial3_flush(void); | ||||
int serial3_room(void); | |||||
int serial3_write_buffer_free(void); | |||||
int serial3_available(void); | int serial3_available(void); | ||||
int serial3_getchar(void); | int serial3_getchar(void); | ||||
int serial3_peek(void); | int serial3_peek(void); | ||||
virtual int read(void) { return serial_getchar(); } | virtual int read(void) { return serial_getchar(); } | ||||
virtual void flush(void) { serial_flush(); } | virtual void flush(void) { serial_flush(); } | ||||
virtual void clear(void) { serial_clear(); } | virtual void clear(void) { serial_clear(); } | ||||
virtual int room(void) { return serial_room(); } | |||||
virtual int writeBufferFree(void) { return serial_write_buffer_free(); } | |||||
virtual size_t write(uint8_t c) { serial_putchar(c); return 1; } | virtual size_t write(uint8_t c) { serial_putchar(c); return 1; } | ||||
virtual size_t write(unsigned long n) { return write((uint8_t)n); } | virtual size_t write(unsigned long n) { return write((uint8_t)n); } | ||||
virtual size_t write(long n) { return write((uint8_t)n); } | virtual size_t write(long n) { return write((uint8_t)n); } | ||||
virtual int read(void) { return serial2_getchar(); } | virtual int read(void) { return serial2_getchar(); } | ||||
virtual void flush(void) { serial2_flush(); } | virtual void flush(void) { serial2_flush(); } | ||||
virtual void clear(void) { serial2_clear(); } | virtual void clear(void) { serial2_clear(); } | ||||
virtual int room(void) { return serial2_room(); } | |||||
virtual int writeBufferFree(void) { return serial2_write_buffer_free(); } | |||||
virtual size_t write(uint8_t c) { serial2_putchar(c); return 1; } | virtual size_t write(uint8_t c) { serial2_putchar(c); return 1; } | ||||
virtual size_t write(unsigned long n) { return write((uint8_t)n); } | virtual size_t write(unsigned long n) { return write((uint8_t)n); } | ||||
virtual size_t write(long n) { return write((uint8_t)n); } | virtual size_t write(long n) { return write((uint8_t)n); } | ||||
virtual int read(void) { return serial3_getchar(); } | virtual int read(void) { return serial3_getchar(); } | ||||
virtual void flush(void) { serial3_flush(); } | virtual void flush(void) { serial3_flush(); } | ||||
virtual void clear(void) { serial3_clear(); } | virtual void clear(void) { serial3_clear(); } | ||||
virtual int room(void) { return serial3_room(); } | |||||
virtual int writeBufferFree(void) { return serial3_write_buffer_free(); } | |||||
virtual size_t write(uint8_t c) { serial3_putchar(c); return 1; } | virtual size_t write(uint8_t c) { serial3_putchar(c); return 1; } | ||||
virtual size_t write(unsigned long n) { return write((uint8_t)n); } | virtual size_t write(unsigned long n) { return write((uint8_t)n); } | ||||
virtual size_t write(long n) { return write((uint8_t)n); } | virtual size_t write(long n) { return write((uint8_t)n); } |
while (transmitting) yield(); // wait | while (transmitting) yield(); // wait | ||||
} | } | ||||
int serial_room(void) | |||||
int serial_write_buffer_free(void) | |||||
{ | { | ||||
uint32_t head, tail; | uint32_t head, tail; | ||||
while (transmitting) yield(); // wait | while (transmitting) yield(); // wait | ||||
} | } | ||||
int serial2_room(void) | |||||
int serial2_write_buffer_free(void) | |||||
{ | { | ||||
uint32_t head, tail; | uint32_t head, tail; | ||||
while (transmitting) yield(); // wait | while (transmitting) yield(); // wait | ||||
} | } | ||||
int serial3_room(void) | |||||
int serial3_write_buffer_free(void) | |||||
{ | { | ||||
uint32_t head, tail; | uint32_t head, tail; | ||||
#endif | #endif | ||||
} | } | ||||
int usb_seremu_room(void) | |||||
int usb_seremu_write_buffer_free(void) | |||||
{ | { | ||||
uint32_t len; | uint32_t len; | ||||
void usb_seremu_flush_input(void); | void usb_seremu_flush_input(void); | ||||
int usb_seremu_putchar(uint8_t c); | int usb_seremu_putchar(uint8_t c); | ||||
int usb_seremu_write(const void *buffer, uint32_t size); | int usb_seremu_write(const void *buffer, uint32_t size); | ||||
int usb_seremu_room(void); | |||||
int usb_seremu_write_buffer_free(void); | |||||
void usb_seremu_flush_output(void); | void usb_seremu_flush_output(void); | ||||
void usb_seremu_flush_callback(void); | void usb_seremu_flush_callback(void); | ||||
extern volatile uint8_t usb_seremu_transmit_flush_timer; | extern volatile uint8_t usb_seremu_transmit_flush_timer; | ||||
size_t write(long n) { return write((uint8_t)n); } | size_t write(long n) { return write((uint8_t)n); } | ||||
size_t write(unsigned int n) { return write((uint8_t)n); } | size_t write(unsigned int n) { return write((uint8_t)n); } | ||||
size_t write(int n) { return write((uint8_t)n); } | size_t write(int n) { return write((uint8_t)n); } | ||||
int room() { return usb_seremu_room(); } | |||||
int writeBufferFree() { return usb_seremu_write_buffer_free(); } | |||||
using Print::write; | using Print::write; | ||||
void send_now(void) { usb_seremu_flush_output(); }; | void send_now(void) { usb_seremu_flush_output(); }; | ||||
uint32_t baud(void) { return 9600; } | uint32_t baud(void) { return 9600; } | ||||
size_t write(long n) { return 1; } | size_t write(long n) { return 1; } | ||||
size_t write(unsigned int n) { return 1; } | size_t write(unsigned int n) { return 1; } | ||||
size_t write(int n) { return 1; } | size_t write(int n) { return 1; } | ||||
int room() { return 0; } | |||||
int writeBufferFree() { return 0; } | |||||
using Print::write; | using Print::write; | ||||
void send_now(void) { } | void send_now(void) { } | ||||
uint32_t baud(void) { return 0; } | uint32_t baud(void) { return 0; } |
return 0; | return 0; | ||||
} | } | ||||
int usb_serial_room(void) | |||||
int usb_serial_write_buffer_free(void) | |||||
{ | { | ||||
uint32_t len; | uint32_t len; | ||||
void usb_serial_flush_input(void); | void usb_serial_flush_input(void); | ||||
int usb_serial_putchar(uint8_t c); | int usb_serial_putchar(uint8_t c); | ||||
int usb_serial_write(const void *buffer, uint32_t size); | int usb_serial_write(const void *buffer, uint32_t size); | ||||
int usb_serial_room(void); | |||||
int usb_serial_write_buffer_free(void); | |||||
void usb_serial_flush_output(void); | void usb_serial_flush_output(void); | ||||
extern uint32_t usb_cdc_line_coding[2]; | extern uint32_t usb_cdc_line_coding[2]; | ||||
extern volatile uint8_t usb_cdc_line_rtsdtr; | extern volatile uint8_t usb_cdc_line_rtsdtr; | ||||
size_t write(long n) { return write((uint8_t)n); } | size_t write(long n) { return write((uint8_t)n); } | ||||
size_t write(unsigned int n) { return write((uint8_t)n); } | size_t write(unsigned int n) { return write((uint8_t)n); } | ||||
size_t write(int n) { return write((uint8_t)n); } | size_t write(int n) { return write((uint8_t)n); } | ||||
int room() { return usb_serial_room(); } | |||||
int writeBufferFree() { return usb_serial_write_buffer_free(); } | |||||
using Print::write; | using Print::write; | ||||
void send_now(void) { usb_serial_flush_output(); } | void send_now(void) { usb_serial_flush_output(); } | ||||
uint32_t baud(void) { return usb_cdc_line_coding[0]; } | uint32_t baud(void) { return usb_cdc_line_coding[0]; } | ||||
size_t write(long n) { return 1; } | size_t write(long n) { return 1; } | ||||
size_t write(unsigned int n) { return 1; } | size_t write(unsigned int n) { return 1; } | ||||
size_t write(int n) { return 1; } | size_t write(int n) { return 1; } | ||||
int room() { return 0; } | |||||
int writeBufferFree() { return 0; } | |||||
using Print::write; | using Print::write; | ||||
void send_now(void) { } | void send_now(void) { } | ||||
uint32_t baud(void) { return 0; } | uint32_t baud(void) { return 0; } |