this will take a image from C328 serial camera and store those images in mbed flash as html and this html page is uploaded into the server at ip:192.168.1.2

Dependencies:   mbed

Revision:
0:e1a0471e5ffb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/myrpc.cpp	Wed Dec 15 15:01:56 2010 +0000
@@ -0,0 +1,85 @@
+// myrpc.cpp
+//
+// Based on:
+// http://mbed.org/projects/cookbook/svn/Servo/trunk/Servo.h
+// http://mbed.org/projects/cookbook/svn/Servo/trunk/Servo.cpp
+// http://mbed.org/forum/topic/234/
+
+#include "myrpc.h"
+#ifdef MBED_RPC
+#include "rpc.h"
+#endif
+
+#include "SNTPClient.h"
+
+extern int gDebug;
+
+namespace mbed {
+
+myrpc::myrpc(PinName pin, const char *name) : Base(name), _pin(pin) {}
+
+void myrpc::debug(int val) {
+  gDebug=val; 
+  printf("Debug is %s\r\n", gDebug ? "ON" : "OFF");
+}
+
+void myrpc::blink(int n) {
+  for (int i=0; i<n; i++) {
+    _pin = 1;
+    wait(0.2);
+    _pin = 0;
+    wait(0.2);
+  }
+}
+
+
+char *myrpc::echo(const char * in) {
+printf("DEBUG myrpc::echo() IN=%s\r\n",in);
+    sprintf(_buffer, "%s", in);
+    return _buffer;
+}
+
+void myrpc::settime(const char *t) {
+  time_t seconds = time(NULL);
+  if (seconds == (unsigned)-1 || seconds == 0) {
+    seconds = 1256729737;     // Set RTC time to Wed, 28 Oct 2009 11:35:37
+  }
+//  set_time(seconds);
+  SNTPSetTime(seconds);
+  strftime(_buffer, sizeof(_buffer), "%A %m/%d/%Y %H:%M:%S", localtime(&seconds));
+  printf("settime(%s) seconds=%d datetime=%s\r\n", t, seconds, _buffer);
+}
+char *myrpc::gettime(const char *fmt="%A %m/%d/%Y %H:%M:%S") {
+//  time_t seconds = time(NULL);
+  time_t seconds = SNTPTime();
+//printf("Time as seconds since January 1, 1970 = %d\r\n", seconds);
+//printf("Time as a basic string = %s\r\n", ctime(&seconds));
+  if (!fmt || !fmt[0])
+    fmt = "%A %m/%d/%Y %H:%M:%S";
+  strftime(_buffer, sizeof(_buffer), fmt, localtime(&seconds));
+  return _buffer;
+}
+
+#ifdef MBED_RPC
+const rpc_method *myrpc::get_rpc_methods() {
+  static const rpc_method rpc_methods[] = {
+    { "debug", rpc_method_caller<myrpc, int, &myrpc::debug> },
+    { "blink", rpc_method_caller<myrpc, int, &myrpc::blink> },
+    { "echo", rpc_method_caller<char *, myrpc, const char *, &myrpc::echo> },
+    { "settime", rpc_method_caller<myrpc, const char *, &myrpc::settime> },
+    { "gettime", rpc_method_caller<char *, myrpc, const char *, &myrpc::gettime> },
+    RPC_METHOD_SUPER(Base)
+  };
+  return rpc_methods;
+}       
+rpc_class *myrpc::get_rpc_class() {
+    static const rpc_function funcs[] = {
+        "new", rpc_function_caller<const char*, PinName, const char*, &Base::construct<myrpc,PinName,const char*> >,
+        RPC_METHOD_END
+    };
+    static rpc_class c = { "myrpc", funcs, NULL };
+    return &c;
+}
+#endif
+
+}    // namespace mbed