7 #ifndef ZRTOS_VFS_MODULE_AVR_UART_UART2_H 8 #define ZRTOS_VFS_MODULE_AVR_UART_UART2_H 18 ISR(UART2_RECEIVE_INTERRUPT){
20 zrtos_vfs_module_avr_uart2
23 (UART2_STATUS & (_BV(FE2)|_BV(DOR2)|_BV(UPE2))) == 0
30 ISR(UART2_TRANSMIT_INTERRUPT,ISR_NOBLOCK){
33 zrtos_vfs_module_avr_uart2
38 UART2_CONTROL &= ~_BV(UART2_UDRIE);
57 UART2_STATUS = _BV(U2X2);
63 UBRR2H = (
uint8_t) (baudrate>>8);
67 UART2_CONTROL = _BV(RXCIE2)|_BV(RXEN2)|_BV(TXEN2);
72 UCSR2C = _BV(URSEL2)|_BV(UCSZ21)|_BV(UCSZ20);
74 UCSR2C = _BV(UCSZ21)|_BV(UCSZ20);
81 UART2_CONTROL &= ~_BV(UART2_UDRIE);
102 UART2_CONTROL |= _BV(UART2_UDRIE);
#define ZRTOS_CAST(type, value)
zrtos_vfs_module_uart_baudrate_t baudrate
size_t zrtos_vfs_offset_t
ISR(UART2_RECEIVE_INTERRUPT)
#define ZRTOS_VFS_PLUGIN__0_ON_OPEN_DEFAULT()
zrtos_error_t zrtos_vfs_module_avr_uart2__on_write(zrtos_vfs_file_t *thiz, char *path, void *buf, size_t len, zrtos_vfs_offset_t offset, size_t *out)
zrtos_error_t zrtos_vfs_module_uart__on_read(zrtos_vfs_file_t *thiz, char *path, void *buf, size_t len, zrtos_vfs_offset_t offset, size_t *out)
zrtos_error_t zrtos_vfs_module_avr_uart2__on_umount(zrtos_vfs_dentry_t *thiz)
zrtos_error_t zrtos_vfs_module_avr_uart2__on_mount(zrtos_vfs_dentry_t *thiz)
#define ZRTOS_VFS_PLUGIN__8_ON_SEEK_DEFAULT()
#define ZRTOS_VFS_PLUGIN__1_ON_CLOSE_DEFAULT()
zrtos_error_t zrtos_vfs_module_uart__on_can_write(zrtos_vfs_file_t *thiz)
#define ZRTOS_VFS_PLUGIN__3_ON_UMOUNT(callback)
ZRTOS_VFS_PLUGIN__INIT(avr_uart2, ZRTOS_VFS_PLUGIN__0_ON_OPEN_DEFAULT() ZRTOS_VFS_PLUGIN__1_ON_CLOSE_DEFAULT() ZRTOS_VFS_PLUGIN__2_ON_MOUNT(zrtos_vfs_module_avr_uart2__on_mount) ZRTOS_VFS_PLUGIN__3_ON_UMOUNT(zrtos_vfs_module_avr_uart2__on_umount) ZRTOS_VFS_PLUGIN__4_ON_READ(zrtos_vfs_module_uart__on_read) ZRTOS_VFS_PLUGIN__5_ON_WRITE(zrtos_vfs_module_avr_uart2__on_write) ZRTOS_VFS_PLUGIN__6_ON_CAN_READ(zrtos_vfs_module_uart__on_can_read) ZRTOS_VFS_PLUGIN__7_ON_CAN_WRITE(zrtos_vfs_module_uart__on_can_write) ZRTOS_VFS_PLUGIN__8_ON_SEEK_DEFAULT() ZRTOS_VFS_PLUGIN__9_ON_IOCTL(zrtos_vfs_module_uart__on_ioctl))
zrtos_vfs_module_uart_inode_t * zrtos_vfs_module_avr_uart2
void zrtos_vfs_module_avr_uart__on_receive_interrupt(zrtos_vfs_module_uart_inode_t *thiz, uint8_t data, zrtos_error_t err)
#define ZRTOS_VFS_PLUGIN__2_ON_MOUNT(callback)
zrtos_error_t zrtos_vfs_module_uart__on_can_read(zrtos_vfs_file_t *thiz)
#define ZRTOS_VFS_PLUGIN__4_ON_READ(callback)
#define ZRTOS_VFS_PLUGIN__6_ON_CAN_READ(callback)
#define ZRTOS_VFS_MODULE_AVR_UART__IS_DOUBLE_SPEED(baudrate)
#define ZRTOS_VFS_PLUGIN__5_ON_WRITE(callback)
bool zrtos_error__is_success(zrtos_error_t thiz)
zrtos_error_t zrtos_vfs_module_uart__on_write(zrtos_vfs_file_t *thiz, char *path, void *buf, size_t len, zrtos_vfs_offset_t offset, size_t *out)
#define ZRTOS_VFS_PLUGIN__9_ON_IOCTL(callback)
Successful program execution status.
void * zrtos_vfs_dentry__get_inode_data(zrtos_vfs_dentry_t *thiz)
uint16_t zrtos_vfs_module_avr_uart__baud_select(zrtos_vfs_module_uart_baudrate_t baudrate)
#define ZRTOS_VFS_PLUGIN__7_ON_CAN_WRITE(callback)
bool zrtos_vfs_module_avr_uart__on_transmit_interrupt(zrtos_vfs_module_uart_inode_t *thiz, uint8_t *data)
zrtos_error_t zrtos_vfs_module_uart__on_ioctl(zrtos_vfs_file_t *thiz, char *path, int request, va_list args)