7 #ifndef ZRTOS_VFS_MODULE_AVR_SPI_H 8 #define ZRTOS_VFS_MODULE_AVR_SPI_H 14 #include <avr/interrupt.h> 26 zrtos_vfs_module_avr_spi__ctx
35 SPCR = zrtos_vfs_module_avr_spi__ctx->
last->
control;
41 ISR(SPI_STC_vect,ISR_NOBLOCK){
54 zrtos_vfs_module_avr_spi__ctx = 0;
82 && zrtos_vfs_module_avr_spi__isr_complete){
83 zrtos_vfs_module_avr_spi__isr_complete =
false;
#define ZRTOS_CAST(type, value)
#define ZRTOS_ARCH__DISABLE_INTERRUPTS()
ZRTOS_VFS_PLUGIN__INIT(avr_spi, ZRTOS_VFS_PLUGIN__0_ON_OPEN(zrtos_vfs_module_spi__on_open) ZRTOS_VFS_PLUGIN__1_ON_CLOSE(zrtos_vfs_module_spi__on_close) ZRTOS_VFS_PLUGIN__2_ON_MOUNT(zrtos_vfs_module_avr_spi__on_mount) ZRTOS_VFS_PLUGIN__3_ON_UMOUNT(zrtos_vfs_module_avr_spi__on_umount) ZRTOS_VFS_PLUGIN__4_ON_READ(zrtos_vfs_module_spi__on_read) ZRTOS_VFS_PLUGIN__5_ON_WRITE(zrtos_vfs_module_avr_spi__on_write) ZRTOS_VFS_PLUGIN__6_ON_CAN_READ(zrtos_vfs_module_spi__on_can_read) ZRTOS_VFS_PLUGIN__7_ON_CAN_WRITE(zrtos_vfs_module_spi__on_can_write) ZRTOS_VFS_PLUGIN__8_ON_SEEK_DEFAULT() ZRTOS_VFS_PLUGIN__9_ON_IOCTL(zrtos_vfs_module_spi__on_ioctl))
size_t zrtos_vfs_offset_t
zrtos_vfs_module_spi_control_t control
zrtos_error_t zrtos_vfs_module_spi__on_can_write(zrtos_vfs_file_t *thiz)
#define ZRTOS_VFS_PLUGIN__8_ON_SEEK_DEFAULT()
zrtos_error_t zrtos_vfs_module_spi__on_can_read(zrtos_vfs_file_t *thiz)
#define ZRTOS_VFS_PLUGIN__3_ON_UMOUNT(callback)
zrtos_error_t zrtos_vfs_module_avr_spi__on_umount(zrtos_vfs_dentry_t *thiz)
zrtos_error_t zrtos_vfs_module_avr_spi__on_write(zrtos_vfs_file_t *thiz, char *path, void *buf, size_t len, zrtos_vfs_offset_t offset, size_t *out)
bool zrtos_error__is_error(zrtos_error_t thiz)
zrtos_vfs_module_spi_file_t * last
zrtos_vfs_module_spi_inode_t * zrtos_vfs_module_avr_spi__ctx
#define ZRTOS_VFS_PLUGIN__2_ON_MOUNT(callback)
#define ZRTOS_VFS_PLUGIN__4_ON_READ(callback)
zrtos_error_t zrtos_vfs_module_avr_spi__on_mount(zrtos_vfs_dentry_t *thiz)
#define ZRTOS_VFS_PLUGIN__6_ON_CAN_READ(callback)
zrtos_error_t zrtos_vfs_module_spi__on_close(zrtos_vfs_file_t *thiz)
#define ZRTOS_VFS_PLUGIN__5_ON_WRITE(callback)
bool zrtos_error__is_success(zrtos_error_t thiz)
void * zrtos_vfs_file__get_data(zrtos_vfs_file_t *thiz)
#define ZRTOS_VFS_PLUGIN__9_ON_IOCTL(callback)
Successful program execution status.
#define ZRTOS_VFS_PLUGIN__1_ON_CLOSE(callback)
void * zrtos_vfs_dentry__get_inode_data(zrtos_vfs_dentry_t *thiz)
zrtos_error_t zrtos_vfs_module_spi__on_open(zrtos_vfs_file_t *thiz)
zrtos_error_t zrtos_vfs_module_spi__on_ioctl(zrtos_vfs_file_t *thiz, char *path, int request, va_list args)
#define ZRTOS_VFS_PLUGIN__7_ON_CAN_WRITE(callback)
void zrtos_vfs_module_avr_spi__on_interrupt()
#define ZRTOS_ARCH__ENABLE_INTERRUPTS()
bool zrtos_vfs_module_avr_spi__isr_complete
zrtos_error_t zrtos_vfs_module_spi__on_read(zrtos_vfs_file_t *thiz, char *path, void *buf, size_t len, zrtos_vfs_offset_t offset, size_t *outlen)
ISR(SPI_STC_vect, ISR_NOBLOCK)
zrtos_error_t zrtos_vfs_module_spi__transfer(zrtos_vfs_module_spi_inode_t *thiz, void *data_in, void *data_out, size_t len)
zrtos_error_t zrtos_vfs_module_spi__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__0_ON_OPEN(callback)