Merge pull request #353 from wolfmanjm/cleanup/headers
[clinton/Smoothieware.git] / src / modules / robot / arm_solutions / RostockSolution.h
CommitLineData
4e04bcd3
L
1#ifndef ROSTOCKSOLUTION_H
2#define ROSTOCKSOLUTION_H
3#include "libs/Module.h"
4#include "libs/Kernel.h"
5#include "BaseSolution.h"
6#include "libs/nuts_bolts.h"
7
8#include "libs/Config.h"
9
deee97d2
L
10#define arm_length_checksum CHECKSUM("arm_length")
11#define arm_radius_checksum CHECKSUM("arm_radius")
12
33bb9d9a
L
13#define alpha_angle_checksum CHECKSUM("alpha_angle")
14#define beta_relative_angle_checksum CHECKSUM("beta_relative_angle")
15#define gamma_relative_angle_checksum CHECKSUM("gamma_relative_angle")
4e04bcd3
L
16
17class RostockSolution : public BaseSolution {
18 public:
78d0e16a
MM
19 RostockSolution(Config*);
20 void cartesian_to_actuator( float[], float[] );
21 void actuator_to_cartesian( float[], float[] );
4e04bcd3 22
21461a92
JM
23 float solve_arm( float millimeters[] );
24 void rotate( float in[], float out[], float sin, float cos );
4e04bcd3 25
21461a92
JM
26 float arm_length;
27 float arm_radius;
28 float arm_length_squared;
29
30 float sin_alpha;
31 float cos_alpha;
32 float sin_beta;
33 float cos_beta;
34 float sin_gamma;
35 float cos_gamma;
4e04bcd3
L
36};
37
38
39
40
41
42
43#endif // ROSTOCKSOLUTION_H