diff options
Diffstat (limited to 'projects/cli-test/mgmt-cli.c')
-rw-r--r-- | projects/cli-test/mgmt-cli.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/projects/cli-test/mgmt-cli.c b/projects/cli-test/mgmt-cli.c index b513ddc..eacb944 100644 --- a/projects/cli-test/mgmt-cli.c +++ b/projects/cli-test/mgmt-cli.c @@ -3,7 +3,7 @@ * --------- * Management CLI code. * - * Copyright (c) 2016, NORDUnet A/S All rights reserved. + * Copyright (c) 2016-2017, NORDUnet A/S All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are @@ -36,8 +36,6 @@ /* Rename both CMSIS HAL_OK and libhal HAL_OK to disambiguate */ #define HAL_OK CMSIS_HAL_OK -#include "cmsis_os.h" - #include "stm-init.h" #include "stm-uart.h" #include "stm-led.h" @@ -95,18 +93,11 @@ static ringbuf_t uart_ringbuf; /* current character received from UART */ static uint8_t uart_rx; -/* Semaphore to inform uart_cli_read that there's a new character. - */ -osSemaphoreId uart_sem; -osSemaphoreDef(uart_sem); - /* Callback for HAL_UART_Receive_DMA(). */ void HAL_UART1_RxCpltCallback(UART_HandleTypeDef *huart) { ringbuf_write_char(&uart_ringbuf, uart_rx); - osSemaphoreRelease(uart_sem); - HAL_UART_Receive_DMA(huart, &uart_rx, 1); } static void uart_cli_print(struct cli_def *cli __attribute__ ((unused)), const char *buf) @@ -119,8 +110,8 @@ static void uart_cli_print(struct cli_def *cli __attribute__ ((unused)), const c static ssize_t uart_cli_read(struct cli_def *cli __attribute__ ((unused)), void *buf, size_t count) { for (int i = 0; i < count; ++i) { - while (ringbuf_read_char(&uart_ringbuf, (uint8_t *)(buf + i)) == 0) - osSemaphoreWait(uart_sem, osWaitForever); + while (ringbuf_read_char(&uart_ringbuf, (uint8_t *)(buf + i)) == 0) { + } } return (ssize_t)count; } @@ -173,8 +164,6 @@ static int check_auth(const char *username, const char *password) int cli_main(void) { - uart_sem = osSemaphoreCreate(osSemaphore(uart_sem), 0); - struct cli_def *cli; cli = mgmt_cli_init(); cli_set_auth_callback(cli, check_auth); |