forked from FOSS/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 commentsmaster
parent
d1274bc77b
commit
2c79aa27f9
|
@ -1,6 +1,6 @@
|
|||
//var acc;
|
||||
var HZ = 100;
|
||||
var SAMPLES = 5 * HZ; // 5 seconds
|
||||
var SAMPLES = 6 * HZ; // 6 seconds
|
||||
var SCALE = 2000;
|
||||
var THRESH = 1.4;
|
||||
var accelx = new Int16Array(SAMPLES);
|
||||
|
@ -62,13 +62,13 @@ function recordStop() {
|
|||
Bangle.accelWr(0x18, 0b11101100); // +-4g
|
||||
Bangle.removeListener('accel', accelHandlerRecord);
|
||||
E.showMessage("Finished");
|
||||
showData();
|
||||
showData(true);
|
||||
}
|
||||
|
||||
|
||||
function showData() {
|
||||
function showData(save_file) {
|
||||
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 h = g.getHeight();
|
||||
var w = g.getWidth() - 20; // width
|
||||
|
@ -95,7 +95,7 @@ function showData() {
|
|||
var maxAccel = 0;
|
||||
var tStart = SAMPLES,
|
||||
tEnd = 0;
|
||||
var maxVel = 0;
|
||||
var max_YZ = 0;
|
||||
for (var i = 0; i < SAMPLES; i++) {
|
||||
var a = Math.abs(accely[i] / SCALE);
|
||||
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 (a > maxAccel) maxAccel = a;
|
||||
if (a_yz > maxVel) maxVel = a_yz;
|
||||
if (a_yz > max_YZ) max_YZ = a_yz;
|
||||
}
|
||||
g.reset();
|
||||
g.setFont("6x8").setFontAlign(1, 0);
|
||||
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.setFont("6x8", 2).setFontAlign(0, 0);
|
||||
g.drawString("File num: " + (csv_files_N + 1), w_full / 2, h - 20);
|
||||
g.setFont("6x8").setFontAlign(0, 0, 1);
|
||||
g.drawString("FINISH", g.getWidth() - 4, g.getHeight() / 2);
|
||||
setWatch(function() {
|
||||
showSaveMenu();
|
||||
if (save_file) showSaveMenu(); // when select only plot, don't ask for save option
|
||||
else showMenu();
|
||||
}, global.BTN2 ? BTN2 : BTN);
|
||||
}
|
||||
|
||||
|
@ -154,14 +155,14 @@ function showMenu() {
|
|||
},
|
||||
"Plot": function() {
|
||||
E.showMenu();
|
||||
if (accelIdx) showData();
|
||||
if (accelIdx) showData(false);
|
||||
else E.showAlert("No Data").then(() => {
|
||||
showMenu();
|
||||
});
|
||||
},
|
||||
"Storage": function() {
|
||||
E.showMenu();
|
||||
if (require("Storage").list(/^acc.*.csv$/).length)
|
||||
if (require("Storage").list(/^acc.*\.csv$/).length)
|
||||
StorageMenu();
|
||||
else
|
||||
E.showAlert("No Data").then(() => {
|
||||
|
@ -185,7 +186,7 @@ function showSaveMenu() {
|
|||
}
|
||||
|
||||
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)
|
||||
// E.showMessage("Storage is full");
|
||||
// showMenu();
|
||||
|
@ -199,13 +200,14 @@ function SaveFile() {
|
|||
showMenu();
|
||||
}
|
||||
|
||||
//Show saved csv files
|
||||
function StorageMenu() {
|
||||
var menu = {
|
||||
"": {
|
||||
title: "Storage"
|
||||
}
|
||||
};
|
||||
let csv_files = require("Storage").list(/^acc.*.csv$/);
|
||||
let csv_files = require("Storage").list(/^acc.*\.csv$/);
|
||||
var inx = 0;
|
||||
csv_files.forEach(fn => {
|
||||
inx++;
|
||||
|
|
|
@ -11,19 +11,9 @@
|
|||
require("Storage").writeJSON("bthome.json",settings)
|
||||
}
|
||||
|
||||
// Get id number for button that is sent to bthome
|
||||
function getNewIdNumber(){
|
||||
var id_start = 1;
|
||||
var select = false;
|
||||
while(!select){
|
||||
select = true;
|
||||
settings.buttons.forEach((button, idx) => {
|
||||
if (id_start == button.n){
|
||||
id_start++;
|
||||
select = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
return id_start;
|
||||
return [1, 2, 3, 4, 5, 6, 7, 8, 9].find(id => settings.buttons.every(button => id != button.n));
|
||||
}
|
||||
|
||||
function showButtonMenu(button, isNew) {
|
||||
|
|
|
@ -38,8 +38,9 @@ let draw = function() {
|
|||
|
||||
g.reset();
|
||||
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.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.setColor(theme.fg);
|
||||
g.drawString(time, w/2, h2 + 8);
|
||||
|
@ -132,10 +133,8 @@ Bangle.setUI({
|
|||
Bangle.loadWidgets();
|
||||
require("widget_utils").swipeOn(); // hide widgets, make them visible with a swipe
|
||||
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);
|
||||
// contrast bar (bottom)
|
||||
g.setColor(theme.fg).fillRect(w / 2 - 30, h3, w / 2 + 30, h);
|
||||
|
||||
draw();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue