IOControl/include/IO/Modbus/STS/Fan/Request.h
Go to the documentation of this file.
1 
20 #pragma once
21 
22 #include "../../Request.h"
23 #include "Device.h"
24 #include <Data/Range.h>
25 
26 namespace IO::Modbus::STS::Fan
27 {
28 class Request : public Modbus::Request
29 {
30 public:
32  {
33  }
34 
35  Device& getDevice() const
36  {
37  return static_cast<Device&>(device);
38  }
39 
40  bool setNode(DevNode node) override
41  {
42  this->node = node;
43  return true;
44  }
45 
46  bool setValue(int value) override
47  {
48  this->value = TRange(0, 100).clip(value);
49  return true;
50  }
51 
52  Function fillRequestData(PDU::Data& data) override;
53  ErrorCode callback(PDU& pdu) override;
54 
55  void getJson(JsonObject json) const override;
56 
57 private:
58  uint8_t index{0};
59  uint8_t value{};
60  DevNode node;
61 };
62 
63 } // namespace IO::Modbus::STS::Fan
Function
Definition: IOControl/include/IO/Modbus/Function.h:45
Device & device
Definition: IOControl/include/IO/Request.h:280
void getJson(JsonObject json) const override
Get result of a completed request in JSON format.
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:36
int16_t ErrorCode
Definition: Libraries/IOControl/include/IO/Error.h:27
Protocol Data Unit.
Definition: PDU.h:45
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:27
bool setNode(DevNode node) override
If nodes are supported, implement this method.
Definition: IOControl/include/IO/Modbus/STS/Fan/Request.h:40
Definition: IOControl/include/IO/Modbus/Request.h:30
Manage a range of numbers between specified limits.
Definition: Range.h:21
Device & getDevice() const
Definition: IOControl/include/IO/Modbus/STS/Fan/Request.h:35
Identifies a device node.
Definition: DevNode.h:30
Request(Device &device)
Definition: IOControl/include/IO/Modbus/STS/Fan/Request.h:31
T clip(T value) const
Clip values to within the range.
Definition: Range.h:109
Definition: PDU.h:52
Json json
Function fillRequestData(PDU::Data &data) override
bool setValue(int value) override
If nodes support values, implement this method.
Definition: IOControl/include/IO/Modbus/STS/Fan/Request.h:46
Definition: IOControl/include/IO/Modbus/STS/Fan/Request.h:28