Does Ardupilot support writing 16 bit commands to IMU's

I’m designing a driver for the ADIS16448 IMU, and I’m having trouble understanding how the read and write registers work in Ardupilot. The datasheet says I can prompt the IMU to send sensor data by writing a 16 bit signal into my driver. The read and write register functions for the devices seem to only support 8 bit communications, based on their constructors in “Device.h”.

bool read_registers(uint8_t first_reg, uint8_t *recv, uint32_t recv_len)

 bool write_register(uint8_t reg, uint8_t val, bool checked=false)

Is there a way to send 16 bit signals through Ardupilot?

Hello !

here is an example : https://github.com/ArduPilot/ardupilot/blob/a8647f834eebecef9bf3f9467079633a843e6932/libraries/AP_RangeFinder/AP_RangeFinder_VL53L0X.cpp#L739
however I pretty confident that calling write_register twice will work too

I can experiment with both methods, see which works. Is there something for read functions as well?