Skip to content

Instantly share code, notes, and snippets.

View don's full-sized avatar

Don Coleman don

View GitHub Profile
@don
don / hexStringToArrayBuffer.js
Created May 3, 2018 17:54
Convert hex string to ArrayBuffer
/**
* Convert a hex string to an ArrayBuffer.
*
* @param {string} hexString - hex representation of bytes
* @return {ArrayBuffer} - The bytes in an ArrayBuffer.
*/
function hexStringToArrayBuffer(hexString) {
// remove the leading 0x
hexString = hexString.replace(/^0x/, '');
@don
don / P2P_Send_LongRecord.ino
Created December 9, 2015 04:17
Writing large Peer to Peer NFC messages from Arduino
// Sends a NDEF Message to a Peer
// Requires SPI. Tested with Seeed Studio NFC Shield v2
#include "SPI.h"
#include "PN532_SPI.h"
#include "snep.h"
#include "NdefMessage.h"
#define TEXT_SIZE 226
#define LANGUAGE_ENCODING_SIZE 3
@don
don / index.js
Created January 16, 2018 02:08
Break up large ArrayBuffer before writing to BLE characteristic
// Mock BLE so you can run example from nodejs
const ble = {
write: function(device_id, service, characteristic, buffer, success, failure) {
// log to console instead of writing
console.log('>>', new Uint8Array(buffer));
// always call success callback
success();
}
}

Keybase proof

I hereby claim:

  • I am don on github.
  • I am doncoleman (https://keybase.io/doncoleman) on keybase.
  • I have a public key ASAHcDKLEfyv4tJbdZ2G6eO7Zk1RB8L0EUeiC8hBtIaEPQo

To claim this, I am signing this object:

@don
don / nginx.conf
Last active December 24, 2020 00:48
Nginx Proxy Pass with headers for Django
location / {
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8000/;
}
@don
don / .zshrc
Last active November 20, 2020 18:24
Show git branch in bash prompt
# get git branch info using old bash function
# the zsh way to do this is vsc_info
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
# add git branch version to prompt
setopt PROMPT_SUBST
PROMPT='%n@%m %1~$(parse_git_branch) %# '
@don
don / HelloNDEFWorld.ino
Created January 15, 2013 03:10
Write hello world NDEF message. Cheat by hardcoding bytes.
//
// Write "Hello, world!" in a plain text NDEF message
// Tag must be a Mifare Classic with a 4 byte ID
// Tested with Samsung TecTile
//
#include <Wire.h>
#include <Adafruit_NFCShield_I2C.h>
#define IRQ (2)
#define RESET (3) // Not connected by default on the NFC Shield
@don
don / MacAddress.ino
Last active February 20, 2019 19:19
Get the MAC address for an Arduino MRK board
// Print the WiFi firmware version and MAC address for MRK boards
// Based on https://www.arduino.cc/en/Reference/WiFiNINAMACAddress
// and https://forum.arduino.cc/index.php?topic=114568.msg862118#msg862118
#include <SPI.h>
#ifdef ARDUINO_SAMD_MKR1000
#include <WiFi101.h>
#define WIFI_LIB "WiFi101"
#else
#include <WiFiNINA.h>
@don
don / index-autoconnect.js
Last active June 9, 2018 19:18
Cordova - automatically connect to a Bluetooth device by name
var app = {
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
onDeviceReady: function() {
// Auto connect whenever the device is in range
const MAC_ADDRESS = 'E4:86:1E:4E:5A:FB';
ble.autoConnect(MAC_ADDRESS, app.onConnected, app.onDisconnected);
},
@don
don / gen_keywords.pl
Last active May 7, 2018 14:25
@bjepson keyword.txt generation script for Arduino libraries
#!/usr/bin/perl -w
# Run this from the Arduino library directory to generate keywords.txt
# Optionally pass the name of the library as the first argument
# $ gen_keywords.pl Foo > keywords.txt
use strict;
my $in_public = 0;