Norimasa Okamoto / Mbed 2 deprecated TinyJS

Dependencies:   mbed

Fork of TinyJS by Takehisa Oneta

Revision:
0:aae260bdcdd9
Child:
1:d793f113cfc0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Jan 11 20:19:11 2014 +0000
@@ -0,0 +1,125 @@
+/*
+ * TinyJS for mbed.
+ *
+ * Authored by Takehisa Oneta (ohneta@gmail.com)
+ * 10th Jan. 2013
+ */
+
+#include "mbed.h"
+#include "TinyJS.h"
+
+Serial pc(USBTX, USBRX);
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
+DigitalOut led4(LED4);
+
+//unsigned char usbArea[1024] __attribute__((section("AHBSRAM0")));
+//unsigned char ethArea[1024] __attribute__((section("AHBSRAM1")));
+
+
+extern int tinyjs_main(int argc, char **argv);
+
+//---------------------------------------------
+
+void mbedDigitalOut(CScriptVar *c, void *)
+{
+    int pinName = c->getParameter("pinName")->getInt();
+    int val = c->getParameter("val")->getInt();
+
+    switch (pinName) {
+        case LED1:
+            led1 = val;
+            break;
+        case LED2:
+            led2 = val;
+            break;
+        case LED3:
+            led3 = val;
+            break;
+        case LED4:
+            led4 = val;
+            break;
+    }
+}
+
+char ledVarStr[32];
+char *mbedLedsVarString(int ledNo)
+{
+  switch (ledNo) {
+      case 1:
+        sprintf(ledVarStr,  "var led1 = %d;", LED1);
+        break;
+      case 2:
+        sprintf(ledVarStr,  "var led2 = %d;", LED2);
+        break;
+      case 3:
+        sprintf(ledVarStr,  "var led3 = %d;", LED3);
+        break;
+      case 4:
+        sprintf(ledVarStr,  "var led4 = %d;", LED4);
+        break;
+      default:
+        sprintf(ledVarStr,  "");
+        break;
+  }
+  return ledVarStr;
+}
+
+//---------------------------------------------
+void mbedMemfree(CScriptVar *c, void *)
+{
+    int i = 0;
+    while(1) {
+        void *p = malloc(i);
+        if (p == NULL)  break;
+        free(p);
+        i++;
+    }
+    c->getReturnVar()->setInt(i);
+}
+
+//---------------------------------------------
+
+int readOneLine(char *buffer, const int bufferSize)
+{
+    int len = 0;
+
+    buffer[0] = '\0';
+    while (true) {
+        char c = pc.getc();
+        pc.putc(c);
+
+        if ('\r' == c) {
+            return len;
+        } else if( '\n' == c ) {
+        } else {
+            buffer[len] = c;
+            buffer[len + 1] = '\0';
+            len++;
+            if (len > bufferSize) {
+                return len;
+            }
+        }
+    }
+
+    return len;
+}
+
+//---------------------------------------------
+//---------------------------------------------
+
+int main() {
+    pc.baud(57600);
+
+    while(1) {
+        printf("\n");
+        printf("--------------------------\n");
+        printf("TinyJS on mbed LPC1768 ported by ohneta.\n");
+
+        tinyjs_main(NULL, NULL);
+
+        printf("--------------------------\n");
+        printf("bye bye\n");
+    }
+}