eBoard ①⑧⑨
Written for SIA 2017/2018
eBoard.h File Reference

this is the main file - nice :D More...

#include "source/eagle_PreprocessorControl.h"
#include <avr/pgmspace.h>
#include "Arduino.h"
#include <avr/io.h>
#include <avr/interrupt.h>
#include "source/eagle_Twi.h"
#include "source/eagle_TwoWire.h"
#include "source/eagle_SPI.h"
#include <avr/wdt.h>
#include "source/eagle_SoftwareSerial.h"
#include "source/eagle_Bluetooth.h"
#include "source/eagle_RB14Scan.h"
#include "source/eagle_Comfort.h"
#include "source/eagle_Servo.h"
#include "source/eagle_Assert.h"
#include "source/eagle_Checks.h"
#include "source/eagle_ShiftExt.h"
#include "source/eagle_PinCtrl.h"
#include "source/eagle_ServoCds55.h"
#include "source/eagle_SoccerBoard.h"
#include "source/eagle_I2CInOut.h"
#include "source/eagle_AX12Servo.h"
#include "source/eagle_DynamixelBoard.h"
#include "source/eagle_I2C.h"
#include "source/eagle_LCD.h"
#include "source/eagle_NeoPixel.h"
#include "source/eagle_ReptTask.h"
#include "source/eagle_Setup.h"
#include "source/eagle_HelpMot.h"
+ Include dependency graph for eBoard.h:

Go to the source code of this file.

Namespaces

 eagle_impl
 this namespace contains all the don't use manually classes ;)
 

Macros

#define EBOARD_VERSION   "3.2.52d"
 
#define EBOARD_VERSION_NBR   509
 
#define ARDUINO   200
 
#define EBOARD_I2C   0x1
 
#define EBOARD_I2C_HELPER   0x1
 
#define EBOARD_LCD   0x1
 
#define EBOARD_SHIFT_REGISTER   0x1
 
#define EBOARD_BLUETOOTH   0x1
 
#define REPT_TASK
 
#define __AVR_ATmega2560__
 
#define __AVR_ATmega328P__
 
#define EBOARD_NEO   0x1
 
#define HIGHSPEED
 
#define __AVR__
 ignore me ;) More...
 
#define main   eVirtual_main
 
#define EBOARD_GUESSPATH   0x1
 
#define PIN_MAX   0x32
 
#define twi_h
 
#define EBOARD_USE_SPI   0x1
 
#define _SPI_H_INCLUDED
 
#define EBOARD_SPI_SERVO_MAX   2
 
#define EBOARD_DEBUG_MODE   0x1
 
#define EBOARD_DEBUG_SPEED   9600
 
#define EBOARD_NANO   0x0
 
#define EBOARD_HELPCAR_STEER   12
 
#define EBOARD_HELPCAR_MAIN   13
 
#define EBOARD_DRIVE_ZERO   90
 
#define EBOARD_CHECK_PINS   0x1
 
#define EBOARD_CHECK_PINS_PWM   0x1
 
#define EBOARD_USE_UTILITY   0x1
 
#define EBOARD_PWM_SPE   1
 
#define EBOARD_BLUETOOTH_SPEED   19200
 
#define EBOARD_CLAMP   0x0
 
#define EBOARD_USE_RESET   0x1
 
#define PIN_BLUETOOTH_STATE   0x13
 
#define PIN_BLUETOOTH_RX   0x13
 
#define PIN_BLUETOOTH_TX   0x12
 
#define PIN_MOTOR_DIR   0x4
 
#define PIN_MOTOR_SPE   0x5
 
#define PIN_SHIFT_CLK   0x6
 
#define PIN_SHIFT_DAT   0x7
 
#define PIN_SHIFT_LAT   0x8
 
#define SoftwareSerial_h
 
#define __ASSERT_USE_STDERR
 

Typedefs

typedef int optVAL_t
 

Functions

void rept_task (void)
 
void loop (void)
 As we have an Arduino we need a setup function ;) More...
 

Variables

static bool STOP = false
 
SoftwareSerial _serial
 this is the recomenned-to-use _serial object for bluetooth communcation :D More...
 
Servo mainMotor
 
Servo steerMotor
 

Detailed Description

this is the main file - nice :D

Definition in file eBoard.h.

Macro Definition Documentation

◆ __ASSERT_USE_STDERR

#define __ASSERT_USE_STDERR
Macro or Constant:
[DEBUG_MODE] enables to use custom assert output

Definition at line 663 of file eBoard.h.

◆ __AVR__

#define __AVR__

ignore me ;)

Definition at line 85 of file eBoard.h.

◆ __AVR_ATmega2560__

#define __AVR_ATmega2560__
Macro or Constant:
This is the Macro that will be defined automatically by the ARUDINO IDE if you compile this program for an ARDUINO MEGA 2560

Definition at line 69 of file eBoard.h.

◆ __AVR_ATmega328P__

#define __AVR_ATmega328P__
Macro or Constant:
This is the Macro that will be defined automatically by the ARUDINO IDE if you compile this program for an ARDUINO UNO R3

Definition at line 73 of file eBoard.h.

◆ _SPI_H_INCLUDED

#define _SPI_H_INCLUDED
Macro or Constant:
the header macro to assure that there is a SPIClass available

Definition at line 255 of file eBoard.h.

◆ ARDUINO

#define ARDUINO   200

Definition at line 40 of file eBoard.h.

◆ EBOARD_BLUETOOTH

#define EBOARD_BLUETOOTH   0x1
Macro or Constant:
This will appear as 0x1 in the docs but the real default value is 0x0

Definition at line 61 of file eBoard.h.

◆ EBOARD_BLUETOOTH_SPEED

#define EBOARD_BLUETOOTH_SPEED   19200
Macro or Constant:
this controls the soeed for the Bluetooth communication

Definition at line 456 of file eBoard.h.

◆ EBOARD_CHECK_PINS

#define EBOARD_CHECK_PINS   0x1
Macro or Constant:
this is a copy and paste guard to check if the pins used are still in Bound... it was designed for digital pins and shouldnt be disabled

Definition at line 366 of file eBoard.h.

◆ EBOARD_CHECK_PINS_PWM

#define EBOARD_CHECK_PINS_PWM   0x1
Macro or Constant:
this should be disabled when reaching RELEASED-state. This will check if an PWM-controlled pin is really capable of HPWM ^^

Definition at line 400 of file eBoard.h.

◆ EBOARD_CLAMP

#define EBOARD_CLAMP   0x0
Macro or Constant:
set this to 0x1 to enable clamp

Definition at line 476 of file eBoard.h.

◆ EBOARD_DEBUG_MODE

#define EBOARD_DEBUG_MODE   0x1
Macro or Constant:
you should definitly set EBOARD_DEBUG_MODE to 0x0 when completed developing. This will shrink the size of the program :D

Definition at line 290 of file eBoard.h.

◆ EBOARD_DEBUG_SPEED

#define EBOARD_DEBUG_SPEED   9600
Macro or Constant:
this sets the speed of the Serial connection.... you probably don't need to change this

Definition at line 303 of file eBoard.h.

◆ EBOARD_DRIVE_ZERO

#define EBOARD_DRIVE_ZERO   90
Macro or Constant:
The zero speed for the main motor

Definition at line 344 of file eBoard.h.

◆ EBOARD_GUESSPATH

#define EBOARD_GUESSPATH   0x1
Macro or Constant:
If this is set to 0x1 the library will guess the paths of included libraries based on your operating system

Definition at line 153 of file eBoard.h.

◆ EBOARD_HELPCAR_MAIN

#define EBOARD_HELPCAR_MAIN   13
Macro or Constant:
Data pin of the main Motor

Definition at line 337 of file eBoard.h.

◆ EBOARD_HELPCAR_STEER

#define EBOARD_HELPCAR_STEER   12
Macro or Constant:
Data pin of the steering Motor

Definition at line 330 of file eBoard.h.

◆ EBOARD_I2C

#define EBOARD_I2C   0x1
Macro or Constant:
This will appear as 0x1 in the docs but the real default value is 0x0

Definition at line 44 of file eBoard.h.

◆ EBOARD_I2C_HELPER

#define EBOARD_I2C_HELPER   0x1
Macro or Constant:
This will appear as 0x1 in the docs but the real default value is 0x0

Definition at line 48 of file eBoard.h.

◆ EBOARD_LCD

#define EBOARD_LCD   0x1
Macro or Constant:
This will appear as 0x1 in the docs but the real default value is 0x0 This will enable the support for the OLED I²C 128x64 Monochrome display

Definition at line 53 of file eBoard.h.

◆ EBOARD_NANO

#define EBOARD_NANO   0x0
Macro or Constant:
this will disable soccerBoard class DynamixelBoard etc!

Definition at line 318 of file eBoard.h.

◆ EBOARD_NEO

#define EBOARD_NEO   0x1
Macro or Constant:
This will appear as 0x1 in the docs but the real default value is 0x0

Definition at line 77 of file eBoard.h.

◆ EBOARD_PWM_SPE

#define EBOARD_PWM_SPE   1
Macro or Constant:
duty cycle for async task execution... should be higher than 1

Definition at line 434 of file eBoard.h.

◆ EBOARD_SHIFT_REGISTER

#define EBOARD_SHIFT_REGISTER   0x1
Macro or Constant:
This will appear as 0x1 in the docs but the real default value is 0x0

Definition at line 57 of file eBoard.h.

◆ EBOARD_SPI_SERVO_MAX

#define EBOARD_SPI_SERVO_MAX   2
Macro or Constant:
this sets the amount of connected servos to the shield

Definition at line 266 of file eBoard.h.

◆ EBOARD_USE_RESET

#define EBOARD_USE_RESET   0x1
Macro or Constant:
set this to 0x0 to disable software reset

Definition at line 510 of file eBoard.h.

◆ EBOARD_USE_SPI

#define EBOARD_USE_SPI   0x1
Macro or Constant:
this has to be enabled to use the shield

Definition at line 248 of file eBoard.h.

◆ EBOARD_USE_UTILITY

#define EBOARD_USE_UTILITY   0x1
Macro or Constant:
this will remove multiple wrapper from compile-segment. Probably won't change program size

Definition at line 417 of file eBoard.h.

◆ EBOARD_VERSION

#define EBOARD_VERSION   "3.2.52d"
Macro or Constant:
Defines the Version of the eBoard Header as String

Definition at line 31 of file eBoard.h.

◆ EBOARD_VERSION_NBR

#define EBOARD_VERSION_NBR   509
Macro or Constant:
Defines the Version of the eBoard Header as Number

Definition at line 33 of file eBoard.h.

◆ HIGHSPEED

#define HIGHSPEED
Macro or Constant:
This isn't defined by default. If you define it the LCD will be addressed with 400kHz.
Warning
This will only work if every connected device supports 400kHz I²C!

Definition at line 83 of file eBoard.h.

◆ main

#define main   eVirtual_main
Macro or Constant:
This is used for copy_and_paste and renames the copied main-method

Definition at line 112 of file eBoard.h.

◆ PIN_BLUETOOTH_RX

#define PIN_BLUETOOTH_RX   0x13
Macro or Constant:
this is the RX-Pin reserved for bluetooth communication

Definition at line 544 of file eBoard.h.

◆ PIN_BLUETOOTH_STATE

#define PIN_BLUETOOTH_STATE   0x13
Macro or Constant:
this is the STATE PIN. If it is equal to the PIN_BLUETOOTH_RX it won't be used!

Definition at line 533 of file eBoard.h.

◆ PIN_BLUETOOTH_TX

#define PIN_BLUETOOTH_TX   0x12
Macro or Constant:
this is the TX-Pin reserved for bluetooth communication

Definition at line 555 of file eBoard.h.

◆ PIN_MAX

#define PIN_MAX   0x32
Macro or Constant:
This defines the Maximum to-address pin. On MEGA its 49 on UNO its 9

Definition at line 185 of file eBoard.h.

◆ PIN_MOTOR_DIR

#define PIN_MOTOR_DIR   0x4
Macro or Constant:
this is the DiOut pin reserved to control the dir of the main motor

Definition at line 569 of file eBoard.h.

◆ PIN_MOTOR_SPE

#define PIN_MOTOR_SPE   0x5
Macro or Constant:
this is the DiOut FAST_PWM [~1kHz] pin reserved to control the dir of the main motor

Definition at line 576 of file eBoard.h.

◆ PIN_SHIFT_CLK

#define PIN_SHIFT_CLK   0x6
Macro or Constant:
this is the clock pin for the SN74HC595

Definition at line 587 of file eBoard.h.

◆ PIN_SHIFT_DAT

#define PIN_SHIFT_DAT   0x7
Macro or Constant:
this is the data pin for the SN74HC595

Definition at line 593 of file eBoard.h.

◆ PIN_SHIFT_LAT

#define PIN_SHIFT_LAT   0x8
Macro or Constant:
this is the latch pin for the SN74HC595

Definition at line 599 of file eBoard.h.

◆ REPT_TASK

#define REPT_TASK
Macro or Constant:
This constant won't be defined by default :D
This enables you to make use of the async features

Definition at line 65 of file eBoard.h.

◆ SoftwareSerial_h

#define SoftwareSerial_h

Definition at line 616 of file eBoard.h.

◆ twi_h

#define twi_h

Definition at line 219 of file eBoard.h.

Typedef Documentation

◆ optVAL_t

typedef int optVAL_t

Definition at line 137 of file eBoard.h.

Function Documentation

◆ loop()

void loop ( void  )

As we have an Arduino we need a setup function ;)

◆ rept_task()

void rept_task ( void  )

Variable Documentation

◆ _serial

SoftwareSerial _serial

this is the recomenned-to-use _serial object for bluetooth communcation :D

The used pins are based on PIN_BLUETOOTH_RX and PIN_BLUETOOTH_TX

Definition at line 625 of file eBoard.h.

◆ mainMotor

Servo mainMotor

Definition at line 651 of file eBoard.h.

◆ steerMotor

Servo steerMotor

Definition at line 651 of file eBoard.h.

◆ STOP

bool STOP = false
static
Macro or Constant:
this will end any loop done by eBoard
Note
you can manipulate this with REPT_TASK
to avoid desync bug this won't stop the nonblocking LCD connection!

Definition at line 123 of file eBoard.h.