X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fkernel%2Fao_cmd.c;h=4ae63781fcb0900e39acdfc02ad8f737819d4b03;hb=7e3c4f3dd1df7ca8cbe91c636490c84be8c2d44f;hp=d1c049ac78aaf5b03905dc13542905f74cb01d71;hpb=a76829a4a840261e33869c40b3366fff3b691069;p=fw%2Faltos diff --git a/src/kernel/ao_cmd.c b/src/kernel/ao_cmd.c index d1c049ac..4ae63781 100644 --- a/src/kernel/ao_cmd.c +++ b/src/kernel/ao_cmd.c @@ -205,8 +205,13 @@ ao_cmd_decimal(void) { uint32_t result = 0; uint8_t r = ao_cmd_lex_error; + bool negative = false; ao_cmd_white(); + if (ao_cmd_lex_c == '-') { + negative = true; + ao_cmd_lex(); + } for(;;) { if ('0' <= ao_cmd_lex_c && ao_cmd_lex_c <= '9') result = result * 10 + (ao_cmd_lex_c - '0'); @@ -217,6 +222,8 @@ ao_cmd_decimal(void) } if (r != ao_cmd_success) ao_cmd_status = r; + if (negative) + result = -result; return result; } @@ -269,7 +276,7 @@ version(void) printf("manufacturer %s\n" "product %s\n" "serial-number %u\n" -#if HAS_FLIGHT || HAS_TRACKER +#if HAS_LOG && (HAS_FLIGHT || HAS_TRACKER) "current-flight %u\n" #endif #if HAS_LOG @@ -287,7 +294,7 @@ version(void) , ao_manufacturer , ao_product , ao_serial_number -#if HAS_FLIGHT || HAS_TRACKER +#if HAS_LOG && (HAS_FLIGHT || HAS_TRACKER) , ao_flight_number #endif #if HAS_LOG