Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface HttpServer Servo mbed-rtos mbed
Fork of RPCHTTPServerVariable by
Diff: main.cpp
- Revision:
- 6:c9c7ffa0594e
- Parent:
- 5:bfa9878aa274
- Child:
- 7:8a319a112fba
--- a/main.cpp Sat Feb 22 05:55:58 2014 +0000
+++ b/main.cpp Wed Jan 14 18:52:15 2015 +0000
@@ -1,47 +1,61 @@
//#define DNS_SERVER_ADDRESS(ipaddr) (ip4_addr_set_u32(ipaddr, ipaddr_addr("208.67.222.222"))) /* resolver1.opendns.com */
+
#include "mbed.h"
#include "rtos.h"
#include "EthernetInterface.h"
#include "HTTPServer.h"
#include "mbed_rpc.h"
-#include "TextLCD.h"
+#include "SDFileSystem.h"
EthernetInterface eth;
DigitalOut led4(LED4);
-LocalFileSystem local("local");
-void LcdWrite(Arguments* arg, Reply* r); //ADD Here!!
-
-TextLCD lcd(p24, p26, p27, p28, p29, p30);
+//LocalFileSystem local("local");
+SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "local");
void aliveState(void const *args)
{
- while (true) {
+ while (true)
+ {
led4 = !led4;
- Thread::wait(1000);
+ Thread::wait(2000);
}
}
+uint32_t do_list(const char *fsrc)
+{
+ DIR *d = opendir(fsrc);
+ struct dirent *p;
+ uint32_t counter = 0;
+
+ while ((p = readdir(d)) != NULL) {
+ counter++;
+ printf("%s\n", p->d_name);
+ }
+ closedir(d);
+ return counter;
+}
+
int main()
{
printf("********* PROGRAM START ***********\r\n");
Thread thread(aliveState);
RPC::add_rpc_class<RpcDigitalOut>();
- RPC::construct<RpcDigitalOut, PinName, const char*>(LED1, "led1");
- RPC::construct<RpcDigitalOut, PinName, const char*>(LED2, "led2");
- RPC::construct<RpcDigitalOut, PinName, const char*>(LED3, "led3");
- RPCFunction rpcFunc(LcdWrite, "LcdWrite"); //ADD Here!!
- lcd.cls();
- lcd.locate(0,0);
+ RPC::construct<RpcDigitalOut, PinName, const char*>(PTC3, "led1");
+ RPC::construct<RpcDigitalOut, PinName, const char*>(PTC2, "led2");
+ RPC::construct<RpcDigitalOut, PinName, const char*>(PTA2, "led3");
+ //RPCFunction rpcFunc(LcdWrite, "LcdWrite"); //ADD Here!!
printf("EthernetInterface Setting up...\r\n");
- if(eth.init()!=0) { //for DHCP Server
+ if(eth.init()!=0)
+ { //for DHCP Server
//if(eth.init(IPAddress,NetMasks,Gateway)!=0) { //for Static IP Address
printf("EthernetInterface Initialize Error \r\n");
return -1;
}
- if(eth.connect()!=0) {
+ if(eth.connect()!=0)
+ {
printf("EthernetInterface Connect Error \r\n");
return -1;
}
@@ -50,17 +64,17 @@
printf("Gateway Address is %s\r\n", eth.getGateway());
printf("Ethernet Setup OK\r\n");
+ printf("\nList all directories/files /local.\n");
+ do_list("/local");
+
HTTPServerAddHandler<SimpleHandler>("/hello"); //Default handler
FSHandler::mount("/local", "/");
HTTPServerAddHandler<FSHandler>("/");
HTTPServerAddHandler<RPCHandler>("/rpc");
- lcd.locate(0,0);
- lcd.printf("%s",eth.getIPAddress());
HTTPServerStart(80);
}
void LcdWrite(Arguments* arg, Reply* r) //ADD Here!!
{
- lcd.locate(0,1);
- lcd.printf("%s",arg->argv[0]);
+ printf("%s",arg->argv[0]);
}
