Mercurial > public > ostc4
comparison Discovery/Src/tComm.c @ 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 | 1b05a84f6d0f |
| children | 3123aa8723fd |
comparison
equal
deleted
inserted
replaced
| 965:58cc980ee848 | 966:90edc237d60f |
|---|---|
| 386 uint8_t answer = HAL_OK; | 386 uint8_t answer = HAL_OK; |
| 387 uint8_t aRxBuffer[50]; | 387 uint8_t aRxBuffer[50]; |
| 388 | 388 |
| 389 // char aTxFactoryDefaults[50] = "AT&F1\r"; | 389 // char aTxFactoryDefaults[50] = "AT&F1\r"; |
| 390 | 390 |
| 391 char aTxBufferEscapeSequence[50] = "+++"; | 391 char aTxBufferEscapeSequence[50] = "+++"; /* factory default */ |
| 392 // limit is 19 chars, with 7 chars shown in BLE advertising mode | 392 // limit is 19 chars, with 7 chars shown in BLE advertising mode |
| 393 //________________________123456789012345678901 | 393 //________________________123456789012345678901 |
| 394 | |
| 395 #ifndef BOOTLOADER_STANDALONE | |
| 394 char aTxBufferName[50] = "AT+BNAME=OSTC4-12345\r"; | 396 char aTxBufferName[50] = "AT+BNAME=OSTC4-12345\r"; |
| 397 #else | |
| 398 char aTxBufferName[50] = "AT+UBTLN=OSTC4-12345\r"; | |
| 399 #endif | |
| 395 char answerOkay[6] = "\r\nOK\r\n"; | 400 char answerOkay[6] = "\r\nOK\r\n"; |
| 396 | 401 |
| 397 gfx_number_to_string(5,1,&aTxBufferName[15],serial); | 402 gfx_number_to_string(5,1,&aTxBufferName[15],serial); |
| 398 | 403 |
| 399 // store active configuration in non-volatile memory | 404 // store active configuration in non-volatile memory |
| 2185 | 2190 |
| 2186 switch (BmTmpConfig) | 2191 switch (BmTmpConfig) |
| 2187 { | 2192 { |
| 2188 case BM_CONFIG_ECHO: sprintf(TxBuffer,"ATE0\r"); | 2193 case BM_CONFIG_ECHO: sprintf(TxBuffer,"ATE0\r"); |
| 2189 break; | 2194 break; |
| 2190 case BM_CONFIG_SILENCE: sprintf(TxBuffer,"ATS30=0\r"); | 2195 case BM_CONFIG_SILENCE: |
| 2196 #ifndef BOOTLOADER_STANDALONE | |
| 2197 sprintf(TxBuffer,"ATS30=0\r"); | |
| 2198 #else | |
| 2199 BmTmpConfig++; | |
| 2200 #endif | |
| 2191 break; | 2201 break; |
| 2192 case BM_CONFIG_ESCAPE_DELAY: sprintf(TxBuffer,"ATS12=10\r"); | 2202 case BM_CONFIG_ESCAPE_DELAY: |
| 2203 #ifndef BOOTLOADER_STANDALONE | |
| 2204 sprintf(TxBuffer,"ATS12=10\r"); | |
| 2205 #else | |
| 2206 BmTmpConfig++; | |
| 2207 #endif | |
| 2193 break; | 2208 break; |
| 2194 case BM_CONFIG_SIGNAL_POLL: sprintf(TxBuffer,"AT+BSTPOLL=100\r"); | 2209 case BM_CONFIG_SIGNAL_POLL: |
| 2210 #ifndef BOOTLOADER_STANDALONE | |
| 2211 sprintf(TxBuffer,"AT+BSTPOLL=100\r"); | |
| 2212 #else | |
| 2213 BmTmpConfig++; | |
| 2214 #endif | |
| 2195 break; | 2215 break; |
| 2196 case BM_CONFIG_BAUD: | 2216 case BM_CONFIG_BAUD: |
| 2197 #ifdef ENABLE_FAST_COMM | 2217 #ifdef ENABLE_FAST_COMM |
| 2218 #ifndef BOOTLOADER_STANDALONE | |
| 2198 sprintf(TxBuffer,"AT%%B22\r"); | 2219 sprintf(TxBuffer,"AT%%B22\r"); |
| 2220 #else | |
| 2221 sprintf(TxBuffer,"AT+UMRS=460800,1,8,1,1,1\r"); | |
| 2222 #endif | |
| 2199 #else | 2223 #else |
| 2200 BmTmpConfig++; | 2224 BmTmpConfig = BM_CONFIG_DONE; |
| 2201 #endif | 2225 #endif |
| 2202 break; | 2226 break; |
| 2203 case BM_CONFIG_RETRY: ConfigRetryCnt--; | 2227 case BM_CONFIG_RETRY: ConfigRetryCnt--; |
| 2204 HAL_Delay(1); | 2228 HAL_Delay(1); |
| 2205 if(ConfigRetryCnt == 0) | 2229 if(ConfigRetryCnt == 0) |
| 2265 UartHandle.Init.BaudRate = 460800; | 2289 UartHandle.Init.BaudRate = 460800; |
| 2266 HAL_UART_Init(&UartHandle); | 2290 HAL_UART_Init(&UartHandle); |
| 2267 } | 2291 } |
| 2268 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 */ | 2292 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 */ |
| 2269 { | 2293 { |
| 2294 #ifndef BOOTLOADER_STANDALONE | |
| 2270 sprintf(TxBuffer,"AT%%B8\r"); /* set default baudrate */ | 2295 sprintf(TxBuffer,"AT%%B8\r"); /* set default baudrate */ |
| 2296 #else | |
| 2297 sprintf(TxBuffer,"AT+UMRS=115200,1,8,1,1,1\r"); | |
| 2298 #endif | |
| 2271 CmdSize = strlen(TxBuffer); | 2299 CmdSize = strlen(TxBuffer); |
| 2272 HAL_UART_Transmit(&UartHandle, (uint8_t*)TxBuffer,CmdSize, 2000); | 2300 HAL_UART_Transmit(&UartHandle, (uint8_t*)TxBuffer,CmdSize, 2000); |
| 2273 HAL_UART_DeInit(&UartHandle); | 2301 HAL_UART_DeInit(&UartHandle); |
| 2274 HAL_Delay(10); | 2302 HAL_Delay(10); |
| 2275 UartHandle.Init.BaudRate = 115200; | 2303 UartHandle.Init.BaudRate = 115200; |
| 2279 HAL_UART_Transmit(&UartHandle, (uint8_t*)TxBuffer,CmdSize, 2000); | 2307 HAL_UART_Transmit(&UartHandle, (uint8_t*)TxBuffer,CmdSize, 2000); |
| 2280 } | 2308 } |
| 2281 if(result == HAL_OK) | 2309 if(result == HAL_OK) |
| 2282 { | 2310 { |
| 2283 BmTmpConfig++; | 2311 BmTmpConfig++; |
| 2312 if(BmTmpConfig == BM_CONFIG_RETRY) | |
| 2313 { | |
| 2314 BmTmpConfig = BM_CONFIG_DONE; | |
| 2315 } | |
| 2284 } | 2316 } |
| 2285 if(BmTmpConfig == BM_CONFIG_ECHO) | 2317 if(BmTmpConfig == BM_CONFIG_ECHO) |
| 2286 { | 2318 { |
| 2287 BmTmpConfig = BM_CONFIG_DONE; | 2319 BmTmpConfig = BM_CONFIG_DONE; |
| 2288 ConfigRetryCnt = 0; | 2320 ConfigRetryCnt = 0; |
