32 #define ACTUATORS_ASCTEC_V2_SLAVE_ADDR 0x00
34 PRINT_CONFIG_VAR(ACTUATORS_ASCTEC_V2_I2C_DEV)
49 actuators_asctec_v2.
nb_err = 0;
55 #if defined ACTUATORS_START_DELAY && ! defined SITL
56 if (!actuators_delay_done) {
58 #ifdef USE_I2C_ACTUATORS_REBOOT_HACK
64 }
else { actuators_delay_done =
true; }
183 data ^= (crc & 0xff);
void actuators_asctec_v2_set(void)
volatile uint8_t buf[I2C_BUF_LEN]
Transaction buffer With I2C_BUF_LEN number of bytes.
transaction successfully finished by I2C driver
enum actuators_asctec_v2_addr cur_addr
struct ActuatorsAsctecV2 actuators_asctec_v2
#define ACTUATORS_ASCTEC_V2_SLAVE_ADDR
enum actuators_asctec_v2_addr new_addr
uint8_t len_w
Number of bytes to write/transmit.
Hardware independent API for actuators (servos, motor controllers).
transaction set to done by user level
Architecture independent timing functions.
enum I2CTransactionStatus status
Transaction status.
bool i2c_transmit(struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint8_t len)
Submit a write only transaction.
struct i2c_transaction i2c_trans
uint8_t slave_addr
Slave address.
Actuators driver for Asctec v2 motor controllers with the new I2C protocol.
bool i2c_receive(struct i2c_periph *p, struct i2c_transaction *t, uint8_t s_addr, uint16_t len)
Submit a read only transaction.
transmit only transaction
void actuators_asctec_v2_init(void)
static uint16_t crc_update(uint16_t crc, uint8_t data)
enum I2CTransactionType type
Transaction type.
enum actuators_asctec_v2_cmd cmd
Architecture independent I2C (Inter-Integrated Circuit Bus) API.