Skip to content
This repository has been archived by the owner on Aug 5, 2022. It is now read-only.

Releases: intel/zephyr.js

ZJS 0.5

09 Feb 18:52
Compare
Choose a tag to compare
ZJS 0.5 Pre-release
Pre-release

The ZJS 0.5 release is available from git with the tag v0.5 with API documentation and ashell documentation. This release is a preview release with the following features:

  • Based on stable Zephyr 1.10 and updated JerryScript and iotivity-constrained
  • New API modules for WebUSB and graphics
  • AIO support for K64F, restructured AIO so that A101 is a special case
  • Board API support replaced "arduino101_pins" and "k64f_pins"
  • New board-specific documentation files (initially for a101, k64f and "other")
  • Updated to new Zephyr cmake build and partially converted our build
  • Stub math library with pseudorandom number generator
  • New OCF and WebUSB samples
  • Many bug fixes

Known github issues that we do not plan to fix for this release:

  • #1518 [tcp] tcpclient cannot connect to server on A101 and qemu
  • #1725 [ws] Cannot send data to peer(-22) on K64F and QEMU
  • #1828 [tcp] Cannot connect to TCPEchoServ4_DHCP.js again by netcat(echo) on K64F
  • #1832 [stability] General Protection Fault occurs again on arduino101 over ble with 12 hours
  • Various minor issues

ZJS 0.4

25 Sep 21:51
Compare
Choose a tag to compare
ZJS 0.4 Pre-release
Pre-release

The ZJS 0.4 release is available from git with the tag v0.4 with API documentation and ashell documentation. This release is a preview release with the following features:

  • Based on stable Zephyr 1.8 and updated JerryScript and iotivity-constrained
  • New API modules for TCP sockets (net), Websockets, SPI bus, Pattern Matching for Arduino 101, Board API (partial), and net_config module w/ DHCP and static IP support, SPI screen support
  • Support for JavaScript-only modules
  • Support multiple client connections over Bluetooth
  • JerryScript features like promises enabled automatically when they are used
  • Simplified ashell to run in a single thread
  • Split sensor support into separate submodules
  • Magnetometer sensor support for K64F
  • Multiple resource support for OCF
  • Prevents synchronization issues by ensuring malloc and JerryScript calls are only done from the main thread with "deferred work" concept
  • Uses JerryScript's JobQueue implementation
  • Stores module metadata in JSON files and updated analyze script to use them
  • Modularized ARC support image
  • Experimental support for nRF52, Arduino Due, ST F411RE
  • Mock support for GPIO module to allow testing without hardware
  • New samples
  • Added documentation
  • Many bug fixes
  • Devel: Add ZJS_ASSERT and FTRACE macros for debugging

I'm afraid there is a large number of known issues in Github at the time of this release, so I'm not going to try to list them all here. We spent a long time stabilizing but were only able to address the relatively major issues this time. Now that Zephyr 1.9 is out we need to start working on that and hopefully we'll be able to get the bug count down for the next release.

ZJS 0.3

13 Apr 00:10
Compare
Choose a tag to compare
ZJS 0.3 Pre-release
Pre-release

The ZJS 0.3 release is available from git with the tag v0.3 with API documentation and ashell documentation. This release is a preview release with the following features:

  • Based on stable Zephyr 1.7 and an updated JerryScript
  • New API modules for OCF, UDP datagrams, Filesystem, TemperatureSensor
  • I2C support on K64F board
  • Variable x86/arc partitioning for ROM/RAM on Arduino 101 w/o bootloader update
  • Dynamic memory allocation far less restricted after switching to newlib malloc
  • New APIs in console module: time, timeEnd, assert
  • WebUSB support in ashell, works with Web IDE
  • Better cleanup in between running scripts on ashell
  • Standard error types defined
  • Improved documentation, tests
  • Build improvements such as simpler ashell/ide targets, Mac build fixed
  • Many bug fixes
  • Devel: Macros for standard argument validation
  • Devel: ZVAL macro to handle jerry_value_t cleanup automatically
  • Devel: Travis builds dramatically sped up with consolidation and caching
  • Test: Assert.js module for common test behavior

Caveat:

  • We have a workaround for building with SDK 0.9, which builds in debug mode w/o optimization. To build ashell/ide with SDK 0.9 on you should use ROM=250. For this reason, SDK 0.8.2 is still preferred until we can solve that a better way.

Known minor github issues that we do not plan to fix for this release:

  • #90 The GPIO “pullup”/”pulldown” feature doesn’t work on IO2, IO4, IO7-IO8 pins
  • #758 Throw out error with building UDP server in qemu
  • #762 "set transfer ihex/raw" is not working as expected
  • #783 Not enough memory if run a large size JS file
  • #785 Could not parse JS
  • #924 USAGE FAULT when running HelloWorld.js
  • #990 D5 pin is working abnormally on K64F

ZJS 0.2

12 Apr 22:43
Compare
Choose a tag to compare
ZJS 0.2 Pre-release
Pre-release

The ZJS 0.2 release is available from git with the tag v0.2 with API documentation and ashell documentation. This release is a preview release with the following features:

  • Based on stable Zephyr 1.6 and an updated JerryScript
  • New Hardware APIs for Generic Sensors, UART
  • New Software APIs for Events, Performance
  • I2C support for K64F
  • Support for Ambient Light Sensor and Arduino 101 Accelerometer/Gyroscope
  • Support require() of other JS modules
  • Snapshot build support w/o parser to reduce flash profile
  • Improved Console APIs for printing JS values
  • Now handles multiple pending calls to the same callback
  • Modular build for ARC core on Arduino 101 to save space
  • Prototype inheritance for objects ZJS creates
  • Many new tests for quality assurance
  • Various build improvements and helpful error messages
  • Various bug fixes
  • Devel: trlite script to run travis tests locally

Known minor github issues that we do not plan to fix for this release:

  • #90 The GPIO “pullup”/”pulldown” feature doesn’t work on IO2, IO4, IO7-IO8 pins
  • #140 Timeout of less than 10ms in setInterval seems to hang
  • #315 [ashell] "to cancel" is missing in the usage information for 'load'
  • #359 [PWM] Error thrown when set pulsewidth before period
  • #397 [I2C.js] One more "WORLD" displays on LCD after running 3-4 hours
  • #504 [Sensor] Catch errors when running Accelerometer.js
  • #514 D0 and D1 cannot be used as output pins on FRDM_K64F
  • #531 [Sensor] The event.reading.illuminance is too low in AmbientLight.js
  • #566 [Console] Fail to throw exception when output an undefined value
  • #580 Fail to output long string on FRDM-K64F
  • #595 [sensor] Not readonly properties for state and readvalue
  • #596 [sensor] Undefined function stop() for AmbientLight sensor

ZJS 0.1

29 Nov 19:39
Compare
Choose a tag to compare
ZJS 0.1 Pre-release
Pre-release

The ZJS 0.1 release is available from git with the tag v0.1 with API documentation and ashell documentation. This release is an initial preview with the following features:

  • Based on stable Zephyr 1.5 and JerryScript 1.0 releases.
  • Hardware APIs for AIO, BLE, GPIO, I2C, PWM, Grove LCD
  • Software APIs for Buffer, Timers
  • Insecure 'ashell' mode for rapid development
  • Full support for Arduino 101
  • Experimental support for FRDM_K64F (AIO, BLE, I2C, and PWM are not supported)

Known minor github issues that we do not plan to fix for this release:

  • #90 The GPIO “pullup”/”pulldown” feature doesn’t work on IO2, IO4, IO7-IO8 pins
  • #139 clearInterval fails if button press happens too quickly in Spaceship2.js
  • #140 Timeout of less than 10ms in setInterval seems to hang
  • #172 [Buffer] length is not a readonly attribute
  • #269 [Buffer] Unable to create buffer with max value of unsigned long
  • #310 [Timer] Timer alloc failed
  • #311 [GPIOPins] Fail to close GPIOPins
  • #315 [ashell] "to cancel" is missing in the usage information for 'load'
  • #343 console.log() behavior is not compliant
  • #359 [PWM] Error thrown when set pulsewidth before period
  • #397 [I2C.js] One more "WORLD" displays on LCD after running 3-4 hours
  • #475 [docs] read and burstRead methods missing in I2C Web IDL
  • #477 [I2C] bus and speed are not a readonly properties