/* * RouterSetup.h * * Created on: 25.01.2022 * Author: FSmilari */ #ifndef ROUTER_SETUP_H_ #define ROUTER_SETUP_H_ #include #include const static char ROUTER_NAMESPACE[] = "routerelv_stp"; const static char SPEED[] = "speed"; const static char ACCELERATION[] = "acceleration"; const static char STEPSPERREV[] = "stepsPerRev"; const static char PITCH[] = "pitch"; const static char TOOLLENGHTSNHT[] = "toolLenghtSnHt"; const static char ENCSPEEDSLOW[] = "encSpeedSlow"; const static char ENCSPEEDFAST[] = "encSpeedFast"; const static char LVLHEIGHTDIVE[] = "lvlHeightDive"; const static char TOOLCHGONPWRON[] = "toolChgOnPwrOn"; class RouterSetup { private: Preferences eeprom; float speed; // in revolutions/second (U/s) float accelleration; // in revolutions/second (U/s) uint16_t stepsPerRev; // micro stepping: 200 400 800 1600 3200 6400 float pitch; // in mm float toolLenghtSensorHeight; // in mm uint8_t encoderSpeedSlow; // in 1/100 mm uint8_t encoderSpeedFast; // in 1/100 mm float levelHeightDiving; // in mm bool toolChangeOnPowerOn; // Yes or No public: const static int eeprom_start_adress = 0; const static int eeprom_signatur = 1024; const static uint8_t version = 1; float getSpeed() const; void setSpeed(float speed); float getAcceleration() const; void setAcceleration(float accelleration); uint8_t getEncoderSpeedFast() const; void setEncoderSpeedFast(uint8_t encoderSpeedFast); uint8_t getEncoderSpeedSlow() const; void setEncoderSpeedSlow(uint8_t encoderSpeedSlow); float getLevelHeightDiving() const; void setLevelHeightDiving(float levelHeightDiving); float getPitch() const; void setPitch(float pitch); uint16_t getStepsPerRev() const; void setStepsPerRev(uint16_t stepsPerRev); float getToolLenghtSensorHeight() const; void setToolLenghtSensorHeight(float toolLenghtSensorHeight); bool isToolChangOnPowerOn() const; void setToolChangOnPowerOn(bool toolChangOnPowerOn); void clear(); void readFromEEPROM(); void saveToEEPROM(); void printValues(); }; #endif /* ROUTER_SETUP_H_ */