Skip to content

Instantly share code, notes, and snippets.

View MaBecker's full-sized avatar

Mark Becker MaBecker

  • SBIT GmbH
  • Germany, Rauenberg
View GitHub Profile
/*
function queue
based on
https://stackoverflow.com/questions/17528749/semaphore-like-queue-in-javascript/17528961#17528961
*/
@MaBecker
MaBecker / function: jswrap_wifi_restore
Last active May 2, 2018 11:31
jswrap_wifi_save.c
void jswrap_wifi_restore(void) {
DBG("Wifi.restore\n");
JsVar *name = jsvNewFromString(WIFI_CONFIG_STORAGE_NAME);
JsVar *o = jswrap_storage_readJSON(name);
if (!o) { // no data
jsvUnLock2(name,o);
return;
}
@MaBecker
MaBecker / jswrap_wifi_save.c
Last active May 2, 2018 11:29
function: jswrap_wifi_save.c
void jswrap_wifi_save(JsVar *what) {
DBGV("> Wifi.save\n");
JsVar *o = jsvNewObject();
if (!o) return;
if (jsvIsString(what) && jsvIsStringEqual(what, "clear")) {
JsVar *name = jsvNewFromString(WIFI_CONFIG_STORAGE_NAME);
jswrap_storage_erase(name);
jsvUnLock(name);
DBG("Wifi.save(clear)\n");
/*
test_remap.js
sample how to remap a pixel on a sequential 8x8 wired panel
*/
var np = {
pin : D4,
neopixels : 0,
leds : [],
pannelList : [],
@MaBecker
MaBecker / scrollString.js
Created January 15, 2018 22:04
Scroll String on 3 x 8x8 neopixel panel
// scrollString.js
// tested on ESP8266 12F
var pin = D4;
// connected to three neopixel plate (x,y)=(0-7,0-23)
var leds = Graphics.createArrayBuffer(8,24,24);
leds.setRotation(1,false);
leds.flip = function(){require("neopixel").write(pin,leds.buffer);};
leds.off = function(){leds.clear();leds.flip();};
// Captive Portal
var http = require('http');
var Wifi = require('Wifi');
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
var SSID = 'CaptivePortalTest';