Skip to content
This repository was archived by the owner on Jul 20, 2025. It is now read-only.

Commit 016b066

Browse files
author
Stephen Schiffli
committed
Adding more examples
1 parent c1b2e80 commit 016b066

File tree

4 files changed

+89
-3
lines changed

4 files changed

+89
-3
lines changed

examples/connect.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* Created by sschiffli on 4/21/16.
33
*/
4-
var MetaWear = require('metawear');
4+
var MetaWear = require('../index')//require('metawear');
55

66
// If you know the MAC address, you can uncomment this line
77
//MetaWear.discoverByAddress('cb:7d:c5:b0:20:8f', function(device) {

examples/led.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/**
22
* Created by sschiffli on 8/15/17.
33
*/
4-
var MetaWear = require('metawear');
4+
var MetaWear = require('../index')//require('metawear');
55

66
// If you know the MAC address, you can uncomment this line
77
//MetaWear.discoverByAddress('cb:7d:c5:b0:20:8f', function(device) {

examples/logging.js

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
var MetaWear = require('../index')//require('metawear');
2+
// Store the log event for later download. If your program needs to terminate
3+
// before performing the log download, you will need to use mbl_mw_metawearboard_serialize
4+
// to store the device state and that pass that state as the second argument to
5+
// connectAndSetUp when you are ready to download. Use mbl_mw_logger_lookup_id
6+
// to retrieve this accelLogger object
7+
var accelLogger = null;
8+
9+
// If you know the MAC address, you can uncomment this line
10+
//MetaWear.discoverByAddress('f3:97:6b:cc:71:97', function (device) {
11+
MetaWear.discover(function (device) {
12+
console.log('discovered ' + device.address);
13+
device.connectAndSetUp(function (error) {
14+
if (error) {
15+
console.log(error);
16+
process.exit(1);
17+
}
18+
console.log('connected ' + device.address);
19+
// Start logging
20+
startLogging(device, function (error) {
21+
if (error) {
22+
console.log(error);
23+
process.exit(1);
24+
}
25+
// Stop logging after 10 seconds
26+
setTimeout(function () {
27+
downloadLog(device, function (error) {
28+
device.once('disconnect', function (reason) {
29+
process.exit(0);
30+
});
31+
MetaWear.mbl_mw_debug_reset(device.board);
32+
});
33+
}, 10000);
34+
});
35+
});
36+
});
37+
38+
function downloadLog(device, callback) {
39+
// Shutdown accel
40+
MetaWear.mbl_mw_acc_stop(device.board);
41+
MetaWear.mbl_mw_acc_disable_acceleration_sampling(device.board);
42+
// Shutdown log
43+
MetaWear.mbl_mw_logging_stop(device.board);
44+
// Setup handerl for accel data points
45+
MetaWear.mbl_mw_logger_subscribe(accelLogger, MetaWear.FnVoid_DataP.toPointer(function onSignal(dataPtr) {
46+
var data = dataPtr.deref();
47+
var pt = data.parseValue();
48+
console.log(data.epoch + ' ' + pt.x + ',' + pt.y + ',' + pt.z);
49+
}));
50+
// Setup the handlers for events during the download
51+
var downloadHandler = new MetaWear.LogDownloadHandler();
52+
downloadHandler.received_progress_update = MetaWear.FnVoid_UInt_UInt.toPointer(function onSignal(entriesLeft, totalEntries) {
53+
console.log('received_progress_update entriesLeft:' + entriesLeft + ' totalEntries:' + totalEntries);
54+
if (entriesLeft === 0) {
55+
// Remove all log entries if told to stop logging
56+
MetaWear.mbl_mw_metawearboard_tear_down(device.board);
57+
callback(null);
58+
}
59+
});
60+
downloadHandler.received_unknown_entry = MetaWear.FnVoid_UByte_Long_UByteP_UByte.toPointer(function onSignal(id, epoch, data, length) {
61+
console.log('received_unknown_entry');
62+
});
63+
downloadHandler.received_unhandled_entry = MetaWear.FnVoid_DataP.toPointer(function onSignal(dataPtr) {
64+
var data = dataPtr.deref();
65+
var dataPoint = data.parseValue();
66+
console.log('received_unhandled_entry: ' + dataPoint);
67+
});
68+
// Actually start the log download, this will cause all the handlers we setup to be invoked
69+
MetaWear.mbl_mw_logging_download(device.board, 20, downloadHandler.ref());
70+
}
71+
72+
function startLogging(device, callback) {
73+
MetaWear.mbl_mw_acc_set_odr(device.board, 50.0);
74+
MetaWear.mbl_mw_acc_set_range(device.board, 16.0);
75+
MetaWear.mbl_mw_acc_write_acceleration_config(device.board);
76+
77+
MetaWear.mbl_mw_acc_enable_acceleration_sampling(device.board);
78+
MetaWear.mbl_mw_acc_start(device.board);
79+
// See if we already created a logger
80+
var accSignal = MetaWear.mbl_mw_acc_get_acceleration_data_signal(device.board);
81+
MetaWear.mbl_mw_datasignal_log(accSignal, MetaWear.FnVoid_DataLoggerP.toPointer(function (logger) {
82+
accelLogger = logger;
83+
callback(logger.address() ? null : new Error('failed to start logging accel'));
84+
}));
85+
}

examples/multi_device.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
var MetaWear = require('metawear');
1+
var MetaWear = require('../index')//require('metawear');
2+
var fs = require('fs');
23

34
var addresses = [
45
'f3:97:6b:cc:71:97',

0 commit comments

Comments
 (0)