mirror of https://github.com/espruino/BangleApps
Minor fix on the accerec, pebbleapp and bthome
pebblepp: -refresh date background also -getDay -> getDate -add some comments bthome: - better id search accelrec: - fix on the regex search - Don't ask save option when only show plot - add some commentspull/3490/head
parent
d1274bc77b
commit
2c79aa27f9
|
@ -1,6 +1,6 @@
|
||||||
//var acc;
|
//var acc;
|
||||||
var HZ = 100;
|
var HZ = 100;
|
||||||
var SAMPLES = 5 * HZ; // 5 seconds
|
var SAMPLES = 6 * HZ; // 6 seconds
|
||||||
var SCALE = 2000;
|
var SCALE = 2000;
|
||||||
var THRESH = 1.4;
|
var THRESH = 1.4;
|
||||||
var accelx = new Int16Array(SAMPLES);
|
var accelx = new Int16Array(SAMPLES);
|
||||||
|
@ -62,13 +62,13 @@ function recordStop() {
|
||||||
Bangle.accelWr(0x18, 0b11101100); // +-4g
|
Bangle.accelWr(0x18, 0b11101100); // +-4g
|
||||||
Bangle.removeListener('accel', accelHandlerRecord);
|
Bangle.removeListener('accel', accelHandlerRecord);
|
||||||
E.showMessage("Finished");
|
E.showMessage("Finished");
|
||||||
showData();
|
showData(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function showData() {
|
function showData(save_file) {
|
||||||
g.clear(1);
|
g.clear(1);
|
||||||
let csv_files_N = require("Storage").list(/^acc.*.csv$/).length;
|
let csv_files_N = require("Storage").list(/^acc.*\.csv$/).length;
|
||||||
let w_full = g.getWidth();
|
let w_full = g.getWidth();
|
||||||
let h = g.getHeight();
|
let h = g.getHeight();
|
||||||
var w = g.getWidth() - 20; // width
|
var w = g.getWidth() - 20; // width
|
||||||
|
@ -95,7 +95,7 @@ function showData() {
|
||||||
var maxAccel = 0;
|
var maxAccel = 0;
|
||||||
var tStart = SAMPLES,
|
var tStart = SAMPLES,
|
||||||
tEnd = 0;
|
tEnd = 0;
|
||||||
var maxVel = 0;
|
var max_YZ = 0;
|
||||||
for (var i = 0; i < SAMPLES; i++) {
|
for (var i = 0; i < SAMPLES; i++) {
|
||||||
var a = Math.abs(accely[i] / SCALE);
|
var a = Math.abs(accely[i] / SCALE);
|
||||||
let a_yz = Math.sqrt(Math.pow(accely[i] / SCALE, 2) + Math.pow(accelz[i] / SCALE, 2));
|
let a_yz = Math.sqrt(Math.pow(accely[i] / SCALE, 2) + Math.pow(accelz[i] / SCALE, 2));
|
||||||
|
@ -104,19 +104,20 @@ function showData() {
|
||||||
if (i > tEnd) tEnd = i;
|
if (i > tEnd) tEnd = i;
|
||||||
}
|
}
|
||||||
if (a > maxAccel) maxAccel = a;
|
if (a > maxAccel) maxAccel = a;
|
||||||
if (a_yz > maxVel) maxVel = a_yz;
|
if (a_yz > max_YZ) max_YZ = a_yz;
|
||||||
}
|
}
|
||||||
g.reset();
|
g.reset();
|
||||||
g.setFont("6x8").setFontAlign(1, 0);
|
g.setFont("6x8").setFontAlign(1, 0);
|
||||||
g.drawString("Max X Accel: " + maxAccel.toFixed(2) + " g", g.getWidth() - 14, g.getHeight() - 50);
|
g.drawString("Max X Accel: " + maxAccel.toFixed(2) + " g", g.getWidth() - 14, g.getHeight() - 50);
|
||||||
g.drawString("Max YZ Accel: " + maxVel.toFixed(2) + " g", g.getWidth() - 14, g.getHeight() - 40);
|
g.drawString("Max YZ Accel: " + max_YZ.toFixed(2) + " g", g.getWidth() - 14, g.getHeight() - 40);
|
||||||
g.drawString("Time moving: " + (tEnd - tStart) / HZ + " s", g.getWidth() - 14, g.getHeight() - 30);
|
g.drawString("Time moving: " + (tEnd - tStart) / HZ + " s", g.getWidth() - 14, g.getHeight() - 30);
|
||||||
g.setFont("6x8", 2).setFontAlign(0, 0);
|
g.setFont("6x8", 2).setFontAlign(0, 0);
|
||||||
g.drawString("File num: " + (csv_files_N + 1), w_full / 2, h - 20);
|
g.drawString("File num: " + (csv_files_N + 1), w_full / 2, h - 20);
|
||||||
g.setFont("6x8").setFontAlign(0, 0, 1);
|
g.setFont("6x8").setFontAlign(0, 0, 1);
|
||||||
g.drawString("FINISH", g.getWidth() - 4, g.getHeight() / 2);
|
g.drawString("FINISH", g.getWidth() - 4, g.getHeight() / 2);
|
||||||
setWatch(function() {
|
setWatch(function() {
|
||||||
showSaveMenu();
|
if (save_file) showSaveMenu(); // when select only plot, don't ask for save option
|
||||||
|
else showMenu();
|
||||||
}, global.BTN2 ? BTN2 : BTN);
|
}, global.BTN2 ? BTN2 : BTN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,14 +155,14 @@ function showMenu() {
|
||||||
},
|
},
|
||||||
"Plot": function() {
|
"Plot": function() {
|
||||||
E.showMenu();
|
E.showMenu();
|
||||||
if (accelIdx) showData();
|
if (accelIdx) showData(false);
|
||||||
else E.showAlert("No Data").then(() => {
|
else E.showAlert("No Data").then(() => {
|
||||||
showMenu();
|
showMenu();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
"Storage": function() {
|
"Storage": function() {
|
||||||
E.showMenu();
|
E.showMenu();
|
||||||
if (require("Storage").list(/^acc.*.csv$/).length)
|
if (require("Storage").list(/^acc.*\.csv$/).length)
|
||||||
StorageMenu();
|
StorageMenu();
|
||||||
else
|
else
|
||||||
E.showAlert("No Data").then(() => {
|
E.showAlert("No Data").then(() => {
|
||||||
|
@ -185,7 +186,7 @@ function showSaveMenu() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function SaveFile() {
|
function SaveFile() {
|
||||||
let csv_files_N = require("Storage").list(/^acc.*.csv$/).length;
|
let csv_files_N = require("Storage").list(/^acc.*\.csv$/).length;
|
||||||
//if (csv_files_N > 20)
|
//if (csv_files_N > 20)
|
||||||
// E.showMessage("Storage is full");
|
// E.showMessage("Storage is full");
|
||||||
// showMenu();
|
// showMenu();
|
||||||
|
@ -199,13 +200,14 @@ function SaveFile() {
|
||||||
showMenu();
|
showMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Show saved csv files
|
||||||
function StorageMenu() {
|
function StorageMenu() {
|
||||||
var menu = {
|
var menu = {
|
||||||
"": {
|
"": {
|
||||||
title: "Storage"
|
title: "Storage"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let csv_files = require("Storage").list(/^acc.*.csv$/);
|
let csv_files = require("Storage").list(/^acc.*\.csv$/);
|
||||||
var inx = 0;
|
var inx = 0;
|
||||||
csv_files.forEach(fn => {
|
csv_files.forEach(fn => {
|
||||||
inx++;
|
inx++;
|
||||||
|
|
|
@ -11,19 +11,9 @@
|
||||||
require("Storage").writeJSON("bthome.json",settings)
|
require("Storage").writeJSON("bthome.json",settings)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Get id number for button that is sent to bthome
|
||||||
function getNewIdNumber(){
|
function getNewIdNumber(){
|
||||||
var id_start = 1;
|
return [1, 2, 3, 4, 5, 6, 7, 8, 9].find(id => settings.buttons.every(button => id != button.n));
|
||||||
var select = false;
|
|
||||||
while(!select){
|
|
||||||
select = true;
|
|
||||||
settings.buttons.forEach((button, idx) => {
|
|
||||||
if (id_start == button.n){
|
|
||||||
id_start++;
|
|
||||||
select = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return id_start;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function showButtonMenu(button, isNew) {
|
function showButtonMenu(button, isNew) {
|
||||||
|
|
|
@ -38,8 +38,9 @@ let draw = function() {
|
||||||
|
|
||||||
g.reset();
|
g.reset();
|
||||||
g.setBgColor(theme.bg).clearRect(0, h2, w, h3);
|
g.setBgColor(theme.bg).clearRect(0, h2, w, h3);
|
||||||
|
g.setColor(theme.fg).fillRect(w / 2 - 30, h3, w / 2 + 30, h); // refresh date background
|
||||||
g.setFontLECO1976Regular22().setFontAlign(0, -1);
|
g.setFontLECO1976Regular22().setFontAlign(0, -1);
|
||||||
g.setColor(0, 0, 0).drawString(date.getDay() + "." + (date.getMonth() + 1), w / 2, h3 + 5);
|
g.setColor(0, 0, 0).drawString(date.getDate() + "." + (date.getMonth() + 1), w / 2, h3 + 5);
|
||||||
g.setFontLECO1976Regular42().setFontAlign(0, -1);
|
g.setFontLECO1976Regular42().setFontAlign(0, -1);
|
||||||
g.setColor(theme.fg);
|
g.setColor(theme.fg);
|
||||||
g.drawString(time, w/2, h2 + 8);
|
g.drawString(time, w/2, h2 + 8);
|
||||||
|
@ -132,10 +133,8 @@ Bangle.setUI({
|
||||||
Bangle.loadWidgets();
|
Bangle.loadWidgets();
|
||||||
require("widget_utils").swipeOn(); // hide widgets, make them visible with a swipe
|
require("widget_utils").swipeOn(); // hide widgets, make them visible with a swipe
|
||||||
background.fillRect(Bangle.appRect); // start off with completely clear background
|
background.fillRect(Bangle.appRect); // start off with completely clear background
|
||||||
// contrast bar (top)
|
// background contrast bar
|
||||||
g.setColor(theme.fg).fillRect(0, h2 - 6, w, h2);
|
g.setColor(theme.fg).fillRect(0, h2 - 6, w, h2);
|
||||||
// contrast bar (bottom)
|
|
||||||
g.setColor(theme.fg).fillRect(w / 2 - 30, h3, w / 2 + 30, h);
|
|
||||||
|
|
||||||
draw();
|
draw();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue