Startseite bisherige Projekte Tools/Snippets Bücherempfehlungen Publikationen Impressum Datenschutzerklärung

Bangle.js 2 - Fuzzy Clock

Oktober 2022


Ich brauch die Zeit oft nicht so genau, aber die richtige Verwendung von viertel und dreiviertel ist schon wichtig.



Graphics.prototype.setFontQuicksand = function(scale) {
  // Actual height 36 (35 - 0)
  this.setFontCustom(
    E.toString(require('heatshrink').decompress(atob('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'))),
    32,
    atob("CgoPGRUdGggNDQ0VCg4JFBYOFBMVFRQUFBQKCxMWExMjFxgXGhUUGRoKFBgUHRobFhsZFRcZGCIYFRcPFA8WGQkXFxMXFRAXFQgKFAohFRYXFxARDxUUHBIVEQ4JDhMSFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUKChMWFRUJFA8cDREZABIQDhUNDQkWFwgJDA0SHh4eExcXFxcXFyAXFRUVFQoKCgoaGhsbGxsbEhsZGRkZFRYYFxcXFxcXIRMVFRUVCAgICBUVFhYWFhYWFhUVFRUVFxU="),
    36+(scale<<8)+(1<<16)
  );
  return this;
}


let fuzzy_string = {
  "hours":[
    /*LANG*/"Zwölf",
    /*LANG*/"Eins",
    /*LANG*/"Zwei",
    /*LANG*/"Drei",
    /*LANG*/"Vier",
    /*LANG*/"Fünf",
    /*LANG*/"Sechs",
    /*LANG*/"Sieben",
    /*LANG*/"Acht",
    /*LANG*/"Neun",
    /*LANG*/"Zehn",
    /*LANG*/"Elf"
  ],
  "minutes":[
    /*LANG*/"*$1",
    /*LANG*/"Fünf nach *$1",
    /*LANG*/"Zehn nach *$1",
    /*LANG*/"Viertel *$2",
    /*LANG*/"Zwanzig nach *$1",
    /*LANG*/"Fünf vor halb *$2",
    /*LANG*/"Halb *$2",
    /*LANG*/"Fünf nach halb *$2",
    /*LANG*/"Zwanzig vor *$2",
    /*LANG*/"Drei- viertel *$2",
    /*LANG*/"Zehn vor *$2",
    /*LANG*/"Kurz vor *$2"
  ]
};

let text_scale = 3.5;
let timeout = 2.5*60;
let drawTimeout;

function queueDraw(seconds) {
  let millisecs = seconds * 1000;
  if (drawTimeout) clearTimeout(drawTimeout);
  drawTimeout = setTimeout(function() {
    drawTimeout = undefined;
    draw();
  }, millisecs - (Date.now() % millisecs));
}

const h = g.getHeight();
const w = g.getWidth();

function getTimeString(date) {
  let segment = Math.round((date.getMinutes()*60 + date.getSeconds() + 1)/300);
  let hour = date.getHours() + Math.floor(segment/12);
  f_string = fuzzy_string.minutes[segment % 12];
  if (f_string.includes('$1')) {
    f_string = f_string.replace('$1', fuzzy_string.hours[(hour) % 12]);
  } else {
    f_string = f_string.replace('$2', fuzzy_string.hours[(hour + 1) % 12]);
  }
    return f_string;
}

function draw() {
  let time_string = getTimeString(new Date()).replace('*', '');

  g.setFontQuicksand(0.5);
  
  g.setFontAlign(0, 0);
  g.setColor(0,0,0);
  g.fillRect(0, 0, w, h);
  
  g.setColor(1,1,1);
  g.drawString(g.wrapString(time_string, w-20).join("\n"), w/2, h/2);  
  
  if (false){ // enable for battery indicator
    g.setFont("6x8", 1);
    g.drawString(String(E.getBattery()), 8,8);
  }
  
  queueDraw(timeout);
}

g.clear();
draw();

// Stop updates when LCD is off, restart when on
Bangle.on('lcdPower',on=>{
  if (on) {
    draw(); // draw immediately, queue redraw
  } else { // stop draw timer
    if (drawTimeout) clearTimeout(drawTimeout);
    drawTimeout = undefined;
  }
});

Bangle.setUI('clock');
//Bangle.loadWidgets();



Dateien:
fuzzy.app.js
fuzzy.info
fuzzy.img


Impressum - Datenschutzerklärung