Robot Agent  1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Typedefs | Functions | Variables
task.h File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "config.h"
#include "def.h"
#include "enviroment.h"
#include "serialport.h"
#include "openinterface.h"
#include "rfid.h"
#include "robot.h"
#include "pf.h"
#include "queue.h"
#include "protocol.h"
#include "udp.h"
#include "pheromone.h"
#include "timelib.h"
#include "doublylinkedlist.h"
#include "debug.h"

Go to the source code of this file.

Data Structures

struct  s_TASK_STRUCT
 Task structure. More...
 
struct  s_TASK_MISSION_STRUCT
 Task mission structure. More...
 
struct  s_TASK_CONTROL_STRUCT
 Task control structure. More...
 
struct  s_TASKPIPE_REFINE_REPORT_STRUCT
 Task pipe: refine -> report. More...
 
struct  s_TASKPIPE_REPORT_MISSION_STRUCT
 Task pipe: report -> mission. More...
 
struct  s_TASKPIPE_NAVIGATE_CONTROL_STRUCT
 Task pipe: navigate -> control. More...
 

Macros

#define s_TASK_EVENT_SET   1
 
#define s_TASK_EVENT_RESET   0
 
#define s_TASK_NOP_ID   0
 
#define s_TASK_MISSION_ID   1
 
#define s_TASK_NAVIGATE_ID   2
 
#define s_TASK_CONTROL_ID   3
 
#define s_TASK_REFINE_ID   4
 
#define s_TASK_REPORT_ID   5
 
#define s_TASK_COMMUNICATE_ID   6
 
#define s_TASK_AVOID_ID   7
 

Typedefs

typedef struct s_TASK_STRUCT task_t
 Task structure. More...
 
typedef struct
s_TASK_MISSION_STRUCT 
task_mission_t
 Task mission structure. More...
 
typedef struct
s_TASK_CONTROL_STRUCT 
task_control_t
 Task control structure. More...
 
typedef struct
s_TASKPIPE_REFINE_REPORT_STRUCT 
taskpipe_refine_report_t
 Task pipe: refine -> report. More...
 
typedef struct
s_TASKPIPE_REPORT_MISSION_STRUCT 
taskpipe_report_mission_t
 Task pipe: report -> mission. More...
 
typedef struct
s_TASKPIPE_NAVIGATE_CONTROL_STRUCT 
taskpipe_navigate_control_t
 Task pipe: navigate -> control. More...
 

Functions

void task_init (int enable)
 
void task_destroy (void)
 
void task_mission (void)
 
void task_navigate (void)
 
void task_control (void)
 
void task_avoid (void)
 
void task_refine (void)
 
void task_report (void)
 
void task_communicate (void)
 

Variables

enviroment_tg_envs
 
openinterface_tg_ois
 
rfid_tg_rfids
 
pf_tg_pfs
 
robot_tg_robot
 
pheromone_tg_phs
 
udp_tg_udps
 
doublylinkedlist_tg_list_send
 
queue_tg_queue_mission
 
queue_tg_queue_navigate
 
task_t g_task_mission
 
task_t g_task_navigate
 
task_t g_task_control
 
task_t g_task_refine
 
task_t g_task_report
 
task_t g_task_communicate
 
task_t g_task_avoid
 
task_t g_task_gen_data_stream
 
task_mission_t g_task_mission_data
 
task_control_t g_task_control_data
 
taskpipe_refine_report_t g_tp_refine_report
 
taskpipe_report_mission_t g_tp_report_mission
 
taskpipe_navigate_control_t g_tp_navigate_control
 
int g_message_sequence_id
 
int g_tdma_slot
 
int g_go_ahead
 

Macro Definition Documentation

#define s_TASK_AVOID_ID   7

Definition at line 122 of file task.h.

#define s_TASK_COMMUNICATE_ID   6

Definition at line 121 of file task.h.

#define s_TASK_CONTROL_ID   3

Definition at line 118 of file task.h.

#define s_TASK_EVENT_RESET   0

Definition at line 112 of file task.h.

#define s_TASK_EVENT_SET   1

Definition at line 111 of file task.h.

#define s_TASK_MISSION_ID   1

Definition at line 116 of file task.h.

#define s_TASK_NAVIGATE_ID   2

Definition at line 117 of file task.h.

#define s_TASK_NOP_ID   0

Definition at line 115 of file task.h.

#define s_TASK_REFINE_ID   4

Definition at line 119 of file task.h.

#define s_TASK_REPORT_ID   5

Definition at line 120 of file task.h.

Typedef Documentation

Task control structure.

Task mission structure.

typedef struct s_TASK_STRUCT task_t

Task structure.

Task pipe: navigate -> control.

Task pipe: refine -> report.

Task pipe: report -> mission.

Function Documentation

void task_avoid ( void  )

Check the bump sensors for collision

Definition at line 20 of file task_avoid.c.

void task_communicate ( void  )

Communication (receive and send data)

Definition at line 20 of file task_communicate.c.

void task_control ( void  )

Sense, control, localization

Definition at line 20 of file task_control.c.

void task_destroy ( void  )

Deinitialize tasks

Definition at line 162 of file task.c.

void task_init ( int  enable)

Initialize tasks

Parameters
enableIf larger than 0, then enable all tasks at the start. Otherwise only Mission and Communicate tasks are enabled

Definition at line 69 of file task.c.

void task_mission ( void  )

Control mission

Definition at line 20 of file task_mission.c.

void task_navigate ( void  )

Control navigation

Definition at line 20 of file task_navigate.c.

void task_refine ( void  )

Refine position, localization

Definition at line 20 of file task_refine.c.

void task_report ( void  )

Report victim

Definition at line 20 of file task_report.c.

Variable Documentation

enviroment_t* g_envs

Definition at line 23 of file task.c.

int g_go_ahead

Definition at line 60 of file task.c.

doublylinkedlist_t* g_list_send

Definition at line 32 of file task.c.

int g_message_sequence_id

Definition at line 57 of file task.c.

Definition at line 24 of file task.c.

pf_t* g_pfs

Definition at line 26 of file task.c.

pheromone_t* g_phs

Definition at line 28 of file task.c.

queue_t* g_queue_mission

Definition at line 35 of file task.c.

queue_t* g_queue_navigate

Definition at line 36 of file task.c.

rfid_t* g_rfids

Definition at line 25 of file task.c.

robot_t* g_robot

Definition at line 27 of file task.c.

task_t g_task_avoid

Definition at line 45 of file task.c.

task_t g_task_communicate

Definition at line 44 of file task.c.

task_t g_task_control

Definition at line 41 of file task.c.

task_control_t g_task_control_data

Definition at line 49 of file task.c.

task_t g_task_gen_data_stream
task_t g_task_mission

Definition at line 39 of file task.c.

task_mission_t g_task_mission_data

Definition at line 48 of file task.c.

task_t g_task_navigate

Definition at line 40 of file task.c.

task_t g_task_refine

Definition at line 42 of file task.c.

task_t g_task_report

Definition at line 43 of file task.c.

int g_tdma_slot

Definition at line 58 of file task.c.

taskpipe_navigate_control_t g_tp_navigate_control

Definition at line 54 of file task.c.

taskpipe_refine_report_t g_tp_refine_report

Definition at line 52 of file task.c.

taskpipe_report_mission_t g_tp_report_mission

Definition at line 53 of file task.c.

udp_t* g_udps

Definition at line 29 of file task.c.