Merge pull request #353 from wolfmanjm/cleanup/headers
[clinton/Smoothieware.git] / src / modules / robot / arm_solutions / RostockSolution.h
... / ...
CommitLineData
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
10#define arm_length_checksum CHECKSUM("arm_length")
11#define arm_radius_checksum CHECKSUM("arm_radius")
12
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")
16
17class RostockSolution : public BaseSolution {
18 public:
19 RostockSolution(Config*);
20 void cartesian_to_actuator( float[], float[] );
21 void actuator_to_cartesian( float[], float[] );
22
23 float solve_arm( float millimeters[] );
24 void rotate( float in[], float out[], float sin, float cos );
25
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;
36};
37
38
39
40
41
42
43#endif // ROSTOCKSOLUTION_H