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 264 of file spi_channel_adapter.cpp.hpp.
264 {
265
266 bool anyBusy = false;
268 if (ctrl.controller && ctrl.controller->isBusy()) {
269 anyBusy = true;
270 break;
271 }
272 }
273
274 if (anyBusy) {
275 return DriverState::BUSY;
276 }
277
278
281
283 if (channel) {
284 channel->setInUse(false);
285 }
286 }
288 }
289
290
292 return DriverState::DRAINING;
293 }
294
295 return DriverState::READY;
296}
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().