From 5e855e95761b936ddba1c964c329c15219f59afd Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 3 May 2016 19:44:47 +0200 Subject: added external lib PJON - not working yet.. --- lib/Arduino.h | 78 +++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 54 insertions(+), 24 deletions(-) (limited to 'lib/Arduino.h') diff --git a/lib/Arduino.h b/lib/Arduino.h index 4b3026b..ce50ea8 100644 --- a/lib/Arduino.h +++ b/lib/Arduino.h @@ -26,6 +26,7 @@ #define Arduino_h #include +#include #include #include @@ -33,10 +34,14 @@ #include #include +#include "arduino-binary.h" + #ifdef __cplusplus extern "C"{ #endif +void yield(void); + #define HIGH 0x1 #define LOW 0x0 @@ -44,14 +49,12 @@ extern "C"{ #define OUTPUT 0x1 #define INPUT_PULLUP 0x2 -#define true 0x1 -#define false 0x0 - #define PI 3.1415926535897932384626433832795 #define HALF_PI 1.5707963267948966192313216916398 #define TWO_PI 6.283185307179586476925286766559 #define DEG_TO_RAD 0.017453292519943295769236907684886 #define RAD_TO_DEG 57.295779513082320876798154814105 +#define EULER 2.718281828459045235360287471352 #define SERIAL 0x0 #define DISPLAY 0x1 @@ -107,28 +110,35 @@ extern "C"{ #define bitClear(value, bit) ((value) &= ~(1UL << (bit))) #define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit)) +// avr-libc defines _NOP() since 1.6.2 +#ifndef _NOP +#define _NOP() do { __asm__ volatile ("nop"); } while (0) +#endif typedef unsigned int word; #define bit(b) (1UL << (b)) -typedef uint8_t boolean; +typedef bool boolean; typedef uint8_t byte; void init(void); +int atexit(void (*func)()) __attribute__((weak)); + void pinMode(uint8_t, uint8_t); void digitalWrite(uint8_t, uint8_t); -//int digitalRead(uint8_t); -//int analogRead(uint8_t); -//void analogReference(uint8_t mode); -//void analogWrite(uint8_t, int); +int digitalRead(uint8_t); +int analogRead(uint8_t); +void analogReference(uint8_t mode); +void analogWrite(uint8_t, int); unsigned long millis(void); unsigned long micros(void); void delay(unsigned long); void delayMicroseconds(unsigned int us); // unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout); +// unsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout); // void shiftOut(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val); // uint8_t shiftIn(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder); @@ -148,7 +158,7 @@ extern const uint16_t PROGMEM port_to_input_PGM[]; extern const uint16_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_PGM[]; extern const uint8_t PROGMEM digital_pin_to_bit_mask_PGM[]; extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; @@ -168,6 +178,8 @@ extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; #define NOT_A_PIN 0 #define NOT_A_PORT 0 +#define NOT_AN_INTERRUPT -1 + #ifdef ARDUINO_MAIN #define PA 1 #define PB 2 @@ -187,26 +199,44 @@ extern const uint8_t PROGMEM digital_pin_to_timer_PGM[]; #define TIMER0B 2 #define TIMER1A 3 #define TIMER1B 4 -#define TIMER2 5 -#define TIMER2A 6 -#define TIMER2B 7 - -#define TIMER3A 8 -#define TIMER3B 9 -#define TIMER3C 10 -#define TIMER4A 11 -#define TIMER4B 12 -#define TIMER4C 13 -#define TIMER4D 14 -#define TIMER5A 15 -#define TIMER5B 16 -#define TIMER5C 17 +#define TIMER1C 5 +#define TIMER2 6 +#define TIMER2A 7 +#define TIMER2B 8 + +#define TIMER3A 9 +#define TIMER3B 10 +#define TIMER3C 11 +#define TIMER4A 12 +#define TIMER4B 13 +#define TIMER4C 14 +#define TIMER4D 15 +#define TIMER5A 16 +#define TIMER5B 17 +#define TIMER5C 18 #ifdef __cplusplus } // extern "C" #endif -// #include "pins_arduino.h" +uint16_t makeWord(uint16_t w); +uint16_t makeWord(byte h, byte l); + +#define word(...) makeWord(__VA_ARGS__) + +// WMath prototypes +long random(long); +long random(long, long); +void randomSeed(unsigned long); +long map(long, long, long, long, long); + +#if ARDUINO_BOARD == standard +#include "arduino-pins/standard.h" +#elif ARDUINO_BOARD == leonardo +#include "arduino-pins/leonardo.h" +#endif + +// this is from spreadspace utils to run call arduino's init function void arduino_init(void); #endif -- cgit v1.2.3