diff --git a/targets/wiring/Binary.h b/targets/wiring/Binary.h new file mode 100644 index 000000000..d5692e6e7 --- /dev/null +++ b/targets/wiring/Binary.h @@ -0,0 +1,516 @@ +#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/targets/wiring/Encoder.h b/targets/wiring/Encoder.h new file mode 100644 index 000000000..c4a36cf77 --- /dev/null +++ b/targets/wiring/Encoder.h @@ -0,0 +1,47 @@ +/* + 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/targets/wiring/Encoder.o b/targets/wiring/Encoder.o new file mode 100644 index 000000000..6f92e7f7d Binary files /dev/null and b/targets/wiring/Encoder.o differ diff --git a/targets/wiring/HardwareSerial.h b/targets/wiring/HardwareSerial.h new file mode 100755 index 000000000..e9b4ad93f --- /dev/null +++ b/targets/wiring/HardwareSerial.h @@ -0,0 +1,60 @@ +/* + 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/targets/wiring/HardwareSerial.o b/targets/wiring/HardwareSerial.o new file mode 100644 index 000000000..bd104e580 Binary files /dev/null and b/targets/wiring/HardwareSerial.o differ diff --git a/targets/wiring/LiquidCrystal.h b/targets/wiring/LiquidCrystal.h new file mode 100644 index 000000000..0bed63742 --- /dev/null +++ b/targets/wiring/LiquidCrystal.h @@ -0,0 +1,67 @@ +/* + 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/targets/wiring/LiquidCrystal.o b/targets/wiring/LiquidCrystal.o new file mode 100644 index 000000000..327a08372 Binary files /dev/null and b/targets/wiring/LiquidCrystal.o differ diff --git a/targets/wiring/Matrix.h b/targets/wiring/Matrix.h index ad43cb632..6c2ac00e3 100755 --- a/targets/wiring/Matrix.h +++ b/targets/wiring/Matrix.h @@ -1,51 +1,55 @@ /* - Matrix.h - Max7219 LED Matrix library file for Wiring - Part of the Wiring project - http://wiring.org.co + Matrix.h - Max7219 LED Matrix library for Arduino & Wiring + Copyright (c) 2006 Nicholas Zambetti. All right reserved. - Copyright (c) 2004-2005 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 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, + 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 General Public License for more details. + 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 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 - - Max7219 LED Matrix library by Nicholas Zambetti + 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 +// include core Wiring API +#include "WProgram.h" + +// declare other libraries depended on (if any) +class Sprite; class Matrix { private: - uint8_t _pinClock; - uint8_t _pinLoad; - uint8_t _pinData; + byte _pinData; + byte _pinClock; + byte _pinLoad; - uint8_t _screenBuffer[8]; + byte* _buffer; + byte _screens; + byte _maximumX; - void putByte(uint8_t); + void putByte(byte); + void setRegister(byte, byte); + void syncRow(int); + void setScanLimit(byte); + + void buffer(int, int, byte); public: - Matrix(uint8_t, uint8_t, uint8_t); - void set(uint8_t, uint8_t); - void setAll(uint8_t); - void setScanLimit(uint8_t); - void setIntensity(uint8_t); - void storePixel(uint8_t, uint8_t, uint8_t); - void updatePixels(void); + 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/targets/wiring/Matrix.o b/targets/wiring/Matrix.o new file mode 100644 index 000000000..8edf922de Binary files /dev/null and b/targets/wiring/Matrix.o differ diff --git a/targets/wiring/QSlide.h b/targets/wiring/QSlide.h new file mode 100755 index 000000000..9db4d29be --- /dev/null +++ b/targets/wiring/QSlide.h @@ -0,0 +1,50 @@ +/* + 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/targets/wiring/QSlide.o b/targets/wiring/QSlide.o new file mode 100644 index 000000000..16c6d7fe4 Binary files /dev/null and b/targets/wiring/QSlide.o differ diff --git a/targets/wiring/Servo.h b/targets/wiring/Servo.h index 3bfff2ade..a49cf7399 100755 --- a/targets/wiring/Servo.h +++ b/targets/wiring/Servo.h @@ -1,27 +1,23 @@ /* - Servo.h - Servo library file for Wiring - Part of the Wiring project - http://wiring.org.co + Servo.h - Servo library for Arduino & Wiring + Based on Hernando Barragan's original C implementation + Copyright (c) 2006 Nicholas Zambetti. All right reserved. - Copyright (c) 2004-2005 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 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, + 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 General Public License for more details. + 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 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 - - Servo library by Nicholas Zambetti + 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 diff --git a/targets/wiring/Servo.o b/targets/wiring/Servo.o index a1e1777d6..285f104e5 100644 Binary files a/targets/wiring/Servo.o and b/targets/wiring/Servo.o differ diff --git a/targets/wiring/Sprite.h b/targets/wiring/Sprite.h new file mode 100644 index 000000000..9c612ddac --- /dev/null +++ b/targets/wiring/Sprite.h @@ -0,0 +1,49 @@ +/* + 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/targets/wiring/Sprite.o b/targets/wiring/Sprite.o new file mode 100644 index 000000000..e52bd9395 Binary files /dev/null and b/targets/wiring/Sprite.o differ diff --git a/targets/wiring/TwoWire.h b/targets/wiring/TwoWire.h new file mode 100755 index 000000000..9c91b9b39 --- /dev/null +++ b/targets/wiring/TwoWire.h @@ -0,0 +1,67 @@ +/* + 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/targets/wiring/TwoWire.o b/targets/wiring/TwoWire.o new file mode 100644 index 000000000..16b4c2377 Binary files /dev/null and b/targets/wiring/TwoWire.o differ diff --git a/targets/wiring/WApplet.o b/targets/wiring/WApplet.o index 1e668b2d9..e86c8e248 100644 Binary files a/targets/wiring/WApplet.o and b/targets/wiring/WApplet.o differ diff --git a/targets/wiring/WConstants.h b/targets/wiring/WConstants.h index 2d70cbdf3..e572378df 100755 --- a/targets/wiring/WConstants.h +++ b/targets/wiring/WConstants.h @@ -1,5 +1,5 @@ /* - WConstats.h - main definitions file for Wiring + WConstants.h - Main definitions file for Wiring Part of the Wiring project - http://wiring.org.co Copyright (c) 2004-2005 Hernando Barragan @@ -22,21 +22,67 @@ #ifndef WConstants_h #define WConstants_h -#define PI (3.1415927) -#define HALF_PI (1.57079) -#define TWO_PI (6.2831854) +// 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 EPSILON (0.0001) -#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 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 @@ -69,18 +115,6 @@ #define WDDRF DDRF #define WDDRG DDRG - -#define HIGH 0x1 -#define LOW 0x0 - -#define INPUT 0x0 -#define OUTPUT 0x1 - -#define true 0x1 -#define false 0x0 - -#define CPU_FREQ 16000000L - #define TIMER0OVERFLOW_INT 0 #define TIMER0OUTCOMPARE_INT 1 #define TIMER1OVERFLOW_INT 2 @@ -98,135 +132,31 @@ #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 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 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 TIMER0PRESCALE TIMERRTC_CLK_DIV64 +#define TIMER1PRESCALE TIMER_CLK_DIV64 +#define TIMER2PRESCALE TIMER_CLK_DIV8 #define TIMER3PRESCALE TIMER_CLK_DIV64 -#ifndef __cplusplus -volatile struct { - uint8_t rxInt : 1; - uint8_t rx1Int : 1; - uint8_t uart0TxComplete : 1; - uint8_t uart1TxComplete : 1; -} event; -#endif - -typedef struct wbuffer_t { - uint16_t buflen; - uint16_t bufcnt; - uint8_t * in; - uint8_t * out; - uint8_t * buf; -} WBuffer; - -typedef struct { - void (*begin) (int); - uint8_t (*available) (); - int (*read) (); - void (*write) (int); - void (*writeBytes) (char[]); -} WSerial; - -extern WSerial Serial1; -extern WSerial Serial; - -typedef uint8_t boolean; -typedef uint8_t byte; - -//int serial; -#define DEF_UART 0 -#define AUX_UART 1 -#define SERIAL0 0 -#define SERIAL1 1 - -#define UART_BUF_LEN 32 - - - -#define min(a,b) ((ab)?(a):(b)) -#define abs(x) ((x>0)?(x):(-x)) -#define constrain(amt,low,high) ((amthigh)?(high):(amt))) -#define radians(deg) ((deg)*DEG_TO_RAD) -#define degrees(rad) ((rad)*RAD_TO_DEG) -#define sq(x) ((x)*(x)) - -#define SERVO_NUM_CHANNELS 8 -#define SERVO_MAX 142 -#define SERVO_MIN 34 -#define POSITION_MAX 255 -#define SERVO_DEFAULT_PORT PORTA - - -//static char uartBuffer[UART_BUF_LEN]; -//WBuffer uartbuf; -typedef void (*voidFuncPtru08)(void); -volatile static voidFuncPtru08 uartRxFunc; -typedef void (*voidFuncPtr)(void); - - -#define WD_CTRL_PORT PORTC -#define WD_CTRL_DDR DDRC -#define WD_CTRL_RS 0 -#define WD_CTRL_RW 1 -#define WD_CTRL_E 2 -#define WD_DATA_POUT PORTA -#define WD_DATA_PIN PINA -#define WD_DATA_DDR DDRA -#define WD_LINE0_DDRAMADDR 0x00 -#define WD_LINE1_DDRAMADDR 0x40 -#define WD_LINE2_DDRAMADDR 0x14 -#define WD_LINE3_DDRAMADDR 0x54 - -#define WD_CLR 0 -#define WD_HOME 1 -#define WD_ENTRY_MODE 2 -#define WD_ENTRY_INC 1 -#define WD_ENTRY_SHIFT 0 -#define WD_ON_CTRL 3 -#define WD_ON_DISPLAY 2 -#define WD_ON_CURSOR 1 -#define WD_ON_BLINK 0 -#define WD_MOVE 4 -#define WD_MOVE_DISP 3 -#define WD_MOVE_RIGHT 2 -#define WD_FUNCTION 5 -#define WD_FUNCTION_8BIT 4 -#define WD_FUNCTION_2LINES 3 -#define WD_FUNCTION_10DOTS 2 -#define WD_CGRAM 6 -#define WD_DDRAM 7 -#define WD_BUSY 7 - -#define DATA_8_BITS 0x0 -#define DATA_4_BITS 0x1 - -#define SERIAL 0x0 -#define DISPLAY 0x1 - -#define EXTERNAL_NUM_INTERRUPTS 8 -#define NUM_ENCODERS 4 #define EXTERNAL_INT_0 0 #define EXTERNAL_INT_1 1 #define EXTERNAL_INT_2 2 @@ -236,11 +166,11 @@ typedef void (*voidFuncPtr)(void); #define EXTERNAL_INT_6 6 #define EXTERNAL_INT_7 7 -#ifndef __cplusplus -void print(const char *template, ...); -void pinMode(uint8_t, uint8_t); -void digitalWrite(uint8_t, uint8_t); -void delay(int); -#endif +#define EXTERNAL_NUM_INTERRUPTS 8 + +typedef uint8_t byte; +typedef uint8_t boolean; +typedef void (*voidFuncPtr)(void); #endif + diff --git a/targets/wiring/WCounter.o b/targets/wiring/WCounter.o deleted file mode 100644 index 2962e2ef4..000000000 Binary files a/targets/wiring/WCounter.o and /dev/null differ diff --git a/targets/wiring/WDisplay.o b/targets/wiring/WDisplay.o deleted file mode 100644 index 55a7dcf2c..000000000 Binary files a/targets/wiring/WDisplay.o and /dev/null differ diff --git a/targets/wiring/WEncoder.o b/targets/wiring/WEncoder.o deleted file mode 100644 index 6381ed90f..000000000 Binary files a/targets/wiring/WEncoder.o and /dev/null differ diff --git a/targets/wiring/WInterrupts.o b/targets/wiring/WInterrupts.o index e9a47fd08..4ca56aaa8 100644 Binary files a/targets/wiring/WInterrupts.o and b/targets/wiring/WInterrupts.o differ diff --git a/targets/wiring/WProgram.h b/targets/wiring/WProgram.h index 2763d54d3..7837da5f1 100755 --- a/targets/wiring/WProgram.h +++ b/targets/wiring/WProgram.h @@ -1,9 +1,7 @@ extern "C" { #include #include - #include #include - #include #include "WConstants.h" @@ -12,8 +10,9 @@ extern "C" { void loop(void); // timing prototypes - void delay(int); - int millis(void); + void delay(long); + void delayMicroseconds(unsigned int); + long millis(void); // pin prototypes void pinMode(uint8_t, uint8_t); @@ -26,61 +25,15 @@ extern "C" { void analogWrite(int, int); // pulse prototypes - void beginPulse(void); - void endPulse(void); - void pulseFrequency(int, int); - void pulseRun(int, int); - void pulseStop(int); - int pulseRunning(int); - uint16_t pulseIn(uint8_t, uint8_t); + unsigned long pulseIn(int, int); // interrupt management prototypes - void attachInterrupt(uint8_t, void *(void) ); + void attachInterrupt(uint8_t, void (*)(void) ); void detachInterrupt(uint8_t); - - // serial prototypes - void beginSerial(int); - void endSerial(void); - int serialRead(void); - void serialWrite(int); - void serialWriteBytes(char[]); - uint8_t serialAvailable(void); - void beginSerial1(int); - void endSerial1(void); - int serial1Read(void); - void serial1Write(int); - void serial1WriteBytes(char[]); - uint8_t serial1Available(void); - void printMode(int); - void print(const char *, ...); - - /* - // servo prototypes - void beginServo(void); - void endServo(void); - void attachServo(int, int); - uint8_t servoRead(int); - void servoWrite(int, int); - */ - - // lcd prototypes - void beginDisplay(void); - void endDisplay(void); - void displayWrite(int); - void displayClear(void); - void cursorHome(void); - void cursorMoveTo(uint8_t, uint8_t); - - // encoder prototypes - void beginEncoder(void); - void endEncoder(void); - void attachEncoder(int, int, int); - int32_t encoderRead(uint8_t); - void encoderWrite(uint8_t, uint32_t); } -// library includes -#include "Servo.h" -//#include "Wire.h" -//#include "Matrix.h" +// random prototypes +float random(float); +float random(float, float); +void randomSeed(unsigned int); diff --git a/targets/wiring/WRandom.o b/targets/wiring/WRandom.o new file mode 100644 index 000000000..26e64dee7 Binary files /dev/null and b/targets/wiring/WRandom.o differ diff --git a/targets/wiring/WSerial.o b/targets/wiring/WSerial.o deleted file mode 100644 index d2f7433ae..000000000 Binary files a/targets/wiring/WSerial.o and /dev/null differ diff --git a/targets/wiring/WTimer.o b/targets/wiring/WTimer.o index 39c0a6644..d081ab345 100644 Binary files a/targets/wiring/WTimer.o and b/targets/wiring/WTimer.o differ diff --git a/targets/wiring/Wire.h b/targets/wiring/Wire.h deleted file mode 100755 index aa1bc3b65..000000000 --- a/targets/wiring/Wire.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - Wire.h - TWI/I2C library 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 - - Wire TWI/I2C library by Nicholas Zambetti -*/ - - -#ifndef Wire_h -#define Wire_h - -#include - -#ifndef TWI_FREQ -#define TWI_FREQ 100000L -#endif - -#ifndef TWI_BUFFERSIZE -#define TWI_BUFFERSIZE 32 -#endif - -class Wire -{ - private: - static volatile uint8_t _state; - static uint8_t _slarw; - - static uint8_t _masterBuffer[TWI_BUFFERSIZE]; - static uint8_t _masterBufferLength; - static volatile uint8_t _masterBufferIndex; - - static void (*Wire::_onSlaveTransmit)(void); - static void (*Wire::_onSlaveReceive)(int); - - static uint8_t _txBuffer[TWI_BUFFERSIZE]; - static volatile uint8_t _txBufferIndex; - static volatile uint8_t _txBufferLength; - - static uint8_t _rxBuffer[TWI_BUFFERSIZE]; - static volatile uint8_t _rxBufferIndex; - - uint8_t readFrom(uint8_t, uint8_t*, uint8_t); - uint8_t writeTo(uint8_t, uint8_t*, uint8_t, uint8_t); - static void reply(uint8_t); - static void stop(void); - static void releaseBus(void); - static void interruptLogic(void); - public: - Wire(uint8_t); - uint8_t read(int); - void readBytes(int, uint8_t*, int); - void readBytes(int, char*, int); - void write(int, int); - void writeBytes(int, uint8_t*, int); - void writeBytes(int, char*); - void transmit(uint8_t); - void transmitBytes(uint8_t*, uint8_t); - void transmitBytes(char*); - uint8_t receive(void); - void receiveBytes(uint8_t*); - void receiveBytes(char*); - void onDataIn( void (*)(int) ); - void onDataOut( void (*)(void) ); -}; - -#endif - diff --git a/targets/wiring/Wire.o b/targets/wiring/Wire.o deleted file mode 100644 index 7787763c7..000000000 Binary files a/targets/wiring/Wire.o and /dev/null differ diff --git a/targets/wiring/buffer.h b/targets/wiring/buffer.h new file mode 100755 index 000000000..3d891369c --- /dev/null +++ b/targets/wiring/buffer.h @@ -0,0 +1,41 @@ +/* + 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/targets/wiring/buffer.o b/targets/wiring/buffer.o new file mode 100644 index 000000000..025671118 Binary files /dev/null and b/targets/wiring/buffer.o differ diff --git a/targets/wiring/twi.h b/targets/wiring/twi.h new file mode 100755 index 000000000..7ccbf5caf --- /dev/null +++ b/targets/wiring/twi.h @@ -0,0 +1,57 @@ +/* + 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/targets/wiring/twi.o b/targets/wiring/twi.o new file mode 100644 index 000000000..0e538dbfd Binary files /dev/null and b/targets/wiring/twi.o differ diff --git a/targets/wiring/uart.h b/targets/wiring/uart.h new file mode 100755 index 000000000..f00af61cd --- /dev/null +++ b/targets/wiring/uart.h @@ -0,0 +1,40 @@ +/* + 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/targets/wiring/uart.o b/targets/wiring/uart.o new file mode 100644 index 000000000..85a64ac97 Binary files /dev/null and b/targets/wiring/uart.o differ