forked from FOSS/BangleApps
planetarium
parent
8c0c0b5a53
commit
bd882648f5
|
@ -2684,7 +2684,7 @@
|
|||
"tags": "",
|
||||
"storage": [
|
||||
{"name":"planetarium.app.js","url":"planetarium.app.js"},
|
||||
{"name":"planetarium.app.csv","url":"planetarium.app.csv"},
|
||||
{"name":"planetarium.data.csv","url":"planetarium.data.csv"},
|
||||
{"name":"planetarium.img","url":"planetarium-icon.js","evaluate":true}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,164 +1,170 @@
|
|||
var counter;
|
||||
var counterInterval;
|
||||
/*
|
||||
* Degrees to radians
|
||||
*/
|
||||
function toRadians(degrees)
|
||||
{
|
||||
return Math.PI * degrees / 180;
|
||||
}
|
||||
|
||||
var settings;
|
||||
/*
|
||||
* Julian day number
|
||||
* Assumes a proleptic gregorian calendar where the year 1 is preceded by the
|
||||
* year 0.
|
||||
*/
|
||||
function toJulianDay(year, month, day, hours, minutes, seconds)
|
||||
{
|
||||
day += hours / 24 + minutes / 1440 + seconds / 86400;
|
||||
|
||||
var work=false; //true if training false if resting
|
||||
var prep=true; //true if we are in prep phase (at the beginning of the session
|
||||
var setNum;
|
||||
if(month <= 2)
|
||||
{
|
||||
year -= 1;
|
||||
month += 12;
|
||||
}
|
||||
|
||||
var paused;
|
||||
var A = Math.floor(year / 100);
|
||||
var B = 2 - A + Math.floor(A / 4);
|
||||
return Math.floor(365.25 * (year + 4716)) + Math.floor(30.6001 * (month + 1)) + day + B - 1524.5;
|
||||
}
|
||||
|
||||
function endPart() {
|
||||
/*
|
||||
* Sidereal time in Greenwich
|
||||
*/
|
||||
function siderealTime(julianDay)
|
||||
{
|
||||
var T = (julianDay - 2451545.0) / 36525;
|
||||
return toRadians(280.46061837 + 360.98564736629 * (julianDay - 2451545.0) + 0.000387933 * T * T - T * T * T / 38710000);
|
||||
}
|
||||
|
||||
function binary_search(a, value) {
|
||||
var lo = 0, hi = a.length - 1, mid;
|
||||
while (lo <= hi) {
|
||||
mid = Math.floor((lo+hi)/2);
|
||||
if (a[mid] > value)
|
||||
hi = mid - 1;
|
||||
else if (a[mid] < value)
|
||||
lo = mid + 1;
|
||||
else
|
||||
return mid;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function drawStars(lat,lon){
|
||||
var longitude = toRadians(-lon);
|
||||
var latitude = toRadians(lat);
|
||||
|
||||
date = new Date();
|
||||
|
||||
var julianDay = toJulianDay(date.getFullYear(), date.getMonth()+1,date.getDate(),
|
||||
date.getHours() + date.getTimezoneOffset() / 60,
|
||||
date.getMinutes(), date.getSeconds());
|
||||
var size = 240;
|
||||
|
||||
storage = require('Storage');
|
||||
f=storage.read("planetarium.csv","r");
|
||||
linestart=0;
|
||||
g.clear();
|
||||
if (prep){
|
||||
prep=false;
|
||||
work = true;
|
||||
counter = settings.workseg+settings.workmin*60;
|
||||
startCounter();
|
||||
}else if (work){
|
||||
work = false;
|
||||
counter = settings.restseg+settings.restmin*60;
|
||||
startCounter();
|
||||
}
|
||||
else{
|
||||
if (setNum>1)
|
||||
{
|
||||
setNum--;
|
||||
work = true;
|
||||
counter = settings.workseg+settings.workmin*60;
|
||||
startCounter();
|
||||
}
|
||||
else
|
||||
{
|
||||
//End session
|
||||
setWatch(showMenu, BTN2);
|
||||
E.showMessage("Press BTN2 for\ngoing back\nto the menu","Well done!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function printCounter(counter){
|
||||
g.setFontAlign(0,0); // center font
|
||||
g.setFont("Vector",80); // vector font, 80px
|
||||
// draw the current counter value
|
||||
let minutes = Math.floor(counter/60);
|
||||
let segs = counter % 60;
|
||||
let textMinutes = minutes.toString().padStart(2, "0");
|
||||
let textSegs = segs.toString().padStart(2,"0");
|
||||
g.clearRect(0,80,239,160);
|
||||
g.setFont("Vector",30);
|
||||
if (prep)
|
||||
g.setColor(125,125,0);
|
||||
else if (work)
|
||||
g.setColor(255,0,0);
|
||||
else
|
||||
//Common calculations based only on time
|
||||
var t = (julianDay - 2451545.0) / 36525;
|
||||
var zeta = toRadians((2306.2181 * t + 0.30188 * t * t + 0.017998 * t * t * t) / 3600);
|
||||
var theta = toRadians((2004.3109 * t - 0.42665 * t * t - 0.041833 * t * t * t) / 3600);
|
||||
var z = toRadians((2306.2181 * t + 1.09468 * t * t + 0.018203 * t * t * t) / 3600);
|
||||
|
||||
|
||||
let starNumber = 0;
|
||||
//Each star has a number (the position on the file (line number)). These are the lines
|
||||
//joining each star in the constellations.
|
||||
constelation_lines=[/*Orion*/[7,68],[10,53],[53,56],[28,68],/*Taurus*/[13,172],[13,340],[293,340],[29,293],
|
||||
/*canis menor*/[155,8]];
|
||||
var starPositions = {};
|
||||
|
||||
for (i=0;i<f.length;i++)
|
||||
{
|
||||
if (f[i]=='\n'){
|
||||
var start = new Date().getTime();
|
||||
starNumber++;
|
||||
//console.log("Line from "+linestart.toString()+"to "+(i-1).toString());
|
||||
line = f.substr(linestart,i-linestart);
|
||||
//console.log(line);
|
||||
linestart = i+1;
|
||||
//Process the star
|
||||
starInfo = line.split(',');
|
||||
//console.log(starInfo[0]);
|
||||
starRA = parseFloat(starInfo[0]);
|
||||
starDE = parseFloat(starInfo[1]);
|
||||
starMag = parseFloat(starInfo[2]);
|
||||
//var start = new Date().getTime();
|
||||
var dec = Math.asin(Math.sin(theta) * Math.cos(starDE) * Math.cos(starRA + zeta) + Math.cos(theta) * Math.sin(starDE));
|
||||
var ascen = Math.atan2(Math.cos(starDE) * Math.sin(starRA + zeta), Math.cos(theta) * Math.cos(starDE) * Math.cos(starRA + zeta) - Math.sin(theta) * Math.sin(starDE)) + z;
|
||||
var H = siderealTime(julianDay) - longitude - ascen;
|
||||
//var end = new Date().getTime();
|
||||
//console.log("Call to doSomething took " + (end - start) + " milliseconds.");
|
||||
//Compute altitude
|
||||
var alt = Math.asin(Math.sin(latitude) * Math.sin(dec) + Math.cos(latitude) * Math.cos(dec) * Math.cos(H));
|
||||
if(alt >= 0)
|
||||
{
|
||||
//Compute azimuth
|
||||
var azi = Math.atan2(Math.sin(H), Math.cos(H) * Math.sin(latitude) - Math.tan(dec) * Math.cos(latitude));
|
||||
var x = size / 2 + size / 2 * Math.cos(alt) * Math.sin(azi);
|
||||
var y = size / 2 + size / 2 * Math.cos(alt) * Math.cos(azi);
|
||||
starPositions[starNumber] = [x,y];
|
||||
var magnitude = starMag<1.5?2:1;
|
||||
g.fillCircle(x, y, magnitude);
|
||||
if (starMag<1)
|
||||
g.drawString(starInfo[3],x,y+2);
|
||||
g.flip();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0;i<constelation_lines.length;i++)
|
||||
{
|
||||
constelation = constelation_lines[i];
|
||||
positionStar1=starPositions[constelation[0]];
|
||||
positionStar2=starPositions[constelation[1]];
|
||||
//Both stars need to be visible
|
||||
g.setColor(0,255,0);
|
||||
g.drawString(setNum,120,50);
|
||||
if (prep)
|
||||
g.drawString("PREPARATION",120,190);
|
||||
else if (work)
|
||||
g.drawString("WORK",120,190);
|
||||
else
|
||||
g.drawString("REST",120,190);
|
||||
g.setFont("Vector",10);
|
||||
g.drawString("Touch to pause",120,215);
|
||||
g.setFont("Vector",80);
|
||||
g.drawString(textMinutes+":"+textSegs,120,120);
|
||||
}
|
||||
|
||||
function signal_to_user(le){
|
||||
if (settings.buzz)
|
||||
Bangle.buzz(le);
|
||||
else
|
||||
Bangle.beep(le,4000);
|
||||
}
|
||||
|
||||
function countDown() {
|
||||
counter--;
|
||||
if (counter<4 && counter>0)
|
||||
signal_to_user(200);
|
||||
if (counter==0)
|
||||
signal_to_user(600);
|
||||
|
||||
if (counter<0) {
|
||||
clearInterval(counterInterval);
|
||||
counterInterval = undefined;
|
||||
endPart();
|
||||
if (positionStar1 && positionStar2)
|
||||
g.drawLine(positionStar1[0],positionStar1[1],positionStar2[0],positionStar2[1]);
|
||||
g.flip();
|
||||
}
|
||||
else
|
||||
{
|
||||
printCounter(counter);
|
||||
}
|
||||
|
||||
Bangle.setGPSPower(1);
|
||||
|
||||
var gps = { fix : 0};
|
||||
var gpsCount = 0;
|
||||
var prevSats = 0;
|
||||
g.clear();
|
||||
|
||||
|
||||
|
||||
g.setFontAlign(0,0);
|
||||
|
||||
Bangle.on('GPS',function(gp) {
|
||||
gps = gp;
|
||||
gpsCount++;
|
||||
var msg;
|
||||
if (gp.fix) {
|
||||
lat = gp.lat;
|
||||
lon = gp.lon;
|
||||
Bangle.setGPSPower(0);
|
||||
drawStars(lat,lon);
|
||||
} else {
|
||||
g.setFont("Vector",20);
|
||||
g.drawString("Waiting for position",120,120);
|
||||
g.setFont("Vector",15);
|
||||
if (gp.satellites>prevSats || prevSats===0){
|
||||
prevSats = gp.satellites;
|
||||
g.clearRect(0,150,240,180);
|
||||
g.drawString("Got "+gp.satellites+" satellites",120,160);
|
||||
}
|
||||
g.flip();
|
||||
}
|
||||
|
||||
function startCounter(){
|
||||
if (!counterInterval)
|
||||
counterInterval = setInterval(countDown, 1000);
|
||||
}
|
||||
|
||||
function pause()
|
||||
{
|
||||
if (!paused)
|
||||
{
|
||||
clearInterval(counterInterval);
|
||||
counterInterval = undefined;
|
||||
setWatch(resume,BTN4);
|
||||
setWatch(resume,BTN5);
|
||||
paused=true;
|
||||
g.clear();
|
||||
g.setFont("Vector",60);
|
||||
g.drawString("PAUSED",120,120);
|
||||
g.setFont("Vector",20);
|
||||
g.drawString("Touch to continue",120,180);
|
||||
}
|
||||
}
|
||||
|
||||
function resume(){
|
||||
if (paused)
|
||||
{
|
||||
g.clear();
|
||||
counterInterval = setInterval(countDown, 1000);
|
||||
setWatch(pause,BTN4);
|
||||
setWatch(pause,BTN5);
|
||||
paused=false;
|
||||
}
|
||||
}
|
||||
|
||||
function startSession() {
|
||||
E.showMenu();
|
||||
paused=false;
|
||||
setWatch(pause,BTN4);
|
||||
setWatch(pause,BTN5);
|
||||
require('Storage').write('intervals.settings.json',settings);
|
||||
setNum = settings.sets;
|
||||
counter = 5;//prep time
|
||||
prep=true;
|
||||
work=false;
|
||||
startCounter();
|
||||
}
|
||||
|
||||
function showMenu()
|
||||
{
|
||||
settings = require('Storage').readJSON('intervals.settings.json',1)||
|
||||
{ sets:1,workseg:10,workmin:0,restseg:5,restmin:0,buzz:true};
|
||||
|
||||
var mainmenu = {
|
||||
"" : { "title" : "-- Main Menu --" },
|
||||
"START" : function() { startSession(); },
|
||||
"Sets" : { value : settings.sets,min:0,max:20,step:1,onchange : v => { settings.sets=v; } },
|
||||
"Work minutes" : { value : settings.workmin,min:0,max:59,step:1,onchange : v => { settings.workmin=v; } },
|
||||
"Work seconds" : { value : settings.workseg,min:0,max:59,step:5,onchange : v => { settings.workseg=v; } },
|
||||
"Rest minutes" : { value : settings.restmin,min:0,max:59,step:1,onchange : v => { settings.restmin=v; } },
|
||||
"Rest seconds" : { value : settings.restseg,min:0,max:59,step:5,onchange : v => { settings.restseg=v; } },
|
||||
"Signal type" : { value : settings.buzz,format : v => v?"Buzz":"Beep",onchange : v => { settings.buzz=v; }}
|
||||
};
|
||||
|
||||
E.showMenu(mainmenu);
|
||||
}
|
||||
|
||||
showMenu();
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
require("heatshrink").decompress(atob("mEwwg96xAWVhGIwAuWGCoXrCIZfFDZkJyAKTAAOZBaojEzIADGBoOChITEAgIUCGBAhCCwIlFA4YwIhIjCDQYtDAoIMBQhgUCzJMDR5xYGFwSPMHwYRED4KPMCQcIxKtHWApoCEYczmYXCPgYAEGgZGCAgMDC4pEGA4gVBGwIWCF6GqhWgC4kqBYYAGGgegC4QWCC4kKI4oQBC4guEC4wJDC4gtBGoIXDmWqBoQMBBQUwIAQXJKopSDJooXGmQRBBwYLBFgR2EC4QAEC4RIDToRQDC56pESYhHDAAYFBA4YvMD4oOEL5bMGaJIQFC5ZiEAoxRCC5I1KJoIXVBYJ4FEYgAGPAwwHSYIAGJAwwHEA5+HB5AvMZI4XKBwu72ELAQIHCAoQCBchQMCAQIADDgIfEDBYRBAAI5DCxYUDAxYYMAAgWPDIoVSAFAA=="))
|
||||
require("heatshrink").decompress(atob("AEGIAAgVPhAWFAAOACyoYNCxQYMCxZjKFxgwKB42ClAwNFw+O9AwNH48u8RhMLpHu9xhMLg0ipwXBokiMQwXKCoIADC5JGHlwWDMI5ICC44wEVI4XCZxBfC8jzKBRAuCC66oIC4K9IwPuoUk90YYJAXIwVCSYR3HC5WBAgYvPCggAFDQoXGwhAIwVIC5cuBoohDeQoXGpwNFEIbDFC4uCaJL1BKQgXDiVEdQdCB4WCYIIACokhC4uEBgYABC4YJII4kuBgZhEBJAXEEwi3EBIhgDwEABwYuHGAoHDgAXDwIXJRwIXKHoaoGC4ZHDC4JgCC4MoUAIXF91CBgReDC4iwCkh3EwNCZwQXFPAgAPCwQXYYIYAOIwYwTCwgwRFwowRCwwwPFw4wPCxAwNFxIYMCxYYKCxpjICp4AQ"))
|
|
@ -1,30 +0,0 @@
|
|||
1.76779,-0.29175,-1.5,AL CMA
|
||||
1.67531,-0.91971,-0.7,AL CAR
|
||||
3.73352,0.33480,-0.0,AL BOO
|
||||
3.83799,-1.06178,-0.0,AL1 CEN
|
||||
4.87356,0.67690,0.0,AL LYR
|
||||
1.38181,0.80282,0.1,AL AUR
|
||||
1.37243,-0.14315,0.1,BE ORI
|
||||
2.00408,0.09119,0.4,AL CMI
|
||||
0.42636,-0.99897,0.5,AL ERI
|
||||
1.54973,0.12928,0.5,AL ORI
|
||||
3.68187,-1.05370,0.6,BE CEN
|
||||
5.19577,0.15478,0.8,AL AQL
|
||||
1.20393,0.28814,0.8,AL TAU
|
||||
4.31710,-0.46132,1.0,AL SCO
|
||||
3.51331,-0.19480,1.0,AL VIR
|
||||
2.03032,0.48915,1.1,BE GEM
|
||||
6.01113,-0.51701,1.2,AL PSA
|
||||
3.34982,-1.04176,1.2,BE CRU
|
||||
5.41676,0.79029,1.2,AL CYG
|
||||
3.83799,-1.06178,1.3,AL2 CEN
|
||||
2.65452,0.20887,1.4,AL LEO
|
||||
1.82660,-0.50566,1.5,EP CMA
|
||||
1.98356,0.55656,1.6,AL GEM
|
||||
3.25765,-1.10128,1.6,AL1 CRU
|
||||
1.98356,0.55656,1.6,AL GEM
|
||||
3.27758,-0.99681,1.6,GA CRU
|
||||
4.59723,-0.64758,1.6,LA SCO
|
||||
1.41865,0.11082,1.6,GA ORI
|
||||
1.42372,0.49930,1.6,BE TAU
|
||||
2.41380,-1.21680,1.7,BE CAR
|
|
|
@ -0,0 +1,141 @@
|
|||
/*
|
||||
* Degrees to radians
|
||||
*/
|
||||
function toRadians(degrees)
|
||||
{
|
||||
return Math.PI * degrees / 180;
|
||||
}
|
||||
|
||||
/*
|
||||
* Julian day number
|
||||
* Assumes a proleptic gregorian calendar where the year 1 is preceded by the
|
||||
* year 0.
|
||||
*/
|
||||
function toJulianDay(year, month, day, hours, minutes, seconds)
|
||||
{
|
||||
day += hours / 24 + minutes / 1440 + seconds / 86400;
|
||||
|
||||
if(month <= 2)
|
||||
{
|
||||
year -= 1;
|
||||
month += 12;
|
||||
}
|
||||
|
||||
var A = Math.floor(year / 100);
|
||||
var B = 2 - A + Math.floor(A / 4);
|
||||
return Math.floor(365.25 * (year + 4716)) + Math.floor(30.6001 * (month + 1)) + day + B - 1524.5;
|
||||
}
|
||||
|
||||
/*
|
||||
* Sidereal time in Greenwich
|
||||
*/
|
||||
function siderealTime(julianDay)
|
||||
{
|
||||
var T = (julianDay - 2451545.0) / 36525;
|
||||
return toRadians(280.46061837 + 360.98564736629 * (julianDay - 2451545.0) + 0.000387933 * T * T - T * T * T / 38710000);
|
||||
}
|
||||
|
||||
function binary_search(a, value) {
|
||||
var lo = 0, hi = a.length - 1, mid;
|
||||
while (lo <= hi) {
|
||||
mid = Math.floor((lo+hi)/2);
|
||||
if (a[mid] > value)
|
||||
hi = mid - 1;
|
||||
else if (a[mid] < value)
|
||||
lo = mid + 1;
|
||||
else
|
||||
return mid;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
var longitudeSign = 1; //1 for west and -1 for east;
|
||||
var longitudeDegrees = 5;
|
||||
var longitudeMinutes = 37;
|
||||
var longitudeSeconds = 27.4;
|
||||
var longitude = toRadians(longitudeSign * (longitudeDegrees + longitudeMinutes / 60 + longitudeSeconds / 3600));
|
||||
var latitudeSign = 1; //1 for north -1 for south;
|
||||
var latitudeDegrees = 43;
|
||||
var latitudeMinutes = 25;
|
||||
var latitudeSeconds = 0.9;
|
||||
var latitude = toRadians(latitudeSign * (latitudeDegrees + latitudeMinutes / 60 + latitudeSeconds / 3600));
|
||||
var year = 2020;
|
||||
var month = 1;
|
||||
var day = 27;
|
||||
var hours = 22;
|
||||
var minutes = 0;
|
||||
var seconds = 0;
|
||||
var timeZone = 1;
|
||||
var julianDay = toJulianDay(year, month, day, hours - timeZone, minutes, seconds);
|
||||
var size = 240;
|
||||
|
||||
storage = require('Storage');
|
||||
f=storage.read("planetarium.data.csv","r");
|
||||
linestart=0;
|
||||
g.clearRect(0, 0, 240, 240);
|
||||
|
||||
//Common calculations based only on time
|
||||
var t = (julianDay - 2451545.0) / 36525;
|
||||
var zeta = toRadians((2306.2181 * t + 0.30188 * t * t + 0.017998 * t * t * t) / 3600);
|
||||
var theta = toRadians((2004.3109 * t - 0.42665 * t * t - 0.041833 * t * t * t) / 3600);
|
||||
var z = toRadians((2306.2181 * t + 1.09468 * t * t + 0.018203 * t * t * t) / 3600);
|
||||
|
||||
|
||||
let starNumber = 0;
|
||||
//Each star has a number (the position on the file (line number)). These are the lines
|
||||
//joining each star in the constellations.
|
||||
constelation_lines=[/*Orion*/[7,68],[10,53],[53,56],[28,68],/*Taurus*/[13,172],[13,340],[293,340],[29,293],
|
||||
/*canis menor*/[155,8]];
|
||||
var starPositions = {};
|
||||
|
||||
for (i=0;i<f.length;i++)
|
||||
{
|
||||
if (f[i]=='\n'){
|
||||
var start = new Date().getTime();
|
||||
starNumber++;
|
||||
//console.log("Line from "+linestart.toString()+"to "+(i-1).toString());
|
||||
line = f.substr(linestart,i-linestart);
|
||||
//console.log(line);
|
||||
linestart = i+1;
|
||||
//Process the star
|
||||
starInfo = line.split(',');
|
||||
//console.log(starInfo[0]);
|
||||
starRA = parseFloat(starInfo[0]);
|
||||
starDE = parseFloat(starInfo[1]);
|
||||
starMag = parseFloat(starInfo[2]);
|
||||
//var start = new Date().getTime();
|
||||
var dec = Math.asin(Math.sin(theta) * Math.cos(starDE) * Math.cos(starRA + zeta) + Math.cos(theta) * Math.sin(starDE));
|
||||
var ascen = Math.atan2(Math.cos(starDE) * Math.sin(starRA + zeta), Math.cos(theta) * Math.cos(starDE) * Math.cos(starRA + zeta) - Math.sin(theta) * Math.sin(starDE)) + z;
|
||||
var H = siderealTime(julianDay) - longitude - ascen;
|
||||
//var end = new Date().getTime();
|
||||
//console.log("Call to doSomething took " + (end - start) + " milliseconds.");
|
||||
//Compute altitude
|
||||
var alt = Math.asin(Math.sin(latitude) * Math.sin(dec) + Math.cos(latitude) * Math.cos(dec) * Math.cos(H));
|
||||
if(alt >= 0)
|
||||
{
|
||||
//Compute azimuth
|
||||
var azi = Math.atan2(Math.sin(H), Math.cos(H) * Math.sin(latitude) - Math.tan(dec) * Math.cos(latitude));
|
||||
var x = size / 2 + size / 2 * Math.cos(alt) * Math.sin(azi);
|
||||
var y = size / 2 + size / 2 * Math.cos(alt) * Math.cos(azi);
|
||||
starPositions[starNumber] = [x,y];
|
||||
var magnitude = starMag<1.5?2:1;
|
||||
g.fillCircle(x, y, magnitude);
|
||||
if (starMag<1)
|
||||
g.drawString(starInfo[3],x,y+2);
|
||||
g.flip();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0;i<constelation_lines.length;i++)
|
||||
{
|
||||
constelation = constelation_lines[i];
|
||||
positionStar1=starPositions[constelation[0]];
|
||||
positionStar2=starPositions[constelation[1]];
|
||||
//Both stars need to be visible
|
||||
g.setColor(0,255,0);
|
||||
if (positionStar1 && positionStar2)
|
||||
g.drawLine(positionStar1[0],positionStar1[1],positionStar2[0],positionStar2[1]);
|
||||
g.flip();
|
||||
}
|
|
@ -0,0 +1,343 @@
|
|||
1.768,-0.292,-1.5,Sirius
|
||||
1.675,-0.920,-0.7,AL CAR
|
||||
3.734,0.335,-0.0,Arcturus
|
||||
3.838,-1.062,-0.0,AL1 CEN
|
||||
4.874,0.677,0.0,Vega
|
||||
1.382,0.803,0.1,Capella
|
||||
1.372,-0.143,0.1,Rigel
|
||||
2.004,0.091,0.4,Procyion
|
||||
0.426,-0.999,0.5,AL ERI
|
||||
1.550,0.129,0.5,Betelgeuse
|
||||
3.682,-1.054,0.6,BE CEN
|
||||
5.196,0.155,0.8,AL AQL
|
||||
1.204,0.288,0.8,Aldebaran
|
||||
4.317,-0.461,1.0,AL SCO
|
||||
3.513,-0.195,1.0,AL VIR
|
||||
2.030,0.489,1.1,BE GEM
|
||||
6.011,-0.517,1.2,AL PSA
|
||||
3.350,-1.042,1.2,BE CRU
|
||||
5.417,0.790,1.2,Deneb
|
||||
3.838,-1.062,1.3,AL2 CEN
|
||||
2.655,0.209,1.4,AL LEO
|
||||
1.827,-0.506,1.5,EP CMA
|
||||
1.984,0.557,1.6,AL GEM
|
||||
3.258,-1.101,1.6,AL1 CRU
|
||||
1.984,0.557,1.6,AL GEM
|
||||
3.278,-0.997,1.6,GA CRU
|
||||
4.597,-0.648,1.6,LA SCO
|
||||
1.419,0.111,1.6,Bellatrix
|
||||
1.424,0.499,1.6,BE TAU
|
||||
2.414,-1.217,1.7,BE CAR
|
||||
1.467,-0.021,1.7,EP ORI
|
||||
5.796,-0.820,1.7,AL GRU
|
||||
3.377,0.977,1.8,EP UMA
|
||||
2.136,-0.826,1.8,GA2 VEL
|
||||
0.892,0.870,1.8,AL PER
|
||||
2.896,1.078,1.8,AL UMA
|
||||
1.869,-0.461,1.8,DE CMA
|
||||
4.818,-0.600,1.9,EP SGR
|
||||
2.193,-1.039,1.9,EP CAR
|
||||
3.611,0.861,1.9,ET UMA
|
||||
4.613,-0.750,1.9,TH SCO
|
||||
1.569,0.784,1.9,BE AUR
|
||||
4.401,-1.205,1.9,AL TRA
|
||||
1.735,0.286,1.9,GA GEM
|
||||
5.348,-0.990,1.9,AL PAV
|
||||
2.289,-0.955,2.0,DE VEL
|
||||
1.670,-0.313,2.0,BE CMA
|
||||
2.477,-0.151,2.0,AL HYA
|
||||
0.555,0.409,2.0,AL ARI
|
||||
0.663,1.558,2.0,AL UMI
|
||||
4.954,-0.459,2.0,SI SGR
|
||||
0.190,-0.314,2.0,BE CET
|
||||
1.487,-0.034,2.0,ZE ORI
|
||||
0.037,0.508,2.1,AL AND
|
||||
0.304,0.622,2.1,BE AND
|
||||
1.517,-0.169,2.1,KA ORI
|
||||
3.694,-0.635,2.1,TH CEN
|
||||
3.886,1.294,2.1,BE UMI
|
||||
4.603,0.219,2.1,AL OPH
|
||||
3.258,-1.101,2.1,AL2 CRU
|
||||
5.946,-0.818,2.1,BE GRU
|
||||
0.821,0.715,2.1,BE PER
|
||||
3.094,0.254,2.1,BE LEO
|
||||
3.323,-0.855,2.2,GA CEN
|
||||
5.333,0.703,2.2,GA CYG
|
||||
2.391,-0.758,2.2,LA VEL
|
||||
0.177,0.987,2.2,AL CAS
|
||||
1.449,-0.005,2.2,DE ORI
|
||||
4.078,0.466,2.2,AL CRB
|
||||
4.698,0.899,2.2,GA DRA
|
||||
2.110,-0.698,2.2,ZE PUP
|
||||
2.431,-1.035,2.2,JO CAR
|
||||
0.541,0.739,2.3,GA1 AND
|
||||
0.040,1.032,2.3,BE CAS
|
||||
3.508,0.959,2.3,ZE UMA
|
||||
4.408,-0.599,2.3,EP SCO
|
||||
3.577,-0.933,2.3,EP CEN
|
||||
3.848,-0.827,2.3,AL LUP
|
||||
3.820,-0.736,2.3,ET CEN
|
||||
4.190,-0.395,2.3,DE SCO
|
||||
2.888,0.984,2.4,BE UMA
|
||||
0.115,-0.738,2.4,AL PHE
|
||||
5.691,0.172,2.4,EP PEG
|
||||
4.636,-0.681,2.4,KA SCO
|
||||
6.038,0.490,2.4,BE PEG
|
||||
4.496,-0.274,2.4,ET OPH
|
||||
3.115,0.937,2.4,GA UMA
|
||||
5.579,1.092,2.4,AL CEP
|
||||
1.938,-0.511,2.5,ET CMA
|
||||
5.438,0.593,2.5,EP CYG
|
||||
0.247,1.060,2.5,GA CAS
|
||||
6.042,0.265,2.5,AL PEG
|
||||
2.453,-0.960,2.5,KA VEL
|
||||
0.795,0.071,2.5,AL CET
|
||||
3.646,-0.825,2.5,ZE CEN
|
||||
2.941,0.358,2.6,DE LEO
|
||||
4.351,-0.184,2.6,ZE OPH
|
||||
1.452,-0.311,2.6,AL LEP
|
||||
3.211,-0.306,2.6,GA CRV
|
||||
3.178,-0.885,2.6,DE CEN
|
||||
4.986,-0.522,2.6,ZE SGR
|
||||
2.705,0.346,2.6,GA1 LEO
|
||||
4.001,-0.164,2.6,BE LIB
|
||||
1.570,0.649,2.6,TH AUR
|
||||
4.213,-0.346,2.6,BE1 SCO
|
||||
0.500,0.363,2.6,BE ARI
|
||||
1.482,-0.595,2.6,AL COL
|
||||
3.292,-0.408,2.6,BE CRV
|
||||
4.120,0.112,2.6,AL SER
|
||||
0.374,1.051,2.7,DE CAS
|
||||
3.642,0.321,2.7,ET BOO
|
||||
3.921,-0.753,2.7,BE LUP
|
||||
1.296,0.579,2.7,JO AUR
|
||||
2.822,-0.863,2.7,MY VEL
|
||||
3.304,-1.207,2.7,AL MUS
|
||||
4.585,-0.651,2.7,YP SCO
|
||||
1.907,-0.647,2.7,PI PUP
|
||||
3.861,0.473,2.7,EP BOO
|
||||
4.804,-0.521,2.7,DE SGR
|
||||
5.176,0.185,2.7,GA AQL
|
||||
4.251,-0.064,2.7,DE OPH
|
||||
4.293,1.074,2.7,ET DRA
|
||||
3.493,-0.641,2.8,JO CEN
|
||||
3.887,-0.280,2.8,AL2 LIB
|
||||
2.805,-1.124,2.8,TH CAR
|
||||
1.464,-0.103,2.8,JO ORI
|
||||
4.321,0.375,2.8,BE HER
|
||||
4.640,0.080,2.8,BE OPH
|
||||
4.080,-0.718,2.8,GA LUP
|
||||
1.343,-0.089,2.8,BE ERI
|
||||
4.583,0.913,2.8,BE DRA
|
||||
0.112,-1.348,2.8,BE HYI
|
||||
3.208,-1.025,2.8,DE CRU
|
||||
2.127,-0.424,2.8,RH PUP
|
||||
4.369,0.552,2.8,ZE HER
|
||||
4.834,-0.444,2.8,LA SGR
|
||||
4.345,-0.492,2.8,TA SCO
|
||||
0.058,0.265,2.8,GA PEG
|
||||
3.413,0.191,2.8,EP VIR
|
||||
1.432,-0.362,2.8,BE LEP
|
||||
1.022,0.556,2.9,ZE PER
|
||||
4.168,-1.107,2.9,BE TRA
|
||||
4.561,-0.969,2.9,BE ARA
|
||||
0.518,-1.075,2.9,AL HYI
|
||||
5.840,-1.052,2.9,AL TUC
|
||||
0.993,0.421,2.9,ET TAU
|
||||
5.170,0.788,2.9,DE CYG
|
||||
5.703,-0.281,2.9,DE CAP
|
||||
1.671,0.393,2.9,MY GEM
|
||||
1.038,0.698,2.9,EP PER
|
||||
4.010,-1.199,2.9,GA TRA
|
||||
4.184,-0.456,2.9,PI SCO
|
||||
4.281,-0.447,2.9,SI SCO
|
||||
5.017,-0.367,2.9,PI SGR
|
||||
1.951,0.145,2.9,BE CMI
|
||||
3.386,0.669,2.9,AL2 CVN
|
||||
5.635,-0.097,2.9,BE AQR
|
||||
0.806,0.934,2.9,GA PER
|
||||
1.789,-0.883,2.9,TA PUP
|
||||
5.947,0.527,2.9,ET PEG
|
||||
1.039,-0.236,3.0,GA ERI
|
||||
3.272,-0.288,3.0,DE CRV
|
||||
4.590,-0.871,3.0,AL ARA
|
||||
2.562,-1.136,3.0,YP CAR
|
||||
5.785,-0.006,3.0,AL AQR
|
||||
1.762,0.439,3.0,EP GEM
|
||||
2.556,0.415,3.0,EP LEO
|
||||
1.318,0.765,3.0,EP AUR
|
||||
4.738,-0.531,3.0,GA2 SGR
|
||||
4.998,0.242,3.0,ZE AQL
|
||||
0.565,0.611,3.0,BE TRI
|
||||
1.473,0.369,3.0,ZE TAU
|
||||
3.186,-0.395,3.0,EP CRV
|
||||
3.486,-0.404,3.0,GA HYA
|
||||
0.973,0.834,3.0,DE PER
|
||||
2.922,0.777,3.0,PS UMA
|
||||
5.733,-0.652,3.0,GA GRU
|
||||
1.659,-0.525,3.0,ZE CMA
|
||||
1.846,-0.416,3.0,OK2 CMA
|
||||
3.805,0.669,3.0,GA BOO
|
||||
4.658,-0.700,3.0,JO1 SCO
|
||||
0.608,-0.052,3.0,OK CET
|
||||
3.620,-0.741,3.0,MY CEN
|
||||
2.715,0.724,3.0,MY UMA
|
||||
3.344,-1.189,3.0,BE MUS
|
||||
4.017,1.254,3.0,GA UMI
|
||||
5.029,1.181,3.1,DE DRA
|
||||
4.415,-0.664,3.1,MY1 SCO
|
||||
5.108,0.488,3.1,BE1 CYG
|
||||
5.328,-0.258,3.1,BE CAP
|
||||
2.336,0.104,3.1,ZE HYA
|
||||
2.835,-0.283,3.1,NY HYA
|
||||
4.789,-0.642,3.1,ET SGR
|
||||
5.400,-0.825,3.1,AL IND
|
||||
1.531,-0.624,3.1,BE COL
|
||||
2.448,0.600,3.1,AL LYN
|
||||
2.492,-0.995,3.1,_
|
||||
3.036,-1.100,3.1,LA CEN
|
||||
3.923,-0.735,3.1,KA CEN
|
||||
4.445,-0.977,3.1,ZE ARA
|
||||
2.353,0.838,3.1,JO UMA
|
||||
4.516,0.434,3.1,DE HER
|
||||
4.516,0.642,3.2,PI HER
|
||||
1.337,0.720,3.2,ET AUR
|
||||
1.736,-0.754,3.2,NY PUP
|
||||
2.500,0.902,3.2,TH UMA
|
||||
4.489,1.147,3.2,ZE DRA
|
||||
4.912,-0.471,3.2,PH SGR
|
||||
1.265,0.121,3.2,PI3 ORI
|
||||
1.333,-0.390,3.2,EP LEP
|
||||
3.851,-1.134,3.2,AL CIR
|
||||
4.440,0.164,3.2,KA OPH
|
||||
5.554,0.528,3.2,ZE CYG
|
||||
4.668,-0.647,3.2,_
|
||||
6.193,1.355,3.2,GA CEP
|
||||
4.020,-0.709,3.2,DE LUP
|
||||
5.285,-0.014,3.2,TH AQL
|
||||
5.623,1.232,3.2,BE CEP
|
||||
0.992,-1.296,3.2,GA HYI
|
||||
4.269,-0.082,3.2,EP OPH
|
||||
4.970,0.571,3.2,GA LYR
|
||||
1.960,-0.756,3.2,SI PUP
|
||||
4.805,-0.051,3.3,ET SER
|
||||
0.172,0.539,3.3,DE AND
|
||||
1.196,-0.961,3.3,AL DOR
|
||||
1.781,-1.081,3.3,AL PIC
|
||||
3.693,-0.466,3.3,PI HYA
|
||||
4.547,-0.436,3.3,TH OPH
|
||||
5.998,-0.276,3.3,DE AQR
|
||||
1.636,0.393,3.3,ET GEM
|
||||
3.945,-0.441,3.3,SI LIB
|
||||
4.036,1.029,3.3,JO DRA
|
||||
0.288,-0.815,3.3,BE PHE
|
||||
1.365,-0.283,3.3,MY LEP
|
||||
3.209,0.995,3.3,DE UMA
|
||||
2.678,-1.222,3.3,OM CAR
|
||||
2.758,-1.077,3.3,_
|
||||
5.004,-0.483,3.3,TA SGR
|
||||
4.504,-0.755,3.3,ET SCO
|
||||
2.048,-0.434,3.3,XI PUP
|
||||
2.942,0.269,3.3,TH LEO
|
||||
4.561,-0.984,3.3,GA ARA
|
||||
4.708,-0.171,3.3,NY OPH
|
||||
1.110,-1.090,3.4,AL RET
|
||||
5.807,1.016,3.4,ZE CEP
|
||||
1.416,-0.042,3.4,ET ORI
|
||||
1.768,0.225,3.4,XI GEM
|
||||
2.226,1.060,3.4,OK UMA
|
||||
5.085,0.054,3.4,DE AQL
|
||||
3.555,-0.010,3.4,ZE VIR
|
||||
4.026,-0.780,3.4,EP LUP
|
||||
0.499,1.111,3.4,EP CAS
|
||||
2.298,0.112,3.4,EP HYA
|
||||
3.384,0.059,3.4,DE VIR
|
||||
0.808,0.678,3.4,RH PER
|
||||
1.172,0.277,3.4,TH2 TAU
|
||||
2.693,-1.070,3.4,_
|
||||
5.940,0.189,3.4,ZE PEG
|
||||
0.386,-0.756,3.4,GA PHE
|
||||
0.493,0.516,3.4,AL TRI
|
||||
3.619,-0.728,3.4,NY CEN
|
||||
3.981,-0.909,3.4,ZE LUP
|
||||
4.189,-0.670,3.4,ET LUP
|
||||
0.778,-0.703,3.4,TH1 ERI
|
||||
4.653,0.484,3.4,MY HER
|
||||
5.432,-1.155,3.4,BE PAV
|
||||
5.434,1.079,3.4,ET CEP
|
||||
0.214,1.009,3.4,ET CAS
|
||||
2.404,-1.029,3.4,_
|
||||
2.691,0.409,3.4,ZE LEO
|
||||
5.001,-0.085,3.4,LA AQL
|
||||
0.299,-0.178,3.5,ET CET
|
||||
2.693,0.749,3.5,LA UMA
|
||||
4.931,0.582,3.5,BE LYR
|
||||
0.713,0.056,3.5,GA CET
|
||||
1.050,0.218,3.5,LA TAU
|
||||
1.840,-0.488,3.5,SI CMA
|
||||
2.080,-0.925,3.5,CH CAR
|
||||
3.995,0.581,3.5,DE BOO
|
||||
5.231,0.340,3.5,GA SGE
|
||||
2.960,0.578,3.5,NY UMA
|
||||
4.514,0.251,3.5,AL1 HER
|
||||
5.978,0.429,3.5,MY PEG
|
||||
5.971,-0.896,3.5,EP GRU
|
||||
0.454,-0.278,3.5,TA CET
|
||||
3.935,0.705,3.5,BE BOO
|
||||
4.830,-0.802,3.5,AL TEL
|
||||
4.964,-0.368,3.5,XI2 SGR
|
||||
2.166,0.160,3.5,BE CNC
|
||||
2.536,0.173,3.5,OK LEO
|
||||
2.650,0.293,3.5,ET LEO
|
||||
5.976,1.155,3.5,JO CEP
|
||||
1.172,0.335,3.5,EP TAU
|
||||
1.920,0.384,3.5,DE GEM
|
||||
4.143,-0.060,3.5,MY SER
|
||||
4.376,0.679,3.5,ET HER
|
||||
5.804,0.108,3.5,TH PEG
|
||||
0.974,-0.170,3.5,DE ERI
|
||||
2.604,-0.952,3.5,PH VEL
|
||||
3.024,-0.556,3.5,XI HYA
|
||||
4.615,-0.269,3.5,XI SER
|
||||
1.514,-0.259,3.5,ZE LEP
|
||||
3.750,-0.804,3.5,JO LUP
|
||||
0.085,-0.154,3.6,JO CET
|
||||
0.596,-0.899,3.6,PH ERI
|
||||
1.125,-0.590,3.6,YP4 ERI
|
||||
2.964,-0.258,3.6,DE CRT
|
||||
4.022,-0.633,3.6,PH1 LUP
|
||||
5.274,-1.155,3.6,DE PAV
|
||||
0.428,0.849,3.6,51 AND
|
||||
2.027,0.426,3.6,KA GEM
|
||||
4.417,-0.664,3.6,MY2 SCO
|
||||
4.804,1.269,3.6,CH DRA
|
||||
5.315,-0.219,3.6,AL2 CAP
|
||||
1.912,0.289,3.6,LA GEM
|
||||
3.804,0.530,3.6,RH BOO
|
||||
4.089,-0.491,3.6,YP LIB
|
||||
3.235,-1.054,3.6,EP CRU
|
||||
0.367,-0.143,3.6,TH CET
|
||||
0.894,0.158,3.6,OK TAU
|
||||
1.386,-0.119,3.6,TA ORI
|
||||
1.503,-0.392,3.6,GA LEP
|
||||
1.801,0.593,3.6,TH GEM
|
||||
2.372,0.823,3.6,KA UMA
|
||||
2.490,-0.706,3.6,PS VEL
|
||||
2.030,-0.663,3.6,_
|
||||
2.664,-0.216,3.6,LA HYA
|
||||
3.101,0.031,3.6,BE VIR
|
||||
0.399,0.268,3.6,ET PSC
|
||||
2.270,-0.924,3.6,OK VEL
|
||||
3.413,-1.249,3.6,DE MUS
|
||||
4.427,-0.739,3.6,ZE2 SCO
|
||||
4.586,-1.059,3.6,DE ARA
|
||||
4.650,-1.130,3.6,ET PAV
|
||||
6.030,0.739,3.6,OK AND
|
||||
0.742,0.476,3.6,41 ARI
|
||||
1.000,0.420,3.6,27 TAU
|
||||
5.400,0.255,3.6,BE DEL
|
||||
3.079,-1.165,3.6,LA MUS
|
||||
1.134,0.273,3.6,GA TAU
|
||||
3.323,-0.025,3.6,GA VIR
|
||||
3.684,1.124,3.6,AL DRA
|
||||
5.475,-1.020,3.6,BE IND
|
|
|
@ -1,167 +0,0 @@
|
|||
var counter;
|
||||
var counterInterval;
|
||||
|
||||
var settings;
|
||||
|
||||
var work=false; //true if training false if resting
|
||||
var prep=true; //true if we are in prep phase (at the beginning of the session
|
||||
var setNum;
|
||||
|
||||
var paused;
|
||||
|
||||
function endPart() {
|
||||
g.clear();
|
||||
if (prep){
|
||||
prep=false;
|
||||
work = true;
|
||||
counter = settings.workseg+settings.workmin*60;
|
||||
startCounter();
|
||||
}else if (work){
|
||||
work = false;
|
||||
counter = settings.restseg+settings.restmin*60;
|
||||
startCounter();
|
||||
}
|
||||
else{
|
||||
if (setNum>1)
|
||||
{
|
||||
setNum--;
|
||||
work = true;
|
||||
counter = settings.workseg+settings.workmin*60;
|
||||
startCounter();
|
||||
}
|
||||
else
|
||||
{
|
||||
//End session
|
||||
setWatch(showMenu, BTN2);
|
||||
E.showMessage("Press BTN2 for\ngoing back\nto the menu","Well done!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function printCounter(counter){
|
||||
g.setFontAlign(0,0); // center font
|
||||
g.setFont("Vector",80); // vector font, 80px
|
||||
// draw the current counter value
|
||||
let minutes = Math.floor(counter/60);
|
||||
let segs = counter % 60;
|
||||
let textMinutes = minutes.toString().padStart(2, "0");
|
||||
let textSegs = segs.toString().padStart(2,"0");
|
||||
g.clearRect(0,80,239,160);
|
||||
g.setFont("Vector",30);
|
||||
if (prep)
|
||||
g.setColor(125,125,0);
|
||||
else if (work)
|
||||
g.setColor(255,0,0);
|
||||
else
|
||||
g.setColor(0,255,0);
|
||||
g.drawString(setNum,120,50);
|
||||
if (prep)
|
||||
g.drawString("PREPARATION",120,190);
|
||||
else if (work)
|
||||
g.drawString("WORK",120,190);
|
||||
else
|
||||
g.drawString("REST",120,190);
|
||||
g.setFont("Vector",10);
|
||||
g.drawString("Touch to pause",120,215);
|
||||
g.setFont("Vector",80);
|
||||
g.drawString(textMinutes+":"+textSegs,120,120);
|
||||
}
|
||||
|
||||
function signal_to_user(le){
|
||||
if (settings.buzz)
|
||||
Bangle.buzz(le);
|
||||
else
|
||||
Bangle.beep(le,4000);
|
||||
}
|
||||
|
||||
function countDown() {
|
||||
counter--;
|
||||
if (counter<4 && counter>0)
|
||||
signal_to_user(200);
|
||||
if (counter==0)
|
||||
signal_to_user(600);
|
||||
|
||||
if (counter<0) {
|
||||
clearInterval(counterInterval);
|
||||
counterInterval = undefined;
|
||||
endPart();
|
||||
}
|
||||
else
|
||||
{
|
||||
printCounter(counter);
|
||||
}
|
||||
g.flip();
|
||||
}
|
||||
|
||||
function startCounter(){
|
||||
if (!counterInterval)
|
||||
counterInterval = setInterval(countDown, 1000);
|
||||
}
|
||||
|
||||
function pause()
|
||||
{
|
||||
if (!paused)
|
||||
{
|
||||
clearInterval(counterInterval);
|
||||
counterInterval = undefined;
|
||||
setWatch(resume,BTN4);
|
||||
setWatch(resume,BTN5);
|
||||
paused=true;
|
||||
g.clear();
|
||||
g.setFont("Vector",60);
|
||||
g.drawString("PAUSED",120,120);
|
||||
g.setFont("Vector",20);
|
||||
g.drawString("Touch to continue",120,180);
|
||||
}
|
||||
}
|
||||
|
||||
function resume(){
|
||||
if (paused)
|
||||
{
|
||||
g.clear();
|
||||
counterInterval = setInterval(countDown, 1000);
|
||||
setWatch(pause,BTN4);
|
||||
setWatch(pause,BTN5);
|
||||
paused=false;
|
||||
}
|
||||
}
|
||||
|
||||
function startSession() {
|
||||
E.showMenu();
|
||||
paused=false;
|
||||
setWatch(pause,BTN4);
|
||||
setWatch(pause,BTN5);
|
||||
require('Storage').write('intervals.settings.json',settings);
|
||||
setNum = settings.sets;
|
||||
counter = 5;//prep time
|
||||
prep=true;
|
||||
work=false;
|
||||
startCounter();
|
||||
}
|
||||
|
||||
function showMenu()
|
||||
{
|
||||
settings = require('Storage').readJSON('intervals.settings.json',1)||
|
||||
{ sets:1,workseg:10,workmin:0,restseg:5,restmin:0,buzz:true};
|
||||
|
||||
var mainmenu = {
|
||||
"" : { "title" : "-- Main Menu --" },
|
||||
"START" : function() { startSession(); },
|
||||
"Sets" : { value : settings.sets,min:0,max:20,step:1,onchange : v => { settings.sets=v; } },
|
||||
"Work minutes" : { value : settings.workmin,min:0,max:59,step:1,onchange : v => { settings.workmin=v; } },
|
||||
"Work seconds" : { value : settings.workseg,min:0,max:59,step:5,onchange : v => { settings.workseg=v; } },
|
||||
"Rest minutes" : { value : settings.restmin,min:0,max:59,step:1,onchange : v => { settings.restmin=v; } },
|
||||
"Rest seconds" : { value : settings.restseg,min:0,max:59,step:5,onchange : v => { settings.restseg=v; } },
|
||||
"Signal type" : { value : settings.buzz,format : v => v?"Buzz":"Beep",onchange : v => { settings.buzz=v; }}
|
||||
};
|
||||
|
||||
E.showMenu(mainmenu);
|
||||
}
|
||||
|
||||
showMenu();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.9 KiB |
Loading…
Reference in New Issue