8 #ifndef EBOARD_HEADER_GUARD 9 #define EBOARD_HEADER_GUARD 15 #pragma GCC diagnostic push 16 #pragma GCC diagnostic ignored "-Wall" 17 #pragma GCC diagnostic ignored "-Wextra" 30 #define EBOARD_VERSION "3.2.7d" 31 #define EBOARD_VERSION_NBR 349 34 DEBUG_MSG(
"If you do not want any preprocessing information from this eBoard-Header set PREPROCESS_DEBUG to 0");
38 DEBUG_MSG(
"Documentation macro SET => Full doc features enabled");
43 #define EBOARD_I2C 0x1 48 #define EBOARD_LCD 0x1 52 #define EBOARD_SHIFT_REGISTER 0x1 56 #define EBOARD_BLUETOOTH 0x1 64 #define __AVR_ATmega2560__ 68 #define __AVR_ATmega328P__ 72 #define EBOARD_NEO 0x1 82 #if defined(ARDUINO) //general platform-check [No tab] 83 #include <avr/pgmspace.h> 107 #define main eVirtual_main //main has a different meaning^^ 128 DEBUG_MSG(
"You defined IGNORE_SIZE: byte will be used");
131 DEBUG_MSG(
"You did not define IGNORE_SIZE: int will be used");
143 #ifndef EBOARD_GUESSPATH 144 DEBUG_MSG(
"You are using Guesspath! Necessary libraries for eBoard will be included automatically");
148 #define EBOARD_GUESSPATH 0x1 150 DEBUG_MSG(
"You are not using Guesspath! Necessary libraries for eBoard have to be included manually");
157 #if ARDUINO >= 100 //this could be only Arduino.h but this snippet is portable :D 167 #if not ( defined(__AVR_ATmega2560__) || defined(__AVR_ATmega328P__)) 168 #error "This library was build for ARDUINO UNO R3 A and ARDUINO MEGA 2560!" 175 #if defined(__AVR_ATmega2560__) 176 DEBUG_MSG(
"Building for Arduino Mega with ATmega2560");
180 #define PIN_MAX 0x32 //53 pins to address - 4 !!53 is SS 182 DEBUG_MSG(
"Building for Arduino Uno or Nano with ATmega328P");
183 #define PIN_MAX 0xA // 13 Pins to address - 4 !!10 is SS 191 #include <avr/interrupt.h> 201 #define EBOARD_I2C 0x0 //disabled by default 204 #if EBOARD_I2C > 0x0 && EBOARD_GUESSPATH > 0x0 205 DEBUG_MSG(
"You enabled I²C features");
208 #ifndef TwoWire_h //because it will be included ._. 218 DEBUG_MSG(
"You disabled I²C");
228 #ifndef EBOARD_USE_SPI 229 #define EBOARD_USE_SPI 0x1 232 #ifdef EBOARD_HELPCAR 233 DEBUG_MSG(
"You switched to helpcar and disabled SPI");
234 #define EBOARD_USE_SPI 0x0 237 #if EBOARD_USE_SPI > 0x0 238 DEBUG_MSG(
"You enabled SPI");
239 #ifndef _SPI_H_INCLUDED 240 #define _SPI_H_INCLUDED 245 DEBUG_MSG(
"You disabled SPI");
251 #ifndef EBOARD_SPI_SERVO_MAX 252 #define EBOARD_SPI_SERVO_MAX 2 255 #if PREPROCESS_DEBUG > 0x0 256 #pragma message("Set amount of used Servos to " VALUE(EBOARD_SPI_SERVO_MAX)) 263 #if (EBOARD_I2C > 0x0) && (EBOARD_LCD > 0x0) 264 #include <avr/pgmspace.h> 265 DEBUG_MSG(
"You enabled LCD");
275 #ifndef EBOARD_DEBUG_MODE 276 #define EBOARD_DEBUG_MODE 0x1 279 #if EBOARD_DEBUG_MODE > 0x0 288 #ifndef EBOARD_DEBUG_SPEED 289 #define EBOARD_DEBUG_SPEED 9600 292 #if PREPROCESS_DEBUG > 0x0 293 #pragma message("Set Debugging speed to " VALUE(EBOARD_DEBUG_SPEED)) 304 #define EBOARD_NANO 0x0 311 #if (defined(EBOARD_HELPCAR) || defined(DOC)) 312 #ifndef EBOARD_HELPCAR_STEER 316 #define EBOARD_HELPCAR_STEER 12 319 #ifndef EBOARD_HELPCAR_MAIN 323 #define EBOARD_HELPCAR_MAIN 13 326 MACRO_MSG(
EBOARD_NANO,
"Using Arduino Helpcar environment [e.g. remove AX12Servo]");
328 #if PREPROCESS_DEBUG > 0x1 329 #pragma message("Using " VALUE(EBOARD_HELPCAR_STEER) " as data pin for STEERING MOTOR") 330 #pragma message("Using " VALUE(EBOARD_HELPCAR_MAIN) " as data pin for MAIN (Driving) MOTOR") 334 MACRO_MSG(
EBOARD_NANO,
"Using Arduino UNO/MEGA environment");
344 #ifndef EBOARD_CHECK_PINS 345 #define EBOARD_CHECK_PINS 0x1 348 #if EBOARD_CHECK_PINS > 0x0 358 #ifndef EBOARD_SHIFT_REGISTER 362 #define EBOARD_SHIFT_REGISTER 0x0 365 #if EBOARD_SHIFT_REGISTER > 0x0 378 #ifndef EBOARD_CHECK_PINS_PWM 379 #define EBOARD_CHECK_PINS_PWM 0x1 382 #if EBOARD_CHECK_PINS_PWM > 0x0 395 #ifndef EBOARD_USE_UTILITY 396 #define EBOARD_USE_UTILITY 0x1 399 #if EBOARD_USE_UTILITY > 0x0 412 #define EBOARD_COPY_AND_PASTE 0x1 421 #ifndef EBOARD_PWM_SPE 422 #define EBOARD_PWM_SPE 1 425 #if PREPROCESS_DEBUG > 0x0 426 #pragma message("Set PWM interval to " VALUE(EBOARD_PWM_SPE) "s") 433 #ifndef EBOARD_BLUETOOTH 437 #define EBOARD_BLUETOOTH 0x0 440 #if EBOARD_BLUETOOTH > 0x0 454 #define EBOARD_CLAMP 0x1 457 #if EBOARD_CLAMP > 0x0 458 MACRO_MSG(
EBOARD_CLAMP,
"Motor Range is set to [0;1023]");
460 MACRO_MSG(
EBOARD_CLAMP,
"Motor Range is set to [-300;300]");
471 #define EBOARD_NEO 0x0 475 MACRO_MSG(
EBOARD_NEO,
"Adafruit Neo-Pixel support enabled");
477 MACRO_MSG(
EBOARD_NEO,
"Adafruit Neo-Pixel support disabled");
487 #ifndef EBOARD_USE_RESET 488 #define EBOARD_USE_RESET 0x1 491 #if EBOARD_USE_RESET > 0x0 509 #ifndef PIN_BLUETOOTH_STATE 510 #if defined(__AVR_ATmega2560__) 511 #define PIN_BLUETOOTH_STATE 0x13 // 19 513 #define PIN_BLUETOOTH_STATE 0x2 520 #ifndef PIN_BLUETOOTH_RX 521 #if defined(__AVR_ATmega2560__) 522 #define PIN_BLUETOOTH_RX 0x13 // 19 524 #define PIN_BLUETOOTH_RX 0x2 531 #ifndef PIN_BLUETOOTH_TX 532 #if defined(__AVR_ATmega2560__) 533 #define PIN_BLUETOOTH_TX 0x12 // 18 535 #define PIN_BLUETOOTH_TX 0x3 546 #ifndef PIN_MOTOR_DIR 547 #define PIN_MOTOR_DIR 0x4 553 #ifndef PIN_MOTOR_SPE 554 #define PIN_MOTOR_SPE 0x5 564 #ifndef PIN_SHIFT_CLK 565 #define PIN_SHIFT_CLK 0x6 570 #ifndef PIN_SHIFT_DAT 571 #define PIN_SHIFT_DAT 0x7 576 #ifndef PIN_SHIFT_LAT 577 #define PIN_SHIFT_LAT 0x8 588 #if (EBOARD_BLUETOOTH > 0x0) && defined(__AVR_ATmega328P__) 589 #if EBOARD_GUESSPATH > 0x0 590 #ifndef SoftwareSerial_h 592 #define SoftwareSerial_h 606 #if EBOARD_BLUETOOTH > 0x0 610 #if EBOARD_BLUETOOTH > 0x0 623 #if (defined(EBOARD_HELPCAR) || defined(DOC)) 625 #if EBOARD_GUESSPATH > 0x0 635 #if EBOARD_DEBUG_MODE > 0x0 639 #define __ASSERT_USE_STDERR 654 #if EBOARD_SHIFT_REGISTER > 0x0 668 #if EBOARD_USE_SPI > 0x0 && (EBOARD_NANO == 0x0) 672 #if EBOARD_COPY_AND_PASTE > 0x0 && EBOARD_NANO == 0 675 #ifndef EBOARD_HELPCAR 706 extern void rept_task(
void);
709 DEBUG_MSG(
"You did not define REPT_TASK: rept_task(void) will not have any effect");
712 #if EBOARD_COPY_AND_PASTE > 0x0 728 #if defined(EBOARD_HELPCAR) || defined(DOC) 733 #error This library is build for arduino-devices and should be used only in the Arduino IDE or with a similar linking process 740 #pragma GCC diagnostic pop
this file contains sine8 and gamma8
this file contains the I2CInOut class
this file contains cool stuff... this file contains cool stuff... this file contains cool stuff...
this file contains the SoccerBoard class
this file contains the ServoCds55 class
this file contains cool stuff... it controls pins
this file contains the Servo class
this file contains the SPI class
this file contains cool stuff to access the bluetooth interface
this namespace contains all the don't use manually classes ;)
this file contains the assert wrapper for EBOARD_DEBUG_MODE
this file contains the NeoPixel class
this file contains the DynamixelBoard class
this file contains cool stuff to access the I²C interface
this file contains the helper to acces the motor on the main car
this file contains the AX12Servo class
this file contains the Twi class
this file contains the SoftwareSerial class
this file contains cool stuff never seen by the Arduino :/
this file contains the setup method
this file contains the LCD class
this file contains the RB14Scan class
this file contains the cool shift-EXTension
this file contains the TwoWire class
this file contains various checkers like checkIdx
[NANO] The standard Arduino Servo Class
[328p] This is used to avoid path resolving issues and defines the common known Arduino SoftwareSeria...