Simple example that shows how to embed a JavaScript interpreter and expose some mbed system functions to JS allowing a simple JavaScript program to blink a led.
Revision 0:ca3d04aad28e, committed 2016-10-13
- Comitter:
- mmikulicic
- Date:
- Thu Oct 13 09:01:59 2016 +0000
- Commit message:
- Example
Changed in this revision
diff -r 000000000000 -r ca3d04aad28e main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Oct 13 09:01:59 2016 +0000 @@ -0,0 +1,32 @@ +#include "mbed.h" + +#include "v7.h" + +DigitalOut led_green(LED1); + +enum v7_err js_set_led(struct v7 *v7, v7_val_t *res) { + led_green = !v7_get_bool(v7, v7_arg(v7, 0)); + return V7_OK; +} + +enum v7_err js_wait(struct v7 *v7, v7_val_t *res) { + wait(v7_get_double(v7, v7_arg(v7, 0))); + return V7_OK; +} + +int main() { + struct v7 *v7 = v7_create(); + + v7_set_method(v7, v7_get_global(v7), "setLed", &js_set_led); + v7_set_method(v7, v7_get_global(v7), "wait", &js_wait); + + v7_exec(v7, + "while(true) {" \ + " setLed(false);" \ + " wait(0.2); " \ + " setLed(true);" \ + " wait(0.8); " \ + "}", + NULL); + +}
diff -r 000000000000 -r ca3d04aad28e mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Thu Oct 13 09:01:59 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/25aea2a3f4e3 \ No newline at end of file
diff -r 000000000000 -r ca3d04aad28e v7.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/v7.lib Thu Oct 13 09:01:59 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/teams/Cesanta/code/v7/#2bce515c5f0b