refactor!: remove zero offset magic number
This commit is contained in:
parent
9a57d8a827
commit
5f0235eec7
4
config.h
4
config.h
|
|
@ -32,6 +32,10 @@
|
||||||
#define STEP_RATIO_X (6432 / M_PI)
|
#define STEP_RATIO_X (6432 / M_PI)
|
||||||
#define STEP_RATIO_Y (6432 / M_PI)
|
#define STEP_RATIO_Y (6432 / M_PI)
|
||||||
|
|
||||||
|
// Offset between home and zero [step]
|
||||||
|
#define ZERO_OFFSET_X (0)
|
||||||
|
#define ZERO_OFFSET_Y (2500)
|
||||||
|
|
||||||
// Offset between turret and lidar [cm]
|
// Offset between turret and lidar [cm]
|
||||||
#define OFFSET_X (0)
|
#define OFFSET_X (0)
|
||||||
#define OFFSET_Y (21)
|
#define OFFSET_Y (21)
|
||||||
|
|
|
||||||
10
turret.cpp
10
turret.cpp
|
|
@ -3,8 +3,8 @@
|
||||||
#include "maths.h"
|
#include "maths.h"
|
||||||
#include <kissStepper.h>
|
#include <kissStepper.h>
|
||||||
|
|
||||||
Turret::Turret(StepRatio step_ratio, Offset offset, PinMap pin_map_x,
|
Turret::Turret(StepRatio step_ratio, Offset offset, ZeroOffset zero_offset,
|
||||||
PinMap pin_map_y)
|
PinMap pin_map_x, PinMap pin_map_y)
|
||||||
: _stepper(kissStepper(static_cast<uint8_t>(pin_map_x.direction),
|
: _stepper(kissStepper(static_cast<uint8_t>(pin_map_x.direction),
|
||||||
static_cast<uint8_t>(pin_map_x.pulse),
|
static_cast<uint8_t>(pin_map_x.pulse),
|
||||||
static_cast<uint8_t>(pin_map_x.enable)),
|
static_cast<uint8_t>(pin_map_x.enable)),
|
||||||
|
|
@ -16,6 +16,7 @@ Turret::Turret(StepRatio step_ratio, Offset offset, PinMap pin_map_x,
|
||||||
_pin.y = pin_map_y;
|
_pin.y = pin_map_y;
|
||||||
_step_ratio = step_ratio;
|
_step_ratio = step_ratio;
|
||||||
_offset = offset;
|
_offset = offset;
|
||||||
|
_zero_offset = zero_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
Turret::~Turret() {
|
Turret::~Turret() {
|
||||||
|
|
@ -79,9 +80,8 @@ Turret &Turret::gotoHome() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Turret &Turret::gotoZero() {
|
Turret &Turret::gotoZero() {
|
||||||
// TODO remove magic numbers
|
_stepper.x.prepareMove(_home.x + _zero_offset.x);
|
||||||
_stepper.x.prepareMove(_home.x + 0);
|
_stepper.y.prepareMove(_home.y + _zero_offset.y);
|
||||||
_stepper.y.prepareMove(_home.y + 2500);
|
|
||||||
|
|
||||||
bool xStop = false;
|
bool xStop = false;
|
||||||
bool yStop = false;
|
bool yStop = false;
|
||||||
|
|
|
||||||
7
turret.h
7
turret.h
|
|
@ -30,6 +30,8 @@ public:
|
||||||
// y -> laser to stand
|
// y -> laser to stand
|
||||||
// z -> unused
|
// z -> unused
|
||||||
|
|
||||||
|
using ZeroOffset = vec2<long>;
|
||||||
|
|
||||||
struct PinMap {
|
struct PinMap {
|
||||||
int home;
|
int home;
|
||||||
int direction;
|
int direction;
|
||||||
|
|
@ -38,8 +40,8 @@ public:
|
||||||
int laser;
|
int laser;
|
||||||
};
|
};
|
||||||
|
|
||||||
Turret(StepRatio step_ratio, Offset offset, PinMap pin_map_x,
|
Turret(StepRatio step_ratio, Offset offset, ZeroOffset zero_offset,
|
||||||
PinMap pin_map_y);
|
PinMap pin_map_x, PinMap pin_map_y);
|
||||||
~Turret();
|
~Turret();
|
||||||
|
|
||||||
Turret &init();
|
Turret &init();
|
||||||
|
|
@ -74,6 +76,7 @@ private:
|
||||||
vec2<PinMap> _pin;
|
vec2<PinMap> _pin;
|
||||||
StepRatio _step_ratio;
|
StepRatio _step_ratio;
|
||||||
Offset _offset;
|
Offset _offset;
|
||||||
|
ZeroOffset _zero_offset;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,9 @@ Turret::PinMap pinY = {
|
||||||
|
|
||||||
Turret::StepRatio stepRatio(STEP_RATIO_X, STEP_RATIO_Y);
|
Turret::StepRatio stepRatio(STEP_RATIO_X, STEP_RATIO_Y);
|
||||||
Turret::Offset offset(OFFSET_X, OFFSET_Y, OFFSET_Z);
|
Turret::Offset offset(OFFSET_X, OFFSET_Y, OFFSET_Z);
|
||||||
|
Turret::ZeroOffset zeroOffset(ZERO_OFFSET_X, ZERO_OFFSET_Y);
|
||||||
|
|
||||||
Turret turret(stepRatio, offset, pinX, pinY);
|
Turret turret(stepRatio, offset, zeroOffset, pinX, pinY);
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
turret.init();
|
turret.init();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue