2014-08-06 16:04:40 -06:00
|
|
|
#ifndef PARAMETERLIST_H_
|
|
|
|
#define PARAMETERLIST_H_
|
|
|
|
|
|
|
|
#include "Arduino.h"
|
|
|
|
#include "Config.h"
|
2016-05-08 14:35:50 -06:00
|
|
|
#include "PinGuard.h"
|
2016-10-02 15:43:39 -06:00
|
|
|
#include "CurrentState.h"
|
2014-08-06 16:04:40 -06:00
|
|
|
|
|
|
|
//#define NULL 0
|
2017-03-27 13:58:25 -06:00
|
|
|
const int PARAM_NR_OF_PARAMS = 225;
|
2014-08-06 16:04:40 -06:00
|
|
|
|
|
|
|
enum ParamListEnum
|
|
|
|
{
|
2017-04-19 08:12:12 -06:00
|
|
|
PARAM_VERSION = 0,
|
|
|
|
PARAM_TEST = 1,
|
|
|
|
PARAM_CONFIG_OK = 2,
|
|
|
|
PARAM_USE_EEPROM = 3,
|
2016-01-02 15:21:01 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
// stepper motor settings
|
2014-08-07 15:05:30 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_TIMEOUT_X = 11,
|
|
|
|
MOVEMENT_TIMEOUT_Y = 12,
|
|
|
|
MOVEMENT_TIMEOUT_Z = 13,
|
2014-08-07 15:05:30 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_INVERT_ENDPOINTS_X = 21,
|
|
|
|
MOVEMENT_INVERT_ENDPOINTS_Y = 22,
|
|
|
|
MOVEMENT_INVERT_ENDPOINTS_Z = 23,
|
2017-02-28 14:48:46 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_ENABLE_ENDPOINTS_X = 25,
|
|
|
|
MOVEMENT_ENABLE_ENDPOINTS_Y = 26,
|
|
|
|
MOVEMENT_ENABLE_ENDPOINTS_Z = 27,
|
2014-08-07 15:05:30 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_INVERT_MOTOR_X = 31,
|
|
|
|
MOVEMENT_INVERT_MOTOR_Y = 32,
|
|
|
|
MOVEMENT_INVERT_MOTOR_Z = 33,
|
2014-08-07 15:05:30 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_SECONDARY_MOTOR_X = 36,
|
|
|
|
MOVEMENT_SECONDARY_MOTOR_INVERT_X = 37,
|
2014-08-07 15:05:30 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_STEPS_ACC_DEC_X = 41,
|
|
|
|
MOVEMENT_STEPS_ACC_DEC_Y = 42,
|
|
|
|
MOVEMENT_STEPS_ACC_DEC_Z = 43,
|
2014-08-07 15:05:30 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_HOME_UP_X = 51,
|
|
|
|
MOVEMENT_HOME_UP_Y = 52,
|
|
|
|
MOVEMENT_HOME_UP_Z = 53,
|
2016-12-03 13:58:27 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_MIN_SPD_X = 61,
|
|
|
|
MOVEMENT_MIN_SPD_Y = 62,
|
|
|
|
MOVEMENT_MIN_SPD_Z = 63,
|
2015-08-07 15:30:24 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
MOVEMENT_MAX_SPD_X = 71,
|
|
|
|
MOVEMENT_MAX_SPD_Y = 72,
|
|
|
|
MOVEMENT_MAX_SPD_Z = 73,
|
2016-01-02 15:21:01 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
// encoder settings
|
|
|
|
ENCODER_ENABLED_X = 101,
|
|
|
|
ENCODER_ENABLED_Y = 102,
|
|
|
|
ENCODER_ENABLED_Z = 103,
|
2017-03-18 15:52:10 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
ENCODER_TYPE_X = 105,
|
|
|
|
ENCODER_TYPE_Y = 106,
|
|
|
|
ENCODER_TYPE_Z = 107,
|
2016-01-02 15:21:01 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
ENCODER_MISSED_STEPS_MAX_X = 111,
|
|
|
|
ENCODER_MISSED_STEPS_MAX_Y = 112,
|
|
|
|
ENCODER_MISSED_STEPS_MAX_Z = 113,
|
2017-03-18 15:52:10 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
ENCODER_SCALING_X = 115,
|
|
|
|
ENCODER_SCALING_Y = 116,
|
|
|
|
ENCODER_SCALING_Z = 117,
|
2016-01-02 15:21:01 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
ENCODER_MISSED_STEPS_DECAY_X = 121,
|
|
|
|
ENCODER_MISSED_STEPS_DECAY_Y = 122,
|
|
|
|
ENCODER_MISSED_STEPS_DECAY_Z = 123,
|
2016-04-08 16:19:45 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
// not used in software at this time
|
|
|
|
MOVEMENT_AXIS_NR_STEPS_X = 141,
|
|
|
|
MOVEMENT_AXIS_NR_STEPS_Y = 142,
|
|
|
|
MOVEMENT_AXIS_NR_STEPS_Z = 143,
|
2016-04-08 16:19:45 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
// pin guard settings
|
|
|
|
PIN_GUARD_1_PIN_NR = 201,
|
|
|
|
PIN_GUARD_1_TIME_OUT = 202,
|
|
|
|
PIN_GUARD_1_ACTIVE_STATE = 203,
|
2016-04-08 16:19:45 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
PIN_GUARD_2_PIN_NR = 205,
|
|
|
|
PIN_GUARD_2_TIME_OUT = 206,
|
|
|
|
PIN_GUARD_2_ACTIVE_STATE = 207,
|
2016-04-08 16:19:45 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
PIN_GUARD_3_PIN_NR = 211,
|
|
|
|
PIN_GUARD_3_TIME_OUT = 212,
|
|
|
|
PIN_GUARD_3_ACTIVE_STATE = 213,
|
2016-04-08 16:19:45 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
PIN_GUARD_4_PIN_NR = 215,
|
|
|
|
PIN_GUARD_4_TIME_OUT = 216,
|
|
|
|
PIN_GUARD_4_ACTIVE_STATE = 217,
|
2016-04-08 16:19:45 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
PIN_GUARD_5_PIN_NR = 221,
|
|
|
|
PIN_GUARD_5_TIME_OUT = 222,
|
|
|
|
PIN_GUARD_5_ACTIVE_STATE = 223
|
2014-08-06 16:04:40 -06:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
|
|
#define NULL 0
|
|
|
|
*/
|
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
class ParameterList
|
|
|
|
{
|
|
|
|
ParamListEnum paramListEnum;
|
|
|
|
|
2014-08-06 16:04:40 -06:00
|
|
|
public:
|
2017-04-19 08:12:12 -06:00
|
|
|
static ParameterList *getInstance();
|
|
|
|
int writeValue(int id, int value);
|
|
|
|
int readValue(int id);
|
|
|
|
int getValue(int id);
|
2016-01-11 15:07:41 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
bool validParam(int id);
|
|
|
|
void loadDefaultValue(int id);
|
2016-01-11 15:07:41 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
int readAllValues();
|
|
|
|
int readAllValuesFromEeprom();
|
|
|
|
int writeAllValuesToEeprom();
|
|
|
|
int setAllValuesToDefault();
|
2016-01-11 15:07:41 -07:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
int readValueEeprom(int id);
|
|
|
|
int writeValueEeprom(int id, int value);
|
2016-05-08 14:35:50 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
void sendConfigToModules();
|
2016-05-08 14:35:50 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
int paramChangeNumber();
|
2017-04-15 15:32:01 -06:00
|
|
|
|
2014-08-06 16:04:40 -06:00
|
|
|
private:
|
2017-04-19 08:12:12 -06:00
|
|
|
ParameterList();
|
|
|
|
ParameterList(ParameterList const &);
|
|
|
|
void operator=(ParameterList const &);
|
2017-04-15 15:32:01 -06:00
|
|
|
|
2017-04-19 08:12:12 -06:00
|
|
|
int paramChangeNr;
|
2014-08-06 16:04:40 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* PARAMETERLIST_H_ */
|