Photomechanics API
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 CAsyncEventHandlersExtensionsExtension methods for using asynchronous event handlers.
 CAsyncSerialQueueFIFO tasks serial queue. Enqueued task will be processed one at time. Uses similar approach as https://github.com/Gentlee/SerialQueue modified to handle async actions instead.
 CAttribute
 CLocalizedEnumAttributeMarks enum field with translation key.
 CRegisters.LasersEnabledRegister.BitInfo
 CComponentBasedDeviceApiExtensionsExtensions for IComponentBasedDeviceApi.
 CDateTimeExtensionsProvides extension methods for DateTime.
 CDisposableExtendedExtensionsIAsyncDisposableExtended extensions.
 CEnumerableExtensionsCollection extensions.
 CEventArgs
 CRegisterValueChangedEventArgsContains information about register's value change.
 CException
 CFirmwareAssertionFailedExceptionThe exception that is thrown when firmware reports internal error.
 CIAsyncDisposable
 CIAsyncDisposableExtendedExtended IAsyncDisposable interface with additional object state info providers and specific implementation pattern expected from implementation. Should be used for heavy and complex hardware API objects with complex dispose routines like cameras. IAsyncDisposable.DisposeAsync implementation should either 1) Set IsDisposed to true, perform resource cleanup and logging associated with it and invoke Disposed event in the end. 2) If disposal is already in progress, await its completion. This way, any caller of IAsyncDisposable.DisposeAsync can assume that disposal was fully complete after awaiting the call, even when used concurrently.
 CAsyncDisposableExtendedBaseProvides base implementation of IAsyncDisposableExtended with disposal behavior intended for this interface.
 CAsyncDisposableExtendedImplWhen inheriting from AsyncDisposableExtendedBase directly is not possible, use this to implement IAsyncDisposableExtended pattern. Implementation of every interface member can be passed through to instance of this class.
 CComponentBasedDeviceApiBaseDefault device API implementation base.
 CLegacyMftCommandRunnerProvides methods to send commands and receive messages from turntable.
 CLegacyMftMessagesTransportRepresents physical turn table messages transport. Provides methods for send and receive messages.
 CMftCommandRunnerProvides methods to send commands and receive messages from turntable.
 CMftMessagesTransportRepresents physical turn table messages transport. Provides methods for send and receive messages.
 CModbusCommandRunnerRuns command for modbus-based turn table (RD-300).
 CModbusListener
 CIComponentBasedDeviceApiRepresents high level device API.
 CComponentBasedDeviceApiBaseDefault device API implementation base.
 CITurntableApiTurntable high-level component-based API.
 CIModbusListenerRepresents listener which periodically updates provided registers.
 CModbusListener
 CMftCommandRunnerProvides methods to send commands and receive messages from turntable.
 CIDataTransportProvides means to exchange string data with turntable.
 CNetworkDataTransportNetwork data transport. Intended for use with our ESP8266 equipped turntables.
 CSerialDataTransportMessages transport for serial port. When connected via USB, turntables appear as COM ports.
 CPhotomechanicsDevicesManagerServiceDefault devices manager implementation. Currently searches for MFT series turntables and K-1x cranes.
 CPhotomechanicsFakeDevicesManagerServiceDefault devices manager implementation. Currently searches for MFT series turntables and K-1x cranes.
 CIDeviceApiComponentRepresents device API component.
 CITurntableApiComponentRepresents turn table API component.
 CIAccelerationControlProviderProvides acceleration control.
 CIAccumulatedStepsCountProviderProvides basic turn table functions.
 CIEmbeddedPhotoShootingProviderProvides methods to shoot photos directly from table through sync cable.
 CIEngineLockControlProviderEngine lock control component.
 CIExtendedRotationProviderProvides additional rotation features.
 CILaserControlProviderProvides control over lasers state.
 CILightControlProviderProvides control over lighting lamps.
 CIManualRotationProviderProvides manual control over rotation speed.
 CIRotationFeedbackProviderProvides info about current steps.
 CIRotationProviderProvides basic turn table functions.
 CIVersionInfoProviderProvides info about current steps.
 CIWiFiSettingsProviderProvides basic turn table functions.
 CIDisposable
 CITurntableCommandRepresents turntable command that has status and can be awaited.
 CTurntableCommandBaseBase class for ITurntableCommand, implements common functionality.
 CLegacyMftCommandBaseRepresents turn table API command.
 CMftCommandBaseRepresents turn table API command.
 CLoggerSuppressionTokenProvides suppressed logger. Disables suppression when disposed.
 COperationRecords operation timings to provided logger.
 CILogger
 CProxyLoggerWrapper around ILogger allowing to dynamically change it. Useful to update context of already injected loggers.
 CSuppressableLoggerILogger wrapper that can be temporarily suppressed.
 CInvalidOperationException
 CInvalidDataReceivedExceptionThe exception that is thrown when unable to correctly parse data received from turn table.
 CTurntableCommandDataAccessExceptionException that is thrown when attempted to access command data properties before it is finished.
 CTurntableOperationFailedExceptionThe exception that is thrown when requested turn table operation failed.
 CIObservableRegisterObservable register with Int16 value.
 CIPhotomechanicsDevicesManagerServiceSearches for turntables and cranes and instantiates API.
 CPhotomechanicsDevicesManagerServiceDefault devices manager implementation. Currently searches for MFT series turntables and K-1x cranes.
 CPhotomechanicsFakeDevicesManagerServiceDefault devices manager implementation. Currently searches for MFT series turntables and K-1x cranes.
 CIsExternalInitWon't be needed after .NET 5 migration
 CMathExtensionsExtensions for Math.
 COneAtATimeTaskRunnerProvides logic to ensure that given asynchronous action will not be run concurrently.
 CRandomExtensionsExtensions for Random.
 CSerilogExtensionsProvides helper extensions to Serilog logging.
 CStepsDegreesConversionsExtensions for IRotationProvider to simplify conversion between steps and degrees.
 CStringExtensionsSystem.String extensions.
 CTaskCompletionSourceExtensionsExtensions for TaskCompletionSource.
 CTaskExtensionsTask custom extensions.
 CThreadHelperThread related utility methods.
 CTurntableCommandExtensionsExtensions for ITurntableCommand.
 CTurntableModelExtensionsTurntable model extension methods.
 CTurntableVersionInfoRepresents version info received from turntable.