Aruna
movement.cpp File Reference
#include <aruna/movement.h>
#include <set>
#include <aruna/comm.h>
#include "aruna/movement/Actuator.h"
#include <pthread.h>
#include "aruna/log.h"
Include dependency graph for movement.cpp:

Go to the source code of this file.

Namespaces

 aruna
 
 aruna::movement
 
 aruna::movement::anonymous_namespace{movement.cpp}
 

Functions

status_t aruna::movement::start ()
 initialise movement and communicate with hardware for active modes. More...
 
status_t aruna::movement::get_status ()
 get the status of the movement unit. More...
 
void * aruna::movement::comm_handler_task (void *arg)
 task to handle all the incoming comm requests. More...
 
status_t aruna::movement::stop ()
 Stop all motors and free all processes. More...
 
err_t aruna::movement::register_driver (Actuator *driver)
 register a accelerator driver for use. More...
 
void aruna::movement::calibrate_sensors ()
 Calibarte the sensors, aka set 0 point. More...
 
uint8_t aruna::movement::test_sensor ()
 test whenever the sensors are connected, sensor should be horizontal and facing up. More...
 
void aruna::movement::set_speed (axis_mask_t axisMask, int16_t speed)
 Set the speed of the motors directly. More...
 
int16_t aruna::movement::get_speed (axis_mask_t single_axis)
 Get the speed of an axis. More...
 
int16_t aruna::movement::get_velocity (axis_mask_t single_axis)
 get the current velocity More...
 
int16_t aruna::movement::get_degree (axis_mask_t single_axis)
 get the angle of an axis (pitch, roll and yaw only) More...
 
void aruna::movement::set_degree (axis_mask_t axisMask, int16_t degree)
 set the degree of an axis (only applies to yaw, pitch and roll) More...
 
void aruna::movement::set_velocity (axis_mask_t axisMask, int16_t mm_per_second)
 Set the target velocity of the ROV. More...
 
axis_mask_t aruna::movement::get_active_axis ()
 Get active modus (X,Y,Z,yawn,pitch,roll) More...
 
damping_t aruna::movement::get_damping (axis_mask_t single_axis)
 get the damping of a single mode. More...
 
void aruna::movement::set_damping (axis_mask_t axisMask, damping_t damp)
 set the damping type. More...
 

Variables

log::channel_t * aruna::movement::anonymous_namespace{movement.cpp}::log
 
status_t aruna::movement::anonymous_namespace{movement.cpp}::movement_status = status_t::STOPPED
 
pthread_t aruna::movement::anonymous_namespace{movement.cpp}::movement_comm_handler
 
std::set< Actuator * > aruna::movement::anonymous_namespace{movement.cpp}::drivers
 
axis_t< int16_t > aruna::movement::anonymous_namespace{movement.cpp}::currentSpeed = {0, 0, 0, 0, 0, 0}
 
axis_t< int16_t > aruna::movement::anonymous_namespace{movement.cpp}::currentVelocity = {0, 0, 0, 0, 0, 0}
 
axis_t< int16_t > aruna::movement::anonymous_namespace{movement.cpp}::currentDegree = {0, 0, 0, 0, 0, 0}
 
axis_t< damping_t > aruna::movement::anonymous_namespace{movement.cpp}::currentDamping