aboutsummaryrefslogtreecommitdiff
path: root/core/wiring
diff options
context:
space:
mode:
Diffstat (limited to 'core/wiring')
-rw-r--r--core/wiring/Binary.h516
-rw-r--r--core/wiring/Encoder.h47
-rw-r--r--core/wiring/Encoder.obin0 -> 9276 bytes
-rwxr-xr-xcore/wiring/HardwareSerial.h60
-rw-r--r--core/wiring/HardwareSerial.obin0 -> 12184 bytes
-rw-r--r--core/wiring/LiquidCrystal.h67
-rw-r--r--core/wiring/LiquidCrystal.obin0 -> 16856 bytes
-rwxr-xr-xcore/wiring/Matrix.h56
-rw-r--r--core/wiring/Matrix.obin0 -> 11328 bytes
-rwxr-xr-xcore/wiring/QSlide.h50
-rw-r--r--core/wiring/QSlide.obin0 -> 9784 bytes
-rwxr-xr-xcore/wiring/Servo.h49
-rw-r--r--core/wiring/Servo.obin0 -> 10056 bytes
-rw-r--r--core/wiring/Sprite.h49
-rw-r--r--core/wiring/Sprite.obin0 -> 8204 bytes
-rwxr-xr-xcore/wiring/TwoWire.h67
-rw-r--r--core/wiring/TwoWire.obin0 -> 14180 bytes
-rw-r--r--core/wiring/WApplet.obin0 -> 9968 bytes
-rwxr-xr-xcore/wiring/WConstants.h176
-rw-r--r--core/wiring/WInterrupts.obin0 -> 7528 bytes
-rwxr-xr-xcore/wiring/WProgram.h39
-rw-r--r--core/wiring/WRandom.obin0 -> 3764 bytes
-rw-r--r--core/wiring/WTimer.obin0 -> 20568 bytes
-rwxr-xr-xcore/wiring/buffer.h41
-rw-r--r--core/wiring/buffer.obin0 -> 5316 bytes
-rwxr-xr-xcore/wiring/twi.h57
-rw-r--r--core/wiring/twi.obin0 -> 9988 bytes
-rwxr-xr-xcore/wiring/uart.h40
-rw-r--r--core/wiring/uart.obin0 -> 8792 bytes
29 files changed, 1314 insertions, 0 deletions
diff --git a/core/wiring/Binary.h b/core/wiring/Binary.h
new file mode 100644
index 0000000..d5692e6
--- /dev/null
+++ b/core/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/core/wiring/Encoder.h b/core/wiring/Encoder.h
new file mode 100644
index 0000000..c4a36cf
--- /dev/null
+++ b/core/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 <inttypes.h>
+
+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
new file mode 100644
index 0000000..6f92e7f
--- /dev/null
+++ b/core/wiring/Encoder.o
Binary files differ
diff --git a/core/wiring/HardwareSerial.h b/core/wiring/HardwareSerial.h
new file mode 100755
index 0000000..e9b4ad9
--- /dev/null
+++ b/core/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 <inttypes.h>
+
+#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
new file mode 100644
index 0000000..bd104e5
--- /dev/null
+++ b/core/wiring/HardwareSerial.o
Binary files differ
diff --git a/core/wiring/LiquidCrystal.h b/core/wiring/LiquidCrystal.h
new file mode 100644
index 0000000..0bed637
--- /dev/null
+++ b/core/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 <inttypes.h>
+
+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
new file mode 100644
index 0000000..327a083
--- /dev/null
+++ b/core/wiring/LiquidCrystal.o
Binary files differ
diff --git a/core/wiring/Matrix.h b/core/wiring/Matrix.h
new file mode 100755
index 0000000..6c2ac00
--- /dev/null
+++ b/core/wiring/Matrix.h
@@ -0,0 +1,56 @@
+/*
+ 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
new file mode 100644
index 0000000..8edf922
--- /dev/null
+++ b/core/wiring/Matrix.o
Binary files differ
diff --git a/core/wiring/QSlide.h b/core/wiring/QSlide.h
new file mode 100755
index 0000000..9db4d29
--- /dev/null
+++ b/core/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/core/wiring/QSlide.o b/core/wiring/QSlide.o
new file mode 100644
index 0000000..16c6d7f
--- /dev/null
+++ b/core/wiring/QSlide.o
Binary files differ
diff --git a/core/wiring/Servo.h b/core/wiring/Servo.h
new file mode 100755
index 0000000..a49cf73
--- /dev/null
+++ b/core/wiring/Servo.h
@@ -0,0 +1,49 @@
+/*
+ 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 <inttypes.h>
+
+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
new file mode 100644
index 0000000..285f104
--- /dev/null
+++ b/core/wiring/Servo.o
Binary files differ
diff --git a/core/wiring/Sprite.h b/core/wiring/Sprite.h
new file mode 100644
index 0000000..9c612dd
--- /dev/null
+++ b/core/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 <inttypes.h>
+
+#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
new file mode 100644
index 0000000..e52bd93
--- /dev/null
+++ b/core/wiring/Sprite.o
Binary files differ
diff --git a/core/wiring/TwoWire.h b/core/wiring/TwoWire.h
new file mode 100755
index 0000000..9c91b9b
--- /dev/null
+++ b/core/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 <inttypes.h>
+
+#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
new file mode 100644
index 0000000..16b4c23
--- /dev/null
+++ b/core/wiring/TwoWire.o
Binary files differ
diff --git a/core/wiring/WApplet.o b/core/wiring/WApplet.o
new file mode 100644
index 0000000..e86c8e2
--- /dev/null
+++ b/core/wiring/WApplet.o
Binary files differ
diff --git a/core/wiring/WConstants.h b/core/wiring/WConstants.h
new file mode 100755
index 0000000..e572378
--- /dev/null
+++ b/core/wiring/WConstants.h
@@ -0,0 +1,176 @@
+/*
+ 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
new file mode 100644
index 0000000..4ca56aa
--- /dev/null
+++ b/core/wiring/WInterrupts.o
Binary files differ
diff --git a/core/wiring/WProgram.h b/core/wiring/WProgram.h
new file mode 100755
index 0000000..7837da5
--- /dev/null
+++ b/core/wiring/WProgram.h
@@ -0,0 +1,39 @@
+extern "C" {
+ #include <inttypes.h>
+ #include <math.h>
+ #include <avr/io.h>
+
+ #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
new file mode 100644
index 0000000..26e64de
--- /dev/null
+++ b/core/wiring/WRandom.o
Binary files differ
diff --git a/core/wiring/WTimer.o b/core/wiring/WTimer.o
new file mode 100644
index 0000000..d081ab3
--- /dev/null
+++ b/core/wiring/WTimer.o
Binary files differ
diff --git a/core/wiring/buffer.h b/core/wiring/buffer.h
new file mode 100755
index 0000000..3d89136
--- /dev/null
+++ b/core/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 <inttypes.h>
+
+ 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
new file mode 100644
index 0000000..0256711
--- /dev/null
+++ b/core/wiring/buffer.o
Binary files differ
diff --git a/core/wiring/twi.h b/core/wiring/twi.h
new file mode 100755
index 0000000..7ccbf5c
--- /dev/null
+++ b/core/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 <inttypes.h>
+
+ //#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
new file mode 100644
index 0000000..0e538db
--- /dev/null
+++ b/core/wiring/twi.o
Binary files differ
diff --git a/core/wiring/uart.h b/core/wiring/uart.h
new file mode 100755
index 0000000..f00af61
--- /dev/null
+++ b/core/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 <inttypes.h>
+
+ #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
new file mode 100644
index 0000000..85a64ac
--- /dev/null
+++ b/core/wiring/uart.o
Binary files differ