Javascript wrappers for LSM6DSL Sensor library
Dependencies: LSM6DSL
Diff: LSM6DSL_JS-js.cpp
- Revision:
- 1:7e5e76bf3efe
- Parent:
- 0:7eb29414734d
- Child:
- 2:ebd484d17a02
--- a/LSM6DSL_JS-js.cpp Tue Oct 10 11:52:24 2017 +0200 +++ b/LSM6DSL_JS-js.cpp Wed Oct 11 10:11:19 2017 +0200 @@ -91,10 +91,11 @@ LSM6DSL_JS *native_ptr = static_cast<LSM6DSL_JS*>(void_ptr); // Get the result from the C++ API - unsigned char *result = native_ptr->get_accelerometer_axes_json(); + char *result = new char[128]; + native_ptr->get_accelerometer_axes_json(result); // Cast it back to JavaScript - jerry_value_t out = jerry_create_string(result); + jerry_value_t out = jerry_create_string((unsigned char *)result); // Recycle the result from function delete result; @@ -126,10 +127,11 @@ LSM6DSL_JS *native_ptr = static_cast<LSM6DSL_JS*>(void_ptr); // Get the result from the C++ API - unsigned char *result = native_ptr->get_gyroscope_axes_json(); + char *result = new char[128]; + native_ptr->get_gyroscope_axes_json(result); // Cast it back to JavaScript - jerry_value_t out = jerry_create_string(result); + jerry_value_t out = jerry_create_string((unsigned char *)result); // Recycle the result from function delete result; @@ -152,14 +154,15 @@ const jerry_object_native_info_t *devI2c_type_ptr; bool devI2c_has_ptr = jerry_get_object_native_pointer(args[0], &devI2c_ptr, &devI2c_type_ptr); + // Check if we have the i2c pointer if (!devI2c_has_ptr) { printf("Not a I2C input!"); return jerry_create_error(JERRY_ERROR_TYPE, (const jerry_char_t *) "Failed to get native DigitalOut pointer"); } + // Cast the argument to C++ DevI2C* devI2c = reinterpret_cast<DevI2C*>(devI2c_ptr); - // Extract native LSM6DSL_JS pointer (from this object) LSM6DSL_JS *native_ptr = new LSM6DSL_JS(*devI2c);