@@ -68,12 +68,6 @@ static const char TAG[] = "Main";
6868
6969/* ****************************************************************************/
7070
71- /* Global Elements */
72-
73- static MINBASECLI Cli;
74-
75- /* ****************************************************************************/
76-
7771/* Functions Prototypes */
7872
7973// Main Function
@@ -88,12 +82,12 @@ void th_cli_interpreter(void* arg);
8882void cli_interpreter (t_cli_result* cli_read);
8983
9084// CLI command callback functions
91- void cmd_help (int argc, char * argv[]);
92- void cmd_heap (int argc, char * argv[]);
93- void cmd_led (int argc, char * argv[]);
94- void cmd_mac (int argc, char * argv[]);
95- void cmd_reboot (int argc, char * argv[]);
96- void cmd_version (int argc, char * argv[]);
85+ void cmd_help (MINBASECLI* Cli, int argc, char * argv[]);
86+ void cmd_heap (MINBASECLI* Cli, int argc, char * argv[]);
87+ void cmd_led (MINBASECLI* Cli, int argc, char * argv[]);
88+ void cmd_mac (MINBASECLI* Cli, int argc, char * argv[]);
89+ void cmd_reboot (MINBASECLI* Cli, int argc, char * argv[]);
90+ void cmd_version (MINBASECLI* Cli, int argc, char * argv[]);
9791
9892/* ****************************************************************************/
9993
@@ -167,6 +161,8 @@ bool launch_threads(void)
167161 */
168162void th_cli_interpreter (void * arg)
169163{
164+ MINBASECLI Cli;
165+
170166 // Setup Command Line Interface
171167 Cli.setup ();
172168
@@ -197,29 +193,29 @@ void th_cli_interpreter(void* arg)
197193
198194/* CLI Commands Callbacks */
199195
200- void cmd_help (int argc, char * argv[])
196+ void cmd_help (MINBASECLI* Cli, int argc, char * argv[])
201197{
202198 // Show some Info text
203- Cli. printf (" \n Custom Help Command\n " );
204- Cli. printf (" MINBASECLI basic_usage_callbacks %s\n " , FW_APP_VERSION);
199+ Cli-> printf (" \n Custom Help Command\n " );
200+ Cli-> printf (" MINBASECLI basic_usage_callbacks %s\n " , FW_APP_VERSION);
205201
206202 // Call the builtin "help" function to show added command descriptions
207- Cli. cmd_help (argc, argv);
203+ Cli-> cmd_help (argc, argv);
208204}
209205
210- void cmd_heap (int argc, char * argv[])
206+ void cmd_heap (MINBASECLI* Cli, int argc, char * argv[])
211207{
212208 uint32_t heap_available = esp_get_free_heap_size ();
213209 uint32_t heap_in_available = esp_get_free_internal_heap_size ();
214210 uint32_t heap_min_available = esp_get_minimum_free_heap_size ();
215- Cli. printf (" Available heap: %" PRIu32 " bytes\n " , heap_available);
216- Cli. printf (" Available internal heap: %" PRIu32 " bytes\n " ,
211+ Cli-> printf (" Available heap: %" PRIu32 " bytes\n " , heap_available);
212+ Cli-> printf (" Available internal heap: %" PRIu32 " bytes\n " ,
217213 heap_in_available);
218- Cli. printf (" Minimum heap that has ever been available: " \
214+ Cli-> printf (" Minimum heap that has ever been available: " \
219215 " %" PRIu32 " bytes\n " , heap_min_available);
220216}
221217
222- void cmd_led (int argc, char * argv[])
218+ void cmd_led (MINBASECLI* Cli, int argc, char * argv[])
223219{
224220 bool invalid_argv = false ;
225221
@@ -231,49 +227,49 @@ void cmd_led(int argc, char* argv[])
231227 char * test_mode = argv[0 ];
232228 if (strcmp (test_mode, " on" ) == 0 )
233229 {
234- Cli. printf (" LED (pin %" PRIu8 " ), ON\n " , IO_LED);
230+ Cli-> printf (" LED (pin %" PRIu8 " ), ON\n " , IO_LED);
235231 gpio_set_level (IO_LED, 1 );
236232 }
237233 else if (strcmp (test_mode, " off" ) == 0 )
238234 {
239- Cli. printf (" LED (pin %" PRIu8 " ), OFF\n " , IO_LED);
235+ Cli-> printf (" LED (pin %" PRIu8 " ), OFF\n " , IO_LED);
240236 gpio_set_level (IO_LED, 0 );
241237 }
242238 else
243239 invalid_argv = true ;
244240 }
245241
246242 if (invalid_argv)
247- Cli. printf (" LED command needs \" on\" or \" off\" arg." );
243+ Cli-> printf (" LED command needs \" on\" or \" off\" arg." );
248244}
249245
250- void cmd_mac (int argc, char * argv[])
246+ void cmd_mac (MINBASECLI* Cli, int argc, char * argv[])
251247{
252248 uint8_t mac_addr[6 ] = { 0 };
253249 ESP_ERROR_CHECK (esp_read_mac (mac_addr, ESP_MAC_WIFI_STA));
254- Cli. printf (" WiFi Station MAC: %02X:%02X:%02X:%02X:%02X:%02X\n " ,
250+ Cli-> printf (" WiFi Station MAC: %02X:%02X:%02X:%02X:%02X:%02X\n " ,
255251 mac_addr[0 ], mac_addr[1 ], mac_addr[2 ],
256252 mac_addr[3 ], mac_addr[4 ], mac_addr[5 ]);
257- Cli. printf (" WiFi SoftAP MAC: %02X:%02X:%02X:%02X:%02X:%02X\n " ,
253+ Cli-> printf (" WiFi SoftAP MAC: %02X:%02X:%02X:%02X:%02X:%02X\n " ,
258254 mac_addr[0 ], mac_addr[1 ], mac_addr[2 ],
259255 mac_addr[3 ], mac_addr[4 ], mac_addr[5 ]+1 );
260- Cli. printf (" Bluetooth MAC: %02X:%02X:%02X:%02X:%02X:%02X\n " ,
256+ Cli-> printf (" Bluetooth MAC: %02X:%02X:%02X:%02X:%02X:%02X\n " ,
261257 mac_addr[0 ], mac_addr[1 ], mac_addr[2 ],
262258 mac_addr[3 ], mac_addr[4 ], mac_addr[5 ]+2 );
263- Cli. printf (" Ethernet MAC: %02X:%02X:%02X:%02X:%02X:%02X\n " ,
259+ Cli-> printf (" Ethernet MAC: %02X:%02X:%02X:%02X:%02X:%02X\n " ,
264260 mac_addr[0 ], mac_addr[1 ], mac_addr[2 ],
265261 mac_addr[3 ], mac_addr[4 ], mac_addr[5 ]+3 );
266262}
267263
268- void cmd_reboot (int argc, char * argv[])
264+ void cmd_reboot (MINBASECLI* Cli, int argc, char * argv[])
269265{
270- Cli. printf (" Rebooting...\n " );
271- Cli. printf (" \n --------------------------------\n\n " );
266+ Cli-> printf (" Rebooting...\n " );
267+ Cli-> printf (" \n --------------------------------\n\n " );
272268 esp_restart ();
273269}
274270
275- void cmd_version (int argc, char * argv[])
271+ void cmd_version (MINBASECLI* Cli, int argc, char * argv[])
276272{
277- Cli. printf (" ESP-IDF Version: %s\n " , esp_get_idf_version ());
278- Cli. printf (" FW App Version: %s\n " , FW_APP_VERSION);
273+ Cli-> printf (" ESP-IDF Version: %s\n " , esp_get_idf_version ());
274+ Cli-> printf (" FW App Version: %s\n " , FW_APP_VERSION);
279275}
0 commit comments