9 #ifndef EBOARD_HEADER_GUARD 10 #define EBOARD_HEADER_GUARD 16 #pragma GCC diagnostic push 17 #pragma GCC diagnostic ignored "-Wall" 18 #pragma GCC diagnostic ignored "-Wextra" 31 #define EBOARD_VERSION "3.2.52d" 32 #define EBOARD_VERSION_NBR 509 35 DEBUG_MSG(
"If you do not want any preprocessing information from this eBoard-Header set PREPROCESS_DEBUG to 0");
39 DEBUG_MSG(
"Documentation macro SET => Full doc features enabled");
44 #define EBOARD_I2C 0x1 48 #define EBOARD_I2C_HELPER 0x1 53 #define EBOARD_LCD 0x1 57 #define EBOARD_SHIFT_REGISTER 0x1 61 #define EBOARD_BLUETOOTH 0x1 69 #define __AVR_ATmega2560__ 73 #define __AVR_ATmega328P__ 77 #define EBOARD_NEO 0x1 87 #if defined(ARDUINO) //general platform-check [No tab] 88 #include <avr/pgmspace.h> 112 #define main eVirtual_main //main has a different meaning^^ 133 DEBUG_MSG(
"You defined IGNORE_SIZE: byte will be used");
136 DEBUG_MSG(
"You did not define IGNORE_SIZE: int will be used");
148 #ifndef EBOARD_GUESSPATH 149 DEBUG_MSG(
"You are using Guesspath! Necessary libraries for eBoard will be included automatically");
153 #define EBOARD_GUESSPATH 0x1 155 DEBUG_MSG(
"You are not using Guesspath! Necessary libraries for eBoard have to be included manually");
162 #if ARDUINO >= 100 //this could be only Arduino.h but this snippet is portable :D 172 #if not ( defined(__AVR_ATmega2560__) || defined(__AVR_ATmega328P__)) 173 #error "This library was build for ARDUINO UNO R3 A and ARDUINO MEGA 2560!" 180 #if defined(__AVR_ATmega2560__) 181 DEBUG_MSG(
"Building for Arduino Mega with ATmega2560");
185 #define PIN_MAX 0x32 //53 pins to address - 4 !!53 is SS 187 DEBUG_MSG(
"Building for Arduino Uno or Nano with ATmega328P");
188 #define PIN_MAX 0xA // 13 Pins to address - 4 !!10 is SS 196 #include <avr/interrupt.h> 206 #define EBOARD_I2C 0x0 //disabled by default 209 #ifndef EBOARD_I2C_HELPER 213 #define EBOARD_I2C_HELPER 0x0 216 #if EBOARD_I2C > 0x0 && EBOARD_GUESSPATH > 0x0 217 DEBUG_MSG(
"You enabled I²C features");
220 #ifndef TwoWire_h //because it will be included ._. 230 DEBUG_MSG(
"You disabled I²C");
239 #ifdef EBOARD_HELPCAR 240 DEBUG_MSG(
"You switched to helpcar and disabled SPI");
241 #define EBOARD_USE_SPI 0x0 247 #ifndef EBOARD_USE_SPI 248 #define EBOARD_USE_SPI 0x1 251 #if EBOARD_USE_SPI > 0x0 252 DEBUG_MSG(
"You enabled SPI");
253 #ifndef _SPI_H_INCLUDED 254 #define _SPI_H_INCLUDED 259 DEBUG_MSG(
"You disabled SPI");
265 #ifndef EBOARD_SPI_SERVO_MAX 266 #define EBOARD_SPI_SERVO_MAX 2 269 #if PREPROCESS_DEBUG > 0x0 270 #pragma message("Set amount of used Servos to " VALUE(EBOARD_SPI_SERVO_MAX)) 277 #if (EBOARD_I2C > 0x0) && (EBOARD_LCD > 0x0) 278 #include <avr/pgmspace.h> 279 DEBUG_MSG(
"You enabled LCD");
289 #ifndef EBOARD_DEBUG_MODE 290 #define EBOARD_DEBUG_MODE 0x1 293 #if EBOARD_DEBUG_MODE > 0x0 302 #ifndef EBOARD_DEBUG_SPEED 303 #define EBOARD_DEBUG_SPEED 9600 306 #if PREPROCESS_DEBUG > 0x0 307 #pragma message("Set Debugging speed to " VALUE(EBOARD_DEBUG_SPEED)) 318 #define EBOARD_NANO 0x0 325 #if (defined(EBOARD_HELPCAR) || defined(DOC)) 326 #ifndef EBOARD_HELPCAR_STEER 330 #define EBOARD_HELPCAR_STEER 12 333 #ifndef EBOARD_HELPCAR_MAIN 337 #define EBOARD_HELPCAR_MAIN 13 340 #ifndef EBOARD_DRIVE_ZERO 344 #define EBOARD_DRIVE_ZERO 90 347 MACRO_MSG(
EBOARD_NANO,
"Using Arduino Helpcar environment [e.g. remove AX12Servo]");
349 #if PREPROCESS_DEBUG > 0x1 350 #pragma message("Using " VALUE(EBOARD_HELPCAR_STEER) " as data pin for STEERING MOTOR") 351 #pragma message("Using " VALUE(EBOARD_HELPCAR_MAIN) " as data pin for MAIN (Driving) MOTOR") 355 MACRO_MSG(
EBOARD_NANO,
"Using Arduino UNO/MEGA environment");
365 #ifndef EBOARD_CHECK_PINS 366 #define EBOARD_CHECK_PINS 0x1 369 #if EBOARD_CHECK_PINS > 0x0 379 #ifndef EBOARD_SHIFT_REGISTER 383 #define EBOARD_SHIFT_REGISTER 0x0 386 #if EBOARD_SHIFT_REGISTER > 0x0 399 #ifndef EBOARD_CHECK_PINS_PWM 400 #define EBOARD_CHECK_PINS_PWM 0x1 403 #if EBOARD_CHECK_PINS_PWM > 0x0 416 #ifndef EBOARD_USE_UTILITY 417 #define EBOARD_USE_UTILITY 0x1 420 #if EBOARD_USE_UTILITY > 0x0 433 #ifndef EBOARD_PWM_SPE 434 #define EBOARD_PWM_SPE 1 437 #if PREPROCESS_DEBUG > 0x0 438 #pragma message("Set PWM interval to " VALUE(EBOARD_PWM_SPE) "s") 445 #ifndef EBOARD_BLUETOOTH 449 #define EBOARD_BLUETOOTH 0x0 452 #ifndef EBOARD_BLUETOOTH_SPEED 456 #define EBOARD_BLUETOOTH_SPEED 19200 459 #if EBOARD_BLUETOOTH > 0x0 461 #if PREPROCESS_DEBUG > 0x0 462 #pragma message("Set Bluetooth speed to " VALUE(EBOARD_BLUETOOTH_SPEED)) 476 #define EBOARD_CLAMP 0x0 479 #if EBOARD_CLAMP > 0x0 480 MACRO_MSG(
EBOARD_CLAMP,
"Motor Range is set to [0;1023]");
482 MACRO_MSG(
EBOARD_CLAMP,
"Motor Range is set to [-300;300]");
493 #define EBOARD_NEO 0x0 497 MACRO_MSG(
EBOARD_NEO,
"Adafruit Neo-Pixel support enabled");
499 MACRO_MSG(
EBOARD_NEO,
"Adafruit Neo-Pixel support disabled");
509 #ifndef EBOARD_USE_RESET 510 #define EBOARD_USE_RESET 0x1 513 #if EBOARD_USE_RESET > 0x0 531 #ifndef PIN_BLUETOOTH_STATE 532 #if defined(__AVR_ATmega2560__) 533 #define PIN_BLUETOOTH_STATE 0x13 // 19 535 #define PIN_BLUETOOTH_STATE 0x2 542 #ifndef PIN_BLUETOOTH_RX 543 #if defined(__AVR_ATmega2560__) 544 #define PIN_BLUETOOTH_RX 0x13 // 19 546 #define PIN_BLUETOOTH_RX 0x2 553 #ifndef PIN_BLUETOOTH_TX 554 #if defined(__AVR_ATmega2560__) 555 #define PIN_BLUETOOTH_TX 0x12 // 18 557 #define PIN_BLUETOOTH_TX 0x3 568 #ifndef PIN_MOTOR_DIR 569 #define PIN_MOTOR_DIR 0x4 575 #ifndef PIN_MOTOR_SPE 576 #define PIN_MOTOR_SPE 0x5 586 #ifndef PIN_SHIFT_CLK 587 #define PIN_SHIFT_CLK 0x6 592 #ifndef PIN_SHIFT_DAT 593 #define PIN_SHIFT_DAT 0x7 598 #ifndef PIN_SHIFT_LAT 599 #define PIN_SHIFT_LAT 0x8 612 #if (EBOARD_BLUETOOTH > 0x0) 613 #if EBOARD_GUESSPATH > 0x0 614 #ifndef SoftwareSerial_h 616 #define SoftwareSerial_h 630 #if EBOARD_BLUETOOTH > 0x0 634 #if EBOARD_BLUETOOTH > 0x0 647 #if (defined(EBOARD_HELPCAR) || defined(DOC)) 649 #if EBOARD_GUESSPATH > 0x0 659 #if EBOARD_DEBUG_MODE > 0x0 663 #define __ASSERT_USE_STDERR 678 #if EBOARD_SHIFT_REGISTER > 0x0 692 #if EBOARD_USE_SPI > 0x0 && (EBOARD_NANO == 0x0) 699 #ifndef EBOARD_HELPCAR 734 DEBUG_MSG(
"You did not define REPT_TASK: rept_task(void) will not have any effect");
751 #if defined(EBOARD_HELPCAR) || defined(DOC) 756 #error This library is build for arduino-devices and should be used only in the Arduino IDE or with a similar linking process 763 #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...