From a8296717e13e62d081b232c0a758ef2f28791d78 Mon Sep 17 00:00:00 2001 From: Edward Emelianov Date: Fri, 15 Sep 2023 23:43:35 +0300 Subject: [PATCH] I can't understand this shit with UART! --- F0:F030,F042,F072/TSYS_controller/main.c | 2 +- F0:F030,F042,F072/TSYS_controller/proto.c | 15 +++++++++++++-- .../TSYS_controller/sensors_manage.c | 8 ++++---- F0:F030,F042,F072/TSYS_controller/tsys01.bin | Bin 21928 -> 21016 bytes F0:F030,F042,F072/TSYS_controller/usart.c | 15 ++------------- F0:F030,F042,F072/TSYS_controller/usart.h | 3 +++ F0:F030,F042,F072/TSYS_controller/usb_lib.c | 2 ++ F0:F030,F042,F072/TSYS_controller/version.inc | 6 +++--- 8 files changed, 28 insertions(+), 23 deletions(-) diff --git a/F0:F030,F042,F072/TSYS_controller/main.c b/F0:F030,F042,F072/TSYS_controller/main.c index 21841e4..cb303ec 100644 --- a/F0:F030,F042,F072/TSYS_controller/main.c +++ b/F0:F030,F042,F072/TSYS_controller/main.c @@ -44,7 +44,7 @@ void sys_tick_handler(void){ ++Tms; } -#if 0 +#ifdef EBUG static void iwdg_setup(){ /* Enable the peripheral clock RTC */ /* (1) Enable the LSI (40kHz) */ diff --git a/F0:F030,F042,F072/TSYS_controller/proto.c b/F0:F030,F042,F072/TSYS_controller/proto.c index c66e2df..46b2fe7 100644 --- a/F0:F030,F042,F072/TSYS_controller/proto.c +++ b/F0:F030,F042,F072/TSYS_controller/proto.c @@ -56,9 +56,20 @@ uint8_t noLED = void sendbuf(){ IWDG->KR = IWDG_REFRESH; if(blen == 0) return; +#ifdef EBUG + USB_send(" sendbuf()\n"); +#endif *bptr = 0; if(USBcmd) USB_send(buff); - else for(int i = 0; (i < 9999) && (LINE_BUSY == usart_send(buff, blen)); ++i){IWDG->KR = IWDG_REFRESH;} + else for(int i = 0; (i < WAITFOR) && (LINE_BUSY == usart_send(buff, blen)); ++i){ +#ifdef EBUG + USB_send(" line busy\n"); +#endif + IWDG->KR = IWDG_REFRESH; + } +#ifdef EBUG + USB_send(" sendbuf() done\n"); +#endif bptr = buff; blen = 0; } @@ -69,7 +80,7 @@ void addtobuf(const char *txt){ if(l > UARTBUFSZ){ sendbuf(); // send prevoius data in buffer if(USBcmd) USB_send(txt); - else for(int i = 0; (i < 9999) && (LINE_BUSY == usart_send_blocking(txt, l)); ++i){IWDG->KR = IWDG_REFRESH;} + else for(int i = 0; (i < WAITFOR) && (LINE_BUSY == usart_send_blocking(txt, l)); ++i){IWDG->KR = IWDG_REFRESH;} }else{ if(blen+l > UARTBUFSZ){ sendbuf(); diff --git a/F0:F030,F042,F072/TSYS_controller/sensors_manage.c b/F0:F030,F042,F072/TSYS_controller/sensors_manage.c index a53766a..0038190 100644 --- a/F0:F030,F042,F072/TSYS_controller/sensors_manage.c +++ b/F0:F030,F042,F072/TSYS_controller/sensors_manage.c @@ -65,11 +65,11 @@ const char *sensors_get_statename(SensorsState x){ // TODO: check if we can convert double to float! -#ifndef EBUG -#define TYPE double -#else +//#ifndef EBUG +//#define TYPE double +//#else #define TYPE float -#endif +//#endif const TYPE mul[5] = {-1.5e-2, 1., -2., 4., -2.}; /** diff --git a/F0:F030,F042,F072/TSYS_controller/tsys01.bin b/F0:F030,F042,F072/TSYS_controller/tsys01.bin index e7a9af54ab970febce5cbfd08ffdaa6a4fd16cb9..b8d41e61e8b325b9d65bf18bd59d5a32e73b7f8b 100755 GIT binary patch delta 13022 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 P!v4g>NlE00Od|gaj??4M delta 14067 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 = IWDG_REFRESH;} - bufovr = 0; - while(*str){ - USARTX -> TDR = *str++; - while(!(USARTX->ISR & USART_ISR_TXE)){IWDG->KR = IWDG_REFRESH;}; - } -}*/ void usart_setup(){ // Nucleo's USART2 connected to VCP proxy of st-link @@ -133,7 +122,7 @@ void usart_setup(){ DMA1_Channel4->CMAR = (uint32_t) tbuf; // mem DMA1_Channel4->CCR |= DMA_CCR_MINC | DMA_CCR_DIR | DMA_CCR_TCIE; // 8bit, mem++, mem->per, transcompl irq // Tx CNDTR set @ each transmission due to data size - NVIC_SetPriority(DMA1_Channel4_5_IRQn, 3); + NVIC_SetPriority(DMA1_Channel4_5_IRQn, 0); NVIC_EnableIRQ(DMA1_Channel4_5_IRQn); NVIC_SetPriority(USART2_IRQn, 0); // setup usart2 @@ -159,7 +148,7 @@ void usart_setup(){ DMA1_Channel2->CMAR = (uint32_t) tbuf; // mem DMA1_Channel2->CCR |= DMA_CCR_MINC | DMA_CCR_DIR | DMA_CCR_TCIE; // 8bit, mem++, mem->per, transcompl irq // Tx CNDTR set @ each transmission due to data size - NVIC_SetPriority(DMA1_Channel2_3_IRQn, 3); + NVIC_SetPriority(DMA1_Channel2_3_IRQn, 0); NVIC_EnableIRQ(DMA1_Channel2_3_IRQn); NVIC_SetPriority(USART1_IRQn, 0); // setup usart1 diff --git a/F0:F030,F042,F072/TSYS_controller/usart.h b/F0:F030,F042,F072/TSYS_controller/usart.h index d85032d..a39593d 100644 --- a/F0:F030,F042,F072/TSYS_controller/usart.h +++ b/F0:F030,F042,F072/TSYS_controller/usart.h @@ -31,6 +31,9 @@ #define TIMEOUT_MS (1500) #endif +// timeout for cycles +#define WAITFOR (72000000) + typedef enum{ ALL_OK, LINE_BUSY, diff --git a/F0:F030,F042,F072/TSYS_controller/usb_lib.c b/F0:F030,F042,F072/TSYS_controller/usb_lib.c index 3f46d7d..111a4ed 100644 --- a/F0:F030,F042,F072/TSYS_controller/usb_lib.c +++ b/F0:F030,F042,F072/TSYS_controller/usb_lib.c @@ -30,6 +30,8 @@ #ifdef EBUG #include "usart.h" #define MSG(x) do{usart_send(x, sizeof(x));}while(0) +#else +#define MSG(x) #endif diff --git a/F0:F030,F042,F072/TSYS_controller/version.inc b/F0:F030,F042,F072/TSYS_controller/version.inc index f662976..55ef795 100644 --- a/F0:F030,F042,F072/TSYS_controller/version.inc +++ b/F0:F030,F042,F072/TSYS_controller/version.inc @@ -1,3 +1,3 @@ -#define BUILD_NUMBER "80" -#define BUILD_DATE "2023-09-12" -#define BUILDNO 80 +#define BUILD_NUMBER "90" +#define BUILD_DATE "2023-09-15" +#define BUILDNO 91