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

Commit 7878b1b

Browse files
committed
fix packed mode mms
1 parent 31e1719 commit 7878b1b

File tree

3 files changed

+101
-1
lines changed

3 files changed

+101
-1
lines changed

examples/stream_acc_packed.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// LOCAL
2+
var MetaWear = require('../index')
3+
// METAWEAR
4+
//require('metawear');
5+
6+
var ref = require('ref')
7+
8+
async function mainAsync(mac) {
9+
var device = await new Promise((resolve, reject) => MetaWear.discoverByAddress(mac.toLowerCase(), d => resolve(d)))
10+
await new Promise((resolve, reject) => {
11+
console.log('Connecting...')
12+
device.connectAndSetUp(error => {
13+
console.log('Connected.')
14+
if(error == null) resolve(null)
15+
else reject(error)
16+
})
17+
})
18+
19+
let acc = MetaWear.mbl_mw_acc_get_packed_acceleration_data_signal(device.board)
20+
console.log('Set up stream.')
21+
MetaWear.mbl_mw_datasignal_subscribe(acc, ref.NULL, MetaWear.FnVoid_VoidP_DataP.toPointer((ctx, pointer) => {
22+
var data = pointer.deref();
23+
let value = data.parseValue()
24+
let entry = [value.x, value.y, value.z]
25+
console.log('epoch: ' + data.epoch + ' acc: ' + 'x: ' + entry[0].toFixed(3) + ' y: ' + entry[1].toFixed(3) + ' z: ' + entry[2].toFixed(3))
26+
}))
27+
28+
console.log('Start accelerometer.')
29+
MetaWear.mbl_mw_acc_enable_acceleration_sampling(device.board)
30+
MetaWear.mbl_mw_acc_start(device.board)
31+
32+
// Terminal on terminal input
33+
process.openStdin().addListener("data", data => {
34+
console.log('Reset.')
35+
MetaWear.mbl_mw_debug_reset(device.board)
36+
setTimeout(function () {
37+
// Exit terminal
38+
process.exit(1);
39+
}, 2000);
40+
})
41+
}
42+
43+
// Run this example by putting the MAC address on the command line
44+
// sudo node stream_acc_packed.js ea:78:c3:d3:f0:8a
45+
mainAsync(process.argv[2])
46+

examples/stream_gyro_packed.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// LOCAL
2+
var MetaWear = require('../index')
3+
// METAWEAR
4+
//require('metawear');
5+
6+
var ref = require('ref')
7+
8+
async function mainAsync(mac) {
9+
var device = await new Promise((resolve, reject) => MetaWear.discoverByAddress(mac.toLowerCase(), d => resolve(d)))
10+
await new Promise((resolve, reject) => {
11+
console.log('Connecting...')
12+
device.connectAndSetUp(error => {
13+
console.log('Connected.')
14+
if(error == null) resolve(null)
15+
else reject(error)
16+
})
17+
})
18+
19+
// For MMS
20+
let acc = MetaWear.mbl_mw_gyro_bmi270_get_packed_rotation_data_signal(device.board)
21+
// Uncomment for MMRL, MMR, MMC
22+
//let acc = MetaWear.mbl_mw_gyro_bmi160_get_packed_rotation_data_signal(device.board)
23+
24+
console.log('Set up stream.')
25+
MetaWear.mbl_mw_datasignal_subscribe(acc, ref.NULL, MetaWear.FnVoid_VoidP_DataP.toPointer((ctx, pointer) => {
26+
var data = pointer.deref();
27+
let value = data.parseValue()
28+
let entry = [value.x, value.y, value.z]
29+
console.log('epoch: ' + data.epoch + ' gyro: ' + 'x: ' + entry[0].toFixed(3) + ' y: ' + entry[1].toFixed(3) + ' z: ' + entry[2].toFixed(3))
30+
}))
31+
32+
console.log('Start gyroscope.')
33+
// For MMS
34+
MetaWear.mbl_mw_gyro_bmi270_enable_rotation_sampling(device.board)
35+
MetaWear.mbl_mw_gyro_bmi270_start(device.board)
36+
// Uncomment for MMRL, MMR, MMC
37+
//MetaWear.mbl_mw_gyro_bmi160_enable_rotation_sampling(device.board)
38+
//MetaWear.mbl_mw_gyro_bmi160_start(device.board)
39+
40+
// Terminal on terminal input
41+
process.openStdin().addListener("data", data => {
42+
console.log('Reset.')
43+
MetaWear.mbl_mw_debug_reset(device.board)
44+
setTimeout(function () {
45+
// Exit terminal
46+
process.exit(1);
47+
}, 2000);
48+
})
49+
}
50+
51+
// Run this example by putting the MAC address on the command line
52+
// sudo node stream_gyro_packed.js ea:78:c3:d3:f0:8a
53+
mainAsync(process.argv[2])
54+

0 commit comments

Comments
 (0)