From 3401a00512d9ce3c644c803e0736c8de31f77d1e Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Tue, 22 Jan 2008 23:52:02 +0000 Subject: God I hate subversion. --- libraries/Firmata/Firmata.cpp | 133 ------------------------------------------ 1 file changed, 133 deletions(-) delete mode 100644 libraries/Firmata/Firmata.cpp (limited to 'libraries/Firmata/Firmata.cpp') diff --git a/libraries/Firmata/Firmata.cpp b/libraries/Firmata/Firmata.cpp deleted file mode 100644 index feb3def..0000000 --- a/libraries/Firmata/Firmata.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* - Firmata.cpp - Firmata library - Copyright (c) 2007 Free Software Foundation. All right reserved. - Written by Hans-Christoph Steiner - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ - -//****************************************************************************** -//* Includes -//****************************************************************************** - -extern "C" { - // AVR LibC Includes - #include - #include - - // use the abs in WConstants.h, not the one in stdlib.h - #undef abs - - // Wiring Core Includes - #include "WConstants.h" -} - - -#include "Firmata.h" -#include "EEPROM.h" -#include "HardwareSerial.h" - -//****************************************************************************** -//* Definitions -//****************************************************************************** - -//****************************************************************************** -//* Constructors -//****************************************************************************** - -FirmataClass::FirmataClass() -{ - // TODO: init serial here - // TODO: printVersion -} - -//****************************************************************************** -//* Private Methods -//****************************************************************************** -// resets the system state upon a SYSTEM_RESET message from the host software -void FirmataClass::systemReset(void) -{ - // TODO automatically call this in response to SYSTEM_RESET - // TODO reset EEPROM to 0 here -} - -//****************************************************************************** -//* Public Methods -//****************************************************************************** - -// output type of message that is next on the queue -int FirmataClass::available(void) -{ - return -1; - // TODO output next available message type, or -1 if nothing -} - - -// output the protocol version message to the serial port -void FirmataClass::printVersion() { - Serial.print(REPORT_VERSION, BYTE); - Serial.print(FIRMATA_MINOR_VERSION, BYTE); - Serial.print(FIRMATA_MAJOR_VERSION, BYTE); -} - -// send an analog message -void FirmataClass::sendAnalog(int pin, int value) -{ - // pin can only be 0-15, so chop higher bits - Serial.print(ANALOG_MESSAGE | (pin & 0xF), BYTE); - Serial.print(value % 128, BYTE); - Serial.print(value >> 7, BYTE); -} - -// send a single digital pin in a digital message -void FirmataClass::sendDigital(int pin, int value) -{ - // TODO add single pin digital messages to the protocol -} - -// send 14-bits in a single digital message -void FirmataClass::sendDigitalPortPair(int port, int value) -{ - // TODO: the digital message should not be sent on the serial port every - // time sendDigital() is called. Instead, it should add it to an int - // which will be sent on a schedule. If a pin changes more than once - // before the digital message is sent on the serial port, it should send a - // digital message for each change. - - // TODO: some math needs to happen for pin > 14 since MIDI channels are used - Serial.print(DIGITAL_MESSAGE | (port & 0xF),BYTE); - Serial.print(value % 128, BYTE); // Tx pins 0-6 - Serial.print(value >> 7, BYTE); // Tx pins 7-13 -} - -// Internal Actions///////////////////////////////////////////////////////////// - -void FirmataClass::loadState(void) -{ - // TODO load state from EEPROM -} - -void FirmataClass::saveState(void) -{ - // TODO save state to EEPROM -} - -void FirmataClass::resetState(void) -{ - // TODO reset state bytes in EEPROM -} - -// make one instance for the user to use -FirmataClass Firmata; -- cgit v1.2.3-18-g5258