rewrite extruder to handle new core system
[clinton/Smoothieware.git] / src / modules / tools / toolmanager / Tool.h
CommitLineData
14ecdbd7
AW
1/*
2 this file is part of smoothie (http://smoothieware.org/). the motion control part is heavily based on grbl (https://github.com/simen/grbl).
3 smoothie is free software: you can redistribute it and/or modify it under the terms of the gnu general public license as published by the free software foundation, either version 3 of the license, or (at your option) any later version.
4 smoothie is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. see the gnu general public license for more details.
5 you should have received a copy of the gnu general public license along with smoothie. if not, see <http://www.gnu.org/licenses/>.
6*/
7
29e809e0 8#pragma once
14ecdbd7 9
17c89e4d 10#include "Module.h"
540c8365 11
e0d0ea84
JM
12#include <stdint.h>
13
17c89e4d
JM
14class Tool : public Module
15{
16public:
17 Tool(){};
18 virtual ~Tool() {};
19
13ad7234
JM
20 virtual void select()= 0;
21 virtual void deselect()= 0;
17c89e4d
JM
22 virtual const float *get_offset() const { return offset; }
23 virtual uint16_t get_name() const { return identifier; }
24
25protected:
17c89e4d
JM
26 float offset[3];
27 uint16_t identifier;
14ecdbd7
AW
28};
29