Файл main.cpp

#include <inttypes.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#include <util/delay.h>

Граф включаемых заголовочных файлов для main.cpp:

См. исходные тексты.

Макросы

#define PORTOUT   PORTB
#define DDROUT   DDRB
#define PINOUT   PINB
#define MOTOR_F   PB5
#define MOTOR_B   PB3
#define TURN_L   PB4
#define TURN_R   PB2
#define IRLED   PB1
#define PORTIN   PORTD
#define DDRIN   DDRD
#define PININ   PIND
#define LIGHT_R   PD0
#define LIGHT_L   PD1
#define BUMPER_F   PD3
#define SBI(port, bit)   port |= (1<<(bit))
#define CBI(port, bit)   port &= ~(1<<(bit))

Перечисления

enum  direction_t {
  STOP = 0, F, FR, FL,
  B, BR, BL
}
 Возможные режимы движения. Подробнее...

Функции

void go (direction_t direction)
direction_t next_move (void)
void walk (void)
int main (void)

Переменные

const unsigned int TIME = 1
unsigned char p [7][7]
direction_t this_move
 текущее направление движения.


Макросы

#define BUMPER_F   PD3

См. определение в файле main.cpp строка 50

#define CBI ( port,
bit   )     port &= ~(1<<(bit))

См. определение в файле main.cpp строка 53

Используется в go() и walk().

#define DDRIN   DDRD

См. определение в файле main.cpp строка 46

Используется в main().

#define DDROUT   DDRB

См. определение в файле main.cpp строка 37

Используется в main().

#define IRLED   PB1

См. определение в файле main.cpp строка 43

Используется в walk().

#define LIGHT_L   PD1

См. определение в файле main.cpp строка 49

Используется в walk().

#define LIGHT_R   PD0

См. определение в файле main.cpp строка 48

Используется в walk().

#define MOTOR_B   PB3

См. определение в файле main.cpp строка 40

Используется в go().

#define MOTOR_F   PB5

См. определение в файле main.cpp строка 39

Используется в go().

#define PININ   PIND

См. определение в файле main.cpp строка 47

Используется в walk().

#define PINOUT   PINB

См. определение в файле main.cpp строка 38

#define PORTIN   PORTD

См. определение в файле main.cpp строка 45

Используется в main().

#define PORTOUT   PORTB

См. определение в файле main.cpp строка 36

Используется в go(), main() и walk().

#define SBI ( port,
bit   )     port |= (1<<(bit))

См. определение в файле main.cpp строка 52

Используется в go() и walk().

#define TURN_L   PB4

См. определение в файле main.cpp строка 41

Используется в go().

#define TURN_R   PB2

См. определение в файле main.cpp строка 42

Используется в go().


Перечисления

enum direction_t

Возможные режимы движения.

Элементы перечислений:
STOP 
F 
FR 
FL 
B 
BR 
BL 

См. определение в файле main.cpp строка 60


Функции

void go ( direction_t  direction  ) 

Включение комбинации моторов для движения в заданном направлении

См. определение в файле main.cpp строка 89

Перекрестные ссылки B, BL, BR, CBI, F, FL, FR, MOTOR_B, MOTOR_F, PORTOUT, SBI, STOP, TURN_L и TURN_R.

Используется в walk().

Граф вызова функции:

int main ( void   ) 

Главная программа

См. определение в файле main.cpp строка 219

Перекрестные ссылки DDRIN, DDROUT, PORTIN, PORTOUT и walk().

Граф вызовов:

direction_t next_move ( void   ) 

Выбор направления движения в следующем шаге по таблице вероятностей

См. определение в файле main.cpp строка 145

Перекрестные ссылки BL, p, STOP и this_move.

Используется в walk().

Граф вызова функции:

void walk ( void   )  [inline]

"Случайное блуждание"

См. определение в файле main.cpp строка 163

Перекрестные ссылки B, BL, BR, CBI, F, FL, FR, go(), IRLED, LIGHT_L, LIGHT_R, next_move(), PININ, PORTOUT, SBI, this_move и TIME.

Используется в main().

Граф вызовов:

Граф вызова функции:


Переменные

unsigned char p[7][7]

Инициализатор

 {
    {14,    43,   57,   71,     7,      100,    100},
    {7,     43,   71,   100,    100,    100,    100},
    {7,     50,   93,   100,    100,    100,    100},
    {7,     50,   57,   100,    100,    100,    100},
    {29,    29,   29,   29,     57,     79,     100},
    {36,    36,   36,   36,     71,     93,     100},
    {36,    36,   36,   36,     71,     79,     100},
}
таблица вероятностей для выбора направления движения исходя из текущего направления движения

См. определение в файле main.cpp строка 71

Используется в next_move().

direction_t this_move

текущее направление движения.

См. определение в файле main.cpp строка 83

Используется в next_move() и walk().

const unsigned int TIME = 1

См. определение в файле main.cpp строка 61

Используется в walk().


Документация по robot. Последние изменения: Fri Apr 18 11:24:41 2008. Создано системой  doxygen 1.5.3