Firmware
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
ICM20948_mag Class Reference

Helper class implementing the magnetometer driver node. More...

#include <mag.h>

Inheritance diagram for ICM20948_mag:
device::CDev device::Device cdev::CDev

Public Member Functions

 ICM20948_mag (ICM20948 *parent, device::Device *interface, const char *path)
 
virtual int ioctl (struct file *filp, int cmd, unsigned long arg)
 
virtual int init ()
 
void set_passthrough (uint8_t reg, uint8_t size, uint8_t *out=NULL)
 
void passthrough_read (uint8_t reg, uint8_t *buf, uint8_t size)
 
void passthrough_write (uint8_t reg, uint8_t val)
 
void read_block (uint8_t reg, uint8_t *val, uint8_t count)
 
int ak8963_reset (void)
 
int ak8963_setup (void)
 
int ak8963_setup_master_i2c (void)
 
bool ak8963_check_id (uint8_t &id)
 
bool ak8963_read_adjustments (void)
 
- Public Member Functions inherited from device::CDev
 CDev (const char *name, const char *devname)
 Constructor. More...
 
virtual int ioctl (file_t *filep, int cmd, unsigned long arg)
 Perform an ioctl operation on the device. More...
 
- Public Member Functions inherited from device::Device
virtual ~Device ()=default
 Destructor. More...
 
virtual int read (unsigned address, void *data, unsigned count)
 Read directly from the device. More...
 
virtual int write (unsigned address, void *data, unsigned count)
 Write directly to the device. More...
 
virtual int ioctl (unsigned operation, unsigned &arg)
 Perform a device-specific operation. More...
 
uint8_t get_device_bus () const
 Return the bus ID the device is connected to. More...
 
uint32_t get_device_id () const
 
DeviceBusType get_device_bus_type () const
 Return the bus type the device is connected to. More...
 
uint8_t get_device_address () const
 Return the bus address of the device. More...
 
void set_device_address (int address)
 
void set_device_type (uint8_t devtype)
 Set the device type. More...
 
virtual bool external ()
 
- Public Member Functions inherited from cdev::CDev
 CDev (const char *devname)
 Constructor. More...
 
virtual int open (file_t *filep)
 Handle an open of the device. More...
 
virtual int close (file_t *filep)
 Handle a close of the device. More...
 
virtual ssize_t read (file_t *filep, char *buffer, size_t buflen)
 Perform a read from the device. More...
 
virtual ssize_t write (file_t *filep, const char *buffer, size_t buflen)
 Perform a write to the device. More...
 
virtual off_t seek (file_t *filep, off_t offset, int whence)
 Perform a logical seek operation on the device. More...
 
virtual int poll (file_t *filep, px4_pollfd_struct_t *fds, bool setup)
 Perform a poll setup/teardown operation. More...
 
const char * get_devname () const
 Get the device name. More...
 

Protected Member Functions

void measure ()
 
void _measure (struct ak8963_regs data)
 
uint8_t read_reg (unsigned reg)
 
void write_reg (unsigned reg, uint8_t value)
 
bool is_passthrough ()
 
- Protected Member Functions inherited from device::Device
 Device (const char *name)
 
 Device (DeviceBusType bus_type, uint8_t bus, uint8_t address, uint8_t devtype=0)
 
 Device (const Device &)=delete
 
Deviceoperator= (const Device &)=delete
 
 Device (Device &&)=delete
 
Deviceoperator= (Device &&)=delete
 
- Protected Member Functions inherited from cdev::CDev
virtual pollevent_t poll_state (file_t *filep)
 Check the current state of the device for poll events from the perspective of the file. More...
 
virtual void poll_notify (pollevent_t events)
 Report new poll events. More...
 
virtual void poll_notify_one (px4_pollfd_struct_t *fds, pollevent_t events)
 Internal implementation of poll_notify. More...
 
virtual int open_first (file_t *filep)
 Notification of the first open. More...
 
virtual int close_last (file_t *filep)
 Notification of the last close. More...
 
virtual int register_class_devname (const char *class_devname)
 Register a class device name, automatically adding device class instance suffix if need be. More...
 
virtual int unregister_class_devname (const char *class_devname, unsigned class_instance)
 Register a class device name, automatically adding device class instance suffix if need be. More...
 
void lock ()
 Take the driver lock. More...
 
void unlock ()
 Release the driver lock.
 

Protected Attributes

Device * _interface
 
- Protected Attributes inherited from device::CDev
bool _pub_blocked {false}
 true if publishing should be blocked
 
- Protected Attributes inherited from device::Device
union DeviceId _device_id
 device identifier information
 
const char * _name
 driver name
 
bool _debug_enabled {false}
 if true, debug messages are printed
 
- Protected Attributes inherited from cdev::CDev
px4_sem_t _lock
 lock to protect access to all class members (also for derived classes)
 

Friends

class ICM20948
 

Additional Inherited Members

- Public Types inherited from device::Device
enum  DeviceBusType { DeviceBusType_UNKNOWN = 0, DeviceBusType_I2C = 1, DeviceBusType_SPI = 2, DeviceBusType_UAVCAN = 3 }
 Device bus types for DEVID.
 
- Static Public Member Functions inherited from device::Device
static const char * get_device_bus_string (DeviceBusType bus)
 
static int device_id_print_buffer (char *buffer, int length, uint32_t id)
 Print decoded device id string to a buffer. More...
 
- Static Protected Attributes inherited from cdev::CDev
static const px4_file_operations_t fops = {}
 Pointer to the default cdev file operations table; useful for registering clone devices etc.
 

Detailed Description

Helper class implementing the magnetometer driver node.


The documentation for this class was generated from the following files: