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 261 of file spi_channel_adapter.cpp.hpp.
261 {
262
263 bool anyBusy = false;
265 if (ctrl.controller && ctrl.controller->isBusy()) {
266 anyBusy = true;
267 break;
268 }
269 }
270
271 if (anyBusy) {
272 return DriverState::BUSY;
273 }
274
275
278
280 if (channel) {
281 channel->setInUse(false);
282 }
283 }
285 }
286
287
289 return DriverState::DRAINING;
290 }
291
292 return DriverState::READY;
293}
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, fl::FL_NO_EXCEPT, mControllers, mEnqueuedChannels, and mTransmittingChannels.
Referenced by ~SpiChannelEngineAdapter().