Skip to content

Instantly share code, notes, and snippets.


Cefn Hoile cefn

View GitHub Profile
View npm.log
0 info it worked if it ends with ok
1 verbose cli [ '/home/cefn/testnodeenv/bin/node',
1 verbose cli '/home/cefn/testnodeenv/bin/npm',
1 verbose cli 'install',
1 verbose cli 'startbootstrap-blog-post' ]
2 info using npm@5.6.0
3 info using node@v9.10.1
4 verbose config Skipping project config: /home/cefn/.npmrc. (matches userconfig)
5 verbose npm-session d7e556ded09c672c
6 silly install loadCurrentTree
cefn /
Created Jan 6, 2018
Checking how Micropython async generators work.
import sys
if == "cpython":
import asyncio
elif == "micropython":
import uasyncio as asyncio
async def count(bound=8,delay=0.1):
for num in range(bound):
await asyncio.sleep(delay)
cefn /
Created Jan 3, 2018
Properly cancelling scheduled asyncio tasks
import asyncio
import traceback
async def liver(lifeDelay):
while True:
print(" la la")
await asyncio.sleep(lifeDelay)
print("living() finished. Aaargh!")
cefn /
Last active Aug 9, 2016
Reference code for driving the microbit neopixel library through a rainbow effect
from microbit import *
import neopixel
# Setup the Neopixel strip on pin0 with a length of 8 pixels
np = neopixel.NeoPixel(pin0, 8)
def wheel(wheelByte):
wheelByte = 255 - wheelByte
if wheelByte < 85:
return (255 - wheelByte * 3, 0, wheelByte * 3)
View diagnostics.cpp
#include "MicroBit.h"
/* Raygun pin mapping - listed in Kitronik breakout order
* 0 : MO Motor low-side-switch NPN pin
* 5 : TS Trigger Switch (configured as ButtonA)
* 1 : L1 Light 1 high-side-switch NPN Base
* 8 : L2 Light 2 high-side-switch NPN Base
* 11 : RS Red button switch (configured as ButtonB)
* 12 : BL Blue LED
* 2 : PZ Piezo speaker
View testing_serial.c
The MIT License (MIT)
Copyright (c) 2016 British Broadcasting Corporation.
This software is provided by Lancaster University by arrangement with the BBC.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
View microbit_read_gas_sensor.c
#include "MicroBit.h"
#include "MicroBitDisplay.h"
MicroBitSerial serial(MICROBIT_PIN_P14, MICROBIT_PIN_P15);
MicroBitDisplay display;
const char commandbytes[] = {0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79};
ManagedString command(commandbytes, 9);
View track_template.js
var utopiary = require("../../../lib/ifi/utopiary.js"),
topiclogic = require("../../../lib/ifi/topiclogic.js"),
screenplay = require("../../../lib/ifi/client/screenplay.js");
var $ = screenplay.$,
getBaseName = topiclogic.getBaseName,
getRootTopic = topiclogic.getRootTopic;
var albumSource = {
View doors.js
var albumSource = {
"Hello, I love you",
"Won't you tell me your name?",
"Hello, I love you",
"Let me jump in your game",
View template.html
<script src="browserified/track_template.js"></script>
<section class="template">
<ul class="album">
<li class="song">
<h1>Song Title</h1>
<ul class="verse">
You can’t perform that action at this time.