Aruna
movement.h
Go to the documentation of this file.
1 //
2 // Created by noeel on 6-1-19.
3 //
4 
5 #ifndef ARUNA_MOVEMENT_H
6 #define ARUNA_MOVEMENT_H
7 
8 #include <stdint.h>
11 namespace aruna { namespace movement {
12 // variables
13 
14 
15 // functions
16 
17 
23 
30 status_t start();
31 
38 status_t stop();
39 
45 
50 void* comm_handler_task(void *arg);
51 
52 
61 void set_damping(axis_mask_t axisMask, damping_t damp);
62 
68 damping_t get_damping(axis_mask_t single_axis);
75 err_t register_driver(Actuator *driver);
76 
83 err_t unregister_driver(Actuator *driver);
84 // TODO implement
85 
89 void calibrate_sensors();
90 
95 uint8_t test_sensor();
96 
102 void set_speed(axis_mask_t axisMask, int16_t speed);
103 
109 void set_velocity(axis_mask_t axisMask, int16_t mm_per_second);
110 
116 void set_degree(axis_mask_t axisMask, int16_t degree);
117 
123 int16_t get_speed(axis_mask_t single_axis);
124 
130 int16_t get_velocity(axis_mask_t single_axis);
131 
137 int16_t get_degree(axis_mask_t single_axis);
138 
139 
140 }}
141 #endif //ARUNA_MOVEMENT_H
Definition: comm.cpp:14
uint8_t test_sensor()
test whenever the sensors are connected, sensor should be horizontal and facing up.
Definition: movement.cpp:291
void set_velocity(axis_mask_t axisMask, int16_t mm_per_second)
Set the target velocity of the ROV.
Definition: movement.cpp:333
void calibrate_sensors()
Calibarte the sensors, aka set 0 point.
Definition: movement.cpp:287
int16_t get_speed(axis_mask_t single_axis)
Get the speed of an axis.
Definition: movement.cpp:314
status_t get_status()
get the status of the movement unit.
Definition: movement.cpp:56
int16_t get_velocity(axis_mask_t single_axis)
get the current velocity
Definition: movement.cpp:318
int16_t get_degree(axis_mask_t single_axis)
get the angle of an axis (pitch, roll and yaw only)
Definition: movement.cpp:322
err_t unregister_driver(Actuator *driver)
unregister a accelerator driver for use.
void set_damping(axis_mask_t axisMask, damping_t damp)
set the damping type.
Definition: movement.cpp:349
void * comm_handler_task(void *arg)
task to handle all the incoming comm requests.
Definition: movement.cpp:60
void set_degree(axis_mask_t axisMask, int16_t degree)
set the degree of an axis (only applies to yaw, pitch and roll)
Definition: movement.cpp:329
status_t stop()
Stop all motors and free all processes.
Definition: movement.cpp:263
Link * driver
stores the driver.
Definition: comm.cpp:45
damping_t get_damping(axis_mask_t single_axis)
get the damping of a single mode.
Definition: movement.cpp:345
axis_mask_t get_active_axis()
Get active modus (X,Y,Z,yawn,pitch,roll)
Definition: movement.cpp:337
err_t register_driver(Actuator *driver)
register a accelerator driver for use.
Definition: movement.cpp:278
void set_speed(axis_mask_t axisMask, int16_t speed)
Set the speed of the motors directly.
Definition: movement.cpp:296
status_t start()
initialise movement and communicate with hardware for active modes.
Definition: movement.cpp:30