Namespaces | |
| Custom | |
| DMX512 | |
| Error | |
| Modbus | |
| RFSwitch | |
| RS485 | |
Classes | |
| class | Controller |
| A Controller is responsible for serialising requests for a physical bus. More... | |
| class | Device |
| Handles requests for a specific device; the requests are executed by the relevant controller. More... | |
| class | DeviceManager |
| struct | DevNode |
| Identifies a device node. More... | |
| class | Request |
| Request represents a single user request/response over a bus. More... | |
| class | Serial |
| Wrapper class for the UART driver. More... | |
Typedefs | |
| using | DeviceFactoryList = Vector< const Device::Factory * > |
| using | ErrorCode = int16_t |
Enumerations | |
| enum class | Direction { Incoming , Outgoing , Idle } |
| Some controllers specify a transfer direction. More... | |
| enum class | DeviceType { RS485 , Modbus , DMX512 , RFSwitch , Custom } |
| enum class | Event { XX } |
| enum class | Command { XX } |
Functions | |
| DevNode::State | getState (DevNode::States states) |
| ErrorCode | setSuccess (JsonObject json) |
| ErrorCode | setPending (JsonObject json) |
| ErrorCode | setError (JsonObject json, ErrorCode err, const String &text=nullptr, const String &arg=nullptr) |
Variables | |
| DeviceManager | devmgr |
| static constexpr DevNode | DevNode_ALL {0xFFFF} |
Detailed Description
Controller.h
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Device.h
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Error.h
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Request.h
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Serial.h
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Copyright 2022 mikee47 mike@sillyhouse.net
This file is part of the IOControl Library
This library 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, version 3 or later.
This library 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.
You should have received a copy of the GNU General Public License along with this library. If not, see https://www.gnu.org/licenses/.
Typedef Documentation
◆ DeviceFactoryList
| using IO::DeviceFactoryList = typedef Vector<const Device::Factory*> |
◆ ErrorCode
| using IO::ErrorCode = typedef int16_t |
Enumeration Type Documentation
◆ Command
|
strong |
◆ DeviceType
|
strong |
◆ Direction
|
strong |
◆ Event
|
strong |
Function Documentation
◆ getState()
| DevNode::State IO::getState | ( | DevNode::States | states | ) |
◆ setError()
| ErrorCode IO::setError | ( | JsonObject | json, |
| ErrorCode | err, | ||
| const String & | text = nullptr, |
||
| const String & | arg = nullptr |
||
| ) |
◆ setPending()
| ErrorCode IO::setPending | ( | JsonObject | json | ) |
◆ setSuccess()
| ErrorCode IO::setSuccess | ( | JsonObject | json | ) |
Variable Documentation
◆ devmgr
|
extern |
◆ DevNode_ALL
|
staticconstexpr |
1.9.1