Merge branch 'edge'
[clinton/Smoothieware.git] / src / modules / utils / currentcontrol / CurrentControl.h
1 #ifndef CURRENTCONTROL_H
2 #define CURRENTCONTROL_H
3
4 #include "libs/Kernel.h"
5 #include "libs/nuts_bolts.h"
6 #include "libs/utils.h"
7 #include "libs/Pin.h"
8 #include "DigipotBase.h"
9
10 #define alpha_current_checksum CHECKSUM("alpha_current")
11 #define beta_current_checksum CHECKSUM("beta_current")
12 #define gamma_current_checksum CHECKSUM("gamma_current")
13 #define delta_current_checksum CHECKSUM("delta_current")
14 #define epsilon_current_checksum CHECKSUM("epsilon_current")
15 #define zeta_current_checksum CHECKSUM("zeta_current")
16 #define eta_current_checksum CHECKSUM("eta_current")
17 #define theta_current_checksum CHECKSUM("theta_current")
18 #define currentcontrol_module_enable_checksum CHECKSUM("currentcontrol_module_enable")
19 #define digipotchip_checksum CHECKSUM("digipotchip")
20 #define digipot_max_current CHECKSUM("digipot_max_current")
21 #define digipot_factor CHECKSUM("digipot_factor")
22
23 #define mcp4451_checksum CHECKSUM("mcp4451")
24 #define ad5206_checksum CHECKSUM("ad5206")
25
26 class CurrentControl : public Module {
27 public:
28 CurrentControl();
29 virtual ~CurrentControl() {};
30
31 void on_module_loaded();
32 void on_gcode_received(void *);
33
34 private:
35 float alpha_current;
36 float beta_current;
37 float gamma_current;
38 float delta_current;
39 float epsilon_current;
40 float zeta_current;
41 float eta_current;
42 float theta_current;
43 float original_delta_current;
44
45 DigipotBase* digipot;
46
47 };
48
49
50
51
52
53 #endif