ao_companion: Make time conversion to 16-bits in companion protocol explicit
authorKeith Packard <keithp@keithp.com>
Fri, 28 Jan 2022 17:26:08 +0000 (09:26 -0800)
committerKeith Packard <keithp@keithp.com>
Thu, 17 Feb 2022 01:26:49 +0000 (17:26 -0800)
Companion protocol only passes low 16-bits. Also add explicit casts for -Wconversion

Signed-off-by: Keith Packard <keithp@keithp.com>
src/drivers/ao_companion.c

index 093356a59981ecdea92b82927f3ac919f1a1facf..2315b63f43d5a87ad91ea095386da5d838f4e283 100644 (file)
@@ -55,12 +55,12 @@ ao_companion_send_command(uint8_t command)
 {
        ao_companion_command.command = command;
        ao_companion_command.flight_state = ao_flight_state;
-       ao_companion_command.tick = ao_time();
+       ao_companion_command.tick = (uint16_t) ao_time();
        ao_companion_command.serial = ao_serial_number;
        ao_companion_command.flight = ao_flight_number;
-       ao_companion_command.accel = ao_accel;
-       ao_companion_command.speed = ao_speed;
-       ao_companion_command.height = ao_height;
+       ao_companion_command.accel = (int16_t) ao_accel;
+       ao_companion_command.speed = (int16_t) ao_speed;
+       ao_companion_command.height = (int16_t) ao_height;
        ao_companion_command.motor_number = ao_motor_number;
        ao_spi_send(&ao_companion_command, sizeof (ao_companion_command), AO_COMPANION_SPI_BUS);
 }