From 2c79aa27f973eef963e09851a90dce65c02f7310 Mon Sep 17 00:00:00 2001 From: pinq- Date: Tue, 9 Jul 2024 18:00:06 +0300 Subject: [PATCH] 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 --- apps/accelrec/app.js | 26 ++++++++++++++------------ apps/bthome/settings.js | 14 ++------------ apps/pebblepp/app.js | 7 +++---- 3 files changed, 19 insertions(+), 28 deletions(-) diff --git a/apps/accelrec/app.js b/apps/accelrec/app.js index 7cf354e34..eb91d77af 100644 --- a/apps/accelrec/app.js +++ b/apps/accelrec/app.js @@ -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++; diff --git a/apps/bthome/settings.js b/apps/bthome/settings.js index d4910c1f7..19a854151 100644 --- a/apps/bthome/settings.js +++ b/apps/bthome/settings.js @@ -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) { diff --git a/apps/pebblepp/app.js b/apps/pebblepp/app.js index 5ffd82a9e..7551e77ab 100644 --- a/apps/pebblepp/app.js +++ b/apps/pebblepp/app.js @@ -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(); }