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.28d" 32 #define EBOARD_VERSION_NBR 370 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 49 #define EBOARD_LCD 0x1 53 #define EBOARD_SHIFT_REGISTER 0x1 57 #define EBOARD_BLUETOOTH 0x1 65 #define __AVR_ATmega2560__ 69 #define __AVR_ATmega328P__ 73 #define EBOARD_NEO 0x1 83 #if defined(ARDUINO) //general platform-check [No tab] 84 #include <avr/pgmspace.h> 108 #define main eVirtual_main //main has a different meaning^^ 129 DEBUG_MSG(
"You defined IGNORE_SIZE: byte will be used");
132 DEBUG_MSG(
"You did not define IGNORE_SIZE: int will be used");
144 #ifndef EBOARD_GUESSPATH 145 DEBUG_MSG(
"You are using Guesspath! Necessary libraries for eBoard will be included automatically");
149 #define EBOARD_GUESSPATH 0x1 151 DEBUG_MSG(
"You are not using Guesspath! Necessary libraries for eBoard have to be included manually");
158 #if ARDUINO >= 100 //this could be only Arduino.h but this snippet is portable :D 168 #if not ( defined(__AVR_ATmega2560__) || defined(__AVR_ATmega328P__)) 169 #error "This library was build for ARDUINO UNO R3 A and ARDUINO MEGA 2560!" 176 #if defined(__AVR_ATmega2560__) 177 DEBUG_MSG(
"Building for Arduino Mega with ATmega2560");
181 #define PIN_MAX 0x32 //53 pins to address - 4 !!53 is SS 183 DEBUG_MSG(
"Building for Arduino Uno or Nano with ATmega328P");
184 #define PIN_MAX 0xA // 13 Pins to address - 4 !!10 is SS 192 #include <avr/interrupt.h> 202 #define EBOARD_I2C 0x0 //disabled by default 205 #if EBOARD_I2C > 0x0 && EBOARD_GUESSPATH > 0x0 206 DEBUG_MSG(
"You enabled I²C features");
209 #ifndef TwoWire_h //because it will be included ._. 219 DEBUG_MSG(
"You disabled I²C");
229 #ifndef EBOARD_USE_SPI 230 #define EBOARD_USE_SPI 0x1 233 #ifdef EBOARD_HELPCAR 234 DEBUG_MSG(
"You switched to helpcar and disabled SPI");
235 #define EBOARD_USE_SPI 0x0 238 #if EBOARD_USE_SPI > 0x0 239 DEBUG_MSG(
"You enabled SPI");
240 #ifndef _SPI_H_INCLUDED 241 #define _SPI_H_INCLUDED 246 DEBUG_MSG(
"You disabled SPI");
252 #ifndef EBOARD_SPI_SERVO_MAX 253 #define EBOARD_SPI_SERVO_MAX 2 256 #if PREPROCESS_DEBUG > 0x0 257 #pragma message("Set amount of used Servos to " VALUE(EBOARD_SPI_SERVO_MAX)) 264 #if (EBOARD_I2C > 0x0) && (EBOARD_LCD > 0x0) 265 #include <avr/pgmspace.h> 266 DEBUG_MSG(
"You enabled LCD");
276 #ifndef EBOARD_DEBUG_MODE 277 #define EBOARD_DEBUG_MODE 0x1 280 #if EBOARD_DEBUG_MODE > 0x0 289 #ifndef EBOARD_DEBUG_SPEED 290 #define EBOARD_DEBUG_SPEED 9600 293 #if PREPROCESS_DEBUG > 0x0 294 #pragma message("Set Debugging speed to " VALUE(EBOARD_DEBUG_SPEED)) 305 #define EBOARD_NANO 0x0 312 #if (defined(EBOARD_HELPCAR) || defined(DOC)) 313 #ifndef EBOARD_HELPCAR_STEER 317 #define EBOARD_HELPCAR_STEER 12 320 #ifndef EBOARD_HELPCAR_MAIN 324 #define EBOARD_HELPCAR_MAIN 13 327 MACRO_MSG(
EBOARD_NANO,
"Using Arduino Helpcar environment [e.g. remove AX12Servo]");
329 #if PREPROCESS_DEBUG > 0x1 330 #pragma message("Using " VALUE(EBOARD_HELPCAR_STEER) " as data pin for STEERING MOTOR") 331 #pragma message("Using " VALUE(EBOARD_HELPCAR_MAIN) " as data pin for MAIN (Driving) MOTOR") 335 MACRO_MSG(
EBOARD_NANO,
"Using Arduino UNO/MEGA environment");
345 #ifndef EBOARD_CHECK_PINS 346 #define EBOARD_CHECK_PINS 0x1 349 #if EBOARD_CHECK_PINS > 0x0 359 #ifndef EBOARD_SHIFT_REGISTER 363 #define EBOARD_SHIFT_REGISTER 0x0 366 #if EBOARD_SHIFT_REGISTER > 0x0 379 #ifndef EBOARD_CHECK_PINS_PWM 380 #define EBOARD_CHECK_PINS_PWM 0x1 383 #if EBOARD_CHECK_PINS_PWM > 0x0 396 #ifndef EBOARD_USE_UTILITY 397 #define EBOARD_USE_UTILITY 0x1 400 #if EBOARD_USE_UTILITY > 0x0 413 #ifndef EBOARD_PWM_SPE 414 #define EBOARD_PWM_SPE 1 417 #if PREPROCESS_DEBUG > 0x0 418 #pragma message("Set PWM interval to " VALUE(EBOARD_PWM_SPE) "s") 425 #ifndef EBOARD_BLUETOOTH 429 #define EBOARD_BLUETOOTH 0x0 432 #if EBOARD_BLUETOOTH > 0x0 446 #define EBOARD_CLAMP 0x1 449 #if EBOARD_CLAMP > 0x0 450 MACRO_MSG(
EBOARD_CLAMP,
"Motor Range is set to [0;1023]");
452 MACRO_MSG(
EBOARD_CLAMP,
"Motor Range is set to [-300;300]");
463 #define EBOARD_NEO 0x0 467 MACRO_MSG(
EBOARD_NEO,
"Adafruit Neo-Pixel support enabled");
469 MACRO_MSG(
EBOARD_NEO,
"Adafruit Neo-Pixel support disabled");
479 #ifndef EBOARD_USE_RESET 480 #define EBOARD_USE_RESET 0x1 483 #if EBOARD_USE_RESET > 0x0 501 #ifndef PIN_BLUETOOTH_STATE 502 #if defined(__AVR_ATmega2560__) 503 #define PIN_BLUETOOTH_STATE 0x13 // 19 505 #define PIN_BLUETOOTH_STATE 0x2 512 #ifndef PIN_BLUETOOTH_RX 513 #if defined(__AVR_ATmega2560__) 514 #define PIN_BLUETOOTH_RX 0x13 // 19 516 #define PIN_BLUETOOTH_RX 0x2 523 #ifndef PIN_BLUETOOTH_TX 524 #if defined(__AVR_ATmega2560__) 525 #define PIN_BLUETOOTH_TX 0x12 // 18 527 #define PIN_BLUETOOTH_TX 0x3 538 #ifndef PIN_MOTOR_DIR 539 #define PIN_MOTOR_DIR 0x4 545 #ifndef PIN_MOTOR_SPE 546 #define PIN_MOTOR_SPE 0x5 556 #ifndef PIN_SHIFT_CLK 557 #define PIN_SHIFT_CLK 0x6 562 #ifndef PIN_SHIFT_DAT 563 #define PIN_SHIFT_DAT 0x7 568 #ifndef PIN_SHIFT_LAT 569 #define PIN_SHIFT_LAT 0x8 580 #if (EBOARD_BLUETOOTH > 0x0) && defined(__AVR_ATmega328P__) 581 #if EBOARD_GUESSPATH > 0x0 582 #ifndef SoftwareSerial_h 584 #define SoftwareSerial_h 598 #if EBOARD_BLUETOOTH > 0x0 602 #if EBOARD_BLUETOOTH > 0x0 615 #if (defined(EBOARD_HELPCAR) || defined(DOC)) 617 #if EBOARD_GUESSPATH > 0x0 627 #if EBOARD_DEBUG_MODE > 0x0 631 #define __ASSERT_USE_STDERR 646 #if EBOARD_SHIFT_REGISTER > 0x0 660 #if EBOARD_USE_SPI > 0x0 && (EBOARD_NANO == 0x0) 667 #ifndef EBOARD_HELPCAR 701 DEBUG_MSG(
"You did not define REPT_TASK: rept_task(void) will not have any effect");
718 #if defined(EBOARD_HELPCAR) || defined(DOC) 723 #error This library is build for arduino-devices and should be used only in the Arduino IDE or with a similar linking process 730 #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...