X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fdrivers%2Fao_companion.c;h=2ed407f1d9b216ea4fa6ed34e9eaa82ead4d3cbe;hb=b7b310e0ff26444e441f82d9a5c0c64a5c71508e;hp=6e0bd2ec15691a95f89bfbfeb59b08c517657def;hpb=1887ca3d7d4a0259686f8c1e68d1e47c47b4ab84;p=fw%2Faltos diff --git a/src/drivers/ao_companion.c b/src/drivers/ao_companion.c index 6e0bd2ec..2ed407f1 100644 --- a/src/drivers/ao_companion.c +++ b/src/drivers/ao_companion.c @@ -24,11 +24,14 @@ #endif #define COMPANION_SELECT() do { \ + uint8_t pause; \ ao_spi_get_bit(AO_COMPANION_CS_PORT, \ AO_COMPANION_CS_PIN, \ AO_COMPANION_CS, \ AO_COMPANION_SPI_BUS, \ AO_SPI_SPEED_200kHz); \ + for (pause = 0; pause < 100; pause++) \ + ao_arch_nop(); \ } while (0) #define COMPANION_DESELECT() do { \ @@ -68,7 +71,7 @@ ao_companion_get_setup(void) ao_spi_recv(&ao_companion_setup, sizeof (ao_companion_setup), AO_COMPANION_SPI_BUS); COMPANION_DESELECT(); return (ao_companion_setup.board_id == - ~ao_companion_setup.board_id_inverse); + (uint16_t) ~ao_companion_setup.board_id_inverse); } static void @@ -116,6 +119,8 @@ ao_companion_status(void) __reentrant { uint8_t i; printf("Companion running: %d\n", ao_companion_running); + if (!ao_companion_running) + return; printf("device: %d\n", ao_companion_setup.board_id); printf("update period: %d\n", ao_companion_setup.update_period); printf("channels: %d\n", ao_companion_setup.channels);