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 | Direction { Direction::Incoming, Direction::Outgoing, Direction::Idle } |
Some controllers specify a transfer direction. More... | |
enum | DeviceType { DeviceType::RS485, DeviceType::Modbus, DeviceType::DMX512, DeviceType::RFSwitch, DeviceType::Custom } |
enum | Event { Event::XX } |
enum | Command { 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@ sill yhous e.ne t
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@ sill yhous e.ne t
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@ sill yhous e.ne t
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@ sill yhous e.ne t
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@ sill yhous e.ne t
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@ sill yhous e.ne t
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@ sill yhous e.ne t
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@ sill yhous e.ne t
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@ sill yhous e.ne t
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@ sill yhous e.ne t
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
DeviceManager IO::devmgr |
◆ DevNode_ALL
|
staticconstexpr |