From fee719ead395be9493456a609b3fe281a762cf15 Mon Sep 17 00:00:00 2001 From: timothy lamb Date: Sun, 26 Jul 2015 15:21:17 -0700 Subject: [PATCH] Release 0.8.5 from Google Code. --- Arduinoboy/Arduinoboy.ino | 296 ++++++++++++++-------------- Arduinoboy/Mode.ino | 94 +++++++++ Arduinoboy/Mode_LSDJ_Keyboard.ino | 195 ++++++++++++++++++ Arduinoboy/Mode_LSDJ_MasterSync.ino | 51 +++++ Arduinoboy/Mode_LSDJ_SlaveSync.ino | 112 +++++++++++ Arduinoboy/Mode_Nanoloop.ino | 20 ++ Arduinoboy/Mode_PushPin.ino | 20 ++ Arduinoboy/Temp.ino | 0 8 files changed, 635 insertions(+), 153 deletions(-) mode change 100644 => 100755 Arduinoboy/Arduinoboy.ino create mode 100755 Arduinoboy/Mode.ino create mode 100755 Arduinoboy/Mode_LSDJ_Keyboard.ino create mode 100755 Arduinoboy/Mode_LSDJ_MasterSync.ino create mode 100755 Arduinoboy/Mode_LSDJ_SlaveSync.ino create mode 100755 Arduinoboy/Mode_Nanoloop.ino create mode 100755 Arduinoboy/Mode_PushPin.ino create mode 100755 Arduinoboy/Temp.ino diff --git a/Arduinoboy/Arduinoboy.ino b/Arduinoboy/Arduinoboy.ino old mode 100644 new mode 100755 index 247f5fc..cb05a3d --- a/Arduinoboy/Arduinoboy.ino +++ b/Arduinoboy/Arduinoboy.ino @@ -1,11 +1,52 @@ -/************************************************************************** - * A R D U I N O B O Y * - * * - * Version: 0.3.1 * - * Date: Feb 25 2008 * - * Name: Timothy Lamb * - * Email: trash80@gmail.com * - * * +/*************************************************************************** + * A R D U I N O B O Y * + * * + * Version: 0.8.5 * + * Date: March 07 2008 * + * Name: Timothy Lamb * + * Email: trash80@gmail.com * + * * + * Notes: * + * Pins have changed from the original diagram, expect build * + * instructions to follow here soon: * + * http://code.google.com/p/arduinoboy/ * + * * + * Arduino pin settings: (Layout is final) * + * - 6 LEDS on pins 8 to 13 * + * - Push button on pin 3 (for selecting mode) * + * - MIDI Opto-isolator power on pin 4 * + * - Gameboy Clock line on pin 5 * + * - Gameboy Serial Data input on 6 * + * - Serial Data from gameboy on pin 7 * + * * + * Program Information: * + * LSDJ Slave Mode Midi Note Effects: * + * 48 - C-2 Sends a Sequencer Start Command * + * 49 - C#2 Sends a Sequencer Stop Command * + * 50 - D-2 Toggles Normal Tempo * + * 51 - D#2 Toggles 1/2 Tempo * + * 52 - E-2 Toggles 1/4 Tempo * + * 53 - F-2 Toggles 1/8 Tempo * + * * + * LSDJ Keyboard Mode: * + * 48 - C-2 Mute Pu1 Off/On * + * 49 - C#2 Mute Pu2 Off/On * + * 50 - D-2 Mute Wav Off/On * + * 51 - D#2 Mute Noi Off/On * + * 52 - E-2 Livemode Cue Sequence * + * 53 - F-2 Livemode Cursor Up * + * 54 - F#2 Livemode Cursor Down * + * 55 - G-2 Livemode Cursor Left * + * 56 - G#2 Livemode Cursor Right * + * 57 - A-2 Table Up * + * 58 - A#2 Table Down * + * 59 - B-2 Cue Table * + * 60 - C-3 to C-8 Notes! * + * Prgram Change to select from instrument table * + * * + * Special Thanks to firestARTer for help with * + * keyboard & Midi handling information. * + * * ***************************************************************************/ /*************************************************************************** * * @@ -15,42 +56,61 @@ * (at your option) any later version. * * * ***************************************************************************/ - + #include /*************************************************************************** * Simple User Settings ***************************************************************************/ +int syncEffectsMidiChannel = 16; //midi sync effects for lsdj slave mode +int keyboardInstrumentMidiChannel = 16; //midi channel for keyboard instruments in lsdj -int syncEffectsMidiChannel = 8; //midi sync effects, not implemented yet -int mode = 0; //Mode 0: Midi Input to LSDJ Sync, Mode 1: LSDJ MASTER to Midi output +//Mode 0: Midi Input to LSDJ Sync, Mode 1: LSDJ MASTER to Midi output, Mode 2: LSDJ Keyboard +int mode = 0; + +//Enforces the mode above, without reading from memory, use this to force the mode if you dont have a push button setup. +boolean forceMode = false; /*************************************************************************** * Lets Assign our Arduino Pins ..... ***************************************************************************/ -int gbClockLine = 12; // clock out to gameboy -int gbSerialOut = 11; // serial data to gameboy -int gbSerialIn = 10; // serial data from gameboy -int midiInputPower = 2; // power pin for midi input opto-isolator +int pinGBClock = 5; // clock out to gameboy +int pinGBSerialOut = 6; // serial data to gameboy +int pinGBSerialIn = 7; // serial data from gameboy + +int pinMidiInputPower = 4; // power pin for midi input opto-isolator -int ledSequencerStop = 8; // stopped light pin -int ledSequencerStart = 9; // start light pin +int pinStatusLed = 13; // Status LED +int pinLeds[] = {12,11,10,9,8}; // LED Pins + +int pinButtonMode = 3; //toggle button for selecting the mode + +/*************************************************************************** +* Memory +***************************************************************************/ + +int eepromMemoryByte = 0; //Location of where to store settings from mem /*************************************************************************** * Switches and states ***************************************************************************/ boolean sequencerStarted = false; //Sequencer has Started -boolean midiSyncEffectsHalfTime = false; //Not Implemented yet - +boolean midiSyncEffectsTime = false; +boolean midiNoteOnMode =false; +boolean midiNoteOffMode =false; +boolean midiProgramChange=false; +boolean statusLedIsOn =false; +boolean statusLedBlink =false; /*************************************************************************** * Counter vars ***************************************************************************/ int countLSDJTicks = 0; //for loop int (we need to cycle 8 pulses) -boolean countSyncHalfTime = true; //future feature, Not implemented +int countSyncTime = 0; +int countSyncSteps = 0; int countGbClockTicks =0; int countClockPause =0; int countIncommingMidiByte =0; - +int countStatusLedOn =0; /*************************************************************************** * Inbound Data Placeholders @@ -58,26 +118,65 @@ int countIncommingMidiByte =0; byte incomingMidiByte; //incomming midi message byte readgbClockLine; byte readGbSerialIn; +int incomingMidiData[] = {0, 0, 0}; int incomingMidiNote = 0; int incomingMidiVel = 0; +byte readToggleMode; + +/*************************************************************************** +* LSDJ Keyboard mode settings +***************************************************************************/ +byte keyboardNotes[] = {0x1A,0x1B,0x22,0x23,0x21,0x2A,0x34,0x32,0x33,0x31,0x3B,0x3A, + 0x15,0x1E,0x1D,0x26,0x24,0x2D,0x2E,0x2C,0x36,0x35,0x3D,0x3C}; +byte keyboardOctDn = 0x05; +byte keyboardOctUp = 0x06; + +byte keyboardInsDn = 0x04; +byte keyboardInsUp = 0x0C; + +byte keyboardTblDn = 0x03; +byte keyboardTblUp = 0x0B; +byte keyboardTblCue= 0x29; + +byte keyboardMut1 = 0x01; +byte keyboardMut2 = 0x09; +byte keyboardMut3 = 0x78; +byte keyboardMut4 = 0x07; + +byte keyboardCurL = 0x6B; +byte keyboardCurR = 0x74; +byte keyboardCurU = 0x75; +byte keyboardCurD = 0x72; +byte keyboardPgUp = 0x7D; +byte keyboardPgDn = 0x7A; +byte keyboardEntr = 0x5A; + +int keyboardCurrentOct = 0; +int keyboardCurrentIns = 0; +int keyboardCurrentTbl = 0; + +int keyboardLastOct = 0; +int keyboardLastIns = 0; +int keyboardLastTbl = 0; + +int keyboardDiff = 0; +int keyboardCount = 0; void setup() { /* Init Pins */ - pinMode(ledSequencerStop,OUTPUT); - pinMode(ledSequencerStart,OUTPUT); + for(int led=0;led<=5;led++) pinMode(pinLeds[led],OUTPUT); + pinMode(pinStatusLed,OUTPUT); + + pinMode(pinButtonMode,INPUT); - if(mode==0) { - pinMode(gbClockLine,OUTPUT); - pinMode(gbSerialOut,OUTPUT); - pinMode(midiInputPower,OUTPUT); - } else if (mode==1) { - pinMode(gbClockLine,INPUT); - pinMode(gbSerialIn,INPUT); - } + pinMode(pinGBClock,OUTPUT); + pinMode(pinGBSerialOut,OUTPUT); + pinMode(pinMidiInputPower,OUTPUT); + pinMode(pinGBSerialIn,INPUT); /* Set MIDI Serial Rate */ @@ -86,133 +185,24 @@ void setup() { /* Set Pin States */ - digitalWrite(midiInputPower, HIGH); // turn on the optoisolator - digitalWrite(gbClockLine, HIGH); // gameboy wants a HIGH line - digitalWrite(gbSerialOut, LOW); // no data to send - digitalWrite(ledSequencerStop, HIGH); // then turn it on - + digitalWrite(pinMidiInputPower,HIGH); // turn on the optoisolator + digitalWrite(pinGBClock,HIGH); // gameboy wants a HIGH line + digitalWrite(pinGBSerialOut,LOW); // no data to send + digitalWrite(pinStatusLed,HIGH); /* Misc Startup */ syncEffectsMidiChannel = 143 + syncEffectsMidiChannel; //set the midi channel to the real number (144 to 159) + keyboardInstrumentMidiChannel = 143 + keyboardInstrumentMidiChannel; //set the midi channel to the real number (144 to 159) + +/* + Load Settings from EEPROM +*/ + if(!forceMode) mode = EEPROM.read(eepromMemoryByte); + showSelectedMode(); } void loop () { - switch(mode) { - case 0: - modeGameboySlaveSync(); - break; - case 1: - modeGameboyMasterSync(); - break; - } -} - -void modeGameboyMasterSync() -{ - while(1){ - readgbClockLine = digitalRead(gbClockLine); //Read gameboy's clock line - if(readgbClockLine) { - while(readgbClockLine) { - countClockPause++; - if(sequencerStarted && countClockPause > 8000) { - Serial.print(0xFC, BYTE); - countClockPause = 0; - sequencerStop(); - } - readgbClockLine = digitalRead(gbClockLine); - } - countClockPause = 0; - countGbClockTicks++; - if(countGbClockTicks == 8) { - countGbClockTicks=0; - if(!sequencerStarted) { - Serial.print(0xFA, BYTE); - sequencerStart(); - } - Serial.print(0xF8, BYTE); - } - } - } -} - -void modeGameboySlaveSync() -{ - while(1){ - if (Serial.available() > 0) { - incomingMidiByte = Serial.read(); - switch (incomingMidiByte) { - case 248: // Clock Message Recieved - //send a clock tick out if the sequencer is runn - if(sequencerStarted && midiSyncEffectsHalfTime && countSyncHalfTime - || sequencerStarted && !midiSyncEffectsHalfTime) { - sendClockTickToLSDJ(); - } - if(midiSyncEffectsHalfTime) countSyncHalfTime = !countSyncHalfTime; - break; - case 250: // Transport Start Message - case 251: // Transport Continue Message - sequencerStart(); - break; - case 252: // Transport Stop Message - sequencerStop(); - break; - default: - if(incomingMidiByte == syncEffectsMidiChannel) { - // This doesnt work yet - // getNote(); - } - break; - } - } - } -} - -void sequencerStart() -{ - digitalWrite(ledSequencerStart, HIGH); - digitalWrite(ledSequencerStop, LOW); - sequencerStarted = true; -} - -void sequencerStop() -{ - digitalWrite(ledSequencerStart, LOW); - digitalWrite(ledSequencerStop, HIGH); - midiSyncEffectsHalfTime = false; - sequencerStarted = false; -} - -void sendClockTickToLSDJ() -{ - for(countLSDJTicks=0;countLSDJTicks<8;countLSDJTicks++) { - digitalWrite(gbClockLine,LOW);digitalWrite(gbClockLine,HIGH); - } -} - -void getNote() -{ - countIncommingMidiByte = 0; - while(countIncommingMidiByte < 2) { - if (Serial.available() > 0) { - countIncommingMidiByte++; - incomingMidiByte = Serial.read(); - if(countIncommingMidiByte == 1) { - incomingMidiNote = incomingMidiByte; - } else if(incomingMidiByte > 0) { - switch(incomingMidiNote) { - case 60: - sequencerStart(); - break; - case 61: - sequencerStop(); - break; - case 62: - midiSyncEffectsHalfTime = !midiSyncEffectsHalfTime; - countSyncHalfTime = true; - break; - } - } - } - } + setMode(); + switchMode(); } diff --git a/Arduinoboy/Mode.ino b/Arduinoboy/Mode.ino new file mode 100755 index 0000000..8ee6bb4 --- /dev/null +++ b/Arduinoboy/Mode.ino @@ -0,0 +1,94 @@ +/************************************************************************** + * Name: Timothy Lamb * + * Email: trash80@gmail.com * + ***************************************************************************/ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +void setMode() +{ + if(digitalRead(pinButtonMode)) { + mode++; + if(mode >= 5) mode = 0; + if(!forceMode) EEPROM.write(eepromMemoryByte, mode); + showSelectedMode(); + switchMode(); + } +} + +void showSelectedMode() +{ + for(int led=0;led<=5;led++) digitalWrite(pinLeds[led],LOW); + digitalWrite(pinLeds[mode],HIGH); + delay(300); +} + +void switchMode() +{ + switch(mode) + { + case 0: + modeLSDJSlaveSyncSetup(); + break; + case 1: + modeLSDJMasterSyncSetup(); + break; + case 2: + modeLSDJKeyboardSetup(); + break; + case 3: + modeNanoloopSetup(); + break; + case 4: + modePushpinSetup(); + break; + } +} + +void sequencerStart() +{ + digitalWrite(pinLeds[3], HIGH); + digitalWrite(pinStatusLed, LOW); + sequencerStarted = true; +} + +void sequencerStop() +{ + digitalWrite(pinLeds[3], LOW); + digitalWrite(pinStatusLed, HIGH); + midiSyncEffectsTime = false; + sequencerStarted = false; +} + +void updateStatusLed() +{ + if(statusLedIsOn) { + countStatusLedOn++; + if(countStatusLedOn > 5000) { + countStatusLedOn = 0; + digitalWrite(pinStatusLed,LOW); + statusLedIsOn = false; + } else if (statusLedBlink && countStatusLedOn == 1) { + digitalWrite(pinStatusLed,LOW); + } else if (statusLedBlink && countStatusLedOn > 2000) { + statusLedBlink = false; + digitalWrite(pinStatusLed,HIGH); + } + } +} + +void statusLedOn() +{ + if(statusLedIsOn) { + statusLedBlink = true; + } + statusLedIsOn = true; + countStatusLedOn = 0; + digitalWrite(pinStatusLed,HIGH); +} diff --git a/Arduinoboy/Mode_LSDJ_Keyboard.ino b/Arduinoboy/Mode_LSDJ_Keyboard.ino new file mode 100755 index 0000000..1752f94 --- /dev/null +++ b/Arduinoboy/Mode_LSDJ_Keyboard.ino @@ -0,0 +1,195 @@ +/************************************************************************** + * Name: Timothy Lamb * + * Email: trash80@gmail.com * + ***************************************************************************/ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +void modeLSDJKeyboardSetup() +{ + sendByteToGameboy(0); + for(int rst=0;rst<5;rst++) sendByteToGameboy(keyboardOctDn); + for(int rst=0;rst<41;rst++) sendByteToGameboy(keyboardInsDn); + for(int rst=0;rst<41;rst++) sendByteToGameboy(keyboardTblDn); + keyboardCurrentOct = 0; + keyboardCurrentIns = 0; + keyboardCurrentTbl = 0; + + modeLSDJKeyboard(); +} + +void modeLSDJKeyboard() +{ + while(1){ + setMode(); + updateStatusLed(); + if (Serial.available() > 0) { + incomingMidiByte = Serial.read(); + Serial.print(incomingMidiByte, BYTE); + if(incomingMidiByte > 0x7F) { + switch (incomingMidiByte & 0xF0) { + case 0x90: + midiNoteOnMode = true; + incomingMidiData[0] = incomingMidiByte; + break; + case 0xC0: + midiProgramChange = true; + incomingMidiData[0] = incomingMidiByte - 48; + break; + } + } else if(midiNoteOnMode) { + if(!incomingMidiData[1]) { + incomingMidiData[1] = incomingMidiByte; + } else { + incomingMidiData[2] = incomingMidiByte; + playLSDJKeyboard(); + midiNoteOnMode=false; + incomingMidiData[0] = false; + incomingMidiData[1] = false; + incomingMidiData[2] = false; + } + } else if (midiProgramChange) { + incomingMidiData[1] = incomingMidiByte; + playLSDJProgramChange(); + midiProgramChange = false; + incomingMidiData[0] = false; + incomingMidiData[1] = false; + } + updateStatusLed(); + } + } +} +void playLSDJKeyboard() +{ + if(incomingMidiData[0] == keyboardInstrumentMidiChannel) { + playLSDJKeyboardNote(); + } +} + +void playLSDJProgramChange() +{ + if(incomingMidiData[0] == keyboardInstrumentMidiChannel) { + keyboardCurrentIns = incomingMidiData[1]; + if(keyboardCurrentIns > keyboardLastIns) { + keyboardDiff = keyboardCurrentIns - keyboardLastIns; + for(keyboardCount=0;keyboardCount= 0x3C + && incomingMidiData[2] > 0x00 + ) { + incomingMidiData[1] = incomingMidiData[1] - 0x3C; + if(incomingMidiData[1] >= 0x30) { + keyboardCurrentOct = 4; + } else if (incomingMidiData[1] >= 0x24) { + keyboardCurrentOct = 3; + } else if (incomingMidiData[1] >= 0x18) { + keyboardCurrentOct = 2; + } else if (incomingMidiData[1] >= 0x0C) { + keyboardCurrentOct = 1; + } else { + keyboardCurrentOct = 0; + } + + if(keyboardCurrentOct != keyboardLastOct) + { + if(keyboardCurrentOct > keyboardLastOct) { + keyboardDiff = keyboardCurrentOct - keyboardLastOct; + for(keyboardCount=0;keyboardCount>= 1; + digitalWrite(pinGBClock,LOW); + } + digitalWrite(pinGBSerialOut,LOW); + delayMicroseconds(1600); + statusLedOn(); +} + diff --git a/Arduinoboy/Mode_LSDJ_MasterSync.ino b/Arduinoboy/Mode_LSDJ_MasterSync.ino new file mode 100755 index 0000000..e08cb1d --- /dev/null +++ b/Arduinoboy/Mode_LSDJ_MasterSync.ino @@ -0,0 +1,51 @@ +/************************************************************************** + * Name: Timothy Lamb * + * Email: trash80@gmail.com * + ***************************************************************************/ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +void modeLSDJMasterSyncSetup() +{ + pinMode(pinGBClock,INPUT); + modeLSDJMasterSync(); +} +void modeLSDJMasterSync() +{ + while(1){ + setMode(); + readgbClockLine = digitalRead(pinGBClock); //Read gameboy's clock line + if(readgbClockLine) { + while(readgbClockLine) { + countClockPause++; + if(sequencerStarted && countClockPause > 16000) { + Serial.print(0xFC, BYTE); + countClockPause = 0; + sequencerStop(); + } + readgbClockLine = digitalRead(pinGBClock); + setMode(); + } + countClockPause = 0; + countGbClockTicks++; + if(countGbClockTicks == 8) { + countGbClockTicks=0; + if(!sequencerStarted) { + Serial.print(0xFA, BYTE); + sequencerStart(); + } + Serial.print(0xF8, BYTE); + } + } + if (Serial.available() > 0) { + incomingMidiByte = Serial.read(); + Serial.print(incomingMidiByte, BYTE); + } + } +} diff --git a/Arduinoboy/Mode_LSDJ_SlaveSync.ino b/Arduinoboy/Mode_LSDJ_SlaveSync.ino new file mode 100755 index 0000000..68298ca --- /dev/null +++ b/Arduinoboy/Mode_LSDJ_SlaveSync.ino @@ -0,0 +1,112 @@ +/************************************************************************** + * Name: Timothy Lamb * + * Email: trash80@gmail.com * + ***************************************************************************/ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +void modeLSDJSlaveSyncSetup() +{ + pinMode(pinGBClock,OUTPUT); + modeLSDJSlaveSync(); +} + +void modeLSDJSlaveSync() +{ + while(1){ + setMode(); + if (Serial.available() > 0) { + incomingMidiByte = Serial.read(); + Serial.print(incomingMidiByte, BYTE); + if(incomingMidiByte > 0x7F) { + switch (incomingMidiByte) { + case 0xF8: // Clock Message Recieved + //send a clock tick out if the sequencer is runn + if(sequencerStarted && midiSyncEffectsTime && !countSyncTime + || sequencerStarted && !midiSyncEffectsTime) { + sendClockTickToLSDJ(); + } + if(midiSyncEffectsTime) { + countSyncTime++; + countSyncTime = countSyncTime % countSyncSteps; + } + break; + case 0xFA: // Transport Start Message + case 0xFB: // Transport Continue Message + sequencerStart(); + break; + case 0xFC: // Transport Stop Message + sequencerStop(); + break; + default: + if(incomingMidiByte == syncEffectsMidiChannel) { + midiNoteOnMode = true; + } else { + midiNoteOnMode = false; + } + } + } else if(midiNoteOnMode) { + if(!incomingMidiData[0]) { + incomingMidiData[0] = incomingMidiByte; + } else { + incomingMidiData[1] = incomingMidiByte; + getNote(); + incomingMidiData[0] = false; + } + } + setMode(); + } + + } +} + +void sendClockTickToLSDJ() +{ + for(countLSDJTicks=0;countLSDJTicks<8;countLSDJTicks++) { + digitalWrite(pinGBClock,LOW);digitalWrite(pinGBClock,HIGH); + } +} + +void getNote() +{ + if(incomingMidiData[1] > 0) { + switch(incomingMidiData[0]) { + case 48: + statusLedOn(); + sequencerStart(); + break; + case 49: + statusLedOn(); + sequencerStop(); + break; + case 50: + midiSyncEffectsTime = false; + statusLedOn(); + break; + case 51: + midiSyncEffectsTime = true; + countSyncTime = 0; + countSyncSteps = 2; + statusLedOn(); + break; + case 52: + midiSyncEffectsTime = true; + countSyncTime = 0; + countSyncSteps = 4; + statusLedOn(); + break; + case 53: + midiSyncEffectsTime = true; + countSyncTime = 0; + countSyncSteps = 8; + statusLedOn(); + break; + } + } +} diff --git a/Arduinoboy/Mode_Nanoloop.ino b/Arduinoboy/Mode_Nanoloop.ino new file mode 100755 index 0000000..2910c9d --- /dev/null +++ b/Arduinoboy/Mode_Nanoloop.ino @@ -0,0 +1,20 @@ +/************************************************************************** + * Name: Timothy Lamb * + * Email: trash80@gmail.com * + ***************************************************************************/ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +// Placeholder, not implemented yet. :/ +void modeNanoloopSetup() +{ + while(1){ + setMode(); + } +} diff --git a/Arduinoboy/Mode_PushPin.ino b/Arduinoboy/Mode_PushPin.ino new file mode 100755 index 0000000..8220b01 --- /dev/null +++ b/Arduinoboy/Mode_PushPin.ino @@ -0,0 +1,20 @@ +/************************************************************************** + * Name: Timothy Lamb * + * Email: trash80@gmail.com * + ***************************************************************************/ +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +// Placeholder, not implemented yet. :/ +void modePushpinSetup() +{ + while(1){ + setMode(); + } +} diff --git a/Arduinoboy/Temp.ino b/Arduinoboy/Temp.ino new file mode 100755 index 0000000..e69de29