Welcome to mirror list, hosted at ThFree Co, Russian Federation.

readme.txt « Thread_Cli_Cmd « Thread « Applications « P-NUCLEO-WB55.Nucleo « Projects - github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6a240f43ff2597ee3357189627542fc666ffe27c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
/**
  @page Thread_Cli_Cmd application
  
  @verbatim
  ******************************************************************************
  * @file    Thread/Thread_Cli_Cmd/readme.txt 
  * @author  MCD Application Team
  * @brief   Description of the Thread Cli command application
  ******************************************************************************
  *
  * Copyright (c) 2019 STMicroelectronics. All rights reserved.
  *
  * This software component is licensed by ST under Ultimate Liberty license 
  * SLA0044, the "License"; You may not use this file except in compliance with 
  * the License. You may obtain a copy of the License at:
  *                               www.st.com/SLA0044
  *
  ******************************************************************************
  @endverbatim

@par Application Description 

How to control the Thread stack via Cli commands.

The Cli (Command Line Interface) commands are sent via an UART from an HyperTerminal (PC)
to the STM32WB55RG_Nucleo Board.

   ___________________________ 
  |                           |     
  |           ________________|                       _____________________________________
  |          |USART1          |                      |     HyperTerminal 1                 |
  |          |                |                      |=> Used to ctrl the stack via Cli Cmd|
  |          |                |                      |                                     |
  |          |                |                      |                                     |
  |          |                |______________________|                                     |
  |          |                |______________________| ST_Link virtual port                |
  |          |                |     ST_Link Cable    |                                     |             
  |          |                |                      |                                     |
  |          |                |                      |                                     |
  |          |                |                      |                                     |             
  |          |________________|                      |_____________________________________|          
  |                           |                       
  |           _______________ |                       ______________________________________
  |          |LPUART1         |                      |     HyperTerminal 2 (Optional)       |
  |          |                |                      |=> Used to display traces             |   
  |          |                |                      |                                      |
  |          |CN10(Pin37) TX  |______________________|RX                                    | 
  |          |                |                      |                                      |
  |          |                |     RS232 Cable      |                                      |             
  |          |                |                      |                                      |
  |          |CN10(Pin35 )RX  |______________________|TX                                    |          
  |          |                |                      |                                      |           
  |          |________________|                      |______________________________________|          
  |                           |                                                
  |                           |                      
  |                           |                      
  |_STM32WB55RG_Nucleo________|                      



- Through the Cli commands, it is possible to control and configure the Thread 
stack.
- On the HyperTerminal, the user can type the command 'help' in order to display the list of 
all available cli commands. Additional information can be found looking at the OpenThread 
web site: https://openthread.io/guides/

- As an example, the user can play the following scenario in order to properly initiate the Thread
mesh network by typing the following commands: 

  >panid 0x1234
   Done
  >channel 12
   Done
  >ifconfig up
   Done
  >thread start
   Done

At this point, the user can check the state of its device by using the cli command 'state' 
   >state
   Leader

- When running on two STM32WB55RG_Nucleo boards the same Thread_Cli_Cmd application, and by playing the 
 same scenario as described above on both boards, the first board should reach the state 'leader' 
 while the second one should reach the state 'child'. 

- When the Thread device changes state, a specific LED color is being displayed.
  LED2 ON (Green) means that the device is in "Leader" mode.
  LED3 ON (Red) means that the device is in "Router" or "Child" mode.
  LED2 OFF and LED3 OFF means that the device is disabled or detached.
  
- When all LEDS are blinking, it means that a fatal error has been detected.

     
@note The application needs to ensure that the SysTick time base is always set to 1 millisecond
      to have correct HAL operation.

@par Keywords

THREAD

@par Directory contents 
  
  - Thread/Thread_Cli_Cmd/Core/Inc/app_common.h            Header for all modules with common definition
  - Thread/Thread_Cli_Cmd/Core/Inc/app_conf.h              Parameters configuration file of the application 
  - Thread/Thread_Cli_Cmd/Core/Inc/app_entry.h             Parameters configuration file of the application
  - Thread/Thread_Cli_Cmd/STM32_WPAN/App/app_thread.h      Header for app_thread.c module
  - Thread/Thread_Cli_Cmd/Core/Inc/hw_conf.h               Configuration file of the HW 
  - Thread/Thread_Cli_Cmd/Core/Inc/main.h                  Header for main.c module
  - Thread/Thread_Cli_Cmd/Core/Inc/stm_logging.h           Header for stm_logging.c module
  - Thread/Thread_Cli_Cmd/Core/Inc/stm32wbxx_hal_conf.h    HAL configuration file
  - Thread/Thread_Cli_Cmd/Core/Src/stm32wbxx_it.h          Interrupt header file
  - Thread/Thread_Cli_Cmd/Core/Inc/system_infra.h          System infrastructure header file
  - Thread/Thread_Cli_Cmd/Core/Inc/utilities_conf.h        Configuration file of the utilities
  - Thread/Thread_Cli_Cmd/Core/Src/app_entry.c             Initialization of the application
  - Thread/Thread_Cli_Cmd/STM32_WPAN/App/app_thread.c      Thread application implementation
  - Thread/Thread_Cli_Cmd/STM32_WPAN/Target/hw_ipcc.c      IPCC Driver
  - Thread/Thread_Cli_Cmd/Core/Src/stm32_lpm_if.c          Low Power Manager Interface
  - Thread/Thread_Cli_Cmd/Core/Src/hw_uart.c               UART driver
  - Thread/Thread_Cli_Cmd/Core/Src/main.c                  Main program
  - Thread/Thread_Cli_Cmd/Core/Src/stm_logging.c           Logging module for traces
  - Thread/Thread_Cli_Cmd/Core/Src/stm32xx_it.c            Interrupt handlers
  - Thread/Thread_Cli_Cmd/Core/Src/system_stm32wbxx.c      stm32wbxx system source file


@par Hardware and Software environment

  - This example runs on STM32WB55xx devices (Nucleo board and dongle) 
  
  - This example has been tested with an STMicroelectronics STM32WB55RG_Nucleo 
    board and can be easily tailored to any other supported device 
    and development board.
    
  - On STM32WB55RG_Nucleo, the jumpers must be configured as described
    in this section. Starting from the top left position up to the bottom 
    right position, the jumpers on the Board must be set as follows: 

     CN11:    GND         [OFF]
     JP4:     VDDRF       [ON]
     JP6:     VC0         [ON]
     JP2:     +3V3        [ON] 
     JP1:     USB_STL     [ON]   All others [OFF]
     CN12:    GND         [OFF]
     CN7:     <All>       [OFF]
     JP3:     VDD_MCU     [ON]
     JP5:     GND         [OFF]  All others [ON]
     CN10:    <All>       [OFF]

 
@par How to use it ? 

This application requests having the stm32wb5x_Thread_FTD_fw.bin binary flashed on the Wireless Coprocessor.
If it is not the case, you need to use STM32CubeProgrammer to load the appropriate binary.
All available binaries are located under /Projects/STM32_Copro_Wireless_Binaries directory.
Refer to UM2237 to learn how to use/install STM32CubeProgrammer.
Refer to /Projects/STM32_Copro_Wireless_Binaries/ReleaseNote.html for the detailed procedure to change the
Wireless Coprocessor binary. 


In order to make the program work, you must do the following: 
 - Connect an STM32WB55xx_Nucleo board to your PC 
 - Open your preferred toolchain 
 - Rebuild all files and load your image OR use the Thread_Cli_Cmd_reference.hex from Binary directory
 - Connect one HyperTerminal (ST_Link) to be able to control the Thread stack via Cli commands 
 - Connect a second HyperTerminal as described below to get the traces (optional)
 - Run the example and use the HyperTerminal to interact with the Board via the Cli commands

Note: when LED1, LED2 and LED3 are toggling it is indicating an error has occurred on application.

For the Cli control and for the traces, the UART must be configured as follows:
    - BaudRate = 115200 baud  
    - Word Length = 8 Bits 
    - Stop Bit = 1 bit
    - Parity = none
    - Flow control = none

 * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
 */