Esempio n. 1
0
        /// <summary>
        /// Set power inputs
        /// </summary>
        /// <param name="powerInput">Power inputs</param>
        public void SetPowerInputs(PowerInput powerInput)
        {
            byte nonVolatile     = powerInput.NonVolatile ? (byte)0x80 : (byte)0x00;
            byte precedence      = powerInput.Precedence == PowerInputType.Gpio5Volt ? (byte)0x01 : (byte)0x00;
            byte gpioIn          = powerInput.GpioIn ? (byte)0x02 : (byte)0x00;
            byte noBatteryTurnOn = powerInput.NoBatteryTurnOn ? (byte)0x04 : (byte)0x00;
            int  index           = _usbMicroCurrentLimits.IndexOf(powerInput.UsbMicroCurrentLimit);

            if (index == -1)
            {
                throw new ArgumentOutOfRangeException(nameof(powerInput.UsbMicroCurrentLimit));
            }

            byte usbMicroLimit = (byte)(index << 3);

            index = _usbMicroDpm.IndexOf(powerInput.UsbMicroDynamicPowerManagement);
            if (index == -1)
            {
                throw new ArgumentOutOfRangeException(nameof(powerInput.UsbMicroDynamicPowerManagement));
            }

            byte usbMicroDPM = (byte)((index & 0x07) << 3);

            var data = new byte[1];

            data[0] = (byte)(nonVolatile | precedence | gpioIn | noBatteryTurnOn | usbMicroLimit | usbMicroDPM);

            _piJuice.WriteCommandVerify(PiJuiceCommand.PowerInputsConfig, data);
        }
Esempio n. 2
0
 // Use this for initialization
 void Start()
 {
     pa  = GetComponent <PlayerAttributes>();
     mdi = GetComponent <MeshDeformerInput>();
     opi = GetComponent <ObjectPlacementInput>();
     bab = GetComponent <BuildAstroBodies>();
     pi  = GetComponent <PowerInput>();
 }
Esempio n. 3
0
    void Start()
    {
        GameObject p = GameObject.Find("PlayArea");

        mdi = p.GetComponent <MeshDeformerInput>();
        opi = p.GetComponent <ObjectPlacementInput>();
        bab = p.GetComponent <BuildAstroBodies>();
        pi  = p.GetComponent <PowerInput>();
    }
Esempio n. 4
0
    // Use this for initialization
    void Start()
    {
        opened    = false;
        left      = transform.GetChild(0).Find("left");
        right     = transform.GetChild(0).Find("right");
        canvas    = transform.GetChild(0).Find("Canvas").gameObject;
        grabbable = GetComponent <OVRGrabbable>();
        GameObject p = GameManager.instance.player;

        mdi = p.GetComponent <MeshDeformerInput>();
        opi = p.GetComponent <ObjectPlacementInput>();
        bab = p.GetComponent <BuildAstroBodies>();
        pi  = p.GetComponent <PowerInput>();
    }
Esempio n. 5
0
        /// <summary>
        /// Get power inputs
        /// </summary>
        /// <returns>Power inputs</returns>
        public PowerInput GetPowerInputs()
        {
            var powerInput = new PowerInput();

            var response = _piJuice.ReadCommand(PiJuiceCommand.PowerInputsConfig, 1);

            powerInput.Precedence                     = (PowerInputType)(response[0] & 0x01);
            powerInput.GpioIn                         = (response[0] & 0x02) == 0x02;
            powerInput.NoBatteryTurnOn                = (response[0] & 0x04) == 0x04;
            powerInput.UsbMicroCurrentLimit           = _usbMicroCurrentLimits[(response[0] >> 3) & 0x01];
            powerInput.UsbMicroDynamicPowerManagement = _usbMicroDpm[(response[0] >> 4) & 0x07];
            powerInput.NonVolatile                    = (response[0] & 0x80) == 0x80;

            return(powerInput);
        }