22/* *
33 * @file main.cpp
44 * @author Jose Miguel Rios Rubio <[email protected] > 5- * @date 02-02 -2022
6- * @version 1.0.0
5+ * @date 02-04 -2022
6+ * @version 1.0.1
77 *
88 * @section DESCRIPTION
99 *
@@ -61,12 +61,6 @@ static void led_init(void);
6161static void led_on (void );
6262static void led_off (void );
6363
64- static void serial_print (uint8_t data_byte);
65- static void serial_println (uint8_t data_byte);
66- static void serial_println (void );
67- static void serial_print (const char * str);
68- static void serial_println (const char * str);
69-
7064/* ****************************************************************************/
7165
7266/* Global Elements */
@@ -82,14 +76,15 @@ int main(void)
8276 // Command Line Interface
8377 MINBASECLI Cli;
8478
79+ // Set LED Pin as digital Output
80+ led_init ();
81+
8582 // Initilize UART0
8683 Serial.setup (SERIAL_BAUDS);
8784
8885 // CLI init to use Serial as interface
8986 Cli.setup (&Serial);
90-
91- // Set LED Pin as digital Output
92- led_init ();
87+ Cli.printf (" \n Command Line Interface is ready\n\n " );
9388
9489 while (1 )
9590 {
@@ -99,22 +94,19 @@ int main(void)
9994 if (Cli.manage (&cli_read))
10095 {
10196 // Show read result element
102- serial_print (" Command received: " ); serial_println (cli_read.cmd );
103- serial_print (" Number of arguments: " ); serial_println (cli_read.argc );
104- for (uint8_t i = 0 ; i < cli_read.argc ; i++)
105- {
106- serial_print (" Argument " ); serial_print (i);
107- serial_print (" :" ); serial_println (cli_read.argv [i]);
108- }
109- serial_println ();
97+ Cli.printf (" Command received: %s\n " , cli_read.cmd );
98+ Cli.printf (" Number of arguments: %d\n " , (int )(cli_read.argc ));
99+ for (int i = 0 ; i < cli_read.argc ; i++)
100+ Cli.printf (" Argument %d: %s" , i, cli_read.argv [i]);
101+ Cli.printf (" \n " );
110102
111103 // Handle Commands
112104 if (strcmp (cli_read.cmd , " help" ) == 0 )
113105 {
114- serial_println (" Available Commands:" );
115- serial_println (" help - Current info. " );
116- serial_println (" led [on/off] - Turn LED ON or OFF" );
117- serial_println (" version - Shows current firmware version" );
106+ Cli. printf (" Available Commands:\n " );
107+ Cli. printf (" help - Current info\n " );
108+ Cli. printf (" led [on/off] - Turn LED ON or OFF\n " );
109+ Cli. printf (" version - Shows current firmware version\n " );
118110 }
119111 else if (strcmp (cli_read.cmd , " led" ) == 0 )
120112 {
@@ -129,30 +121,29 @@ int main(void)
129121 led_mode = cli_read.argv [0 ];
130122 if (strcmp (led_mode, " on" ) == 0 )
131123 {
132- serial_println (" Turning LED ON." );
124+ Cli. printf (" Turning LED ON.\n " );
133125 led_on ();
134126 }
135127 else if (strcmp (led_mode, " off" ) == 0 )
136128 {
137- serial_println (" Turning LED OFF." );
129+ Cli. printf (" Turning LED OFF.\n " );
138130 led_off ();
139131 }
140132 else
141133 invalid_argv = true ;
142134 }
143135
144136 if (invalid_argv)
145- serial_println (" led command needs \" on\" or \" off\" arg." );
137+ Cli. printf (" led command needs \" on\" or \" off\" arg.\n " );
146138 }
147139 else if (strcmp (cli_read.cmd , " version" ) == 0 )
148140 {
149- serial_print (" Fw Version: " );
150- serial_println (FW_APP_VERSION);
141+ Cli.printf (" FW App Version: %s\n " , FW_APP_VERSION);
151142 }
152143 // ...
153144 else
154- serial_println (" Unkown command." );
155- serial_println ( );
145+ Cli. printf (" Unkown command.\n " );
146+ Cli. printf ( " \n " );
156147 }
157148 }
158149}
@@ -176,46 +167,3 @@ static void led_off(void)
176167{
177168 COMMAND_LED_PORT &= ~(1 << COMMAND_LED_PIN);
178169}
179-
180- /* ****************************************************************************/
181-
182- /* Auxiliar Serial Functions */
183-
184- static void serial_println (void )
185- {
186- Serial.write ((uint8_t )(' \n ' ));
187- }
188-
189- static void serial_print (const char * str)
190- {
191- while (*str != ' \0 ' )
192- {
193- Serial.write (*str);
194- str = str + 1 ;
195- }
196- }
197-
198- static void serial_println (const char * str)
199- {
200- serial_print (str);
201- Serial.write ((uint8_t )(' \n ' ));
202- }
203-
204- static void serial_print (uint8_t data_byte)
205- {
206- char str[4 ];
207- char * ptr_str = str;
208-
209- snprintf (str, 4 , " %u" , data_byte);
210- while (*ptr_str != ' \0 ' )
211- {
212- Serial.write (*ptr_str);
213- ptr_str = ptr_str + 1 ;
214- }
215- }
216-
217- static void serial_println (uint8_t data_byte)
218- {
219- serial_print (data_byte);
220- serial_println ();
221- }
0 commit comments