Simple embedded shell with runtime pluggable commands.

Dependents:   DataBus2018

Implements a simple unix-like shell for embedded systems with a pluggable command architecture.

Revision:
17:0739cb2f1930
Parent:
16:f2b9b7b2c71e
Child:
18:2b5ed529ab37
--- a/SimpleShell.cpp	Wed Dec 19 18:42:25 2018 +0000
+++ b/SimpleShell.cpp	Wed Dec 19 19:02:17 2018 +0000
@@ -23,6 +23,7 @@
     attach(callback(this, &SimpleShell::help), "help");
     attach(callback(this, &SimpleShell::pwd), "pwd");
     attach(callback(this, &SimpleShell::cat), "cat");
+    attach(callback(this, &SimpleShell::cd), "cd");
 }
 
 
@@ -36,6 +37,17 @@
 }
 
 
+void SimpleShell::cd(int argc, char **argv) 
+{
+    if (argc == 2) {
+        strncpy(_cwd, argv[1], MAXBUF);
+    } else {
+        puts("usage: cd <directory>");
+    }
+    return;
+}
+
+
 void SimpleShell::pwd(int argc, char **argv)
 {
     puts(_cwd);