Skip to content

Instantly share code, notes, and snippets.

View rozek's full-sized avatar

Andreas Rozek rozek

View GitHub Profile
@rozek
rozek / README.md
Last active October 19, 2021 07:14
Basic HTTP Authorization

This flow provides "basic HTTP Authorization" for HTTP endpoints which are intended for certain users only.

This flow is part of a set of node-red-authorization-examples but also published here for easier lookup

Prerequisites

This example requires the following Node-RED extension:

@rozek
rozek / index.js
Last active May 23, 2020 03:56
ISD Extension BrowserName
//----------------------------------------------------------------------------//
// ISD.BrowserName //
//----------------------------------------------------------------------------//
// based on: https://github.com/keithws/browser-report
var UserAgent = {
Value: window.navigator.userAgent,
contains: function contains(ValueToSearchFor) {
return (this.Value.indexOf(ValueToSearchFor) >= 0);
},
lacks: function lacks(ValueToSearchFor) {
@rozek
rozek / Bangle_watchTilt.js
Created January 14, 2020 20:06
Bangle.js: just a simple TiltWatcher example
//------------------------------------------------------------------------------
//-- TiltWatcher --
//------------------------------------------------------------------------------
(function () {
let _Sensitivity = 1; // factor to amplify or damp acceleration
const TakerList = [];
/**** setWatchFor ****/
@rozek
rozek / Bangle_TiltWatcher.js
Created January 14, 2020 19:53
Bangle.js: associates a point on the screen with the current device tilt
//------------------------------------------------------------------------------
//-- TiltWatcher --
//------------------------------------------------------------------------------
(function () {
let _Sensitivity = 1; // factor to amplify or damp acceleration
const TakerList = [];
/**** setWatchFor ****/
@rozek
rozek / Bangle_watchButtons.js
Last active January 14, 2020 19:50
Bangle.js: a simple ButtonWatcher example
//------------------------------------------------------------------------------
//-- ButtonWatcher --
//------------------------------------------------------------------------------
(function () {
let _AutoRepeatDelay = 800; // start auto repeat after 800ms
let _AutoRepeatInterval = 200; // send "ButtonPressed" every 200ms
const ButtonList = [BTN1, BTN2, BTN3, BTN4, BTN5];
const TakerList = [[], [], [], [], []];
@rozek
rozek / Bangle_ButtonWatcher
Last active January 14, 2020 19:47
Bangle.js: watches buttons and invokes methods on state transitions
//------------------------------------------------------------------------------
//-- ButtonWatcher --
//------------------------------------------------------------------------------
(function () {
let _AutoRepeatDelay = 800; // start auto repeat after 800ms
let _AutoRepeatInterval = 200; // send "ButtonPressed" every 200ms
const ButtonList = [BTN1, BTN2, BTN3, BTN4, BTN5];
const TakerList = [[], [], [], [], []];
@rozek
rozek / Bangle_drawLenaImg.js
Created January 14, 2020 06:25
Bangle.js: draws a previously transferred LenaImg file
const Storage = require('Storage');
Bangle.setLCDMode();
g.clear();
let ImageFile = Storage.open('LenaImg','r');
for (let y = 0; y < 240; y++) {
let LineData = ImageFile.readLine();
g.drawImage({
width:240, height:1, bpp:16, transparent:0,
buffer:E.toArrayBuffer(atob(LineData))
@rozek
rozek / Bangle_listClocks.js
Created January 13, 2020 10:56
Bangle.js: prints a list of all installed clocks
const Storage = require('Storage');
let ClockList = [];
let FileList = Storage.list();
for (let i = 0, l = FileList.length; i < l; i++) {
let FileName = FileList[i];
if (FileName[0] === '+') {
try {
let AppType = Storage.readJSON(FileName)['type'];
if (AppType === 'clock') {
ClockList.push(FileName.slice(1));
@rozek
rozek / Bangle_getStdClock.js
Last active January 13, 2020 11:52
Bangle.js: retrieves the currently configured standard clock
const Storage = require('Storage');
let StdClock;
try {
StdClock = Storage.readJSON('@setting')['clock'];
} catch (Signal) { /* nop */ }
if (StdClock) {
print('currently configured standard clock: "' + StdClock.slice(1) + '"');
} else {
print('no standard clock configured');
@rozek
rozek / Bangle_uninstallHelWrld.js
Last active January 13, 2020 10:42
Bangle.js: uninstalls the "HelWrld" App
const Storage = require('Storage');
let AppName = 'HelWrld';
(function () {
try {
let FileList = Storage.readJSON(AppName);['files'].split(',');
for (let i = 0, l = FileList.length; i < l; i++) {
Storage.erase(FileList[i]);
}
return;