provide checksum script to easily generate config checksum values
[clinton/Smoothieware.git] / src / modules / robot / arm_solutions / CartesianSolution.cpp
CommitLineData
4cff3ded
AW
1#include "CartesianSolution.h"
2#include <math.h>
3
4CartesianSolution::CartesianSolution(Config* passed_config) : config(passed_config){
b66fb830
AW
5 this->alpha_steps_per_mm = this->config->value(alpha_steps_per_mm_checksum)->as_number();
6 this->beta_steps_per_mm = this->config->value( beta_steps_per_mm_checksum)->as_number();
7 this->gamma_steps_per_mm = this->config->value(gamma_steps_per_mm_checksum)->as_number();
4cff3ded
AW
8}
9
10void CartesianSolution::millimeters_to_steps( double millimeters[], int steps[] ){
11 steps[ALPHA_STEPPER] = lround( millimeters[X_AXIS] * this->alpha_steps_per_mm );
12 steps[BETA_STEPPER ] = lround( millimeters[Y_AXIS] * this->beta_steps_per_mm );
13 steps[GAMMA_STEPPER] = lround( millimeters[Z_AXIS] * this->gamma_steps_per_mm );
14}
15
db35a152
BG
16void CartesianSolution::steps_to_millimeters( int steps[], double millimeters[] ){
17 millimeters[ALPHA_STEPPER] = steps[X_AXIS] / this->alpha_steps_per_mm;
18 millimeters[BETA_STEPPER ] = steps[Y_AXIS] / this->beta_steps_per_mm;
19 millimeters[GAMMA_STEPPER] = steps[X_AXIS] / this->gamma_steps_per_mm;
20}