3939
4040// Device/Framework Headers
4141#include < avr/io.h>
42+ #include < avr/pgmspace.h>
4243
4344// Project Headers
4445#include " constants.h"
@@ -80,8 +81,8 @@ void led_off(void);
8081// CLI command "help" callback function
8182void cmd_help (int argc, char * argv[]);
8283
83- // CLI command "test " callback function
84- void cmd_test (int argc, char * argv[]);
84+ // CLI command "led " callback function
85+ void cmd_led (int argc, char * argv[]);
8586
8687// CLI command "version" callback function
8788void cmd_version (int argc, char * argv[]);
@@ -105,14 +106,14 @@ int main(void)
105106 Cli.setup (&Serial);
106107
107108 // Add commands and bind callbacks to them
108- Cli.add_cmd (" led" , &cmd_test, " led [on/off], Turn LED ON or OFF.." );
109- Cli.add_cmd (" version" , &cmd_version, " Shows current firmware version." );
109+ Cli.add_cmd (" led" , &cmd_led, PSTR ( " led [on/off], Turn LED ON or OFF.." ) );
110+ Cli.add_cmd (" version" , &cmd_version, PSTR ( " Shows current firmware version." ) );
110111
111112 // The "help" command is already builtin and available from the CLI, and it
112113 // will shows added command descriptions, but you can setup a custom one
113- Cli.add_cmd (" help" , &cmd_help, " Shows program help information." );
114+ Cli.add_cmd (" help" , &cmd_help, PSTR ( " Shows program help information." ) );
114115
115- Cli.printf (" \n Command Line Interface is ready\n\n " );
116+ Cli.printf (PSTR ( " \n Command Line Interface is ready\n\n " ) );
116117
117118 while (1 )
118119 {
@@ -128,8 +129,8 @@ int main(void)
128129void cmd_help (int argc, char * argv[])
129130{
130131 // Show some Info text
131- Cli.printf (" \n Custom Help Command\n " );
132- Cli.printf (" MINBASECLI basic_usage_callbacks %s\n " , FW_APP_VERSION);
132+ Cli.printf (PSTR ( " \n Custom Help Command\n " ) );
133+ Cli.printf (PSTR ( " MINBASECLI basic_usage_callbacks %s\n " ) , FW_APP_VERSION);
133134
134135 // Call the builtin "help" function to show added command descriptions
135136 Cli.cmd_help (argc, argv);
@@ -146,27 +147,27 @@ void cmd_led(int argc, char* argv[])
146147 char * test_mode = argv[0 ];
147148 if (strcmp (test_mode, " on" ) == 0 )
148149 {
149- Cli.printf (" Turning LED ON.\n " );
150+ Cli.printf (PSTR ( " Turning LED ON.\n " ) );
150151 led_on ();
151152 }
152153 else if (strcmp (test_mode, " off" ) == 0 )
153154 {
154- Cli.printf (" Turning LED OFF.\n " );
155+ Cli.printf (PSTR ( " Turning LED OFF.\n " ) );
155156 led_off ();
156157 }
157158 else
158159 invalid_argv = true ;
159160 }
160161
161162 if (invalid_argv)
162- Cli.printf (" led command needs \" on\" or \" off\" arg.\n " );
163+ Cli.printf (PSTR ( " led command needs \" on\" or \" off\" arg.\n " ) );
163164
164- Cli.printf (" \n " );
165+ Cli.printf (PSTR ( " \n " ) );
165166}
166167
167168void cmd_version (int argc, char * argv[])
168169{
169- Cli.printf (" FW App Version: %s\n " , FW_APP_VERSION);
170+ Cli.printf (PSTR ( " FW App Version: %s\n " ) , FW_APP_VERSION);
170171}
171172
172173
@@ -175,17 +176,17 @@ void cmd_version(int argc, char* argv[])
175176/* LED Functions */
176177
177178// Set LED Pin as digital Output
178- static void led_init (void )
179+ void led_init (void )
179180{
180181 DDR (COMMAND_LED_PORT) |= (1 << COMMAND_LED_PIN);
181182}
182183
183- static void led_on (void )
184+ void led_on (void )
184185{
185186 COMMAND_LED_PORT |= (1 << COMMAND_LED_PIN);
186187}
187188
188- static void led_off (void )
189+ void led_off (void )
189190{
190191 COMMAND_LED_PORT &= ~(1 << COMMAND_LED_PIN);
191192}
0 commit comments