예제 #1
0
        public static int PowerState()
        {
            int rev = -1;

            //WINIO检测市电
            if (EnableBattery == 0)
            {
                if (App_Configure.Cnfgs.Gpio == 0)
                {
                    int[] value = new int[1];
                    if (GetPortVal(0x084E, value, 1))
                    {
                        if ((value[0] & 0x40) != 0)
                        {
                            rev = 1;
                        }
                        else
                        {
                            rev = 0;
                        }
                    }
                }
                else
                {
                    int  v;
                    byte pinNum = Convert.ToByte(Power_pinNum.ToString(), 10);
                    if (gpioSucc)
                    {
                        susiGpio.susiGpio.ReadEx(pinNum, out v);
                        rev = v;
                    }
                }
            }
            //电池服务
            else
            {
                uint v = CMessage.IsACin("Battery_flag");

                if (v == CMessage.ACIN)
                {
                    rev = 1;
                }

                if (v == CMessage.ACOUT)
                {
                    rev = 0;
                }
            }

            return(1);
        }