diff options
author | David Crocker <dcrocker@eschertech.com> | 2019-09-14 22:41:21 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2019-09-14 22:41:21 +0300 |
commit | 2b0ee17e0b5f32a936b2c6f3dafc37685673adbc (patch) | |
tree | 2159fd7209bb53683559ec062b417e3465efed69 /src/Endstops/RemoteZProbe.h | |
parent | 7340676a46146d3581855aa1294c5dff18d8e48b (diff) |
More work on remote Z probe support
Diffstat (limited to 'src/Endstops/RemoteZProbe.h')
-rw-r--r-- | src/Endstops/RemoteZProbe.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/Endstops/RemoteZProbe.h b/src/Endstops/RemoteZProbe.h new file mode 100644 index 00000000..cc6812bc --- /dev/null +++ b/src/Endstops/RemoteZProbe.h @@ -0,0 +1,38 @@ +/* + * RemoteZProbe.h + * + * Created on: 14 Sep 2019 + * Author: David + */ + +#ifndef SRC_ENDSTOPS_REMOTEZPROBE_H_ +#define SRC_ENDSTOPS_REMOTEZPROBE_H_ + +#include "ZProbe.h" + +#if SUPPORT_CAN_EXPANSION + +class RemoteZProbe final : public ZProbe +{ +public: + void* operator new(size_t sz) { return Allocate<RemoteZProbe>(); } + void operator delete(void* p) { Release<RemoteZProbe>(p); } + + RemoteZProbe(unsigned int num, CanAddress bn) : ZProbe(num, ZProbeType::none), boardAddress(bn) { } + ~RemoteZProbe() override; + void SetIREmitter(bool on) const override { } + uint16_t GetRawReading() const override { return 0; } + void SetProbing(bool isProbing) const override; + GCodeResult AppendPinNames(const StringRef& str) const override; + GCodeResult Configure(GCodeBuffer& gb, const StringRef& reply, bool& seen) override; + GCodeResult SendProgram(const uint32_t zProbeProgram[], size_t len, const StringRef& reply) override; + + GCodeResult Create(const StringRef& pinNames, const StringRef& reply); + +private: + CanAddress boardAddress; +}; + +#endif + +#endif /* SRC_ENDSTOPS_REMOTEZPROBE_H_ */ |