/// <summary> /// Initialisieren des Sensors mit den Festgelegten Einstellungen. /// </summary> /// <param name="regConfig">Zusammenstellung der festgelegten Einstellungen.</param> public void Init(IRegisterConfiguration regConfig) { if (regConfig == null) { regConfig = new RegisterManagement(RegisterManagementSetup.Default, this._sensorType); } // Konfiguration des Master Einheit // Einstellung für Beschleunigung, // Gyroskop, und Temperatur Sensor this._I2CConnector.SetConfiguration(regConfig.Address, regConfig.ClockRate); foreach (IRegisterItem item in regConfig.RegisterSequence) { if (item == null) { continue; } if (item.RegisterSetup == RegisterItemUsing.ResgisterSetup) { this._I2CConnector.Write(item.GetRegisterSetup()); } if (item.RegisterSetup == RegisterItemUsing.AddressSetup) { byte[] setup = item.GetRegisterSetup(); this._I2CConnector.SetConfiguration(setup[0], this.MapClockRate(setup[1])); } } }
/// <summary> /// Ruft eine Instance von MPU6050. /// </summary> /// <param name="init">Initialisiert den Sensor mit Standard Einstellungen.</param> /// <returns>Gibt die Instanz von MPU6050 zurück.</returns> public static IMPU GetInstance(SensorType sensorType, bool init = true, IRegisterConfiguration regConfig = null) { if (_mpu == null) { _mpu = new MPUSensor(sensorType, new I2CConnector()); if (init) { _mpu.Init(regConfig); } } return(_mpu); }
public RootConfiguration(IOptions <AdminAppConfiguration> adminConfiguration, IOptions <RegisterConfiguration> registerConfiguration) { RegisterConfiguration = registerConfiguration.Value; AdminAppConfiguration = adminConfiguration.Value; }