VDevice methods. More...
Go to the source code of this file.
Functions | |
VDevice * | vdev_new (char *name, VDevFP_Read rd, VDevFP_Write wr, VDevFP_Reset reset, VDevFP_AddAddr add_addr) |
void | vdev_def_AddAddr (VDevice *dev, int addr, char *name, int related_addr, void *data) |
void | vdev_construct (VDevice *dev, VDevFP_Read rd, VDevFP_Write wr, VDevFP_Reset reset, VDevFP_AddAddr add_addr) |
void | vdev_destroy (void *dev) |
uint8_t | vdev_read (VDevice *dev, int addr) |
void | vdev_write (VDevice *dev, int addr, uint8_t val) |
void | vdev_reset (VDevice *dev) |
void | vdev_set_core (VDevice *dev, AvrClass *core) |
AvrClass * | vdev_get_core (VDevice *dev) |
void | vdev_add_addr (VDevice *dev, int addr, char *name, int rel_addr, void *data) |
VDevice methods.
These functions are the base for all other devices mapped into the device space.
Definition in file device.c.
VDevice* vdev_new | ( | char * | name, | |
VDevFP_Read | rd, | |||
VDevFP_Write | wr, | |||
VDevFP_Reset | reset, | |||
VDevFP_AddAddr | add_addr | |||
) |
Create a new VDevice.
Definition at line 62 of file device.c.
References avr_new0, class_overload_destroy(), vdev_construct(), and vdev_destroy().
void vdev_def_AddAddr | ( | VDevice * | dev, | |
int | addr, | |||
char * | name, | |||
int | related_addr, | |||
void * | data | |||
) |
Default AddAddr method.
This generate a warning that the should let the developer know that the vdev needs to be updated.
Definition at line 80 of file device.c.
References avr_warning.
void vdev_construct | ( | VDevice * | dev, | |
VDevFP_Read | rd, | |||
VDevFP_Write | wr, | |||
VDevFP_Reset | reset, | |||
VDevFP_AddAddr | add_addr | |||
) |
Constructor for a VDevice.
Definition at line 89 of file device.c.
References avr_error, and class_construct().
Referenced by adc_construct(), adc_intr_construct(), ocreg16_construct(), spi_construct(), spi_intr_construct(), timer0_construct(), timer16_construct(), timer_intr_construct(), uart_construct(), uart_intr_construct(), usb_construct(), usb_intr_construct(), and vdev_new().
void vdev_destroy | ( | void * | dev | ) |
Destructor for a VDevice.
Definition at line 105 of file device.c.
References class_destroy().
Referenced by adc_destroy(), adc_intr_destroy(), spi_destroy(), spi_intr_destroy(), timer0_destroy(), timer_intr_destroy(), uart_destroy(), uart_intr_destroy(), usb_destroy(), usb_intr_destroy(), and vdev_new().
uint8_t vdev_read | ( | VDevice * | dev, | |
int | addr | |||
) |
Reads the device's value in the register at addr.
Definition at line 161 of file device.c.
Referenced by mem_io_fetch(), and mem_read().
void vdev_write | ( | VDevice * | dev, | |
int | addr, | |||
uint8_t | val | |||
) |
Writes an value to the register at addr.
Definition at line 168 of file device.c.
Referenced by mem_write().
void vdev_reset | ( | VDevice * | dev | ) |
void vdev_set_core | ( | VDevice * | dev, | |
AvrClass * | core | |||
) |
AvrClass* vdev_get_core | ( | VDevice * | dev | ) |
Get the core field.
void vdev_add_addr | ( | VDevice * | dev, | |
int | addr, | |||
char * | name, | |||
int | rel_addr, | |||
void * | data | |||
) |
Inform the vdevice that it needs to handle another address.
This is primarily used when creating the core in dev_supp_create_core().
Definition at line 195 of file device.c.
References avr_warning.