Query driver state and perform maintenance.
- Returns
- Current driver state (READY, BUSY, DRAINING, or ERROR)
- Note
- Checks isBusy(), releases buffers when complete
Implements fl::IChannelDriver.
Definition at line 262 of file spi_channel_adapter.cpp.hpp.
262 {
263
264 bool anyBusy = false;
266 if (ctrl.controller && ctrl.controller->isBusy()) {
267 anyBusy = true;
268 break;
269 }
270 }
271
272 if (anyBusy) {
273 return DriverState::BUSY;
274 }
275
276
279 << " completed channels");
280
282 if (channel) {
283 channel->setInUse(false);
284 }
285 }
287 }
288
289
291 return DriverState::DRAINING;
292 }
293
294 return DriverState::READY;
295}
fl::vector< ControllerInfo > mControllers
All managed controllers.
fl::vector< ChannelDataPtr > mEnqueuedChannels
Channels waiting for show()
fl::vector< ChannelDataPtr > mTransmittingChannels
Channels currently transmitting.
References FL_DBG, mControllers, mEnqueuedChannels, and mTransmittingChannels.
Referenced by ~SpiChannelEngineAdapter().