From 72e9f39fbde96b484338cbbd785680e5ab4a2e72 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 6 Oct 2007 14:09:02 +0000 Subject: Renaming core to targets. --- core/arduino/HardwareSerial.cpp | 170 ------------- core/arduino/HardwareSerial.h | 64 ----- core/arduino/Makefile | 239 ------------------- core/arduino/WConstants.h | 1 - core/arduino/WInterrupts.c | 98 -------- core/arduino/WProgram.h | 17 -- core/arduino/WRandom.cpp | 54 ----- core/arduino/binary.h | 515 --------------------------------------- core/arduino/main.cxx | 12 - core/arduino/pins_arduino.c | 169 ------------- core/arduino/pins_arduino.h | 65 ----- core/arduino/wiring.c | 196 --------------- core/arduino/wiring.h | 112 --------- core/arduino/wiring_analog.c | 110 --------- core/arduino/wiring_digital.c | 99 -------- core/arduino/wiring_private.h | 59 ----- core/arduino/wiring_pulse.c | 55 ----- core/arduino/wiring_serial.c | 212 ----------------- core/arduino/wiring_shift.c | 40 ---- core/atmega8/pins_atmega8.c | 119 --------- core/blank/WProgram.h | 0 core/blank/main.cxx | 0 core/wiring/Binary.h | 516 ---------------------------------------- core/wiring/Encoder.h | 47 ---- core/wiring/Encoder.o | Bin 9276 -> 0 bytes core/wiring/HardwareSerial.h | 60 ----- core/wiring/HardwareSerial.o | Bin 12184 -> 0 bytes core/wiring/LiquidCrystal.h | 67 ------ core/wiring/LiquidCrystal.o | Bin 16856 -> 0 bytes core/wiring/Matrix.h | 56 ----- core/wiring/Matrix.o | Bin 11328 -> 0 bytes core/wiring/QSlide.h | 50 ---- core/wiring/QSlide.o | Bin 9784 -> 0 bytes core/wiring/Servo.h | 49 ---- core/wiring/Servo.o | Bin 10056 -> 0 bytes core/wiring/Sprite.h | 49 ---- core/wiring/Sprite.o | Bin 8204 -> 0 bytes core/wiring/TwoWire.h | 67 ------ core/wiring/TwoWire.o | Bin 14180 -> 0 bytes core/wiring/WApplet.o | Bin 9968 -> 0 bytes core/wiring/WConstants.h | 176 -------------- core/wiring/WInterrupts.o | Bin 7528 -> 0 bytes core/wiring/WProgram.h | 39 --- core/wiring/WRandom.o | Bin 3764 -> 0 bytes core/wiring/WTimer.o | Bin 20568 -> 0 bytes core/wiring/buffer.h | 41 ---- core/wiring/buffer.o | Bin 5316 -> 0 bytes core/wiring/twi.h | 57 ----- core/wiring/twi.o | Bin 9988 -> 0 bytes core/wiring/uart.h | 40 ---- core/wiring/uart.o | Bin 8792 -> 0 bytes 51 files changed, 3720 deletions(-) delete mode 100755 core/arduino/HardwareSerial.cpp delete mode 100755 core/arduino/HardwareSerial.h delete mode 100755 core/arduino/Makefile delete mode 100644 core/arduino/WConstants.h delete mode 100755 core/arduino/WInterrupts.c delete mode 100755 core/arduino/WProgram.h delete mode 100644 core/arduino/WRandom.cpp delete mode 100644 core/arduino/binary.h delete mode 100755 core/arduino/main.cxx delete mode 100755 core/arduino/pins_arduino.c delete mode 100644 core/arduino/pins_arduino.h delete mode 100755 core/arduino/wiring.c delete mode 100755 core/arduino/wiring.h delete mode 100755 core/arduino/wiring_analog.c delete mode 100755 core/arduino/wiring_digital.c delete mode 100755 core/arduino/wiring_private.h delete mode 100755 core/arduino/wiring_pulse.c delete mode 100755 core/arduino/wiring_serial.c delete mode 100755 core/arduino/wiring_shift.c delete mode 100755 core/atmega8/pins_atmega8.c delete mode 100755 core/blank/WProgram.h delete mode 100644 core/blank/main.cxx delete mode 100644 core/wiring/Binary.h delete mode 100644 core/wiring/Encoder.h delete mode 100644 core/wiring/Encoder.o delete mode 100755 core/wiring/HardwareSerial.h delete mode 100644 core/wiring/HardwareSerial.o delete mode 100644 core/wiring/LiquidCrystal.h delete mode 100644 core/wiring/LiquidCrystal.o delete mode 100755 core/wiring/Matrix.h delete mode 100644 core/wiring/Matrix.o delete mode 100755 core/wiring/QSlide.h delete mode 100644 core/wiring/QSlide.o delete mode 100755 core/wiring/Servo.h delete mode 100644 core/wiring/Servo.o delete mode 100644 core/wiring/Sprite.h delete mode 100644 core/wiring/Sprite.o delete mode 100755 core/wiring/TwoWire.h delete mode 100644 core/wiring/TwoWire.o delete mode 100644 core/wiring/WApplet.o delete mode 100755 core/wiring/WConstants.h delete mode 100644 core/wiring/WInterrupts.o delete mode 100755 core/wiring/WProgram.h delete mode 100644 core/wiring/WRandom.o delete mode 100644 core/wiring/WTimer.o delete mode 100755 core/wiring/buffer.h delete mode 100644 core/wiring/buffer.o delete mode 100755 core/wiring/twi.h delete mode 100644 core/wiring/twi.o delete mode 100755 core/wiring/uart.h delete mode 100644 core/wiring/uart.o (limited to 'core') diff --git a/core/arduino/HardwareSerial.cpp b/core/arduino/HardwareSerial.cpp deleted file mode 100755 index f78eb2d..0000000 --- a/core/arduino/HardwareSerial.cpp +++ /dev/null @@ -1,170 +0,0 @@ -/* - HarwareSerial.cpp - Hardware serial library for Wiring - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 - - Modified 23 November 2006 by David A. Mellis -*/ - -#include -#include -#include -#include "wiring.h" - -#include "HardwareSerial.h" - -// Constructors //////////////////////////////////////////////////////////////// - -HardwareSerial::HardwareSerial(uint8_t uart) -{ - //if(uart == 0){ - // _uart = 0; - //}else{ - // _uart = 1; - //} -} - -// Public Methods ////////////////////////////////////////////////////////////// - -void HardwareSerial::begin(long speed) -{ - beginSerial(speed); -} - -uint8_t HardwareSerial::available(void) -{ - return serialAvailable(); -} - -int HardwareSerial::read(void) -{ - return serialRead(); -} - -void HardwareSerial::flush() -{ - serialFlush(); -} - -void HardwareSerial::print(char c) -{ - printByte(c); -} - -void HardwareSerial::print(const char c[]) -{ - printString(c); -} - -void HardwareSerial::print(uint8_t b) -{ - printByte(b); -} - -void HardwareSerial::print(int n) -{ - print((long) n); -} - -void HardwareSerial::print(unsigned int n) -{ - print((unsigned long) n); -} - -void HardwareSerial::print(long n) -{ - if (n < 0) { - print('-'); - n = -n; - } - printNumber(n, 10); -} - -void HardwareSerial::print(unsigned long n) -{ - printNumber(n, 10); -} - -void HardwareSerial::print(long n, int base) -{ - if (base == 0) - print((char) n); - else if (base == 10) - print(n); - else - printNumber(n, base); -} - -void HardwareSerial::println(void) -{ - print('\r'); - print('\n'); -} - -void HardwareSerial::println(char c) -{ - print(c); - println(); -} - -void HardwareSerial::println(const char c[]) -{ - print(c); - println(); -} - -void HardwareSerial::println(uint8_t b) -{ - print(b); - println(); -} - -void HardwareSerial::println(int n) -{ - print(n); - println(); -} - -void HardwareSerial::println(long n) -{ - print(n); - println(); -} - -void HardwareSerial::println(unsigned long n) -{ - print(n); - println(); -} - -void HardwareSerial::println(long n, int base) -{ - print(n, base); - println(); -} - -// Private Methods ///////////////////////////////////////////////////////////// - -void HardwareSerial::printNumber(unsigned long n, uint8_t base) -{ - printIntegerInBase(n, base); -} - -// Preinstantiate Objects ////////////////////////////////////////////////////// - -HardwareSerial Serial = HardwareSerial(0); -//HardwareSerial Serial1 = HardwareSerial(1); - diff --git a/core/arduino/HardwareSerial.h b/core/arduino/HardwareSerial.h deleted file mode 100755 index 4f0cb54..0000000 --- a/core/arduino/HardwareSerial.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - HardwareSerial.h - Hardware serial library for Wiring - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 -*/ - -#ifndef HardwareSerial_h -#define HardwareSerial_h - -#include - -#define DEC 10 -#define HEX 16 -#define OCT 8 -#define BIN 2 -#define BYTE 0 - -class HardwareSerial -{ - private: - //uint8_t _uart; - void printNumber(unsigned long, uint8_t); - public: - HardwareSerial(uint8_t); - void begin(long); - uint8_t available(void); - int read(void); - void flush(void); - void print(char); - void print(const char[]); - void print(uint8_t); - void print(int); - void print(unsigned int); - void print(long); - void print(unsigned long); - void print(long, int); - void println(void); - void println(char); - void println(const char[]); - void println(uint8_t); - void println(int); - void println(long); - void println(unsigned long); - void println(long, int); -}; - -extern HardwareSerial Serial; -//extern HardwareSerial Serial1; - -#endif - diff --git a/core/arduino/Makefile b/core/arduino/Makefile deleted file mode 100755 index 9290fcc..0000000 --- a/core/arduino/Makefile +++ /dev/null @@ -1,239 +0,0 @@ -# Arduino makefile -# -# This makefile allows you to build sketches from the command line -# without the Arduino environment (or Java). -# -# The Arduino environment does preliminary processing on a sketch before -# compiling it. If you're using this makefile instead, you'll need to do -# a few things differently: -# -# - Give your program's file a .cpp extension (e.g. foo.cpp). -# -# - Put this line at top of your code: #include -# -# - Write prototypes for all your functions (or define them before you -# call them). A prototype declares the types of parameters a -# function will take and what type of value it will return. This -# means that you can have a call to a function before the definition -# of the function. A function prototype looks like the first line of -# the function, with a semi-colon at the end. For example: -# int digitalRead(int pin); -# -# - Write a main() function for your program that returns an int, calls -# init() and setup() once (in that order), and then calls loop() -# repeatedly(): -# -# int main() -# { -# init(); -# setup(); -# -# for (;;) -# loop(); -# -# return 0; -# } -# -# Instructions for using the makefile: -# -# 1. Copy this file into the folder with your sketch. -# -# 2. Below, modify the line containing "TARGET" to refer to the name of -# of your program's file without an extension (e.g. TARGET = foo). -# -# 3. Modify the line containg "ARDUINO" to point the directory that -# contains the Arduino core (for normal Arduino installations, this -# is the lib/targets/arduino sub-directory). -# -# 4. Modify the line containing "PORT" to refer to the filename -# representing the USB or serial connection to your Arduino board -# (e.g. PORT = /dev/tty.USB0). If the exact name of this file -# changes, you can use * as a wildcard (e.g. PORT = /dev/tty.USB*). -# -# 5. At the command line, change to the directory containing your -# program's file and the makefile. -# -# 6. Type "make" and press enter to compile/verify your program. -# -# 7. Type "make upload", reset your Arduino board, and press enter to -# upload your program to the Arduino board. -# -# $Id$ - -PORT = /dev/tty.usbserial* -TARGET = foo -ARDUINO = arduino -SRC = $(ARDUINO)/pins_arduino.c $(ARDUINO)/wiring.c \ -$(ARDUINO)/wiring_analog.c $(ARDUINO)/wiring_digital.c \ -$(ARDUINO)/wiring_pulse.c $(ARDUINO)/wiring_serial.c \ -$(ARDUINO)/wiring_shift.c $(ARDUINO)/WInterrupts.c -CXXSRC = $(ARDUINO)/HardwareSerial.cpp $(ARDUINO)/WRandom.cpp -MCU = atmega168 -F_CPU = 16000000 -FORMAT = ihex -UPLOAD_RATE = 19200 - -# Name of this Makefile (used for "make depend"). -MAKEFILE = Makefile - -# Debugging format. -# Native formats for AVR-GCC's -g are stabs [default], or dwarf-2. -# AVR (extended) COFF requires stabs, plus an avr-objcopy run. -DEBUG = stabs - -OPT = s - -# Place -D or -U options here -CDEFS = -DF_CPU=$(F_CPU) -CXXDEFS = -DF_CPU=$(F_CPU) - -# Place -I options here -CINCS = -I$(ARDUINO) -CXXINCS = -I$(ARDUINO) - -# Compiler flag to set the C Standard level. -# c89 - "ANSI" C -# gnu89 - c89 plus GCC extensions -# c99 - ISO C99 standard (not yet fully implemented) -# gnu99 - c99 plus GCC extensions -CSTANDARD = -std=gnu99 -CDEBUG = -g$(DEBUG) -CWARN = -Wall -Wstrict-prototypes -CTUNING = -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -#CEXTRA = -Wa,-adhlns=$(<:.c=.lst) - -CFLAGS = $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CWARN) $(CSTANDARD) $(CEXTRA) -CXXFLAGS = $(CDEFS) $(CINCS) -O$(OPT) -#ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs -LDFLAGS = -lm - - -# Programming support using avrdude. Settings and variables. -AVRDUDE_PROGRAMMER = stk500 -AVRDUDE_PORT = $(PORT) -AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex -AVRDUDE_FLAGS = -F -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) \ - -b $(UPLOAD_RATE) - -# Program settings -CC = avr-gcc -CXX = avr-g++ -OBJCOPY = avr-objcopy -OBJDUMP = avr-objdump -AR = avr-ar -SIZE = avr-size -NM = avr-nm -AVRDUDE = avrdude -REMOVE = rm -f -MV = mv -f - -# Define all object files. -OBJ = $(SRC:.c=.o) $(CXXSRC:.cpp=.o) $(ASRC:.S=.o) - -# Define all listing files. -LST = $(ASRC:.S=.lst) $(CXXSRC:.cpp=.lst) $(SRC:.c=.lst) - -# Combine all necessary flags and optional flags. -# Add target processor to flags. -ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS) -ALL_CXXFLAGS = -mmcu=$(MCU) -I. $(CXXFLAGS) -ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) - - -# Default target. -all: build - -build: elf hex - -elf: $(TARGET).elf -hex: $(TARGET).hex -eep: $(TARGET).eep -lss: $(TARGET).lss -sym: $(TARGET).sym - -# Program the device. -upload: $(TARGET).hex - $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) - - - - -# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB. -COFFCONVERT=$(OBJCOPY) --debugging \ ---change-section-address .data-0x800000 \ ---change-section-address .bss-0x800000 \ ---change-section-address .noinit-0x800000 \ ---change-section-address .eeprom-0x810000 - - -coff: $(TARGET).elf - $(COFFCONVERT) -O coff-avr $(TARGET).elf $(TARGET).cof - - -extcoff: $(TARGET).elf - $(COFFCONVERT) -O coff-ext-avr $(TARGET).elf $(TARGET).cof - - -.SUFFIXES: .elf .hex .eep .lss .sym - -.elf.hex: - $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@ - -.elf.eep: - -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \ - --change-section-lma .eeprom=0 -O $(FORMAT) $< $@ - -# Create extended listing file from ELF output file. -.elf.lss: - $(OBJDUMP) -h -S $< > $@ - -# Create a symbol table from ELF output file. -.elf.sym: - $(NM) -n $< > $@ - - -core.a: $(OBJ) - @for i in $(OBJ); do echo $(AR) rcs core.a $$i; $(AR) rcs core.a $$i; done - -# Link: create ELF output file from library. -$(TARGET).elf: core.a - $(CC) $(ALL_CFLAGS) -o $@ $(TARGET).cpp -L. core.a $(LDFLAGS) - -# Compile: create object files from C++ source files. -.cpp.o: - $(CXX) -c $(ALL_CXXFLAGS) $< -o $@ - -# Compile: create object files from C source files. -.c.o: - $(CC) -c $(ALL_CFLAGS) $< -o $@ - - -# Compile: create assembler files from C source files. -.c.s: - $(CC) -S $(ALL_CFLAGS) $< -o $@ - - -# Assemble: create object files from assembler source files. -.S.o: - $(CC) -c $(ALL_ASFLAGS) $< -o $@ - - - -# Target: clean project. -clean: - $(REMOVE) $(TARGET).hex $(TARGET).eep $(TARGET).cof $(TARGET).elf \ - $(TARGET).map $(TARGET).sym $(TARGET).lss core.a \ - $(OBJ) $(LST) $(SRC:.c=.s) $(SRC:.c=.d) $(CXXSRC:.cpp=.s) $(CXXSRC:.cpp=.d) - -depend: - if grep '^# DO NOT DELETE' $(MAKEFILE) >/dev/null; \ - then \ - sed -e '/^# DO NOT DELETE/,$$d' $(MAKEFILE) > \ - $(MAKEFILE).$$$$ && \ - $(MV) $(MAKEFILE).$$$$ $(MAKEFILE); \ - fi - echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' \ - >> $(MAKEFILE); \ - $(CC) -M -mmcu=$(MCU) $(CDEFS) $(CINCS) $(SRC) $(ASRC) >> $(MAKEFILE) - -.PHONY: all build elf hex eep lss sym program coff extcoff clean depend diff --git a/core/arduino/WConstants.h b/core/arduino/WConstants.h deleted file mode 100644 index 3e19ac4..0000000 --- a/core/arduino/WConstants.h +++ /dev/null @@ -1 +0,0 @@ -#include "wiring.h" diff --git a/core/arduino/WInterrupts.c b/core/arduino/WInterrupts.c deleted file mode 100755 index 38992ee..0000000 --- a/core/arduino/WInterrupts.c +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Part of the Wiring project - http://wiring.uniandes.edu.co - - Copyright (c) 2004-05 Hernando Barragan - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - Modified 24 November 2006 by David A. Mellis -*/ - -#include -#include -#include -#include -#include -#include - -#include "WConstants.h" -#include "wiring_private.h" - -volatile static voidFuncPtr intFunc[EXTERNAL_NUM_INTERRUPTS]; -// volatile static voidFuncPtr twiIntFunc; - -#if defined(__AVR_ATmega168__) -#define MCUCR EICRA -#define GICR EIMSK -#endif - -void attachInterrupt(uint8_t interruptNum, void (*userFunc)(void), int mode) { - if(interruptNum < EXTERNAL_NUM_INTERRUPTS) { - intFunc[interruptNum] = userFunc; - - if (interruptNum == 0) { - // Configure the interrupt mode (trigger on low input, any change, rising - // edge, or falling edge). The mode constants were chosen to correspond - // to the configuration bits in the hardware register, so we simply shift - // the mode into place. - MCUCR = (MCUCR & ~((1 << ISC00) | (1 << ISC01))) | (mode << ISC00); - - // Enable the interrupt. - GICR |= (1 << INT0); - } else { - MCUCR = (MCUCR & ~((1 << ISC10) | (1 << ISC11))) | (mode << ISC10); - GICR |= (1 << INT1); - } - } -} - -void detachInterrupt(uint8_t interruptNum) { - if(interruptNum < EXTERNAL_NUM_INTERRUPTS) { - if (interruptNum == 0) - // Disable the interrupt. - GICR &= ~(1 << INT0); - else - GICR &= ~(1 << INT1); - - intFunc[interruptNum] = 0; - } -} - -/* -void attachInterruptTwi(void (*userFunc)(void) ) { - twiIntFunc = userFunc; -} -*/ - -SIGNAL(SIG_INTERRUPT0) { - if(intFunc[EXTERNAL_INT_0]) - intFunc[EXTERNAL_INT_0](); -} - -SIGNAL(SIG_INTERRUPT1) { - if(intFunc[EXTERNAL_INT_1]) - intFunc[EXTERNAL_INT_1](); -} - -/* -SIGNAL(SIG_2WIRE_SERIAL) { - if(twiIntFunc) - twiIntFunc(); -} -*/ - diff --git a/core/arduino/WProgram.h b/core/arduino/WProgram.h deleted file mode 100755 index d6d5ccc..0000000 --- a/core/arduino/WProgram.h +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -#include - -#include -#include - -#include "wiring.h" - -#ifdef __cplusplus -#include "HardwareSerial.h" - -// random prototypes -long random(long); -long random(long, long); -void randomSeed(unsigned int); -#endif diff --git a/core/arduino/WRandom.cpp b/core/arduino/WRandom.cpp deleted file mode 100644 index c45c306..0000000 --- a/core/arduino/WRandom.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- mode: jde; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Part of the Wiring project - http://wiring.org.co - Copyright (c) 2004-06 Hernando Barragan - Modified 13 August 2006, David A. Mellis for Arduino - http://www.arduino.cc/ - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -extern "C" { - #include "stdlib.h" -} - -void randomSeed(unsigned int seed) -{ - if(seed != 0){ - srand(seed); - } -} - -long random(long howbig) -{ - long value; - if (howbig == 0){ - return 0; - } - return rand() % howbig; -} - -long random(long howsmall, long howbig) -{ - if(howsmall >= howbig){ - return howsmall; - } - long diff = howbig - howsmall; - return random(diff) + howsmall; -} - diff --git a/core/arduino/binary.h b/core/arduino/binary.h deleted file mode 100644 index af14980..0000000 --- a/core/arduino/binary.h +++ /dev/null @@ -1,515 +0,0 @@ -#ifndef Binary_h -#define Binary_h - -#define B0 0 -#define B00 0 -#define B000 0 -#define B0000 0 -#define B00000 0 -#define B000000 0 -#define B0000000 0 -#define B00000000 0 -#define B1 1 -#define B01 1 -#define B001 1 -#define B0001 1 -#define B00001 1 -#define B000001 1 -#define B0000001 1 -#define B00000001 1 -#define B10 2 -#define B010 2 -#define B0010 2 -#define B00010 2 -#define B000010 2 -#define B0000010 2 -#define B00000010 2 -#define B11 3 -#define B011 3 -#define B0011 3 -#define B00011 3 -#define B000011 3 -#define B0000011 3 -#define B00000011 3 -#define B100 4 -#define B0100 4 -#define B00100 4 -#define B000100 4 -#define B0000100 4 -#define B00000100 4 -#define B101 5 -#define B0101 5 -#define B00101 5 -#define B000101 5 -#define B0000101 5 -#define B00000101 5 -#define B110 6 -#define B0110 6 -#define B00110 6 -#define B000110 6 -#define B0000110 6 -#define B00000110 6 -#define B111 7 -#define B0111 7 -#define B00111 7 -#define B000111 7 -#define B0000111 7 -#define B00000111 7 -#define B1000 8 -#define B01000 8 -#define B001000 8 -#define B0001000 8 -#define B00001000 8 -#define B1001 9 -#define B01001 9 -#define B001001 9 -#define B0001001 9 -#define B00001001 9 -#define B1010 10 -#define B01010 10 -#define B001010 10 -#define B0001010 10 -#define B00001010 10 -#define B1011 11 -#define B01011 11 -#define B001011 11 -#define B0001011 11 -#define B00001011 11 -#define B1100 12 -#define B01100 12 -#define B001100 12 -#define B0001100 12 -#define B00001100 12 -#define B1101 13 -#define B01101 13 -#define B001101 13 -#define B0001101 13 -#define B00001101 13 -#define B1110 14 -#define B01110 14 -#define B001110 14 -#define B0001110 14 -#define B00001110 14 -#define B1111 15 -#define B01111 15 -#define B001111 15 -#define B0001111 15 -#define B00001111 15 -#define B10000 16 -#define B010000 16 -#define B0010000 16 -#define B00010000 16 -#define B10001 17 -#define B010001 17 -#define B0010001 17 -#define B00010001 17 -#define B10010 18 -#define B010010 18 -#define B0010010 18 -#define B00010010 18 -#define B10011 19 -#define B010011 19 -#define B0010011 19 -#define B00010011 19 -#define B10100 20 -#define B010100 20 -#define B0010100 20 -#define B00010100 20 -#define B10101 21 -#define B010101 21 -#define B0010101 21 -#define B00010101 21 -#define B10110 22 -#define B010110 22 -#define B0010110 22 -#define B00010110 22 -#define B10111 23 -#define B010111 23 -#define B0010111 23 -#define B00010111 23 -#define B11000 24 -#define B011000 24 -#define B0011000 24 -#define B00011000 24 -#define B11001 25 -#define B011001 25 -#define B0011001 25 -#define B00011001 25 -#define B11010 26 -#define B011010 26 -#define B0011010 26 -#define B00011010 26 -#define B11011 27 -#define B011011 27 -#define B0011011 27 -#define B00011011 27 -#define B11100 28 -#define B011100 28 -#define B0011100 28 -#define B00011100 28 -#define B11101 29 -#define B011101 29 -#define B0011101 29 -#define B00011101 29 -#define B11110 30 -#define B011110 30 -#define B0011110 30 -#define B00011110 30 -#define B11111 31 -#define B011111 31 -#define B0011111 31 -#define B00011111 31 -#define B100000 32 -#define B0100000 32 -#define B00100000 32 -#define B100001 33 -#define B0100001 33 -#define B00100001 33 -#define B100010 34 -#define B0100010 34 -#define B00100010 34 -#define B100011 35 -#define B0100011 35 -#define B00100011 35 -#define B100100 36 -#define B0100100 36 -#define B00100100 36 -#define B100101 37 -#define B0100101 37 -#define B00100101 37 -#define B100110 38 -#define B0100110 38 -#define B00100110 38 -#define B100111 39 -#define B0100111 39 -#define B00100111 39 -#define B101000 40 -#define B0101000 40 -#define B00101000 40 -#define B101001 41 -#define B0101001 41 -#define B00101001 41 -#define B101010 42 -#define B0101010 42 -#define B00101010 42 -#define B101011 43 -#define B0101011 43 -#define B00101011 43 -#define B101100 44 -#define B0101100 44 -#define B00101100 44 -#define B101101 45 -#define B0101101 45 -#define B00101101 45 -#define B101110 46 -#define B0101110 46 -#define B00101110 46 -#define B101111 47 -#define B0101111 47 -#define B00101111 47 -#define B110000 48 -#define B0110000 48 -#define B00110000 48 -#define B110001 49 -#define B0110001 49 -#define B00110001 49 -#define B110010 50 -#define B0110010 50 -#define B00110010 50 -#define B110011 51 -#define B0110011 51 -#define B00110011 51 -#define B110100 52 -#define B0110100 52 -#define B00110100 52 -#define B110101 53 -#define B0110101 53 -#define B00110101 53 -#define B110110 54 -#define B0110110 54 -#define B00110110 54 -#define B110111 55 -#define B0110111 55 -#define B00110111 55 -#define B111000 56 -#define B0111000 56 -#define B00111000 56 -#define B111001 57 -#define B0111001 57 -#define B00111001 57 -#define B111010 58 -#define B0111010 58 -#define B00111010 58 -#define B111011 59 -#define B0111011 59 -#define B00111011 59 -#define B111100 60 -#define B0111100 60 -#define B00111100 60 -#define B111101 61 -#define B0111101 61 -#define B00111101 61 -#define B111110 62 -#define B0111110 62 -#define B00111110 62 -#define B111111 63 -#define B0111111 63 -#define B00111111 63 -#define B1000000 64 -#define B01000000 64 -#define B1000001 65 -#define B01000001 65 -#define B1000010 66 -#define B01000010 66 -#define B1000011 67 -#define B01000011 67 -#define B1000100 68 -#define B01000100 68 -#define B1000101 69 -#define B01000101 69 -#define B1000110 70 -#define B01000110 70 -#define B1000111 71 -#define B01000111 71 -#define B1001000 72 -#define B01001000 72 -#define B1001001 73 -#define B01001001 73 -#define B1001010 74 -#define B01001010 74 -#define B1001011 75 -#define B01001011 75 -#define B1001100 76 -#define B01001100 76 -#define B1001101 77 -#define B01001101 77 -#define B1001110 78 -#define B01001110 78 -#define B1001111 79 -#define B01001111 79 -#define B1010000 80 -#define B01010000 80 -#define B1010001 81 -#define B01010001 81 -#define B1010010 82 -#define B01010010 82 -#define B1010011 83 -#define B01010011 83 -#define B1010100 84 -#define B01010100 84 -#define B1010101 85 -#define B01010101 85 -#define B1010110 86 -#define B01010110 86 -#define B1010111 87 -#define B01010111 87 -#define B1011000 88 -#define B01011000 88 -#define B1011001 89 -#define B01011001 89 -#define B1011010 90 -#define B01011010 90 -#define B1011011 91 -#define B01011011 91 -#define B1011100 92 -#define B01011100 92 -#define B1011101 93 -#define B01011101 93 -#define B1011110 94 -#define B01011110 94 -#define B1011111 95 -#define B01011111 95 -#define B1100000 96 -#define B01100000 96 -#define B1100001 97 -#define B01100001 97 -#define B1100010 98 -#define B01100010 98 -#define B1100011 99 -#define B01100011 99 -#define B1100100 100 -#define B01100100 100 -#define B1100101 101 -#define B01100101 101 -#define B1100110 102 -#define B01100110 102 -#define B1100111 103 -#define B01100111 103 -#define B1101000 104 -#define B01101000 104 -#define B1101001 105 -#define B01101001 105 -#define B1101010 106 -#define B01101010 106 -#define B1101011 107 -#define B01101011 107 -#define B1101100 108 -#define B01101100 108 -#define B1101101 109 -#define B01101101 109 -#define B1101110 110 -#define B01101110 110 -#define B1101111 111 -#define B01101111 111 -#define B1110000 112 -#define B01110000 112 -#define B1110001 113 -#define B01110001 113 -#define B1110010 114 -#define B01110010 114 -#define B1110011 115 -#define B01110011 115 -#define B1110100 116 -#define B01110100 116 -#define B1110101 117 -#define B01110101 117 -#define B1110110 118 -#define B01110110 118 -#define B1110111 119 -#define B01110111 119 -#define B1111000 120 -#define B01111000 120 -#define B1111001 121 -#define B01111001 121 -#define B1111010 122 -#define B01111010 122 -#define B1111011 123 -#define B01111011 123 -#define B1111100 124 -#define B01111100 124 -#define B1111101 125 -#define B01111101 125 -#define B1111110 126 -#define B01111110 126 -#define B1111111 127 -#define B01111111 127 -#define B10000000 128 -#define B10000001 129 -#define B10000010 130 -#define B10000011 131 -#define B10000100 132 -#define B10000101 133 -#define B10000110 134 -#define B10000111 135 -#define B10001000 136 -#define B10001001 137 -#define B10001010 138 -#define B10001011 139 -#define B10001100 140 -#define B10001101 141 -#define B10001110 142 -#define B10001111 143 -#define B10010000 144 -#define B10010001 145 -#define B10010010 146 -#define B10010011 147 -#define B10010100 148 -#define B10010101 149 -#define B10010110 150 -#define B10010111 151 -#define B10011000 152 -#define B10011001 153 -#define B10011010 154 -#define B10011011 155 -#define B10011100 156 -#define B10011101 157 -#define B10011110 158 -#define B10011111 159 -#define B10100000 160 -#define B10100001 161 -#define B10100010 162 -#define B10100011 163 -#define B10100100 164 -#define B10100101 165 -#define B10100110 166 -#define B10100111 167 -#define B10101000 168 -#define B10101001 169 -#define B10101010 170 -#define B10101011 171 -#define B10101100 172 -#define B10101101 173 -#define B10101110 174 -#define B10101111 175 -#define B10110000 176 -#define B10110001 177 -#define B10110010 178 -#define B10110011 179 -#define B10110100 180 -#define B10110101 181 -#define B10110110 182 -#define B10110111 183 -#define B10111000 184 -#define B10111001 185 -#define B10111010 186 -#define B10111011 187 -#define B10111100 188 -#define B10111101 189 -#define B10111110 190 -#define B10111111 191 -#define B11000000 192 -#define B11000001 193 -#define B11000010 194 -#define B11000011 195 -#define B11000100 196 -#define B11000101 197 -#define B11000110 198 -#define B11000111 199 -#define B11001000 200 -#define B11001001 201 -#define B11001010 202 -#define B11001011 203 -#define B11001100 204 -#define B11001101 205 -#define B11001110 206 -#define B11001111 207 -#define B11010000 208 -#define B11010001 209 -#define B11010010 210 -#define B11010011 211 -#define B11010100 212 -#define B11010101 213 -#define B11010110 214 -#define B11010111 215 -#define B11011000 216 -#define B11011001 217 -#define B11011010 218 -#define B11011011 219 -#define B11011100 220 -#define B11011101 221 -#define B11011110 222 -#define B11011111 223 -#define B11100000 224 -#define B11100001 225 -#define B11100010 226 -#define B11100011 227 -#define B11100100 228 -#define B11100101 229 -#define B11100110 230 -#define B11100111 231 -#define B11101000 232 -#define B11101001 233 -#define B11101010 234 -#define B11101011 235 -#define B11101100 236 -#define B11101101 237 -#define B11101110 238 -#define B11101111 239 -#define B11110000 240 -#define B11110001 241 -#define B11110010 242 -#define B11110011 243 -#define B11110100 244 -#define B11110101 245 -#define B11110110 246 -#define B11110111 247 -#define B11111000 248 -#define B11111001 249 -#define B11111010 250 -#define B11111011 251 -#define B11111100 252 -#define B11111101 253 -#define B11111110 254 -#define B11111111 255 - -#endif diff --git a/core/arduino/main.cxx b/core/arduino/main.cxx deleted file mode 100755 index 52351e4..0000000 --- a/core/arduino/main.cxx +++ /dev/null @@ -1,12 +0,0 @@ -int main(void) -{ - init(); - - setup(); - - for (;;) - loop(); - - return 0; -} - diff --git a/core/arduino/pins_arduino.c b/core/arduino/pins_arduino.c deleted file mode 100755 index 3ef07b6..0000000 --- a/core/arduino/pins_arduino.c +++ /dev/null @@ -1,169 +0,0 @@ -/* - pins_arduino.c - pin definitions for the Arduino board - Part of Arduino / Wiring Lite - - Copyright (c) 2005 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#include -#include "wiring_private.h" -#include "pins_arduino.h" - -// On the Arduino board, digital pins are also used -// for the analog output (software PWM). Analog input -// pins are a separate set. - -// ATMEL ATMEGA8 & 168 / ARDUINO -// -// +-\/-+ -// PC6 1| |28 PC5 (AI 5) -// (D 0) PD0 2| |27 PC4 (AI 4) -// (D 1) PD1 3| |26 PC3 (AI 3) -// (D 2) PD2 4| |25 PC2 (AI 2) -// PWM+ (D 3) PD3 5| |24 PC1 (AI 1) -// (D 4) PD4 6| |23 PC0 (AI 0) -// VCC 7| |22 GND -// GND 8| |21 AREF -// PB6 9| |20 AVCC -// PB7 10| |19 PB5 (D 13) -// PWM+ (D 5) PD5 11| |18 PB4 (D 12) -// PWM+ (D 6) PD6 12| |17 PB3 (D 11) PWM -// (D 7) PD7 13| |16 PB2 (D 10) PWM -// (D 8) PB0 14| |15 PB1 (D 9) PWM -// +----+ -// -// (PWM+ indicates the additional PWM pins on the ATmega168.) - - -#define PB 2 -#define PC 3 -#define PD 4 - -// these arrays map port names (e.g. port B) to the -// appropriate addresses for various functions (e.g. reading -// and writing) -const uint8_t PROGMEM port_to_mode_PGM[] = { - NOT_A_PORT, - NOT_A_PORT, - &DDRB, - &DDRC, - &DDRD, -}; - -const uint8_t PROGMEM port_to_output_PGM[] = { - NOT_A_PORT, - NOT_A_PORT, - &PORTB, - &PORTC, - &PORTD, -}; - -const uint8_t PROGMEM port_to_input_PGM[] = { - NOT_A_PORT, - NOT_A_PORT, - &PINB, - &PINC, - &PIND, -}; - -const uint8_t PROGMEM digital_pin_to_port_PGM[] = { - PD, /* 0 */ - PD, - PD, - PD, - PD, - PD, - PD, - PD, - PB, /* 8 */ - PB, - PB, - PB, - PB, - PB, - PC, /* 14 */ - PC, - PC, - PC, - PC, - PC, -}; - -const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[] = { - _BV(0), /* 0, port D */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(6), - _BV(7), - _BV(0), /* 8, port B */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), - _BV(0), /* 14, port C */ - _BV(1), - _BV(2), - _BV(3), - _BV(4), - _BV(5), -}; - -const uint8_t PROGMEM digital_pin_to_timer_PGM[] = { - NOT_ON_TIMER, /* 0 - port D */ - NOT_ON_TIMER, - NOT_ON_TIMER, - // on the ATmega168, digital pin 3 has hardware pwm -#if defined(__AVR_ATmega168__) - TIMER2B, -#else - NOT_ON_TIMER, -#endif - NOT_ON_TIMER, - // on the ATmega168, digital pins 5 and 6 have hardware pwm -#if defined(__AVR_ATmega168__) - TIMER0B, - TIMER0A, -#else - NOT_ON_TIMER, - NOT_ON_TIMER, -#endif - NOT_ON_TIMER, - NOT_ON_TIMER, /* 8 - port B */ - TIMER1A, - TIMER1B, -#if defined(__AVR_ATmega168__) - TIMER2A, -#else - TIMER2, -#endif - NOT_ON_TIMER, - NOT_ON_TIMER, - NOT_ON_TIMER, - NOT_ON_TIMER, /* 14 - port C */ - NOT_ON_TIMER, - NOT_ON_TIMER, - NOT_ON_TIMER, - NOT_ON_TIMER, -}; - diff --git a/core/arduino/pins_arduino.h b/core/arduino/pins_arduino.h deleted file mode 100644 index e0b7add..0000000 --- a/core/arduino/pins_arduino.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - pins_arduino.h - Pin definition functions for Arduino - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2007 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 249 2007-02-03 16:52:51Z mellis $ -*/ - -#ifndef Pins_Arduino_h -#define Pins_Arduino_h - -#include - -#define NOT_A_PIN 0 -#define NOT_A_PORT 0 - -#define NOT_ON_TIMER 0 -#define TIMER0A 1 -#define TIMER0B 2 -#define TIMER1A 3 -#define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -extern const uint8_t PROGMEM port_to_mode_PGM[]; -extern const uint8_t PROGMEM port_to_input_PGM[]; -extern const uint8_t PROGMEM port_to_output_PGM[]; - -extern const uint8_t PROGMEM digital_pin_to_port_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_bit_PGM[]; -extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; - -extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; - -// Get the bit location within the hardware port of the given virtual pin. -// This comes from the pins_*.c file for the active board configuration. -// -// These perform slightly better as macros compared to inline functions -// -#define digitalPinToPort(P) ( pgm_read_byte( digital_pin_to_port_PGM + (P) ) ) -#define digitalPinToBitMask(P) ( pgm_read_byte( digital_pin_to_bit_mask_PGM + (P) ) ) -#define digitalPinToTimer(P) ( pgm_read_byte( digital_pin_to_timer_PGM + (P) ) ) -#define analogInPinToBit(P) (P) -#define portOutputRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_output_PGM + (P))) ) -#define portInputRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_input_PGM + (P))) ) -#define portModeRegister(P) ( (volatile uint8_t *)( pgm_read_byte( port_to_mode_PGM + (P))) ) - -#endif diff --git a/core/arduino/wiring.c b/core/arduino/wiring.c deleted file mode 100755 index 5dda822..0000000 --- a/core/arduino/wiring.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - wiring.c - Partial implementation of the Wiring API for the ATmega8. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#include "wiring_private.h" - -// The number of times timer 0 has overflowed since the program started. -// Must be volatile or gcc will optimize away some uses of it. -volatile unsigned long timer0_overflow_count; - -SIGNAL(SIG_OVERFLOW0) -{ - timer0_overflow_count++; -} - -unsigned long millis() -{ - // timer 0 increments every 64 cycles, and overflows when it reaches - // 256. we would calculate the total number of clock cycles, then - // divide by the number of clock cycles per millisecond, but this - // overflows too often. - //return timer0_overflow_count * 64UL * 256UL / (F_CPU / 1000UL); - - // instead find 1/128th the number of clock cycles and divide by - // 1/128th the number of clock cycles per millisecond - return timer0_overflow_count * 64UL * 2UL / (F_CPU / 128000UL); -} - -void delay(unsigned long ms) -{ - unsigned long start = millis(); - - while (millis() - start < ms) - ; -} - -/* Delay for the given number of microseconds. Assumes a 16 MHz clock. - * Disables interrupts, which will disrupt the millis() function if used - * too frequently. */ -void delayMicroseconds(unsigned int us) -{ - uint8_t oldSREG; - - // calling avrlib's delay_us() function with low values (e.g. 1 or - // 2 microseconds) gives delays longer than desired. - //delay_us(us); - -#if F_CPU >= 16000000L - // for the 16 MHz clock on most Arduino boards - - // for a one-microsecond delay, simply return. the overhead - // of the function call yields a delay of approximately 1 1/8 us. - if (--us == 0) - return; - - // the following loop takes a quarter of a microsecond (4 cycles) - // per iteration, so execute it four times for each microsecond of - // delay requested. - us <<= 2; - - // account for the time taken in the preceeding commands. - us -= 2; -#else - // for the 8 MHz internal clock on the ATmega168 - - // for a one- or two-microsecond delay, simply return. the overhead of - // the function calls takes more than two microseconds. can't just - // subtract two, since us is unsigned; we'd overflow. - if (--us == 0) - return; - if (--us == 0) - return; - - // the following loop takes half of a microsecond (4 cycles) - // per iteration, so execute it twice for each microsecond of - // delay requested. - us <<= 1; - - // partially compensate for the time taken by the preceeding commands. - // we can't subtract any more than this or we'd overflow w/ small delays. - us--; -#endif - - // disable interrupts, otherwise the timer 0 overflow interrupt that - // tracks milliseconds will make us delay longer than we want. - oldSREG = SREG; - cli(); - - // busy wait - __asm__ __volatile__ ( - "1: sbiw %0,1" "\n\t" // 2 cycles - "brne 1b" : "=w" (us) : "0" (us) // 2 cycles - ); - - // reenable interrupts. - SREG = oldSREG; -} - -void init() -{ - // this needs to be called before setup() or some functions won't - // work there - sei(); - - // timer 0 is used for millis() and delay() - timer0_overflow_count = 0; - // on the ATmega168, timer 0 is also used for fast hardware pwm - // (using phase-correct PWM would mean that timer 0 overflowed half as often - // resulting in different millis() behavior on the ATmega8 and ATmega168) -#if defined(__AVR_ATmega168__) - sbi(TCCR0A, WGM01); - sbi(TCCR0A, WGM00); -#endif - // set timer 0 prescale factor to 64 -#if defined(__AVR_ATmega168__) - sbi(TCCR0B, CS01); - sbi(TCCR0B, CS00); -#else - sbi(TCCR0, CS01); - sbi(TCCR0, CS00); -#endif - // enable timer 0 overflow interrupt -#if defined(__AVR_ATmega168__) - sbi(TIMSK0, TOIE0); -#else - sbi(TIMSK, TOIE0); -#endif - - // timers 1 and 2 are used for phase-correct hardware pwm - // this is better for motors as it ensures an even waveform - // note, however, that fast pwm mode can achieve a frequency of up - // 8 MHz (with a 16 MHz clock) at 50% duty cycle - - // set timer 1 prescale factor to 64 - sbi(TCCR1B, CS11); - sbi(TCCR1B, CS10); - // put timer 1 in 8-bit phase correct pwm mode - sbi(TCCR1A, WGM10); - - // set timer 2 prescale factor to 64 -#if defined(__AVR_ATmega168__) - sbi(TCCR2B, CS22); -#else - sbi(TCCR2, CS22); -#endif - // configure timer 2 for phase correct pwm (8-bit) -#if defined(__AVR_ATmega168__) - sbi(TCCR2A, WGM20); -#else - sbi(TCCR2, WGM20); -#endif - - // set a2d reference to AVCC (5 volts) - cbi(ADMUX, REFS1); - sbi(ADMUX, REFS0); - - // set a2d prescale factor to 128 - // 16 MHz / 128 = 125 KHz, inside the desired 50-200 KHz range. - // XXX: this will not work properly for other clock speeds, and - // this code should use F_CPU to determine the prescale factor. - sbi(ADCSRA, ADPS2); - sbi(ADCSRA, ADPS1); - sbi(ADCSRA, ADPS0); - - // enable a2d conversions - sbi(ADCSRA, ADEN); - - // the bootloader connects pins 0 and 1 to the USART; disconnect them - // here so they can be used as normal digital i/o; they will be - // reconnected in Serial.begin() -#if defined(__AVR_ATmega168__) - UCSR0B = 0; -#else - UCSRB = 0; -#endif -} \ No newline at end of file diff --git a/core/arduino/wiring.h b/core/arduino/wiring.h deleted file mode 100755 index 3c77389..0000000 --- a/core/arduino/wiring.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - wiring.h - Partial implementation of the Wiring API for the ATmega8. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#ifndef Wiring_h -#define Wiring_h - -#include -#include "binary.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#define HIGH 0x1 -#define LOW 0x0 - -#define INPUT 0x0 -#define OUTPUT 0x1 - -#define true 0x1 -#define false 0x0 - -#define PI 3.14159265 -#define HALF_PI 1.57079 -#define TWO_PI 6.283185 - -#define SERIAL 0x0 -#define DISPLAY 0x1 - -#define LSBFIRST 0 -#define MSBFIRST 1 - -#define CHANGE 1 -#define FALLING 2 -#define RISING 3 - -#define min(a,b) ((a)<(b)?(a):(b)) -#define max(a,b) ((a)>(b)?(a):(b)) -#define abs(x) ((x)>0?(x):-(x)) -#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) -#define radians(deg) ((deg)*DEG_TO_RAD) -#define degrees(rad) ((rad)*RAD_TO_DEG) -#define sq(x) ((x)*(x)) - -#define clockCyclesPerMicrosecond() ( F_CPU / 1000000L ) -#define clockCyclesToMicroseconds(a) ( (a) / clockCyclesPerMicrosecond() ) - -typedef uint8_t boolean; -typedef uint8_t byte; - -void init(void); - -void pinMode(uint8_t, uint8_t); -void digitalWrite(uint8_t, uint8_t); -int digitalRead(uint8_t); -int analogRead(uint8_t); -void analogWrite(uint8_t, int); - -void beginSerial(long); -void serialWrite(unsigned char); -int serialAvailable(void); -int serialRead(void); -void serialFlush(void); -void printMode(int); -void printByte(unsigned char c); -void printNewline(void); -void printString(const char *s); -void printInteger(long n); -void printHex(unsigned long n); -void printOctal(unsigned long n); -void printBinary(unsigned long n); -void printIntegerInBase(unsigned long n, unsigned long base); - -unsigned long millis(void); -void delay(unsigned long); -void delayMicroseconds(unsigned int us); -unsigned long pulseIn(uint8_t pin, uint8_t state); - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, byte val); - -void attachInterrupt(uint8_t, void (*)(void), int mode); -void detachInterrupt(uint8_t); - -void setup(void); -void loop(void); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif diff --git a/core/arduino/wiring_analog.c b/core/arduino/wiring_analog.c deleted file mode 100755 index 0ab32eb..0000000 --- a/core/arduino/wiring_analog.c +++ /dev/null @@ -1,110 +0,0 @@ -/* - wiring_analog.c - analog input and output - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -int analogRead(uint8_t pin) -{ - uint8_t low, high, ch = analogInPinToBit(pin); - - // the low 4 bits of ADMUX select the ADC channel - ADMUX = (ADMUX & (unsigned int) 0xf0) | (ch & (unsigned int) 0x0f); - - // without a delay, we seem to read from the wrong channel - //delay(1); - - // start the conversion - sbi(ADCSRA, ADSC); - - // ADSC is cleared when the conversion finishes - while (bit_is_set(ADCSRA, ADSC)); - - // we have to read ADCL first; doing so locks both ADCL - // and ADCH until ADCH is read. reading ADCL second would - // cause the results of each conversion to be discarded, - // as ADCL and ADCH would be locked when it completed. - low = ADCL; - high = ADCH; - - // combine the two bytes - return (high << 8) | low; -} - -// Right now, PWM output only works on the pins with -// hardware support. These are defined in the appropriate -// pins_*.c file. For the rest of the pins, we default -// to digital output. -void analogWrite(uint8_t pin, int val) -{ - // We need to make sure the PWM output is enabled for those pins - // that support it, as we turn it off when digitally reading or - // writing with them. Also, make sure the pin is in output mode - // for consistenty with Wiring, which doesn't require a pinMode - // call for the analog output pins. - pinMode(pin, OUTPUT); - - if (digitalPinToTimer(pin) == TIMER1A) { - // connect pwm to pin on timer 1, channel A - sbi(TCCR1A, COM1A1); - // set pwm duty - OCR1A = val; - } else if (digitalPinToTimer(pin) == TIMER1B) { - // connect pwm to pin on timer 1, channel B - sbi(TCCR1A, COM1B1); - // set pwm duty - OCR1B = val; -#if defined(__AVR_ATmega168__) - } else if (digitalPinToTimer(pin) == TIMER0A) { - // connect pwm to pin on timer 0, channel A - sbi(TCCR0A, COM0A1); - // set pwm duty - OCR0A = val; - } else if (digitalPinToTimer(pin) == TIMER0B) { - // connect pwm to pin on timer 0, channel B - sbi(TCCR0A, COM0B1); - // set pwm duty - OCR0B = val; - } else if (digitalPinToTimer(pin) == TIMER2A) { - // connect pwm to pin on timer 2, channel A - sbi(TCCR2A, COM2A1); - // set pwm duty - OCR2A = val; - } else if (digitalPinToTimer(pin) == TIMER2B) { - // connect pwm to pin on timer 2, channel B - sbi(TCCR2A, COM2B1); - // set pwm duty - OCR2B = val; -#else - } else if (digitalPinToTimer(pin) == TIMER2) { - // connect pwm to pin on timer 2, channel B - sbi(TCCR2, COM21); - // set pwm duty - OCR2 = val; -#endif - } else if (val < 128) - digitalWrite(pin, LOW); - else - digitalWrite(pin, HIGH); -} diff --git a/core/arduino/wiring_digital.c b/core/arduino/wiring_digital.c deleted file mode 100755 index f38b2e1..0000000 --- a/core/arduino/wiring_digital.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - wiring_digital.c - digital input and output functions - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -void pinMode(uint8_t pin, uint8_t mode) -{ - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *reg; - - if (port == NOT_A_PIN) return; - - // JWS: can I let the optimizer do this? - reg = portModeRegister(port); - - if (mode == INPUT) *reg &= ~bit; - else *reg |= bit; -} - -// Forcing this inline keeps the callers from having to push their own stuff -// on the stack. It is a good performance win and only takes 1 more byte per -// user than calling. (It will take more bytes on the 168.) -// -// But shouldn't this be moved into pinMode? Seems silly to check and do on -// each digitalread or write. -// -static inline void turnOffPWM(uint8_t timer) __attribute__ ((always_inline)); -static inline void turnOffPWM(uint8_t timer) -{ - if (timer == TIMER1A) cbi(TCCR1A, COM1A1); - if (timer == TIMER1B) cbi(TCCR1A, COM1B1); - -#if defined(__AVR_ATmega168__) - if (timer == TIMER0A) cbi(TCCR0A, COM0A1); - if (timer == TIMER0B) cbi(TCCR0A, COM0B1); - if (timer == TIMER2A) cbi(TCCR2A, COM2A1); - if (timer == TIMER2B) cbi(TCCR2A, COM2B1); -#else - if (timer == TIMER2) cbi(TCCR2, COM21); -#endif -} - -void digitalWrite(uint8_t pin, uint8_t val) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - volatile uint8_t *out; - - if (port == NOT_A_PIN) return; - - // If the pin that support PWM output, we need to turn it off - // before doing a digital write. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - out = portOutputRegister(port); - - if (val == LOW) *out &= ~bit; - else *out |= bit; -} - -int digitalRead(uint8_t pin) -{ - uint8_t timer = digitalPinToTimer(pin); - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - - if (port == NOT_A_PIN) return LOW; - - // If the pin that support PWM output, we need to turn it off - // before getting a digital reading. - if (timer != NOT_ON_TIMER) turnOffPWM(timer); - - if (*portInputRegister(port) & bit) return HIGH; - return LOW; -} diff --git a/core/arduino/wiring_private.h b/core/arduino/wiring_private.h deleted file mode 100755 index affccd8..0000000 --- a/core/arduino/wiring_private.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - wiring_private.h - Internal header file. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.h 239 2007-01-12 17:58:39Z mellis $ -*/ - -#ifndef WiringPrivate_h -#define WiringPrivate_h - -#include -#include -#include -#include -#include -#include - -#include "wiring.h" - -#ifdef __cplusplus -extern "C"{ -#endif - -#ifndef cbi -#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) -#endif -#ifndef sbi -#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) -#endif - -#define EXTERNAL_INT_0 0 -#define EXTERNAL_INT_1 1 - -#define EXTERNAL_NUM_INTERRUPTS 2 - -typedef void (*voidFuncPtr)(void); - -#ifdef __cplusplus -} // extern "C" -#endif - -#endif diff --git a/core/arduino/wiring_pulse.c b/core/arduino/wiring_pulse.c deleted file mode 100755 index 642a5a2..0000000 --- a/core/arduino/wiring_pulse.c +++ /dev/null @@ -1,55 +0,0 @@ -/* - wiring_pulse.c - pulseIn() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" -#include "pins_arduino.h" - -/* Measures the length (in microseconds) of a pulse on the pin; state is HIGH - * or LOW, the type of pulse to measure. Works on pulses from 10 microseconds - * to 3 minutes in length, but must be called at least N microseconds before - * the start of the pulse. */ -unsigned long pulseIn(uint8_t pin, uint8_t state) -{ - // cache the port and bit of the pin in order to speed up the - // pulse width measuring loop and achieve finer resolution. calling - // digitalRead() instead yields much coarser resolution. - uint8_t bit = digitalPinToBitMask(pin); - uint8_t port = digitalPinToPort(pin); - uint8_t stateMask = (state ? bit : 0); - unsigned long width = 0; // keep initialization out of time critical area - - // wait for the pulse to start - while ((*portInputRegister(port) & bit) != stateMask) - ; - - // wait for the pulse to stop - while ((*portInputRegister(port) & bit) == stateMask) - width++; - - // convert the reading to microseconds. The loop has been determined - // to be 10 clock cycles long and have about 12 clocks between the edge - // and the start of the loop. There will be some error introduced by - // the interrupt handlers. - return clockCyclesToMicroseconds(width * 10 + 12); -} diff --git a/core/arduino/wiring_serial.c b/core/arduino/wiring_serial.c deleted file mode 100755 index 9392a09..0000000 --- a/core/arduino/wiring_serial.c +++ /dev/null @@ -1,212 +0,0 @@ -/* - wiring_serial.c - serial functions. - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" - -// Define constants and variables for buffering incoming serial data. We're -// using a ring buffer (I think), in which rx_buffer_head is the index of the -// location to which to write the next incoming character and rx_buffer_tail -// is the index of the location from which to read. -#define RX_BUFFER_SIZE 128 - -unsigned char rx_buffer[RX_BUFFER_SIZE]; - -int rx_buffer_head = 0; -int rx_buffer_tail = 0; - -void beginSerial(long baud) -{ -#if defined(__AVR_ATmega168__) - UBRR0H = ((F_CPU / 16 + baud / 2) / baud - 1) >> 8; - UBRR0L = ((F_CPU / 16 + baud / 2) / baud - 1); - - // enable rx and tx - sbi(UCSR0B, RXEN0); - sbi(UCSR0B, TXEN0); - - // enable interrupt on complete reception of a byte - sbi(UCSR0B, RXCIE0); -#else - UBRRH = ((F_CPU / 16 + baud / 2) / baud - 1) >> 8; - UBRRL = ((F_CPU / 16 + baud / 2) / baud - 1); - - // enable rx and tx - sbi(UCSRB, RXEN); - sbi(UCSRB, TXEN); - - // enable interrupt on complete reception of a byte - sbi(UCSRB, RXCIE); -#endif - - // defaults to 8-bit, no parity, 1 stop bit -} - -void serialWrite(unsigned char c) -{ -#if defined(__AVR_ATmega168__) - while (!(UCSR0A & (1 << UDRE0))) - ; - - UDR0 = c; -#else - while (!(UCSRA & (1 << UDRE))) - ; - - UDR = c; -#endif -} - -int serialAvailable() -{ - return (RX_BUFFER_SIZE + rx_buffer_head - rx_buffer_tail) % RX_BUFFER_SIZE; -} - -int serialRead() -{ - // if the head isn't ahead of the tail, we don't have any characters - if (rx_buffer_head == rx_buffer_tail) { - return -1; - } else { - unsigned char c = rx_buffer[rx_buffer_tail]; - rx_buffer_tail = (rx_buffer_tail + 1) % RX_BUFFER_SIZE; - return c; - } -} - -void serialFlush() -{ - // don't reverse this or there may be problems if the RX interrupt - // occurs after reading the value of rx_buffer_head but before writing - // the value to rx_buffer_tail; the previous value of rx_buffer_head - // may be written to rx_buffer_tail, making it appear as if the buffer - // were full, not empty. - rx_buffer_head = rx_buffer_tail; -} - -#if defined(__AVR_ATmega168__) -SIGNAL(SIG_USART_RECV) -#else -SIGNAL(SIG_UART_RECV) -#endif -{ -#if defined(__AVR_ATmega168__) - unsigned char c = UDR0; -#else - unsigned char c = UDR; -#endif - - int i = (rx_buffer_head + 1) % RX_BUFFER_SIZE; - - // if we should be storing the received character into the location - // just before the tail (meaning that the head would advance to the - // current location of the tail), we're about to overflow the buffer - // and so we don't write the character or advance the head. - if (i != rx_buffer_tail) { - rx_buffer[rx_buffer_head] = c; - rx_buffer_head = i; - } -} - -void printMode(int mode) -{ - // do nothing, we only support serial printing, not lcd. -} - -void printByte(unsigned char c) -{ - serialWrite(c); -} - -void printNewline() -{ - printByte('\n'); -} - -void printString(const char *s) -{ - while (*s) - printByte(*s++); -} - -void printIntegerInBase(unsigned long n, unsigned long base) -{ - unsigned char buf[8 * sizeof(long)]; // Assumes 8-bit chars. - unsigned long i = 0; - - if (n == 0) { - printByte('0'); - return; - } - - while (n > 0) { - buf[i++] = n % base; - n /= base; - } - - for (; i > 0; i--) - printByte(buf[i - 1] < 10 ? - '0' + buf[i - 1] : - 'A' + buf[i - 1] - 10); -} - -void printInteger(long n) -{ - if (n < 0) { - printByte('-'); - n = -n; - } - - printIntegerInBase(n, 10); -} - -void printHex(unsigned long n) -{ - printIntegerInBase(n, 16); -} - -void printOctal(unsigned long n) -{ - printIntegerInBase(n, 8); -} - -void printBinary(unsigned long n) -{ - printIntegerInBase(n, 2); -} - -/* Including print() adds approximately 1500 bytes to the binary size, - * so we replace it with the smaller and less-confusing printString(), - * printInteger(), etc. -void print(const char *format, ...) -{ - char buf[256]; - va_list ap; - - va_start(ap, format); - vsnprintf(buf, 256, format, ap); - va_end(ap); - - printString(buf); -} -*/ diff --git a/core/arduino/wiring_shift.c b/core/arduino/wiring_shift.c deleted file mode 100755 index 956f864..0000000 --- a/core/arduino/wiring_shift.c +++ /dev/null @@ -1,40 +0,0 @@ -/* - wiring_shift.c - shiftOut() function - Part of Arduino - http://www.arduino.cc/ - - Copyright (c) 2005-2006 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $ -*/ - -#include "wiring_private.h" - -void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, byte val) -{ - int i; - - for (i = 0; i < 8; i++) { - if (bitOrder == LSBFIRST) - digitalWrite(dataPin, !!(val & (1 << i))); - else - digitalWrite(dataPin, !!(val & (1 << (7 - i)))); - - digitalWrite(clockPin, HIGH); - digitalWrite(clockPin, LOW); - } -} diff --git a/core/atmega8/pins_atmega8.c b/core/atmega8/pins_atmega8.c deleted file mode 100755 index ed1b2bd..0000000 --- a/core/atmega8/pins_atmega8.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - pin_atmega8.c - pin definitions for the atmega8 - Part of Arduino / Wiring Lite - - Copyright (c) 2005 David A. Mellis - - 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., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - - $Id$ -*/ - -#include -#include "wiring.h" - -// We map the pin numbers passed to digitalRead() or -// analogRead() directly to the corresponding pin -// numbers on the Atmega8. No distinction is made -// between analog and digital pins. - -// ATMEL ATMEGA8 -// -// +-\/-+ -// PC6 1| |28 PC5 -// PD0 2| |27 PC4 -// PD1 3| |26 PC3 -// PD2 4| |25 PC2 -// PD3 5| |24 PC1 -// PD4 6| |23 PC0 -// VCC 7| |22 GND -// GND 8| |21 AREF -// PB6 9| |20 AVCC -// PB7 10| |19 PB5 -// PD5 11| |18 PB4 -// PD6 12| |17 PB3 -// PD7 13| |16 PB2 -// PB0 14| |15 PB1 -// +----+ - -#define NUM_PINS 28 -#define NUM_PORTS 4 - -#define PB 2 -#define PC 3 -#define PD 4 - -int port_to_mode[NUM_PORTS + 1] = { - NOT_A_PORT, - NOT_A_PORT, - _SFR_IO_ADDR(DDRB), - _SFR_IO_ADDR(DDRC), - _SFR_IO_ADDR(DDRD), -}; - -int port_to_output[NUM_PORTS + 1] = { - NOT_A_PORT, - NOT_A_PORT, - _SFR_IO_ADDR(PORTB), - _SFR_IO_ADDR(PORTC), - _SFR_IO_ADDR(PORTD), -}; - -int port_to_input[NUM_PORTS + 1] = { - NOT_A_PORT, - NOT_A_PORT, - _SFR_IO_ADDR(PINB), - _SFR_IO_ADDR(PINC), - _SFR_IO_ADDR(PIND), -}; - -pin_t digital_pin_to_port_array[] = { - { NOT_A_PIN, NOT_A_PIN }, - - { PC, 6 }, - { PD, 0 }, - { PD, 1 }, - { PD, 2 }, - { PD, 3 }, - { PD, 4 }, - { NOT_A_PIN, NOT_A_PIN }, - { NOT_A_PIN, NOT_A_PIN }, - { PB, 6 }, - { PB, 7 }, - { PD, 5 }, - { PD, 6 }, - { PD, 7 }, - { PB, 0 }, - - { PB, 1 }, - { PB, 2 }, - { PB, 3 }, - { PB, 4 }, - { PB, 5 }, - { NOT_A_PIN, NOT_A_PIN }, - { NOT_A_PIN, NOT_A_PIN }, - { NOT_A_PIN, NOT_A_PIN }, - { PC, 0 }, - { PC, 1 }, - { PC, 2 }, - { PC, 3 }, - { PC, 4 }, - { PC, 5 }, -}; - -pin_t *digital_pin_to_port = digital_pin_to_port_array; -pin_t *analog_in_pin_to_port = digital_pin_to_port_array; -pin_t *analog_out_pin_to_port = digital_pin_to_port_array; diff --git a/core/blank/WProgram.h b/core/blank/WProgram.h deleted file mode 100755 index e69de29..0000000 diff --git a/core/blank/main.cxx b/core/blank/main.cxx deleted file mode 100644 index e69de29..0000000 diff --git a/core/wiring/Binary.h b/core/wiring/Binary.h deleted file mode 100644 index d5692e6..0000000 --- a/core/wiring/Binary.h +++ /dev/null @@ -1,516 +0,0 @@ -#ifndef Binary_h -#define Binary_h - -#define B0 0 -#define B00 0 -#define B000 0 -#define B0000 0 -#define B00000 0 -#define B000000 0 -#define B0000000 0 -#define B00000000 0 -#define B1 1 -#define B01 1 -#define B001 1 -#define B0001 1 -#define B00001 1 -#define B000001 1 -#define B0000001 1 -#define B00000001 1 -#define B10 2 -#define B010 2 -#define B0010 2 -#define B00010 2 -#define B000010 2 -#define B0000010 2 -#define B00000010 2 -#define B11 3 -#define B011 3 -#define B0011 3 -#define B00011 3 -#define B000011 3 -#define B0000011 3 -#define B00000011 3 -#define B100 4 -#define B0100 4 -#define B00100 4 -#define B000100 4 -#define B0000100 4 -#define B00000100 4 -#define B101 5 -#define B0101 5 -#define B00101 5 -#define B000101 5 -#define B0000101 5 -#define B00000101 5 -#define B110 6 -#define B0110 6 -#define B00110 6 -#define B000110 6 -#define B0000110 6 -#define B00000110 6 -#define B111 7 -#define B0111 7 -#define B00111 7 -#define B000111 7 -#define B0000111 7 -#define B00000111 7 -#define B1000 8 -#define B01000 8 -#define B001000 8 -#define B0001000 8 -#define B00001000 8 -#define B1001 9 -#define B01001 9 -#define B001001 9 -#define B0001001 9 -#define B00001001 9 -#define B1010 10 -#define B01010 10 -#define B001010 10 -#define B0001010 10 -#define B00001010 10 -#define B1011 11 -#define B01011 11 -#define B001011 11 -#define B0001011 11 -#define B00001011 11 -#define B1100 12 -#define B01100 12 -#define B001100 12 -#define B0001100 12 -#define B00001100 12 -#define B1101 13 -#define B01101 13 -#define B001101 13 -#define B0001101 13 -#define B00001101 13 -#define B1110 14 -#define B01110 14 -#define B001110 14 -#define B0001110 14 -#define B00001110 14 -#define B1111 15 -#define B01111 15 -#define B001111 15 -#define B0001111 15 -#define B00001111 15 -#define B10000 16 -#define B010000 16 -#define B0010000 16 -#define B00010000 16 -#define B10001 17 -#define B010001 17 -#define B0010001 17 -#define B00010001 17 -#define B10010 18 -#define B010010 18 -#define B0010010 18 -#define B00010010 18 -#define B10011 19 -#define B010011 19 -#define B0010011 19 -#define B00010011 19 -#define B10100 20 -#define B010100 20 -#define B0010100 20 -#define B00010100 20 -#define B10101 21 -#define B010101 21 -#define B0010101 21 -#define B00010101 21 -#define B10110 22 -#define B010110 22 -#define B0010110 22 -#define B00010110 22 -#define B10111 23 -#define B010111 23 -#define B0010111 23 -#define B00010111 23 -#define B11000 24 -#define B011000 24 -#define B0011000 24 -#define B00011000 24 -#define B11001 25 -#define B011001 25 -#define B0011001 25 -#define B00011001 25 -#define B11010 26 -#define B011010 26 -#define B0011010 26 -#define B00011010 26 -#define B11011 27 -#define B011011 27 -#define B0011011 27 -#define B00011011 27 -#define B11100 28 -#define B011100 28 -#define B0011100 28 -#define B00011100 28 -#define B11101 29 -#define B011101 29 -#define B0011101 29 -#define B00011101 29 -#define B11110 30 -#define B011110 30 -#define B0011110 30 -#define B00011110 30 -#define B11111 31 -#define B011111 31 -#define B0011111 31 -#define B00011111 31 -#define B100000 32 -#define B0100000 32 -#define B00100000 32 -#define B100001 33 -#define B0100001 33 -#define B00100001 33 -#define B100010 34 -#define B0100010 34 -#define B00100010 34 -#define B100011 35 -#define B0100011 35 -#define B00100011 35 -#define B100100 36 -#define B0100100 36 -#define B00100100 36 -#define B100101 37 -#define B0100101 37 -#define B00100101 37 -#define B100110 38 -#define B0100110 38 -#define B00100110 38 -#define B100111 39 -#define B0100111 39 -#define B00100111 39 -#define B101000 40 -#define B0101000 40 -#define B00101000 40 -#define B101001 41 -#define B0101001 41 -#define B00101001 41 -#define B101010 42 -#define B0101010 42 -#define B00101010 42 -#define B101011 43 -#define B0101011 43 -#define B00101011 43 -#define B101100 44 -#define B0101100 44 -#define B00101100 44 -#define B101101 45 -#define B0101101 45 -#define B00101101 45 -#define B101110 46 -#define B0101110 46 -#define B00101110 46 -#define B101111 47 -#define B0101111 47 -#define B00101111 47 -#define B110000 48 -#define B0110000 48 -#define B00110000 48 -#define B110001 49 -#define B0110001 49 -#define B00110001 49 -#define B110010 50 -#define B0110010 50 -#define B00110010 50 -#define B110011 51 -#define B0110011 51 -#define B00110011 51 -#define B110100 52 -#define B0110100 52 -#define B00110100 52 -#define B110101 53 -#define B0110101 53 -#define B00110101 53 -#define B110110 54 -#define B0110110 54 -#define B00110110 54 -#define B110111 55 -#define B0110111 55 -#define B00110111 55 -#define B111000 56 -#define B0111000 56 -#define B00111000 56 -#define B111001 57 -#define B0111001 57 -#define B00111001 57 -#define B111010 58 -#define B0111010 58 -#define B00111010 58 -#define B111011 59 -#define B0111011 59 -#define B00111011 59 -#define B111100 60 -#define B0111100 60 -#define B00111100 60 -#define B111101 61 -#define B0111101 61 -#define B00111101 61 -#define B111110 62 -#define B0111110 62 -#define B00111110 62 -#define B111111 63 -#define B0111111 63 -#define B00111111 63 -#define B1000000 64 -#define B01000000 64 -#define B1000001 65 -#define B01000001 65 -#define B1000010 66 -#define B01000010 66 -#define B1000011 67 -#define B01000011 67 -#define B1000100 68 -#define B01000100 68 -#define B1000101 69 -#define B01000101 69 -#define B1000110 70 -#define B01000110 70 -#define B1000111 71 -#define B01000111 71 -#define B1001000 72 -#define B01001000 72 -#define B1001001 73 -#define B01001001 73 -#define B1001010 74 -#define B01001010 74 -#define B1001011 75 -#define B01001011 75 -#define B1001100 76 -#define B01001100 76 -#define B1001101 77 -#define B01001101 77 -#define B1001110 78 -#define B01001110 78 -#define B1001111 79 -#define B01001111 79 -#define B1010000 80 -#define B01010000 80 -#define B1010001 81 -#define B01010001 81 -#define B1010010 82 -#define B01010010 82 -#define B1010011 83 -#define B01010011 83 -#define B1010100 84 -#define B01010100 84 -#define B1010101 85 -#define B01010101 85 -#define B1010110 86 -#define B01010110 86 -#define B1010111 87 -#define B01010111 87 -#define B1011000 88 -#define B01011000 88 -#define B1011001 89 -#define B01011001 89 -#define B1011010 90 -#define B01011010 90 -#define B1011011 91 -#define B01011011 91 -#define B1011100 92 -#define B01011100 92 -#define B1011101 93 -#define B01011101 93 -#define B1011110 94 -#define B01011110 94 -#define B1011111 95 -#define B01011111 95 -#define B1100000 96 -#define B01100000 96 -#define B1100001 97 -#define B01100001 97 -#define B1100010 98 -#define B01100010 98 -#define B1100011 99 -#define B01100011 99 -#define B1100100 100 -#define B01100100 100 -#define B1100101 101 -#define B01100101 101 -#define B1100110 102 -#define B01100110 102 -#define B1100111 103 -#define B01100111 103 -#define B1101000 104 -#define B01101000 104 -#define B1101001 105 -#define B01101001 105 -#define B1101010 106 -#define B01101010 106 -#define B1101011 107 -#define B01101011 107 -#define B1101100 108 -#define B01101100 108 -#define B1101101 109 -#define B01101101 109 -#define B1101110 110 -#define B01101110 110 -#define B1101111 111 -#define B01101111 111 -#define B1110000 112 -#define B01110000 112 -#define B1110001 113 -#define B01110001 113 -#define B1110010 114 -#define B01110010 114 -#define B1110011 115 -#define B01110011 115 -#define B1110100 116 -#define B01110100 116 -#define B1110101 117 -#define B01110101 117 -#define B1110110 118 -#define B01110110 118 -#define B1110111 119 -#define B01110111 119 -#define B1111000 120 -#define B01111000 120 -#define B1111001 121 -#define B01111001 121 -#define B1111010 122 -#define B01111010 122 -#define B1111011 123 -#define B01111011 123 -#define B1111100 124 -#define B01111100 124 -#define B1111101 125 -#define B01111101 125 -#define B1111110 126 -#define B01111110 126 -#define B1111111 127 -#define B01111111 127 -#define B10000000 128 -#define B10000001 129 -#define B10000010 130 -#define B10000011 131 -#define B10000100 132 -#define B10000101 133 -#define B10000110 134 -#define B10000111 135 -#define B10001000 136 -#define B10001001 137 -#define B10001010 138 -#define B10001011 139 -#define B10001100 140 -#define B10001101 141 -#define B10001110 142 -#define B10001111 143 -#define B10010000 144 -#define B10010001 145 -#define B10010010 146 -#define B10010011 147 -#define B10010100 148 -#define B10010101 149 -#define B10010110 150 -#define B10010111 151 -#define B10011000 152 -#define B10011001 153 -#define B10011010 154 -#define B10011011 155 -#define B10011100 156 -#define B10011101 157 -#define B10011110 158 -#define B10011111 159 -#define B10100000 160 -#define B10100001 161 -#define B10100010 162 -#define B10100011 163 -#define B10100100 164 -#define B10100101 165 -#define B10100110 166 -#define B10100111 167 -#define B10101000 168 -#define B10101001 169 -#define B10101010 170 -#define B10101011 171 -#define B10101100 172 -#define B10101101 173 -#define B10101110 174 -#define B10101111 175 -#define B10110000 176 -#define B10110001 177 -#define B10110010 178 -#define B10110011 179 -#define B10110100 180 -#define B10110101 181 -#define B10110110 182 -#define B10110111 183 -#define B10111000 184 -#define B10111001 185 -#define B10111010 186 -#define B10111011 187 -#define B10111100 188 -#define B10111101 189 -#define B10111110 190 -#define B10111111 191 -#define B11000000 192 -#define B11000001 193 -#define B11000010 194 -#define B11000011 195 -#define B11000100 196 -#define B11000101 197 -#define B11000110 198 -#define B11000111 199 -#define B11001000 200 -#define B11001001 201 -#define B11001010 202 -#define B11001011 203 -#define B11001100 204 -#define B11001101 205 -#define B11001110 206 -#define B11001111 207 -#define B11010000 208 -#define B11010001 209 -#define B11010010 210 -#define B11010011 211 -#define B11010100 212 -#define B11010101 213 -#define B11010110 214 -#define B11010111 215 -#define B11011000 216 -#define B11011001 217 -#define B11011010 218 -#define B11011011 219 -#define B11011100 220 -#define B11011101 221 -#define B11011110 222 -#define B11011111 223 -#define B11100000 224 -#define B11100001 225 -#define B11100010 226 -#define B11100011 227 -#define B11100100 228 -#define B11100101 229 -#define B11100110 230 -#define B11100111 231 -#define B11101000 232 -#define B11101001 233 -#define B11101010 234 -#define B11101011 235 -#define B11101100 236 -#define B11101101 237 -#define B11101110 238 -#define B11101111 239 -#define B11110000 240 -#define B11110001 241 -#define B11110010 242 -#define B11110011 243 -#define B11110100 244 -#define B11110101 245 -#define B11110110 246 -#define B11110111 247 -#define B11111000 248 -#define B11111001 249 -#define B11111010 250 -#define B11111011 251 -#define B11111100 252 -#define B11111101 253 -#define B11111110 254 -#define B11111111 255 - -#endif - diff --git a/core/wiring/Encoder.h b/core/wiring/Encoder.h deleted file mode 100644 index c4a36cf..0000000 --- a/core/wiring/Encoder.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - Encoder.cpp - Encoder library for Wiring & Arduino - Copyright (c) 2006 Hernando Barragan and Nicholas Zambetti. - All right reserved. - - 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 -*/ - -#ifndef Encoder_h -#define Encoder_h - -#include - -class Encoder -{ - private: - uint8_t _index; - uint8_t _pin_a; - static volatile uint8_t _pin_b; - static volatile int32_t _position; - static uint8_t _count; - static Encoder* _encoders[]; - static void service(void); - public: - Encoder(); - uint8_t attach(uint8_t, uint8_t); - void detach(); - void write(int32_t); - int32_t read(void); - uint8_t attached(void); -}; - -#endif - - diff --git a/core/wiring/Encoder.o b/core/wiring/Encoder.o deleted file mode 100644 index 6f92e7f..0000000 Binary files a/core/wiring/Encoder.o and /dev/null differ diff --git a/core/wiring/HardwareSerial.h b/core/wiring/HardwareSerial.h deleted file mode 100755 index e9b4ad9..0000000 --- a/core/wiring/HardwareSerial.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - HardwareSerial.h - Hardware serial library for Wiring - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 -*/ - -#ifndef HardwareSerial_h -#define HardwareSerial_h - -#include - -#define DEC 10 -#define HEX 16 -#define OCT 8 -#define BIN 2 -#define BYTE 0 - -class HardwareSerial -{ - private: - uint8_t _uart; - void printNumber(unsigned long, uint8_t); - public: - HardwareSerial(uint8_t); - void begin(long); - uint8_t available(void); - int read(void); - void print(char); - void print(char[]); - void print(uint8_t); - void print(int); - void print(long); - void print(long, int); - void println(void); - void println(char); - void println(char[]); - void println(uint8_t); - void println(int); - void println(long); - void println(long, int); -}; - -extern HardwareSerial Serial; -extern HardwareSerial Serial1; - -#endif - diff --git a/core/wiring/HardwareSerial.o b/core/wiring/HardwareSerial.o deleted file mode 100644 index bd104e5..0000000 Binary files a/core/wiring/HardwareSerial.o and /dev/null differ diff --git a/core/wiring/LiquidCrystal.h b/core/wiring/LiquidCrystal.h deleted file mode 100644 index 0bed637..0000000 --- a/core/wiring/LiquidCrystal.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - LiquidCrystal.cpp - Liquid Crystal Display library for Wiring & Arduino - Copyright (c) 2006 Hernando Barragan and Nicholas Zambetti. - All right reserved. - - 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 -*/ - - -#ifndef LiquidCrystal_h -#define LiquidCrystal_h - - -#include - -class LiquidCrystal -{ - private: - uint8_t _control_rs; - uint8_t _control_rw; - uint8_t _control_e; - uint8_t _port; - void display_init(void); - void display_start(void); - void display_wait(void); - void display_control_write(uint8_t); - uint8_t display_control_read(void); - void display_data_write(uint8_t); - uint8_t display_data_read(void); - void display_write(char *, uint8_t); - void printNumber(unsigned long, uint8_t); - public: - //LiquidCrystal(); - LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t); -// uint8_t read(void); - void clear(void); - void home(void); - void setCursor(uint8_t, uint8_t); - void print(char); - void print(char[]); - void print(uint8_t); - void print(int); - void print(long); - void print(long, int); - void println(void); - void println(char); - void println(char[]); - void println(uint8_t); - void println(int); - void println(long); - void println(long, int); -}; - - -#endif diff --git a/core/wiring/LiquidCrystal.o b/core/wiring/LiquidCrystal.o deleted file mode 100644 index 327a083..0000000 Binary files a/core/wiring/LiquidCrystal.o and /dev/null differ diff --git a/core/wiring/Matrix.h b/core/wiring/Matrix.h deleted file mode 100755 index 6c2ac00..0000000 --- a/core/wiring/Matrix.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - Matrix.h - Max7219 LED Matrix library for Arduino & Wiring - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 -*/ - -#ifndef Matrix_h -#define Matrix_h - -// include core Wiring API -#include "WProgram.h" - -// declare other libraries depended on (if any) -class Sprite; - -class Matrix -{ - private: - byte _pinData; - byte _pinClock; - byte _pinLoad; - - byte* _buffer; - byte _screens; - byte _maximumX; - - void putByte(byte); - void setRegister(byte, byte); - void syncRow(int); - - void setScanLimit(byte); - - void buffer(int, int, byte); - public: - Matrix(byte, byte, byte, byte = 1); - void setBrightness(byte); - void write(int, int, byte); - void write(int, int, Sprite); - void clear(void); -}; - -#endif - diff --git a/core/wiring/Matrix.o b/core/wiring/Matrix.o deleted file mode 100644 index 8edf922..0000000 Binary files a/core/wiring/Matrix.o and /dev/null differ diff --git a/core/wiring/QSlide.h b/core/wiring/QSlide.h deleted file mode 100755 index 9db4d29..0000000 --- a/core/wiring/QSlide.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - QSlide.h - QProx 401/501 library for Arduino & Wiring - Copyright (c) 2006 Nicholas Zambetti & Massimo Banzi. All right reserved. - - 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 -*/ - -#ifndef QSlide_h -#define QSlide_h - -#include "WProgram.h" - -class QSlide -{ - private: - byte _drd; - byte _din; - byte _ss; - byte _clk; - byte _dout; - byte _det; - byte _prx; - byte _prevResult; - void calibrate(void); - void waitForReady(void); - byte transfer(byte); - byte driftCompensate(void); - public: - QSlide(byte, byte, byte, byte, byte, byte, byte); - void setProximityThreshold(byte); - void setTouchThreshold(byte); - byte isTouching(void); - byte isNear(void); - byte read(void); -}; - -#endif - diff --git a/core/wiring/QSlide.o b/core/wiring/QSlide.o deleted file mode 100644 index 16c6d7f..0000000 Binary files a/core/wiring/QSlide.o and /dev/null differ diff --git a/core/wiring/Servo.h b/core/wiring/Servo.h deleted file mode 100755 index a49cf73..0000000 --- a/core/wiring/Servo.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - Servo.h - Servo library for Arduino & Wiring - Based on Hernando Barragan's original C implementation - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 -*/ - -#ifndef Servo_h -#define Servo_h - -#include - -class Servo -{ - private: - uint8_t _index; - uint8_t _pin; - uint16_t _duty; - static uint8_t _count; - static Servo* _servos[]; - static int8_t _current; - static uint16_t _positionTicks; - static void start(); - static void end(); - static void service(); - public: - Servo(); - uint8_t attach(int); - void detach(); - void write(int); - uint8_t read(); - uint8_t attached(); -}; - -#endif - diff --git a/core/wiring/Servo.o b/core/wiring/Servo.o deleted file mode 100644 index 285f104..0000000 Binary files a/core/wiring/Servo.o and /dev/null differ diff --git a/core/wiring/Sprite.h b/core/wiring/Sprite.h deleted file mode 100644 index 9c612dd..0000000 --- a/core/wiring/Sprite.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - Sprite.cpp - 2D sprite buffers library for Arduino & Wiring - Copyright (c) 2006 David A. Mellis. All right reserved. - - 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 -*/ - -#ifndef Sprite_h -#define Sprite_h - -#include - -#include "Binary.h" - -class Sprite -{ - private: - uint8_t _width; - uint8_t _height; - uint8_t _depth; - uint8_t _ppb; - uint8_t _bpr; - uint8_t _mask; - uint8_t *_buffer; - - void init(uint8_t width, uint8_t height); - public: - Sprite(uint8_t width, uint8_t height); - Sprite(uint8_t width, uint8_t height, uint8_t row, ...); - uint8_t width() const; - uint8_t height() const; - void write(int8_t x, int8_t y, uint8_t value); - uint8_t read(int8_t x, int8_t y) const; -}; - -#endif - diff --git a/core/wiring/Sprite.o b/core/wiring/Sprite.o deleted file mode 100644 index e52bd93..0000000 Binary files a/core/wiring/Sprite.o and /dev/null differ diff --git a/core/wiring/TwoWire.h b/core/wiring/TwoWire.h deleted file mode 100755 index 9c91b9b..0000000 --- a/core/wiring/TwoWire.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - TwoWire.h - TWI/I2C library for Arduino & Wiring - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 -*/ - -#ifndef TwoWire_h -#define TwoWire_h - -#include - -#define BUFFER_LENGTH 32 - -class TwoWire -{ - private: - static uint8_t* rxBuffer; - static uint8_t rxBufferIndex; - static uint8_t rxBufferLength; - - static uint8_t txAddress; - static uint8_t* txBuffer; - static uint8_t txBufferIndex; - static uint8_t txBufferLength; - - static uint8_t transmitting; - static void (*user_onRequest)(void); - static void (*user_onReceive)(int); - static void onRequestService(void); - static void onReceiveService(uint8_t*, int); - public: - TwoWire(); - void begin(); - void begin(uint8_t); - void begin(int); - void beginTransmission(uint8_t); - void beginTransmission(int); - void endTransmission(void); - void requestFrom(uint8_t, uint8_t); - void requestFrom(int, int); - void send(uint8_t); - void send(uint8_t*, uint8_t); - void send(int); - void send(char*); - uint8_t available(void); - uint8_t receive(void); - void onReceive( void (*)(int) ); - void onRequest( void (*)(void) ); -}; - -extern TwoWire Wire; - -#endif - diff --git a/core/wiring/TwoWire.o b/core/wiring/TwoWire.o deleted file mode 100644 index 16b4c23..0000000 Binary files a/core/wiring/TwoWire.o and /dev/null differ diff --git a/core/wiring/WApplet.o b/core/wiring/WApplet.o deleted file mode 100644 index e86c8e2..0000000 Binary files a/core/wiring/WApplet.o and /dev/null differ diff --git a/core/wiring/WConstants.h b/core/wiring/WConstants.h deleted file mode 100755 index e572378..0000000 --- a/core/wiring/WConstants.h +++ /dev/null @@ -1,176 +0,0 @@ -/* - WConstants.h - Main definitions file for Wiring - Part of the Wiring project - http://wiring.org.co - - Copyright (c) 2004-2005 Hernando Barragan - - 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. - - This program 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#ifndef WConstants_h -#define WConstants_h - -// Wiring API version for libraries -// this is also defined at compile-time -#ifndef WIRING -#define WIRING 6 -#endif - -// passed in at compile-time -#ifndef F_CPU -#define F_CPU 16000000L -#endif - -// passed in at compile-time -#ifndef CPU_FREQ -#define CPU_FREQ 16000000L -#endif - -#define LOW 0x0 -#define HIGH 0x1 - -#define INPUT 0x0 -#define OUTPUT 0x1 - -#define true 0x1 -#define false 0x0 - -#define PI (3.1415927) -#define TWO_PI (6.2831854) -#define HALF_PI (1.57079) -#define EPSILON (0.0001) -#define DEG_TO_RAD (0.01745329) -#define RAD_TO_DEG (57.2957786) - -#define int(x) ((int)(x)) -#define char(x) ((char)(x)) -#define long(x) ((long)(x)) -#define byte(x) ((uint8_t)(x)) -#define float(x) ((float)(x)) -#define boolean(x) ((uint8_t)((x)==0?0:1)) - -// undefine stdlib's abs if encountered -#ifdef abs -#undef abs -#endif - -#define sq(x) ((x)*(x)) -#define abs(x) ((x)>0?(x):-(x)) -#define min(a,b) ((a)<(b)?(a):(b)) -#define max(a,b) ((a)>(b)?(a):(b)) -#define round(x) ((x)>=0?(long)((x)+0.5):(long)((x)-0.5)) -#define radians(deg) ((deg)*DEG_TO_RAD) -#define degrees(rad) ((rad)*RAD_TO_DEG) -#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt))) - -#define WPIN0 (1<<0) -#define WPIN1 (1<<1) -#define WPIN2 (1<<2) -#define WPIN3 (1<<3) -#define WPIN4 (1<<4) -#define WPIN5 (1<<5) -#define WPIN6 (1<<6) -#define WPIN7 (1<<7) - -#define WPWMPIN5 (1<<5) // PINB5 -#define WPWMPIN4 (1<<6) // PINB6 -#define WPWMPIN3 (1<<7) // PINB7 -#define WPWMPIN2 (1<<3) // PINE3 -#define WPWMPIN1 (1<<4) // PINE4 -#define WPWMPIN0 (1<<5) // PINE5 - -#define WPORTA PORTA -#define WPORTB PORTB -#define WPORTC PORTC -#define WPORTD PORTD -#define WPORTE PORTE -#define WPORTF PORTF -#define WPORTG PORTG - -#define WPINA PINA -#define WPINB PINB -#define WPINC PINC -#define WPIND PIND -#define WPINE PINE -#define WPINF PINF -#define WPING PING - -#define WDDRA DDRA -#define WDDRB DDRB -#define WDDRC DDRC -#define WDDRD DDRD -#define WDDRE DDRE -#define WDDRF DDRF -#define WDDRG DDRG - -#define TIMER0OVERFLOW_INT 0 -#define TIMER0OUTCOMPARE_INT 1 -#define TIMER1OVERFLOW_INT 2 -#define TIMER1OUTCOMPAREA_INT 3 -#define TIMER1OUTCOMPAREB_INT 4 -#define TIMER1OUTCOMPAREC_INT 5 -#define TIMER1INPUTCAPTURE_INT 6 -#define TIMER2OVERFLOW_INT 7 -#define TIMER2OUTCOMPARE_INT 8 -#define TIMER3OVERFLOW_INT 9 -#define TIMER3OUTCOMPAREA_INT 10 -#define TIMER3OUTCOMPAREB_INT 11 -#define TIMER3OUTCOMPAREC_INT 12 -#define TIMER3INPUTCAPTURE_INT 13 - -#define TIMER_NUM_INTERRUPTS 14 - -#define TIMER_CLK_STOP 0x00 -#define TIMER_CLK_DIV1 0x01 -#define TIMER_CLK_DIV8 0x02 -#define TIMER_CLK_DIV64 0x03 -#define TIMER_CLK_DIV256 0x04 -#define TIMER_CLK_DIV1024 0x05 -#define TIMER_CLK_T_FALL 0x06 -#define TIMER_CLK_T_RISE 0x07 -#define TIMER_PRESCALE_MASK 0x07 - -#define TIMERRTC_CLK_STOP 0x00 -#define TIMERRTC_CLK_DIV1 0x01 -#define TIMERRTC_CLK_DIV8 0x02 -#define TIMERRTC_CLK_DIV32 0x03 -#define TIMERRTC_CLK_DIV64 0x04 -#define TIMERRTC_CLK_DIV128 0x05 -#define TIMERRTC_CLK_DIV256 0x06 -#define TIMERRTC_CLK_DIV1024 0x07 -#define TIMERRTC_PRESCALE_MASK 0x07 - -#define TIMER0PRESCALE TIMERRTC_CLK_DIV64 -#define TIMER1PRESCALE TIMER_CLK_DIV64 -#define TIMER2PRESCALE TIMER_CLK_DIV8 -#define TIMER3PRESCALE TIMER_CLK_DIV64 - -#define EXTERNAL_INT_0 0 -#define EXTERNAL_INT_1 1 -#define EXTERNAL_INT_2 2 -#define EXTERNAL_INT_3 3 -#define EXTERNAL_INT_4 4 -#define EXTERNAL_INT_5 5 -#define EXTERNAL_INT_6 6 -#define EXTERNAL_INT_7 7 - -#define EXTERNAL_NUM_INTERRUPTS 8 - -typedef uint8_t byte; -typedef uint8_t boolean; -typedef void (*voidFuncPtr)(void); - -#endif - diff --git a/core/wiring/WInterrupts.o b/core/wiring/WInterrupts.o deleted file mode 100644 index 4ca56aa..0000000 Binary files a/core/wiring/WInterrupts.o and /dev/null differ diff --git a/core/wiring/WProgram.h b/core/wiring/WProgram.h deleted file mode 100755 index 7837da5..0000000 --- a/core/wiring/WProgram.h +++ /dev/null @@ -1,39 +0,0 @@ -extern "C" { - #include - #include - #include - - #include "WConstants.h" - - // main program prototypes - void setup(void); - void loop(void); - - // timing prototypes - void delay(long); - void delayMicroseconds(unsigned int); - long millis(void); - - // pin prototypes - void pinMode(uint8_t, uint8_t); - uint8_t digitalRead(uint8_t); - void digitalWrite(int, uint8_t); - void portMode(int, int); - int portRead(int); - void portWrite(int, int); - int analogRead(int); - void analogWrite(int, int); - - // pulse prototypes - unsigned long pulseIn(int, int); - - // interrupt management prototypes - void attachInterrupt(uint8_t, void (*)(void) ); - void detachInterrupt(uint8_t); -} - -// random prototypes -float random(float); -float random(float, float); -void randomSeed(unsigned int); - diff --git a/core/wiring/WRandom.o b/core/wiring/WRandom.o deleted file mode 100644 index 26e64de..0000000 Binary files a/core/wiring/WRandom.o and /dev/null differ diff --git a/core/wiring/WTimer.o b/core/wiring/WTimer.o deleted file mode 100644 index d081ab3..0000000 Binary files a/core/wiring/WTimer.o and /dev/null differ diff --git a/core/wiring/buffer.h b/core/wiring/buffer.h deleted file mode 100755 index 3d89136..0000000 --- a/core/wiring/buffer.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - buffer.h - Buffer library for Wiring & Arduino - Based on Hernando Barragan's original C implementation - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 -*/ - -#ifndef buffer_h -#define buffer_h - - #include - - typedef struct { - char* in; - char* out; - char* buf; - uint16_t len; - uint16_t cnt; - } buffer_t; - - void buffer_init(buffer_t*, char*, uint16_t); - void buffer_put(buffer_t*, char); - uint16_t buffer_get(buffer_t*); - uint8_t buffer_look(buffer_t*); - uint8_t buffer_available(buffer_t*); - -#endif - diff --git a/core/wiring/buffer.o b/core/wiring/buffer.o deleted file mode 100644 index 0256711..0000000 Binary files a/core/wiring/buffer.o and /dev/null differ diff --git a/core/wiring/twi.h b/core/wiring/twi.h deleted file mode 100755 index 7ccbf5c..0000000 --- a/core/wiring/twi.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - twi.h - TWI/I2C library for Wiring & Arduino - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 -*/ - -#ifndef twi_h -#define twi_h - - #include - - //#define ATMEGA8 - - #ifndef CPU_FREQ - #define CPU_FREQ 16000000L - #endif - - #ifndef TWI_FREQ - #define TWI_FREQ 100000L - #endif - - #ifndef TWI_BUFFER_LENGTH - #define TWI_BUFFER_LENGTH 32 - #endif - - #define TWI_READY 0 - #define TWI_MRX 1 - #define TWI_MTX 2 - #define TWI_SRX 3 - #define TWI_STX 4 - - void twi_init(void); - void twi_setAddress(uint8_t); - uint8_t twi_readFrom(uint8_t, uint8_t*, uint8_t); - uint8_t twi_writeTo(uint8_t, uint8_t*, uint8_t, uint8_t); - uint8_t twi_transmit(uint8_t*, uint8_t); - void twi_attachSlaveRxEvent( void (*)(uint8_t*, int) ); - void twi_attachSlaveTxEvent( void (*)(void) ); - void twi_reply(uint8_t); - void twi_stop(void); - void twi_releaseBus(void); - -#endif - diff --git a/core/wiring/twi.o b/core/wiring/twi.o deleted file mode 100644 index 0e538db..0000000 Binary files a/core/wiring/twi.o and /dev/null differ diff --git a/core/wiring/uart.h b/core/wiring/uart.h deleted file mode 100755 index f00af61..0000000 --- a/core/wiring/uart.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - uart.h - UART Serial library for Wiring - Based on Hernando Barragan's original C implementation - Copyright (c) 2006 Nicholas Zambetti. All right reserved. - - 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 -*/ - -#ifndef uart_h -#define uart_h - - #include - - #ifndef CPU_FREQ - #define CPU_FREQ 16000000L - #endif - - #ifndef UART_BUFFER_LENGTH - #define UART_BUFFER_LENGTH 32 - #endif - - void uart_init(uint8_t, long); - int uart_read(uint8_t); - uint8_t uart_available(uint8_t); - void uart_write(uint8_t, char*, uint8_t); - -#endif - diff --git a/core/wiring/uart.o b/core/wiring/uart.o deleted file mode 100644 index 85a64ac..0000000 Binary files a/core/wiring/uart.o and /dev/null differ -- cgit v1.2.3-18-g5258