In terms of saving the measurement, I guess you want everything to start when you choose Start from the menu? So in that case it's the startRecord function.
Right now, after recording is started, accelHandler is called for each measurement, so you just need to change that do something like this:
function accelHandler(accel) {
var t = getTime()-start;
// get max value from all axes
var maxValue = Math.max(Math.abs(accel.x), Math.abs(accel.y), Math.abs(accel.z));
// write time and max value
f.write([
t*1000,
maxValue].join(",")+"\n");
/* we only want to save one value and return? If so remove
our acceleration listener and go back to the menu... */
Bangle.removeListener('accel', accelHandler);
showMenu();
}
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Ok, well it seems there's code already to go back to the main menu when BTN2 is pressed, so all you need to do is change BTN2 to BTN3 in this code:
In terms of saving the measurement, I guess you want everything to start when you choose
Start
from the menu? So in that case it's thestartRecord
function.Right now, after recording is started,
accelHandler
is called for each measurement, so you just need to change that do something like this: