2014 Eurobot fork

Dependencies:   mbed-rtos mbed QEI

Processes/Motion/motion.h

Committer:
rsavitski
Date:
2013-10-15
Revision:
92:4a1225fbb146
Parent:
76:532d9bc1d2aa

File content as of revision 92:4a1225fbb146:

#ifndef EUROBOT_PROCESSES_MOTION_MOTION_H_
#define EUROBOT_PROCESSES_MOTION_MOTION_H_

#include "globals.h"
#include "rtos.h"

namespace motion
{

extern volatile int collavoiden;

void motionlayer(void const *dummy);
void waypoint_motion_handler();

// supports both polling on sticky bit via checkMotionStatus(), waiting/blocking on signal 0x1 in setter thread (signalled upon reaching the wp)
void setNewWaypoint(osThreadId setter_tid_in, Waypoint *new_wp);
bool checkMotionStatus();


// TODO: consider making mutex private and pushing all usage into API funcs
extern Mutex waypoint_flag_mutex;

}

#endif //EUROBOT_PROCESSES_MOTION_MOTION_H_