Skip to content

Instantly share code, notes, and snippets.

View cmidgley's full-sized avatar

Chris cmidgley

  • Northborough, MA
View GitHub Profile
@cmidgley
cmidgley / tasks.json
Last active December 12, 2020 12:21
vscode tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build ESP8266 Debug",
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
describe("test", () => {
beforeAll(async () => {
console.log("beforeAll starting");
await new Promise((resolve) => {
setTimeout(() => resolve(), 1000);
});
console.log("beforeAll complete");
});
afterAll(async () => {
console.log("afterAll starting");
{
"name": "jest-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "jest"
},
"keywords": [],
"author": "",
@cmidgley
cmidgley / main.js
Last active November 24, 2021 13:46
Lora ST127x main example
import Timer from "timer";
import LoRa_ST127x, { LoRa_Heltec_Wifi_Lora_32_v2_pins } from "lora_st127x";
import config from "mc/config";
let lora;
// test settings
const transmit = parseInt(config.transmit ?? "0"); // true to transmit, false to receive
const useReadCallback = true; // true to use callbacks on read, false to use polling
const usePreallocatedBuffer = true; // set to true to test preallocated buffers, false to test dynamic allocation buffers (when useReadCallback is false)
@cmidgley
cmidgley / LoRa-ST127x.js
Last active November 25, 2021 01:37
LoRa-ST127x.js (moddable JS)
/*
* This is a Moddable JS implementation of a LoRa driver for the ST127x chipset,
* such as found on the Heltec Wifi LoRa 32 V2 board. It is a port of the C++
* ESP-IDF driver (https://github.com/Inteform/esp32-lora-library, has no copyright
* or license), which is a port of an Arduino C++ LoRa driver (which does have a
* copyright and license, included herein, https://github.com/sandeepmistry/arduino-LoRa)
*
* MIT License
*
* Copyright (c) 2021 Christopher W. Midgley
{
editorVersion: '1.62.3',
pluginVersion: '1.0.319',
editorType: 'VSCode',
osVersion: 'linux 5.10.60.1-microsoft-standard-WSL2',
nodeVersion: 'v16.13.1',
coreVersion: '1.0.1185',
checksum: 'OTMyZDExYWM3ZDhkZjBkYWQ1Mjk5Y2I0ODExZWNlOWUsMTY3OTA5NzYwMDAwMCww',
config: {
tests: [
@cmidgley
cmidgley / moddable-global.d.ts
Created December 14, 2021 17:53
io/system and SES typings
/*### xs.d.ts start ###*/
/*
Types for io/system
*/
declare class Timer {}
declare type TimerCallback = (timer?: Timer) => void;
declare class System {
static restart(): void;
@cmidgley
cmidgley / RtcMemory.c
Created January 31, 2022 17:48
RTC memory on ESP32 with Moddable HostBuffer
/*
* Copyright (c) 2022 Chris Midgley
*
* This work is licensed under the
* Creative Commons Attribution 4.0 International License.
* To view a copy of this license, visit
* <http://creativecommons.org/licenses/by/4.0>.
* or send a letter to Creative Commons, PO Box 1866,
* Mountain View, CA 94042, USA.
*/
This file has been truncated, but you can view the full file.
{
editorVersion: '1.65.2',
pluginVersion: '1.0.334',
editorType: 'VSCode',
osVersion: 'linux 5.10.102.1-microsoft-standard-WSL2',
nodeVersion: 'v16.14.2',
coreVersion: '1.0.1253',
checksum: 'OTMyZDExYWM3ZDhkZjBkYWQ1Mjk5Y2I0ODExZWNlOWUsMTY3OTA5NzYwMDAwMCww',
config: {
diagnostics: {
@cmidgley
cmidgley / main.js
Created May 19, 2022 20:49
WeakMap crash with preload
import { MyClass } from './myclass';
const weak = new WeakMap();
weak.set(MyClass, {});
trace('Success\n');