Esempio n. 1
0
 public IMU(
     byte TemperatureId, float TemperatureRefreshRate,
     byte AccelerometerId, float AccelerometerRefreshRate,
     byte MagnetometerId, float MagnetometerRefreshRate,
     byte GyroscopeId, float GyroscopeRefreshRate,
     byte EulerId, float EulerRefreshRate,
     byte LinearAccelId, float LinearAccelRefreshRate,
     byte GravityId, float GravityRefreshRate,
     byte QuaternionId, float QuaternionRefreshRate
     )
 {
     TemperatureRegister   = new ReadableRegister <Int8Data>(TemperatureId, TemperatureRefreshRate);
     MagnetometerRegister  = new ReadableRegister <Imu16Vector3Data>(MagnetometerId, MagnetometerRefreshRate);
     GyroscopeRegister     = new ReadableRegister <Imu16Vector3Data>(GyroscopeId, GyroscopeRefreshRate);
     EulerRegister         = new ReadableRegister <Imu16Vector3Data>(EulerId, EulerRefreshRate);
     AccelerometerRegister = new ReadableRegister <Imu100Vector3Data>(AccelerometerId, AccelerometerRefreshRate);
     LinearAccelRegister   = new ReadableRegister <Imu100Vector3Data>(LinearAccelId, LinearAccelRefreshRate);
     GravityRegister       = new ReadableRegister <Imu100Vector3Data>(GravityId, GravityRefreshRate);
     QuaternionRegister    = new ReadableRegister <ImuQuaternionData>(QuaternionId, QuaternionRefreshRate);
 }
        public ServoSimulator(byte posId, byte enableId, LinearMeter meter)
        {
            PositionRegister = new ReadableRegister <UInt16Data>(posId, 0f);
            EnableRegister   = new ReadableRegister <BoolData>(enableId, 0f);
            this.meter       = meter;

            originalBgColor    = meter.BackColor;
            originalMeterColor = meter.MeterColor;
            dimmedBgColor      = Color.FromArgb(
                originalBgColor.A / 2,
                originalBgColor.R / 2,
                originalBgColor.G / 2,
                originalBgColor.B / 2
                );
            dimmedMeterColor = Color.FromArgb(
                originalMeterColor.A / 2,
                originalMeterColor.R / 2,
                originalMeterColor.G / 2,
                originalMeterColor.B / 2
                );

            if (meter.Maximum < ushort.MaxValue)
            {
                meter.Maximum = ushort.MaxValue;
                meter.Value   = ushort.MaxValue;
                meter.Minimum = ushort.MinValue;
            }
            else
            {
                meter.Minimum = ushort.MinValue;
                meter.Value   = meter.Minimum;
                meter.Maximum = ushort.MaxValue;
            }

            meter.Value   = (MaximumValue - MinimumValue) / 2 + MinimumValue;
            meter.Maximum = MaximumValue;
            meter.Minimum = MinimumValue;

            Update();
        }
 public PressureSensor(byte sensorId, float refreshRate)
 {
     SensorRegister = new ReadableRegister <Vector2Data>(sensorId, refreshRate);
 }
Esempio n. 4
0
 public DigitalSensor(byte id, float RefreshRate = 50f, bool inversed = false)
 {
     ioRegister = new ReadableRegister <BoolData>(id, RefreshRate);
     Inversed   = inversed;
 }