Declares the manager for the global collection of Actuator objects. More...


Go to the source code of this file.
Namespaces | |
| namespace | Actuators |
| Globally stores all actuators (relays) and to operates over them. | |
Typedefs | |
| using | Actuators::PackedActuatorStateBytes = etl::array< uint8_t, CONFIG_PACKED_ACTUATOR_STATE_STORAGE_CAPACITY > |
| Compact shadow of the full actuator runtime state in protocol bit order. | |
Functions | |
| auto | Actuators::getId (uint8_t actuatorIndex) -> uint8_t |
| Return the static wire ID for one registered actuator index. | |
| auto | Actuators::getActuator (uint8_t actuatorId) -> Actuator * |
| Get a single actuator. | |
| auto | Actuators::getIndex (uint8_t actuatorId) -> uint8_t |
| Get a single actuator index (in device vector of actuators). | |
| auto | Actuators::tryGetIndex (uint8_t actuatorId, uint8_t &actuatorIndex) -> bool |
| Resolves an actuator ID to its dense runtime index with a single map lookup. | |
| auto | Actuators::actuatorExists (uint8_t actuatorId) -> bool |
| Get if the actuator actually exists. | |
| void | Actuators::recordSwitchTime (uint8_t actuatorIndex, uint32_t now_ms) |
| Records the latest switch time for an actuator when compact actuator timer storage is enabled. | |
| void | Actuators::updatePackedState (uint8_t actuatorIndex, bool state) |
| Keep the compact actuator-state shadow aligned with one runtime state change. | |
| template<uint8_t ActuatorIndex> | |
| Actuators::__attribute__ ((always_inline)) inline void updatePackedStateStatic(bool state) | |
| Keep the packed actuator-state shadow aligned using a generated index. | |
| auto | Actuators::getPackedStateByteCount () -> uint8_t |
| Return the number of packed bytes required by the current topology. | |
| auto | Actuators::getPackedStateByte (uint8_t byteIndex) -> uint8_t |
| Return one packed state byte in protocol wire order. | |
| void | Actuators::finalizeSetup () |
| Final validation after actuator registration. | |
Declares the manager for the global collection of Actuator objects.
Copyright 2026 Jacopo Labardi
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.