Embedded JavaScript engine for C/C++
C JavaScript Makefile
Clone or download
Latest commit 7bf0557 Oct 10, 2017
dimonomid and cesantabot BREAKING: Sys config API change
Now apps should use getters and setters instead of accessing struct
fields directly, e.g. instead of `get_cfg()->update.timeout` it should
be `mgos_sys_config_get_update_timeout()` to get the current value, and
`mgos_sys_config_set_update_timeout(123)` to update the value.

For now, the config structs are public, but they will be made private
soon, so use accessors to keep your code working.

PUBLISHED_FROM=f7d582421a8d7e4d1ed50a280f2670d8b62f8d45

README.md

V7: Embedded JavaScript engine

NOTE: this project is deprecated in favor of https://github.com/cesanta/mjs

License

V7 is the smallest JavaScript engine written in C. V7 features are:

  • Cross-platform: works on anything, starting from Arduino to MS Windows
  • Small size. Compiled static size is in 40k - 120k range, RAM footprint on initialization is about 800 bytes with freeze feature, 15k without freeze feature
  • Simple and intuitive C/C++ API. It is easy to export existing C/C++ functions into JavaScript environment
  • Standard: V7 implements JavaScript 5.1
  • Usable out-of-the-box: V7 provides an auxiliary library with Hardware (SPI, UART, etc), File, Crypto, Network API
  • Source code is both ISO C and ISO C++ compliant
  • Very easy to integrate: simply copy two files: v7.h and v7.c into your project

V7 makes it possible to program Internet of Things (IoT) embedded devices in JavaScript. V7 is a part of the full stack Mongoose OS Platform.

Examples & Documentation

Contributions

To submit contributions, sign Cesanta CLA and send GitHub pull request. You retain the copyright on your contributions.

Licensing

V7 is released under commercial and GNU GPL v.2 open source licenses.

Commercial Projects: Once your project becomes commercialised GPLv2 licensing dictates that you need to either open your source fully or purchase a commercial license. Cesanta offer full, royalty-free commercial licenses without any GPL restrictions. If your needs require a custom license, we’d be happy to work on a solution with you. [Contact us for pricing.] (https://www.cesanta.com/contact)

Prototyping: While your project is still in prototyping stage and not for sale, you can use V7’s open source code without license restrictions.