diff options
Diffstat (limited to 'wirish/wirish.h')
-rw-r--r-- | wirish/wirish.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/wirish/wirish.h b/wirish/wirish.h new file mode 100644 index 0000000..5129c26 --- /dev/null +++ b/wirish/wirish.h @@ -0,0 +1,85 @@ +/* ***************************************************************************** + * The MIT License + * + * Copyright (c) 2010 Perry Hung. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * ****************************************************************************/ +/** + * @brief Main include file for the Wirish core. + * + * Includes various Arduino wiring macros and bit defines + */ + + +#ifndef _WIRISH_H_ +#define _WIRISH_H_ + +#include "libmaple.h" +#include "timers.h" +#include "io.h" +#include "bits.h" +#include "time.h" +#include "pwm.h" +#include "ext_interrupts.h" + +#ifdef __cplusplus +extern "C"{ +#endif + +#define MAPLE 1 +#define NR_MAPLE_PINS 39 // temporary + +/* Arduino wiring macros and bit defines */ +#define HIGH 0x1 +#define LOW 0x0 + +#define true 0x1 +#define false 0x0 + +#define LSBFIRST 0 +#define MSBFIRST 1 + +#define USER_ADDR_ROM 0x08005000 +#define USER_ADDR_RAM 0x20000C00 + +#define lowByte(w) ((w) & 0xff) +#define highByte(w) ((w) >> 8) +#define bitRead(value, bit) (((value) >> (bit)) & 0x01) +#define bitSet(value, bit) ((value) |= (1UL << (bit))) +#define bitClear(value, bit) ((value) &= ~(1UL << (bit))) +#define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : \ + bitClear(value, bit)) +#define bit(b) (1UL << (b)) + +typedef uint8 boolean; +typedef uint8 byte; + +void init(void); +void shiftOut(uint8 dataPin, uint8 clockPin, uint8 bitOrder, byte val); + +#ifdef __cplusplus +} // extern "C" +#endif + + + + +#endif + |