1
0
Fork 0

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 comments
master
pinq- 2024-07-09 18:00:06 +03:00
parent d1274bc77b
commit 2c79aa27f9
3 changed files with 19 additions and 28 deletions

View File

@ -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++;

View File

@ -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) {

View File

@ -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();
} }