
Typical controller demo program based on Seeed Arch Max. Features: - Multi-thread architecture - Inter-thread message communication - Independent command shell using thread - HTTPD with CGI, WS, RPC - Key & value pair configuration load/save
Dependencies: CMDB EthernetInterface HTTPD dconfig mbed-rpc mbed-rtos mbed storage_on_flash
Revision 2:d7ffadba49b9, committed 2015-06-17
- Comitter:
- hillkim7
- Date:
- Wed Jun 17 01:55:19 2015 +0000
- Parent:
- 1:a20044f85ee6
- Child:
- 3:df8a882e33a6
- Commit message:
- Fix stack overflow problem of the console task.
Changed in this revision
--- a/EthernetInterface.lib Fri Apr 10 11:54:18 2015 +0000 +++ b/EthernetInterface.lib Wed Jun 17 01:55:19 2015 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/users/yihui/code/EthernetInterface-arch-max-dev/#34f536b71858 +http://developer.mbed.org/teams/mbed_controller/code/EthernetInterface/#8c07cf7bc36c
--- a/MainConfig.cpp Fri Apr 10 11:54:18 2015 +0000 +++ b/MainConfig.cpp Wed Jun 17 01:55:19 2015 +0000 @@ -13,6 +13,7 @@ void MainConfig::reset_default(void) { + clear(); (*this)["eth"] = "dhcp"; (*this)["ip"] = ""; (*this)["mask"] = "255.255.255.0"; @@ -60,3 +61,4 @@ +
--- a/console.cpp Fri Apr 10 11:54:18 2015 +0000 +++ b/console.cpp Wed Jun 17 01:55:19 2015 +0000 @@ -15,11 +15,13 @@ #define CID_TEST 1 #define CID_FREE 2 #define CID_CFG_SET 3 -#define CID_CFG_SAVE 4 -#define CID_CFG_PRINT 5 -#define CID_IF_UP 6 -#define CID_IF_DOWN 7 -#define CID_IF_STAT 8 +#define CID_CFG_RESET 4 +#define CID_CFG_SAVE 5 +#define CID_CFG_PRINT 6 +#define CID_IF_UP 7 +#define CID_IF_DOWN 8 +#define CID_IF_STAT 9 + /** Sample User Command Dispatcher. * @@ -42,6 +44,11 @@ } _config.unlock_config(); break; + case CID_CFG_RESET : + _config.lock_config(); + _config.reset_default(); + _config.unlock_config(); + break; case CID_CFG_SAVE : _config.lock_config(); if (!_config.save_config()) { @@ -73,6 +80,7 @@ {"Test",SUBSYSTEM,CID_TEST,"" ,"* Test Subsystem"}, {"free",CID_TEST,CID_FREE,"" ,"show amount of free memory", ""}, {"cfgset",CID_TEST,CID_CFG_SET,"%s %s" ,"config set", "config_key value"}, + {"cfgreset",CID_TEST,CID_CFG_RESET,"" ,"config reset", ""}, {"cfgsave",CID_TEST,CID_CFG_SAVE,"" ,"config save to flash"}, {"cfgprint",CID_TEST,CID_CFG_PRINT,"" ,"print all config"}, {"ifup",CID_TEST,CID_IF_UP,"" ,"bring a network interface up"}, @@ -137,3 +145,4 @@ } } +
--- a/console.h Fri Apr 10 11:54:18 2015 +0000 +++ b/console.h Wed Jun 17 01:55:19 2015 +0000 @@ -5,8 +5,9 @@ * */ -#define CONSOLE_STACK_SIZE (4*1024) +#define CONSOLE_STACK_SIZE (6*1024) void console_thread(void const *args); +
--- a/httpd_service.cpp Fri Apr 10 11:54:18 2015 +0000 +++ b/httpd_service.cpp Wed Jun 17 01:55:19 2015 +0000 @@ -42,11 +42,12 @@ int i; char buf[256]; - i = httpd->receive(id, buf, sizeof(buf)); + i = httpd->receive(id, buf, sizeof(buf)-1); if (i < 0) return; buf[i] = 0; - printf("WS %d %s\r\n", id, buf); + //printf("WS %d %s\r\n", id, buf); + printf("WS%d %d\r\n", id, i); httpd->sendWebsocket(id, buf, i); } @@ -80,3 +81,4 @@ printf("httpd ready\r\n"); } +
--- a/mbed-rpc.lib Fri Apr 10 11:54:18 2015 +0000 +++ b/mbed-rpc.lib Wed Jun 17 01:55:19 2015 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/teams/mbed_controller/code/mbed-rpc/#6c26f367f70d +http://developer.mbed.org/teams/mbed_controller/code/mbed-rpc/#f80f9c2bfb8c
--- a/mbed-rtos.lib Fri Apr 10 11:54:18 2015 +0000 +++ b/mbed-rtos.lib Wed Jun 17 01:55:19 2015 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed-rtos/#d3d0e710b443 +http://mbed.org/users/mbed_official/code/mbed-rtos/#5c72830f2d48
--- a/mbed.bld Fri Apr 10 11:54:18 2015 +0000 +++ b/mbed.bld Wed Jun 17 01:55:19 2015 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/7e07b6fb45cf \ No newline at end of file +http://mbed.org/users/mbed_official/code/mbed/builds/7cff1c4259d7 \ No newline at end of file