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.
Diff: main.cpp
- 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");
+ }
+}