diff --git a/Core/Src/LSM9DS1.c b/Core/Src/LSM9DS1.c index edff896..ed2aa8b 100644 --- a/Core/Src/LSM9DS1.c +++ b/Core/Src/LSM9DS1.c @@ -3,8 +3,8 @@ #include "lcd.h" #define FAILSAFE_PRE_OP for (size_t t = 0; t < 5; t++) { -#define FAILSAFE_POST_OP_ACCEL(prefix) if (op_result) print_error_accel(op_result, err_count, t, prefix); else break; } -#define FAILSAFE_POST_OP_MAGNET(prefix) if (op_result) print_error_magnet(op_result, err_count, t, prefix); else break; } +#define FAILSAFE_POST_OP_ACCEL(prefix) if (op_result) print_error_accel(op_result, &err_count, t, prefix); else break; } +#define FAILSAFE_POST_OP_MAGNET(prefix) if (op_result) print_error_magnet(op_result, &err_count, t, prefix); else break; } extern I2C_HandleTypeDef hi2c1; @@ -20,6 +20,8 @@ static void print_error_message(HAL_StatusTypeDef result, size_t *err_count, siz display_write_data_seq("/5 "); switch (result) { + case HAL_OK: + break; case HAL_ERROR: display_write_data_seq("ERROR"); break; @@ -110,12 +112,12 @@ void LSM9DS1_test_magnet(void) buffer[0] = 0x28; FAILSAFE_PRE_OP; op_result = HAL_I2C_Master_Transmit(&hi2c1, 0x3C, buffer, 1, 1000); - FAILSAFE_POST_OP_ACCEL("A"); + FAILSAFE_POST_OP_MAGNET("A"); // read from registers sequentially FAILSAFE_PRE_OP; op_result = HAL_I2C_Master_Receive(&hi2c1, 0x3D, buffer, 6, 1000); - FAILSAFE_POST_OP_ACCEL("R"); + FAILSAFE_POST_OP_MAGNET("R"); if (!err_count) { DISPLAY_SET_CURSOR(1, 1);