Example #1
0
    public void InitPin(int pinIndex, PinConfig config, float height, Vector3 localPos)
    {
        LocalDefaultPos = localPos;
        ResetPosition();
        _xCoord = localPos.x;

        PinIndex = pinIndex;
        _moveDown.SetSpeed(config.SlipSpeed);

        for (int i = 0; i < _upperColliderObj.Count; i++)
        {
            _upperColliderObj[i].SetActive(config.HasResetHead);
        }


        _pitchScale = config.PitchScale;

        _mass = config.Mass;

        for (int i = 0; i < _collider.Count; i++)
        {
            _collider[i].sharedMaterial = config.PhysicsMat;
        }

        _spriteRenderer.sprite = config.PinSprite;
        _spriteRenderer.color  = config.PinColor;

        Vector2 anchorPos = transform.position;

        anchorPos.y += height;
        _springJoint.connectedAnchor = anchorPos;
    }
 public ActuatorPins(IEnumerable <int> pinNumbers, PinConfig pconfig, OnOffActuator actuator)
 {
     foreach (var p in pinNumbers)
     {
         apins[p] = new ActuatorPin(pconfig, actuator);
     }
 }
Example #3
0
 public ActuatorPins(IEnumerable<int> pinNumbers, PinConfig pconfig, OnOffActuator actuator)
 {
     foreach (var p in pinNumbers)
     {
         apins[p] = new ActuatorPin(pconfig, actuator);
     }
 }
 /// <summary>
 /// Create a configuration
 /// </summary>
 /// <returns></returns>
 public PinConfig CreateConfig()
 {
     var config = new PinConfig(Pin);
     config.Address = (int)tbAddr.Value;
     config.Mode = modeControl.Mode;
     return config;
 }
 public PinDialog(PinConfig action)
 {
     DataContext     = new PinDialogVM();
     pinActionConfig = action;
     InitializeComponent();
     PrimerNumPinTextBox.Focus();
 }
Example #6
0
        /// <summary>
        /// Default ctor
        /// </summary>
        internal LocoIOPort(int portNr, PinConfig config)
        {
            PortNr = portNr;
            var mode = config.Mode;

            Configuration = (mode != null) ? mode.Name : "?";
            Address       = (mode != null) ? config.Address : 0;
        }
        /// <summary>
        /// Create a configuration
        /// </summary>
        /// <returns></returns>
        public PinConfig CreateConfig()
        {
            var config = new PinConfig(Pin);

            config.Address = (int)tbAddr.Value;
            config.Mode    = modeControl.Mode;
            return(config);
        }
Example #8
0
        private bool ReadDataBlock(PinConfig config)
        {
            object pData = new int();

            _proSim.ReadFlagValue(config.ByteAddress, config.PinAddress, PointDataTypeConstants.S7_Bit, ref pData);

            return((int)pData == 1);
        }
Example #9
0
        private bool ReadOutputPin(PinConfig config)
        {
            var pData = new Object();

            _proSim.ReadOutputPoint(config.ByteAddress, config.PinAddress, PointDataTypeConstants.S7_Bit, ref pData);

            return((bool)pData);
        }
Example #10
0
 /// <summary>
 /// Initializes the gpio driver.
 /// </summary>
 /// <param name="pins">The available pins on the device.</param>
 /// <param name="scheme">The numbering scheme to use.</param>
 /// <returns>The driver.</returns>
 internal GpioControllerDriver(InternalLogger logger, PinsWrapper pins, GpioDriver driverName, PinConfig pinConfig, NumberingScheme scheme)
 {
     Logger              = logger ?? throw new ArgumentNullException(nameof(logger));
     Pins                = pins;
     NumberingScheme     = scheme;
     DriverName          = driverName;
     PinConfig           = pinConfig;
     IsDriverInitialized = true;
 }
        /// <summary>
        /// Create a configuration from the settings found in this control.
        /// </summary>
        public PinConfigList CreateConfig()
        {
            var list = new PinConfig[16];

            for (int i = 0; i < 16; i++)
            {
                list[i] = pinControls[i].CreateConfig();
            }
            return(new PinConfigList(list));
        }
 /// <summary>
 /// Connect this control to the given config.
 /// </summary>
 public void LoadFrom(PinConfig config)
 {
     try
     {
         initialized      = false;
         tbAddr.Value     = config.Address;
         modeControl.Mode = config.Mode;
     }
     finally
     {
         initialized = true;
         UpdateUI();
     }
 }
        public void Run()
        {
            var pins         = new int[] { 2, 3, 4 };
            var pinConfig    = new PinConfig(PinTypeEnum.PWM);
            var actuatorPins = new ActuatorPins(pins, pinConfig, 50);

            // create a sender to send pin info
            messageSender = new OnOffActuatorPinSender(a, actuatorPins);

            var code = messageSender.Code;


            // upload the code
            u.UploadCode(a, code);

            a.OnConnected    += a_OnConnected;
            a.OnDisconnected += a_OnDisconnected;
            a.OpenConnection();
        }
 void Watch()
 {
     while (true)
     {
         try
         {
             var time = Driver.Time(PinConfig.Pin, PinConfig.Reversed, TimeSpan.FromSeconds(60), TimeSpan.FromMilliseconds(100));
             if (time > 0)
             {
                 if (PinConfig.StatusChangedAction != null)
                 {
                     PinConfig.StatusChangedAction(this.State);
                 }
             }
         }
         catch (TimeoutException)
         {
         }
     }
 }
Example #15
0
 public void LoadStack(StackData stack, PinConfig config, List <Color> colors)
 {
     for (int j = 0; j < config.tiles.Count; j++)
     {
         var tileInfo = config.tiles[j];
         {
             GameObject tile = pooledGameObjects[0];
             pooledGameObjects.RemoveAt(0);
             var stackTile = tile.GetComponent <StackTile>();
             stackTile.SetData(stack);
             stackTile.colorCode = tileInfo.colorIndex;
             stackTile.index     = tileInfo.size;
             stackTile.SetMesh(stack.meshes[tileInfo.size - 1].mesh);
             stackTile.SetMaterials(stack.materials.ToArray());
             stackTile.SetMaterialColor(colors[tileInfo.colorIndex]);
             StackPin stackPin = stackPins[config.pinIndex];
             stackTile.pinIndex = stackPin.pinIndex;
             stackPin.PushTile(stackTile.gameObject);
         }
     }
 }
Example #16
0
 public SystemDeviceDriver(InternalLogger logger, PinsWrapper pins, PinConfig pinConfig, NumberingScheme scheme) : base(logger, pins, Enums.GpioDriver.SystemDevicesDriver, pinConfig, scheme)
 {
 }
Example #17
0
 private void WriteInputPin(PinConfig config, bool value)
 {
     _proSim.WriteInputPoint(config.ByteAddress, config.PinAddress, value);
 }
 /// <summary>
 /// Connect this control to the given config.
 /// </summary>
 public void LoadFrom(PinConfig config)
 {
     try
     {
         initialized = false;
         tbAddr.Value = config.Address;
         modeControl.Mode = config.Mode;
     }
     finally
     {
         initialized = true;
         UpdateUI();
     }
 }
 public ActuatorPins(IEnumerable <int> pins, PinConfig pin, int onLengthMs) : this(pins, pin, new OnOffActuator(onLengthMs))
 {
 }
Example #20
0
 internal WiringPiDriver(InternalLogger logger, PinsWrapper pins, PinConfig pinConfig, NumberingScheme scheme) : base(logger, pins, GpioDriver.WiringPiDriver, pinConfig, scheme)
 {
     CommandLine = new OSCommandLineInterfacer(OSPlatform.Linux, false, false, false);
 }
 /// <summary>
 /// Use this mode to create a configuration using the
 /// given addresses for the given connector.
 /// </summary>
 public ConnectorConfig CreateConfig(Connector connector, AddressList addresses, int subMode)
 {
     var pinConfigs = new PinConfig[PinCount];
     var pinOffset = GetPinOffset(subMode);
     for (int i = 0; i < PinCount; i++)
     {
         var pin = i + 1 + pinOffset;
         if (connector == Connector.Second)
             pin += 8;
         pinConfigs[i] = new PinConfig(pin);
     }
     var result = new ConnectorConfig(pinConfigs);
     Configure(result, addresses, subMode);
     return result;
 }
Example #22
0
 public ActuatorPin(PinConfig pin, OnOffActuator actuator)
     : this(pin)
 {
     this.Actuator = actuator;
 }
Example #23
0
 public ActuatorPins(IEnumerable<int> pins, PinConfig pin, int onLengthMs) : this(pins, pin, new OnOffActuator(onLengthMs)) { }
Example #24
0
 internal RaspberryIODriver(InternalLogger logger, PinsWrapper pins, PinConfig pinConfig, NumberingScheme scheme) : base(logger, pins, GpioDriver.RaspberryIODriver, pinConfig, scheme)
 {
 }
 /// <summary>
 /// Create a configuration from the settings found in this control.
 /// </summary>
 public PinConfigList CreateConfig()
 {
     var list = new PinConfig[16];
     for (int i = 0; i < 16; i++)
     {
         list[i] = pinControls[i].CreateConfig();
     }
     return new PinConfigList(list);
 }
Example #26
0
 public ActuatorPin(PinConfig pin, OnOffActuator actuator)
     : this(pin)
 {
     this.Actuator = actuator;
 }
Example #27
0
 public ActuatorPin(PinConfig pin)
 {
     this.Pin = pin;
 }
Example #28
0
 public PinValidationService(PinConfig config)
 {
     _config = config;
 }
Example #29
0
            private T HandleIncoming <T>(byte[] data)
            {
                switch (data[2])
                {
                case (127):
                    byte pin = data[3];
                    break;

                case (100):
                    SupportedPins = new byte[data.Length - 3];

                    int         ii       = 3;
                    List <byte> supTempt = new List <byte>();
                    while (ii < 64)
                    {
                        byte sp = data[ii];
                        if (sp == 0)
                        {
                            break;
                        }

                        supTempt.Add(sp);

                        ii++;
                    }

                    return((T)((object)supTempt.ToArray()));

                case (134):
                    var pc = new PinConfig();

                    pc.Pin         = data[3];
                    pc.LedCount    = data[4];
                    pc.DeviceClass = data[5];

                    for (int i = 6; i < 6 + 16; i++)
                    {
                        byte t = data[i];

                        if (t == 13 || t == 0)
                        {
                            break;
                        }
                        else
                        {
                            pc.Name = pc.Name + (char)t;
                        }
                    }

                    return((T)((object)pc));


                case (2):

                    string r = "";

                    for (int i = 0; i < 16; i++)
                    {
                        byte t = data[i + 3];

                        if (t == 13 || t == 0)
                        {
                            break;
                        }
                        else
                        {
                            r = r + (char)t;
                        }
                    }

                    //Debug.WriteLine("----------------------------------------------");
                    //Debug.WriteLine(r);
                    //Debug.WriteLine("----------------------------------------------");

                    if (!r.StartsWith("MLG4"))
                    {
                        return(default);
                    }

                    return((T)((object)r.Substring(4).Trim()));
Example #30
0
 public ActuatorPin(PinConfig pin)
 {
     this.Pin = pin;
 }