Mercurial > public > ostc4
changeset 966:90edc237d60f Evo_2_23
Bluetooth commands for new module:
The new Bluetooth module has a slightly different protocol then the previous => Some configuration steps needs to be skip because parameter is not supported and command structures need to be adapted. In the first step this is done for the Bootloader only.
| author | Ideenmodellierer |
|---|---|
| date | Mon, 13 Jan 2025 20:42:24 +0100 |
| parents | 58cc980ee848 |
| children | 9b418e63dbc2 |
| files | Discovery/Src/tComm.c |
| diffstat | 1 files changed, 37 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/Discovery/Src/tComm.c Mon Jan 13 18:36:04 2025 +0100 +++ b/Discovery/Src/tComm.c Mon Jan 13 20:42:24 2025 +0100 @@ -388,10 +388,15 @@ // char aTxFactoryDefaults[50] = "AT&F1\r"; - char aTxBufferEscapeSequence[50] = "+++"; + char aTxBufferEscapeSequence[50] = "+++"; /* factory default */ // limit is 19 chars, with 7 chars shown in BLE advertising mode //________________________123456789012345678901 + +#ifndef BOOTLOADER_STANDALONE char aTxBufferName[50] = "AT+BNAME=OSTC4-12345\r"; +#else + char aTxBufferName[50] = "AT+UBTLN=OSTC4-12345\r"; +#endif char answerOkay[6] = "\r\nOK\r\n"; gfx_number_to_string(5,1,&aTxBufferName[15],serial); @@ -2187,17 +2192,36 @@ { case BM_CONFIG_ECHO: sprintf(TxBuffer,"ATE0\r"); break; - case BM_CONFIG_SILENCE: sprintf(TxBuffer,"ATS30=0\r"); + case BM_CONFIG_SILENCE: +#ifndef BOOTLOADER_STANDALONE + sprintf(TxBuffer,"ATS30=0\r"); +#else + BmTmpConfig++; +#endif break; - case BM_CONFIG_ESCAPE_DELAY: sprintf(TxBuffer,"ATS12=10\r"); + case BM_CONFIG_ESCAPE_DELAY: +#ifndef BOOTLOADER_STANDALONE + sprintf(TxBuffer,"ATS12=10\r"); +#else + BmTmpConfig++; +#endif break; - case BM_CONFIG_SIGNAL_POLL: sprintf(TxBuffer,"AT+BSTPOLL=100\r"); + case BM_CONFIG_SIGNAL_POLL: +#ifndef BOOTLOADER_STANDALONE + sprintf(TxBuffer,"AT+BSTPOLL=100\r"); +#else + BmTmpConfig++; +#endif break; case BM_CONFIG_BAUD: #ifdef ENABLE_FAST_COMM + #ifndef BOOTLOADER_STANDALONE sprintf(TxBuffer,"AT%%B22\r"); + #else + sprintf(TxBuffer,"AT+UMRS=460800,1,8,1,1,1\r"); + #endif #else - BmTmpConfig++; + BmTmpConfig = BM_CONFIG_DONE; #endif break; case BM_CONFIG_RETRY: ConfigRetryCnt--; @@ -2267,7 +2291,11 @@ } else if((BmTmpConfig == BM_CONFIG_BAUD) && (result == HAL_OK) && (UartHandle.Init.BaudRate == 460800)) /* This shut not happen because default speed is 115200 => update module configuration */ { +#ifndef BOOTLOADER_STANDALONE sprintf(TxBuffer,"AT%%B8\r"); /* set default baudrate */ +#else + sprintf(TxBuffer,"AT+UMRS=115200,1,8,1,1,1\r"); +#endif CmdSize = strlen(TxBuffer); HAL_UART_Transmit(&UartHandle, (uint8_t*)TxBuffer,CmdSize, 2000); HAL_UART_DeInit(&UartHandle); @@ -2281,6 +2309,10 @@ if(result == HAL_OK) { BmTmpConfig++; + if(BmTmpConfig == BM_CONFIG_RETRY) + { + BmTmpConfig = BM_CONFIG_DONE; + } } if(BmTmpConfig == BM_CONFIG_ECHO) {
