Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h
Go to the documentation of this file.
1 
23 #pragma once
24 
25 #include "../../Device.h"
26 
28 {
29 const size_t channelCount{3};
30 
31 struct FanData {
34 };
35 
36 class Device : public Modbus::Device
37 {
38  friend class Request;
39 
40 public:
41  class Factory : public FactoryTemplate<Device>
42  {
43  public:
44  const FlashString& deviceClass() const override
45  {
46  return FS("sts/fan");
47  }
48  };
49 
50  static const Factory factory;
51 
53 
54  IO::Request* createRequest() override;
55 
56  const FanData& getData() const
57  {
58  return data;
59  }
60 
61  uint16_t maxNodes() const override
62  {
63  return channelCount;
64  }
65 
66  void getValues(JsonObject json) const;
67 
68 protected:
69  void parseJson(JsonObjectConst json, Config& cfg);
70 
72 };
73 
74 } // namespace IO::Modbus::STS::Fan
uint16_t rpm[channelCount]
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:32
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:36
A virtual device, represents a modbus slave device.
Definition: Libraries/IOControl/include/IO/Modbus/Device.h:38
describes a counted string stored in flash memory
Definition: String.hpp:173
const size_t channelCount
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:29
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:27
uint8_t speed[channelCount]
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:33
Request represents a single user request/response over a bus.
Definition: IOControl/include/IO/Request.h:79
const FlashString & deviceClass() const override
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:44
#define FS(str)
Define an inline FSTR::String and return it as a copy.
Definition: String.hpp:56
void parseJson(JsonObjectConst json, Config &cfg)
Json json
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:31
FanData data
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:71
void getValues(JsonObject json) const
const FanData & getData() const
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:56
IO::Request * createRequest() override
Create a request object for this device.
static const Factory factory
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:50
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:41
Device(Controller &controller, const char *id)
Definition: Libraries/IOControl/include/IO/RS485/Device.h:80
Definition: IOControl/include/IO/Modbus/STS/Fan/Request.h:28
uint16_t maxNodes() const override
Determine maximum number of nodes supported by the device.
Definition: Libraries/IOControl/include/IO/Modbus/STS/Fan/Device.h:61