ST LSM9DS1 9DOF IMU driver

- this is a replacement for df_lsm9ds1_wrapper on the Emlid Navio2 once DriverFramework is removed
This commit is contained in:
Daniel Agar
2020-01-07 21:58:31 -05:00
parent f3cd5b19c8
commit 298d6d8703
16 changed files with 1398 additions and 16 deletions
+7 -9
View File
@@ -128,15 +128,13 @@ SPI::transfer(uint8_t *send, uint8_t *recv, unsigned len)
return PX4_ERROR;
}
spi_ioc_transfer spi_transfer[1] {}; // datastructures for linux spi interface
spi_ioc_transfer spi_transfer{};
spi_transfer[0].tx_buf = (uint64_t)send;
spi_transfer[0].rx_buf = (uint64_t)recv;
spi_transfer[0].len = len;
spi_transfer[0].speed_hz = _frequency;
spi_transfer[0].bits_per_word = 8;
//spi_transfer[0].delay_usecs = 10;
spi_transfer[0].cs_change = true;
spi_transfer.tx_buf = (uint64_t)send;
spi_transfer.rx_buf = (uint64_t)recv;
spi_transfer.len = len;
spi_transfer.speed_hz = _frequency;
spi_transfer.bits_per_word = 8;
result = ::ioctl(_fd, SPI_IOC_MESSAGE(1), &spi_transfer);
@@ -171,7 +169,7 @@ SPI::transferhword(uint16_t *send, uint16_t *recv, unsigned len)
return PX4_ERROR;
}
spi_ioc_transfer spi_transfer[1] {}; // datastructures for linux spi interface
spi_ioc_transfer spi_transfer[1] {};
spi_transfer[0].tx_buf = (uint64_t)send;
spi_transfer[0].rx_buf = (uint64_t)recv;