Skip to content

Instantly share code, notes, and snippets.

@ensonic
Created October 15, 2015 16:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ensonic/a1e6c53f0408ede495da to your computer and use it in GitHub Desktop.
Save ensonic/a1e6c53f0408ede495da to your computer and use it in GitHub Desktop.
#include "SparkIntervalTimer/SparkIntervalTimer.h"
// connect a 8Ohm speaker with a 220Ohm resistor to pin DAC and GND
const int audio = DAC1;
// internal LED to signal activity
const int led = D7;
// button to trigger playback
const int btn = D0;
IntervalTimer audio_clock;
volatile int wave_ix = 0;
char wave_data[] = /* 4327 */
{0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00
,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x00,0x01,0x01,0x00,0x01
,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x01,0x00,0x00,0x01,0x01,0x01,0x00,0x01
,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00
,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00
,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00
,0x00,0x00,0xFF,0x00,0x01,0x01,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0xFF
,0xFF,0xFD,0xFF,0xFD,0xFE,0xFD,0xFE,0xFE,0xFE,0x00,0xFF,0x00,0x00,0x00,0xFF
,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x01,0x01,0x02,0x03,0x04,0x05,0x06,0x06,0x05
,0x03,0x01,0xFF,0xFD,0xFC,0xFD,0xFD,0xFE,0xFE,0xFE,0xFF,0xFF,0x00,0x00,0x00
,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0x00,0x01,0x00
,0xFF,0xFF,0xFE,0xFF,0xFE,0xFD,0xFD,0xFD,0xFE,0xFF,0xFE,0xFF,0xFF,0x00,0x01
,0x02,0x05,0x07,0x09,0x0A,0x09,0x06,0x03,0x00,0xFD,0xFB,0xFA,0xF7,0xF6,0xF7
,0xF8,0xFA,0xFD,0x00,0x04,0x08,0x0A,0x0A,0x0A,0x0B,0x08,0x08,0x05,0x03,0x01
,0x00,0xFF,0xFE,0xFD,0xFC,0xFC,0xFC,0xFC,0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF
,0xFE,0xFD,0xFE,0x00,0x03,0x07,0x0A,0x09,0x04,0xFD,0xFB,0xFD,0xFC,0xFA,0xFA
,0xFA,0xF8,0xF9,0xF9,0xF8,0xF9,0xFA,0xFB,0xFB,0xF9,0xF9,0xFB,0xF9,0xFA,0xFC
,0xFD,0xFD,0xFB,0xF9,0xF8,0xF8,0xF8,0xFB,0x01,0x08,0x0D,0x0C,0x07,0x01,0xFB
,0xF7,0xF6,0xF8,0xFC,0xFF,0x02,0xFF,0xFB,0xF9,0xFA,0xFC,0x00,0x04,0x05,0x03
,0xFE,0xFB,0xF8,0xF8,0xFA,0xFD,0x00,0x00,0x02,0x04,0x05,0x0C,0x13,0x10,0x08
,0x01,0x02,0x03,0x01,0x02,0x01,0xFB,0xFA,0xFD,0xFA,0xF7,0xFA,0xFD,0x00,0x00
,0x01,0x00,0x01,0x07,0x11,0x13,0x0D,0x05,0x04,0x07,0x06,0x05,0x03,0xFF,0xFB
,0xFF,0x01,0xFD,0xFD,0x01,0x03,0xFC,0xF6,0xF2,0xF0,0xF1,0xF7,0x01,0x0C,0x17
,0x1F,0x1E,0x13,0x08,0x01,0xFF,0xFC,0xFE,0x03,0x04,0x01,0x00,0x01,0xFB,0xF4
,0xF5,0xFB,0xFC,0xFA,0xF9,0xFC,0xFE,0x04,0x0E,0x11,0x0B,0x03,0x03,0x08,0x05
,0xFE,0xFB,0xFF,0x08,0x0C,0x08,0x01,0xFC,0xFC,0xFC,0xF8,0xF1,0xF1,0xF7,0xFB
,0xFC,0x06,0x13,0x17,0x0F,0x03,0x02,0x02,0xF9,0xF4,0xF9,0xFD,0xFD,0xFE,0x00
,0x00,0x00,0x02,0x02,0xFE,0xFD,0x01,0x03,0x06,0x06,0x04,0xFF,0xFB,0xFB,0xFA
,0xFB,0x00,0x00,0xFC,0xF8,0xFC,0x04,0x08,0x02,0xFA,0xF4,0xF2,0xEE,0xEC,0xF3
,0xFB,0x07,0x11,0x17,0x15,0x0C,0x03,0xFE,0x00,0x01,0xFF,0xFC,0xFC,0xFD,0x01
,0x05,0x06,0x03,0x01,0x02,0x06,0x08,0x06,0xFC,0xF1,0xEC,0xEF,0xF2,0xF7,0x07
,0x19,0x23,0x22,0x17,0x09,0xFE,0xFA,0xFE,0x02,0x05,0x05,0x00,0xF8,0xEE,0xE6
,0xE4,0xE6,0xEE,0xF9,0xFF,0x04,0x0C,0x1D,0x27,0x1F,0x0A,0xF9,0xF8,0x00,0x06
,0x06,0x02,0xFD,0xF6,0xF3,0xF4,0xF9,0xF9,0xF8,0xFA,0xFD,0xFA,0xF9,0xFB,0x04
,0x08,0x02,0xF8,0xF6,0x01,0x0B,0x10,0x10,0x0A,0xFA,0xE8,0xDF,0xE5,0xEE,0xF8
,0x09,0x19,0x1C,0x16,0x10,0x07,0xFA,0xEB,0xE9,0xF1,0xF9,0xFD,0x03,0x08,0x06
,0xFA,0xF1,0xED,0xEF,0xF4,0xFA,0x00,0x09,0x10,0x12,0x0F,0x0C,0x05,0xF8,0xED
,0xF0,0xFC,0x06,0x04,0xFD,0xF2,0xE6,0xDE,0xE4,0xF5,0x0B,0x18,0x24,0x30,0x33
,0x1E,0xF6,0xDA,0xDB,0xEB,0xF7,0x01,0x08,0x0B,0x08,0xFC,0xEF,0xE4,0xE0,0xEC
,0x03,0x16,0x1B,0x1A,0x1F,0x24,0x18,0xFE,0xE5,0xE1,0xF2,0x06,0x0F,0x0F,0x09
,0xF7,0xDA,0xC9,0xD5,0xF6,0x1B,0x3B,0x4B,0x40,0x1D,0xF9,0xEA,0xEA,0xEC,0xED
,0xF5,0x04,0x0B,0x09,0x05,0x01,0xF2,0xE0,0xD7,0xE1,0xF9,0x14,0x2A,0x38,0x37
,0x20,0xF7,0xD9,0xDC,0xF7,0x0E,0x11,0x08,0xFF,0xF3,0xE8,0xEE,0x04,0x1C,0x22
,0x21,0x1F,0x18,0x02,0xE2,0xD5,0xE0,0xF3,0xFC,0xFB,0xFC,0x04,0x0A,0x09,0x04
,0xFB,0xEE,0xE3,0xEB,0x08,0x26,0x31,0x2B,0x1A,0x06,0xF7,0xEF,0xEE,0xEF,0xF0
,0xED,0xE4,0xE0,0xE1,0xEA,0xF9,0x0F,0x25,0x29,0x1A,0x07,0x01,0x03,0x06,0x06
,0x05,0x00,0xF8,0xF1,0xF3,0xF6,0xF7,0xF5,0xEE,0xE5,0xE0,0xE8,0x00,0x24,0x3D
,0x39,0x19,0xF6,0xE9,0xF1,0xF9,0xFF,0x07,0x07,0xF4,0xDD,0xD8,0xEA,0x05,0x1B
,0x22,0x1D,0x0E,0x03,0x02,0x08,0x09,0xFF,0xF0,0xEB,0xF3,0xFC,0x01,0x04,0x09
,0x04,0xF0,0xDA,0xD7,0xE9,0x07,0x2C,0x49,0x47,0x21,0xE8,0xCE,0xDE,0xFA,0x06
,0x07,0x01,0xF8,0xE9,0xE0,0xE7,0xF6,0x02,0x0D,0x22,0x37,0x35,0x1B,0xFB,0xF2
,0xF7,0xF0,0xDF,0xD6,0xE7,0xFF,0x0F,0x0C,0x01,0xF2,0xE0,0xD8,0xE9,0x15,0x43
,0x52,0x39,0x08,0xE1,0xD7,0xDD,0xE3,0xEA,0xFC,0x14,0x20,0x15,0xF4,0xD7,0xCF
,0xE1,0xFF,0x15,0x26,0x2C,0x28,0x17,0x00,0xEC,0xDE,0xD6,0xD9,0xEE,0x07,0x12
,0x0D,0x04,0xF9,0xED,0xE8,0xFD,0x1C,0x30,0x2F,0x1A,0x08,0xFA,0xE8,0xD2,0xC4
,0xCD,0xE5,0xFB,0x0B,0x19,0x1F,0x16,0x03,0xFB,0x02,0x12,0x1D,0x1D,0x18,0x0E
,0xF9,0xDD,0xCA,0xCA,0xDF,0xF4,0xFA,0xFA,0x03,0x0E,0x12,0x16,0x1D,0x1F,0x17
,0x07,0xFD,0xFD,0xF8,0xF1,0xEC,0xED,0xF1,0xF2,0xF1,0xF3,0xFA,0x01,0x04,0x06
,0x0A,0x15,0x22,0x24,0x1B,0x09,0xFD,0xF3,0xEA,0xE3,0xE0,0xE2,0xED,0xFC,0x0D
,0x18,0x13,0x00,0xF0,0xF6,0x0F,0x2D,0x39,0x2C,0x0F,0xF3,0xDF,0xD5,0xD3,0xDE
,0xF1,0x0A,0x18,0x17,0x06,0xEE,0xDD,0xEA,0x0F,0x33,0x3E,0x2F,0x1E,0x11,0x03
,0xEA,0xD2,0xC7,0xCB,0xD1,0xDC,0xF2,0x0F,0x1C,0x16,0x0D,0x14,0x25,0x2E,0x25
,0x17,0x0F,0x08,0xF8,0xE4,0xD4,0xD2,0xDE,0xED,0xF4,0xF0,0xEB,0xF2,0x09,0x26
,0x35,0x30,0x21,0x10,0x05,0xFD,0xF4,0xEE,0xEE,0xF2,0xF3,0xE9,0xDC,0xDC,0xE9
,0xFB,0x0D,0x21,0x2D,0x2C,0x26,0x1D,0x11,0xFF,0xE8,0xD8,0xD8,0xE7,0xF7,0x01
,0x02,0xFE,0xFA,0xFA,0xFB,0x00,0x0C,0x1A,0x23,0x24,0x21,0x13,0xFF,0xE8,0xDF
,0xE0,0xE5,0xE9,0xEC,0xF1,0xF8,0x04,0x12,0x1C,0x17,0x0B,0x05,0x0C,0x1C,0x23
,0x19,0x03,0xED,0xDF,0xE3,0xEF,0xFB,0xFA,0xF0,0xE8,0xEB,0xF4,0x00,0x13,0x26
,0x30,0x2B,0x1A,0x05,0xF6,0xEA,0xE5,0xF0,0x04,0x0B,0x01,0xEF,0xE3,0xE2,0xE9
,0xF3,0x00,0x16,0x2E,0x37,0x2F,0x19,0x00,0xE9,0xDA,0xD9,0xE5,0xF7,0x05,0x0C
,0x06,0xF8,0xE7,0xDB,0xE3,0x03,0x2D,0x46,0x41,0x22,0xFB,0xE4,0xDD,0xDD,0xDF
,0xE7,0xF6,0x09,0x16,0x14,0x02,0xE8,0xDD,0xE9,0x08,0x28,0x37,0x32,0x22,0x11
,0x00,0xE7,0xCB,0xBE,0xC9,0xE6,0x04,0x13,0x14,0x10,0x0B,0x05,0x05,0x07,0x0D
,0x13,0x13,0x15,0x15,0x0C,0xF4,0xDA,0xCE,0xD8,0xED,0x04,0x0D,0x0D,0x08,0x01
,0xF8,0xF7,0x04,0x18,0x20,0x15,0x0A,0x0B,0x0A,0xF8,0xDE,0xD2,0xDE,0xF2,0xFF
,0x05,0x08,0x0B,0x0E,0x10,0x10,0x0C,0x04,0xFA,0xFB,0x05,0x0F,0x08,0xF6,0xE7
,0xE6,0xEC,0xF9,0x06,0x0B,0x0B,0x06,0xFE,0xF9,0xFA,0x07,0x19,0x25,0x21,0x12
,0xFC,0xE5,0xD2,0xCB,0xD6,0xEC,0x04,0x18,0x22,0x1D,0x12,0x0B,0x0E,0x13,0x12
,0x0C,0x01,0xFC,0xFA,0xF3,0xE7,0xDD,0xDA,0xE6,0xF5,0x04,0x15,0x22,0x21,0x13
,0x02,0xF9,0xFC,0x04,0x09,0x0C,0x0C,0x0A,0x05,0xFA,0xE9,0xD9,0xD4,0xE4,0x01
,0x17,0x1C,0x14,0x0C,0x0B,0x0B,0x05,0xFE,0xFC,0x00,0x05,0x06,0xFE,0xF6,0xF0
,0xEF,0xF2,0xF8,0x01,0x0A,0x0F,0x0E,0x0C,0x09,0x06,0x03,0x06,0x08,0x03,0xF9
,0xF3,0xF1,0xF1,0xED,0xEE,0xF7,0x04,0x0C,0x0D,0x0F,0x13,0x16,0x12,0x09,0xFC
,0xF3,0xF4,0xFA,0x02,0x02,0xFB,0xF1,0xE8,0xE9,0xF7,0x09,0x15,0x14,0x0F,0x09
,0x06,0x07,0x08,0x09,0x06,0xFE,0xF7,0xF2,0xF2,0xF3,0xF3,0xF5,0xF7,0xFD,0x02
,0x07,0x0B,0x10,0x11,0x11,0x0E,0x0A,0x04,0xFB,0xF5,0xF3,0xF8,0x00,0xFE,0xF7
,0xF0,0xF0,0xF7,0xFE,0x05,0x10,0x1A,0x1A,0x0E,0x00,0xF9,0xF5,0xF3,0xEE,0xF0
,0xF9,0x03,0x0A,0x0C,0x0C,0x09,0x07,0x05,0xFD,0xF6,0xF5,0xFE,0x06,0x09,0x07
,0x00,0xFB,0xF7,0xF4,0xF0,0xEA,0xEA,0xF2,0x01,0x0C,0x11,0x13,0x12,0x12,0x0F
,0x0A,0x05,0x01,0xFE,0xF7,0xF1,0xEF,0xF0,0xF1,0xF4,0xF8,0xFC,0xFE,0xFF,0x00
,0x00,0x03,0x05,0x09,0x08,0x09,0x0B,0x0C,0x0B,0x04,0xFA,0xF2,0xF1,0xF6,0x01
,0x08,0x06,0xFB,0xF3,0xF6,0xFE,0x04,0x05,0x03,0xFE,0xFA,0xFE,0x08,0x0E,0x0A
,0x01,0xFB,0xFA,0xFD,0x02,0x02,0xFF,0xFD,0xFF,0x05,0x08,0x0C,0x0B,0x09,0x06
,0x01,0xFB,0xF4,0xF1,0xF2,0xF9,0x01,0x08,0x07,0x01,0xFF,0xFF,0x00,0x02,0x00
,0xFC,0xF8,0xF8,0xFF,0x09,0x0B,0x02,0xF7,0xF6,0x00,0x06,0x06,0x04,0x03,0x00
,0x00,0x02,0xFF,0xFB,0xF5,0xF9,0x01,0x07,0x04,0xFC,0xF5,0xF9,0x03,0x0A,0x07
,0xFE,0xF6,0xF3,0xF1,0xF5,0x00,0x0A,0x0B,0x05,0x01,0x04,0x0B,0x0C,0x04,0xFE
,0x00,0x04,0x04,0xFE,0xFA,0xFB,0xFD,0xFB,0xF8,0xF9,0xFC,0xFE,0xFF,0x01,0x03
,0x05,0x04,0x02,0x01,0x06,0x0C,0x0B,0x06,0xFE,0xFB,0xF9,0xFC,0x01,0x07,0x07
,0x03,0xFD,0xFB,0xFB,0xFA,0xFA,0xFC,0x02,0x08,0x0A,0x0A,0x07,0xFF,0xF6,0xF4
,0xF8,0xFE,0x00,0x01,0x03,0x06,0x08,0x04,0xFD,0xF8,0xF9,0xFC,0x01,0x01,0x01
,0x01,0x00,0xFE,0xFC,0xFC,0xFD,0xFE,0xFF,0x00,0x05,0x09,0x08,0x01,0xFB,0xFA
,0x00,0x04,0x05,0x05,0x04,0x01,0xFB,0xF8,0xF7,0xF9,0xFA,0xF9,0xFB,0xFD,0x00
,0x03,0x02,0x01,0x03,0x07,0x0C,0x0F,0x0C,0x05,0xFF,0xFE,0xFA,0xF9,0xF6,0xF6
,0xF9,0xFD,0x01,0x04,0x08,0x08,0x04,0xFE,0xFB,0xFA,0xFC,0xFD,0x00,0x03,0x07
,0x07,0x05,0x00,0xFA,0xF8,0xF9,0xFB,0xFF,0x02,0x01,0xFF,0xFF,0x01,0x07,0x0A
,0x09,0x04,0xFF,0xFB,0xF9,0xF7,0xF9,0xFB,0xFE,0x05,0x0A,0x0A,0x01,0xF7,0xF2
,0xF7,0x02,0x09,0x08,0x05,0x02,0x00,0xFD,0xFA,0xF7,0xF8,0xFB,0x00,0x06,0x08
,0x06,0x04,0x02,0x00,0xFF,0xFF,0x01,0x01,0xFF,0xFD,0xFC,0xFB,0xFB,0xFD,0xFF
,0x01,0x02,0x03,0x03,0x01,0x03,0x03,0x04,0x03,0x01,0x03,0x06,0x08,0x06,0x00
,0xFC,0xF9,0xF8,0xF8,0xF9,0xFB,0x01,0x05,0x06,0x04,0x02,0xFF,0xFE,0xFB,0xFB
,0xFD,0x00,0x04,0x07,0x09,0x07,0x04,0xFE,0xF9,0xF8,0xFA,0xFD,0x01,0x03,0x04
,0x02,0xFF,0xFB,0xFC,0xFE,0xFF,0x02,0x04,0x06,0x04,0x03,0x00,0xFD,0xFC,0xFF
,0x01,0x00,0xFF,0xFE,0xFF,0xFF,0x01,0x04,0x04,0xFF,0xFB,0xF9,0xFC,0xFF,0x02
,0x05,0x07,0x06,0x02,0xFD,0xFB,0xFE,0x00,0x00,0x01,0x02,0x02,0xFF,0xFC,0xFA
,0xFC,0x00,0x01,0x02,0x05,0x03,0xFF,0xFD,0xFD,0xFE,0xFE,0x00,0x03,0x04,0x02
,0xFF,0xFF,0x00,0x01,0x01,0x00,0xFD,0xFE,0xFF,0x02,0x05,0x04,0x02,0xFE,0xF9
,0xF6,0xF8,0xFD,0x03,0x05,0x06,0x07,0x05,0x03,0xFF,0xFB,0xFC,0xFD,0xFE,0x00
,0x04,0x08,0x08,0x03,0xFA,0xF5,0xF8,0xFD,0x01,0x02,0x03,0x01,0xFF,0xFF,0x03
,0x05,0x07,0x02,0xFF,0x01,0x03,0x00,0xFB,0xF8,0xFA,0x01,0x04,0x04,0x02,0x00
,0xFE,0xFF,0x00,0x00,0xFF,0xFE,0xFD,0x00,0x00,0x00,0xFD,0xFC,0xFD,0x01,0x02
,0x04,0x05,0x05,0x02,0xFE,0xFE,0x03,0x07,0x05,0x00,0xF9,0xF6,0xF6,0xF9,0xFC
,0xFE,0x00,0x01,0x03,0x03,0x02,0x00,0x00,0x02,0x04,0x06,0x07,0x04,0x00,0xFD
,0xFB,0xF9,0xF9,0xFB,0xFC,0xFD,0xFF,0xFF,0x00,0x00,0x02,0x04,0x05,0x06,0x06
,0x04,0x01,0xFE,0xFC,0xFD,0xFF,0x02,0x01,0xFF,0xFD,0xFB,0xFA,0xFA,0xFB,0xFE
,0x02,0x05,0x08,0x09,0x06,0x00,0xFC,0xF8,0xF8,0xFC,0x00,0x05,0x09,0x0A,0x07
,0x03,0xFF,0xFB,0xF8,0xF8,0xFA,0xFD,0x02,0x04,0x04,0x01,0xFC,0xFC,0xFD,0x02
,0x05,0x08,0x06,0x04,0x00,0xFD,0xFA,0xFC,0xFE,0x04,0x06,0x03,0xFE,0xFA,0xF9
,0xF9,0xFA,0xFE,0x03,0x07,0x08,0x07,0x03,0x00,0xFC,0xFD,0xFE,0x01,0x04,0x06
,0x04,0x00,0xFB,0xF9,0xF8,0xFB,0xFF,0x01,0x03,0x03,0x04,0x02,0x01,0x01,0x02
,0x03,0x03,0x03,0x02,0x01,0xFF,0xFB,0xF9,0xF9,0xFD,0x02,0x06,0x05,0x02,0xFE
,0xFB,0xFA,0xFF,0x03,0x06,0x06,0x03,0x01,0xFF,0xFE,0xFE,0xFE,0xFE,0x00,0x01
,0x04,0x04,0x03,0x00,0xFE,0xFB,0xFB,0xFC,0xFE,0xFF,0x02,0x04,0x04,0x03,0x00
,0xFA,0xF7,0xF9,0x00,0x06,0x09,0x08,0x05,0x02,0xFE,0xFC,0xFB,0xFC,0xFF,0x04
,0x05,0x03,0x01,0xFE,0xFC,0xFC,0xFD,0x02,0x04,0x03,0x02,0x01,0xFF,0xFD,0xFC
,0xFE,0x02,0x04,0x05,0x04,0x03,0x02,0xFE,0xFC,0xFC,0xFE,0x01,0x04,0x02,0xFF
,0xFF,0x00,0x01,0x01,0x02,0x02,0x01,0x00,0xFE,0xFE,0xFC,0xFB,0xFD,0x02,0x08
,0x09,0x05,0xFF,0xFB,0xFC,0xFF,0x00,0x00,0x00,0x00,0x01,0x03,0x01,0xFD,0xFA
,0xFB,0xFF,0x03,0x07,0x08,0x06,0x03,0x01,0x00,0xFD,0xFB,0xFC,0xFD,0x00,0x02
,0x00,0xFF,0xFC,0xFA,0xFA,0xFE,0x04,0x06,0x05,0x03,0x01,0x00,0xFF,0xFF,0xFE
,0xFF,0x00,0x04,0x03,0x02,0x00,0xFD,0xFB,0xFA,0xFC,0x00,0x01,0x02,0x03,0x04
,0x04,0x03,0x00,0xFC,0xFC,0xFE,0x00,0x00,0xFE,0xFD,0xFB,0xFB,0xFE,0x03,0x05
,0x04,0x02,0x02,0x01,0xFF,0xFF,0x02,0x03,0x02,0x01,0x01,0xFF,0xFD,0xFB,0xFB
,0xFD,0x00,0x03,0x03,0x02,0x01,0x01,0x01,0xFF,0xFD,0xFE,0x00,0x02,0x02,0x01
,0xFE,0xFD,0xFC,0xFC,0xFE,0x03,0x05,0x06,0x04,0x02,0xFF,0xFE,0xFE,0xFF,0x01
,0x01,0x00,0x00,0xFD,0xFB,0xFA,0xFB,0xFE,0x02,0x05,0x04,0x01,0xFE,0xFE,0x01
,0x04,0x06,0x05,0x03,0xFF,0xFD,0xFB,0xFA,0xFA,0xFC,0x00,0x05,0x08,0x06,0x01
,0xFD,0xFC,0xFD,0xFD,0xFD,0xFE,0x01,0x03,0x03,0x01,0xFD,0xFA,0xF9,0xFC,0x00
,0x07,0x08,0x07,0x03,0xFF,0xFE,0xFD,0xFE,0x00,0x01,0x03,0x04,0x04,0x01,0xFC
,0xF9,0xF8,0xFC,0x00,0x03,0x03,0x03,0x02,0x03,0x01,0xFF,0xFD,0xFC,0xFF,0x04
,0x05,0x05,0x00,0xFB,0xF9,0xFB,0xFF,0x03,0x04,0x04,0x03,0x02,0x00,0xFF,0xFD
,0xFD,0x01,0x05,0x06,0x03,0xFE,0xFB,0xF9,0xFA,0xFB,0x00,0x02,0x04,0x05,0x03
,0x01,0xFF,0xFE,0xFC,0xFC,0x01,0x04,0x07,0x05,0x00,0xFA,0xF9,0xFA,0xFF,0x04
,0x07,0x07,0x04,0xFF,0xFC,0xFA,0xFA,0xFE,0x02,0x06,0x07,0x05,0x00,0xFC,0xF9
,0xFB,0xFD,0x01,0x04,0x04,0x03,0x03,0x02,0xFF,0xFC,0xFB,0xFB,0xFE,0x00,0x03
,0x05,0x04,0x02,0x00,0xFE,0xFF,0xFF,0x00,0x03,0x03,0x04,0x04,0xFF,0xFA,0xF7
,0xF9,0xFD,0x02,0x03,0x01,0x00,0x00,0xFF,0xFE,0xFF,0xFF,0x01,0x01,0x04,0x03
,0x03,0x00,0xFD,0xFC,0xFD,0xFD,0xFE,0xFF,0xFF,0x00,0x00,0x01,0x02,0x02,0x03
,0x02,0x02,0x02,0x01,0xFE,0xFB,0xFA,0xFA,0xFD,0x01,0x03,0x03,0x01,0xFF,0xFE
,0x00,0x03,0x04,0x03,0x01,0x01,0x03,0x02,0x00,0xFE,0xFC,0xFD,0xFE,0xFF,0xFE
,0x00,0x01,0x00,0x00,0x00,0x01,0x02,0x03,0x02,0x02,0x02,0x01,0xFE,0xFB,0xFC
,0xFE,0xFF,0x00,0x02,0x02,0x01,0xFF,0xFE,0xFF,0x00,0x01,0x01,0x02,0x02,0x02
,0x01,0x00,0xFF,0xFF,0xFE,0xFC,0xFD,0xFF,0x02,0x05,0x04,0x03,0x01,0xFF,0xFE
,0xFF,0x00,0x01,0x00,0x00,0x00,0xFE,0xFD,0xFE,0x00,0x01,0x02,0x04,0x03,0x01
,0x01,0x01,0x02,0x01,0x00,0x00,0xFF,0xFF,0xFD,0xFC,0xFD,0xFE,0xFD,0xFE,0xFF
,0x01,0x04,0x04,0x04,0x04,0x02,0x01,0x00,0x00,0x01,0x01,0x00,0xFF,0xFE,0xFD
,0xFD,0xFC,0xFF,0xFF,0x00,0x00,0x01,0x04,0x05,0x05,0x05,0x03,0x03,0x01,0xFE
,0xFE,0xFE,0xFF,0xFE,0xFE,0xFE,0xFE,0xFF,0x00,0x02,0x04,0x05,0x03,0x02,0x01
,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFE,0xFD,0xFD,0xFE,0xFF,0x02,0x01,0x01
,0x01,0x01,0x03,0x03,0x03,0x01,0xFE,0xFC,0xFC,0xFD,0xFE,0x00,0xFF,0xFF,0xFE
,0xFE,0x00,0x02,0x02,0x02,0x02,0x02,0x01,0x00,0xFE,0xFE,0x00,0x01,0x01,0x00
,0xFF,0xFF,0xFE,0x00,0x02,0x01,0x01,0xFF,0xFF,0xFF,0x00,0x01,0x01,0xFF,0xFF
,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFE,0xFF,0x00,0x01,0x01,0x01,0x02,0x02,0x02
,0x02,0x00,0xFF,0xFE,0xFF,0xFF,0xFF,0xFD,0xFE,0xFE,0xFF,0x00,0x02,0x02,0x02
,0x01,0x01,0x01,0x00,0xFF,0xFE,0xFE,0xFF,0x00,0xFF,0xFF,0x00,0x01,0x02,0x02
,0x03,0x01,0x01,0x01,0x02,0x01,0x00,0x00,0x00,0xFF,0x00,0xFE,0xFF,0xFE,0xFD
,0xFF,0x00,0x01,0x01,0x02,0x02,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x02,0x01
,0xFF,0xFF,0xFF,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01
,0x00,0x00,0x01,0x00,0x01,0x00,0xFE,0xFD,0xFD,0x00,0x00,0x03,0x02,0x03,0x03
,0x02,0xFF,0xFF,0xFE,0xFF,0xFF,0x01,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0x01
,0x02,0x02,0x02,0x01,0x00,0xFF,0xFE,0xFE,0xFD,0xFE,0x00,0x00,0x01,0x01,0x01
,0x00,0xFF,0xFE,0xFF,0x01,0x02,0x03,0x01,0x00,0xFE,0xFF,0xFF,0xFF,0x00,0x02
,0x01,0x00,0xFF,0xFF,0x01,0x02,0x02,0x01,0x01,0x00,0x00,0xFF,0x00,0xFE,0xFF
,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x00,0x02,0x02,0x02,0x01,0x01,0x00,0x01,0xFF
,0xFE,0xFD,0xFD,0xFF,0x00,0x01,0x01,0x02,0x01,0x00,0x00,0x00,0x01,0x00,0x02
,0x01,0x00,0x00,0xFE,0xFE,0xFF,0xFF,0x00,0xFF,0xFD,0xFF,0x00,0x00,0x01,0x02
,0x01,0x01,0x00,0xFF,0xFF,0x00,0xFF,0xFE,0xFF,0xFE,0xFF,0x00,0xFE,0xFE,0xFE
,0xFD,0x00,0x02,0x03,0x02,0x02,0x01,0x00,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00
,0xFF,0xFE,0xFF,0xFF,0xFF,0x01,0x02,0x01,0x01,0x00,0x00,0x01,0x02,0x01,0xFF
,0xFE,0xFE,0xFF,0xFF,0x00,0x00,0x01,0x00,0xFF,0xFF,0x01,0x01,0x01,0x01,0x01
,0x00,0xFF,0x00,0x01,0x00,0x00,0xFF,0xFE,0xFD,0xFE,0x00,0x01,0x02,0x02,0x02
,0x00,0x00,0xFF,0xFE,0xFF,0x00,0x00,0x01,0x02,0x01,0x00,0x00,0xFE,0xFF,0x00
,0x00,0x01,0x00,0x01,0x01,0x00,0xFF,0xFF,0xFE,0xFE,0x00,0x00,0x01,0x01,0x01
,0x00,0xFF,0xFF,0xFF,0x00,0x01,0x01,0xFF,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF
,0x00,0x00,0x00,0x00,0x00,0xFE,0xFE,0xFF,0x00,0x00,0x01,0x00,0x00,0x00,0x01
,0x02,0x00,0x00,0x00,0x00,0x00,0xFE,0xFD,0xFD,0xFE,0x00,0x00,0x00,0x00,0x00
,0x00,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFE,0xFF,0xFE,0x00
,0x01,0x01,0xFF,0x00,0x01,0x02,0x01,0xFF,0xFF,0xFF,0x01,0x00,0x01,0x01,0x01
,0x00,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0x01,0x02,0x02,0x01,0x00,0xFF,0x00,0x01
,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x01,0xFE,0xFE,0xFD,0xFF,0x01,0x02,0x01
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x00
,0xFF,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x01,0x00,0x00,0x01
,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0x00,0x00,0x01,0x02,0x01,0x00,0x01,0x01,0x02
,0x03,0x01,0x01,0x00,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x01,0x01
,0x00,0xFF,0xFF,0xFF,0x00,0x00,0xFF,0xFE,0xFE,0xFE,0xFF,0x01,0x01,0x01,0x01
,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x01,0x01,0x02,0x01,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0xFE
,0xFE,0xFF,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF
,0xFE,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFF,0x00,0x02,0x02,0x02,0x01
,0x01,0x01,0x00,0xFF,0x00,0xFF,0xFF,0x00,0xFF,0x00,0x01,0xFF,0xFF,0x01,0x01
,0x02,0x01,0x02,0x02,0x01,0x02,0x00,0xFF,0xFF,0xFF,0xFE,0xFF,0x00,0xFF,0xFE
,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x01,0x02,0x01,0x01,0x00,0xFF,0x00,0xFF
,0xFE,0xFE,0xFE,0xFF,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x00,0x01,0x01
,0x00,0x01,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x01,0x02,0x01
,0x01,0x00,0x00,0xFF,0xFF,0xFE,0xFE,0xFE,0x00,0x00,0xFE,0xFF,0x00,0x01,0x01
,0x01,0x01,0x01,0x01,0x01,0x00,0xFF,0xFE,0xFD,0xFE,0xFF,0x00,0xFF,0x00,0x00
,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x01,0x00,0xFF,0xFF,0xFE,0xFD,0xFC
,0xFE,0xFE,0xFF,0x01,0x02,0x01,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF
,0xFF,0xFF,0xFE,0xFE,0xFE,0xFF,0x00,0x00,0x02,0x02,0x01,0x01,0x01,0x02,0x01
,0x00,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00
,0x00,0x00,0x01,0x01,0x00,0x00,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0x00,0x01
,0x02,0x01,0x00,0x01,0x00,0x00,0x01,0x01,0x01,0x00,0xFF,0xFF,0xFE,0xFF,0xFF
,0x00,0x00,0x02,0x01,0x01,0x01,0x00,0x01,0x01,0x02,0x01,0x00,0x00,0x01,0x00
,0x01,0xFF,0xFF,0xFE,0xFF,0x00,0x01,0x02,0x02,0x02,0x01,0x00,0x00,0x01,0x00
,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x02,0x01,0x02,0x01,0x01
,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0xFF,0x00,0xFF,0xFF,0xFF,0x01,0x01,0x02
,0x02,0x02,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0xFF,0xFE,0xFF,0xFF
,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0xFF
,0xFF,0x00,0xFE,0xFE,0xFF,0xFF,0x00,0x01,0x01,0x02,0x02,0x01,0x00,0x01,0x00
,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x02
,0x00,0x00,0xFF,0xFE,0xFF,0xFF,0x00,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x01
,0x02,0x02,0x02,0x02,0x01,0x01,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x01
,0x00,0x01,0x01,0x01,0x02,0x02,0x01,0x00,0x01,0x01,0x01,0x00,0xFF,0x00,0xFF
,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0xFF,0xFF
,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x02,0x01
,0x00,0xFF,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0xFF,0xFF,0x00,0x01,0x00
,0x01,0x01,0x01,0x01,0xFF,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFE
,0xFE,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0xFF,0xFF,0xFE,0x00,0x00,0x00
,0xFF,0xFF,0xFF,0x00,0xFF,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0xFF,0xFF
,0x00,0x00,0x00,0x00,0xFF,0xFE,0xFF,0x01,0x01,0x02,0x02,0x01,0x01,0x00,0x00
,0xFF,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x01,0x02
,0x01,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x01
,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0xFF,0x00,0x01,0x00,0x00,0xFF,0x00,0x01
,0x01,0x00,0x01,0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0xFF,0x00
,0x00,0x00,0x01,0x01,0x00,0xFF,0x00,0x01,0x01,0x01,0xFF,0x00,0x00,0x00,0x00
,0x01,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00
,0x01,0xFF,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00
,0x00,0x01,0x02,0x01,0x01,0x00,0x00,0x00,0xFF,0x00,0xFF,0xFF,0x00,0x00,0x00
,0x00,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xFF
,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00
,0x00,0x00,0x01,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0xFF
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01
,0x01,0x01,0x00,0x00,0x00,0x01,0x00,0xFF,0x00,0x01,0x00,0x00,0x00,0x00,0xFF
,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0xFF,0x00,0x01,0x00,0x00
,0xFF,0xFF,0x01,0x00,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x01,0x01,0x00,0xFF,0xFF
,0x00,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0x01,0xFF,0x00,0x00,0x00,0x01
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0xFF,0x00,0x00,0x01,0x00,0x00,0xFF,0xFF,0x00,0x01,0x01,0x00,0x00,0xFF,0xFE
,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF
,0xFF,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00
,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xFF
,0x00,0xFF,0x01,0x01,0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,0x00,0xFF,0xFF
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x01,0x00,0x00
,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00
,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x01,0x00,0x01,0x01,0x00
,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x01
,0xFF,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0xFF
,0x00,0x01,0x01,0x00,0x01,0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01
,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0xFF,0xFF,0x00
,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00
,0xFF,0x00,0xFF,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00
,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF
,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x01
,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00
,0x00,0x00,0xFF,0xFF,0x00,0x00,0x01,0x00,0xFF,0x00,0xFF,0x00,0x01,0xFF,0x00
,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01
,0x00,0x01,0x00,0x01,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0x00,0xFF
,0x00,0x01,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0xFF,0x00,0xFF,0x00
,0x00,0x00,0xFF,0x00,0xFF,0xFF,0x00,0xFF,0x00,0xFF,0x00,0x00,0x00,0x00,0xFF
,0x00,0x00,0x00,0xFF,0x00,0xFF,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0xFF,0x00
,0x00,0x00,0x00,0x01,0x00,0xFF,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0xFF,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x01,0x01,0x00,0x00
,0x00,0x01,0xFF,0x00,0x00,0xFF,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x00
,0x01,0x01,0x00,0x01,0xFF,0x00,0x00};
void setup() {
pinMode(led, OUTPUT);
}
void play_wave(void) {
if (wave_ix < sizeof(wave_data)) {
int v = wave_data[wave_ix];
// turn 2s complement into positive numbers
if (v>=0x80) {
v = 0xFF-v;
}
pinMode(audio, OUTPUT);
analogWrite(audio, (v<<5));
wave_ix++;
}
}
void start_play(void) {
wave_ix = 0;
audio_clock.begin(play_wave, 125, uSec);
}
void stop_play(void) {
audio_clock.end();
pinMode(audio, OUTPUT);
analogWrite(audio, 0);
wave_ix = 0;
}
bool clicked = false;
void loop() {
if (wave_ix >= sizeof(wave_data)) {
stop_play();
digitalWrite(led, LOW);
}
// read the state of the pushbutton value:
int buttonState = digitalRead(btn);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
clicked = true;
} else {
if (clicked && wave_ix == 0) {
clicked = false;
start_play();
digitalWrite(led, HIGH);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment