コード例 #1
0
        void print(IntPtr sdkContext, BS2Door door)
        {
            Console.WriteLine(">>>> Door ID[{0, 10}] name[{1}]", door.doorID, Encoding.UTF8.GetString(door.name).TrimEnd('\0'));
            Console.WriteLine("     |--entryDeviceID[{0}]", door.entryDeviceID);
            Console.WriteLine("     |--exitDeviceID[{0}]", door.exitDeviceID);
            Console.WriteLine("     |--relay[ioDeviceID[{0}] port[{1}]]", door.relay.deviceID, door.relay.port);
            Console.WriteLine("     |--sensor[ioDeviceID[{0}] port[{1}] switchType[{2}]]", door.sensor.deviceID, door.sensor.port, (BS2SwitchTypeEnum)door.sensor.switchType);
            Console.WriteLine("     |--exitButton[ioDeviceID[{0}] port[{1}] switchType[{2}]]", door.button.deviceID, door.button.port, (BS2SwitchTypeEnum)door.button.switchType);
            Console.WriteLine("     |--autoLockTimeout[{0}ms]", door.autoLockTimeout);
            Console.WriteLine("     |--heldOpenTimeout[{0}ms]", door.heldOpenTimeout);
            Console.WriteLine("     |--unlockFlags[{0}]", (BS2DoorFlagEnum)door.unlockFlags);
            Console.WriteLine("     |--lockFlags[{0}]", (BS2DoorFlagEnum)door.lockFlags);
            Console.WriteLine("     |--alarmFlags[{0}]", (BS2DoorAlarmFlagEnum)door.unconditionalLock);
            Console.WriteLine("     |--forcedOpenAlarm");
            for (int idx = 0; idx < BS2Envirionment.BS2_MAX_FORCED_OPEN_ALARM_ACTION; ++idx)
            {
                BS2ActionTypeEnum actionType = (BS2ActionTypeEnum)door.heldOpenAlarm[idx].type;
                Console.WriteLine("     |  |--ID[{0}] Type[{1}] {2}", door.heldOpenAlarm[idx].deviceID, (BS2ActionTypeEnum)door.heldOpenAlarm[idx].type, Util.getActionMsg(door.forcedOpenAlarm[idx]));
            }

            Console.WriteLine("     |--heldOpenAlarm");
            for (int idx = 0; idx < BS2Envirionment.BS2_MAX_HELD_OPEN_ALARM_ACTION; ++idx)
            {
                BS2ActionTypeEnum actionType = (BS2ActionTypeEnum)door.heldOpenAlarm[idx].type;
                Console.WriteLine("     |  |--ID[{0}] Type[{1}] {2}", door.heldOpenAlarm[idx].deviceID, (BS2ActionTypeEnum)door.heldOpenAlarm[idx].type, Util.getActionMsg(door.heldOpenAlarm[idx]));
            }
            Console.WriteLine("     |--dualAuthScheduleID[{0}]", door.dualAuthScheduleID);
            Console.WriteLine("     |--dualAuthDevice[{0}]", door.dualAuthDevice);
            Console.WriteLine("     |--dualAuthApprovalType[{0}]", (BS2DualAuthApprovalEnum)door.dualAuthApprovalType);
            Console.WriteLine("     |--dualAuthTimeout[{0}ms]", door.dualAuthTimeout);
            if (door.numDualAuthApprovalGroups > 0)
            {
                Console.WriteLine("     |--dualAuthApprovalGroupID");
                for (int idx = 0; idx < door.numDualAuthApprovalGroups; ++idx)
                {
                    Console.WriteLine("     |  |--dual auth approval group id[{0}]", door.dualAuthApprovalGroupID[idx]);
                }
            }
        }
コード例 #2
0
        public static string getActionMsg(BS2Action action)
        {
            BS2ActionTypeEnum actionType = (BS2ActionTypeEnum)action.type;

            switch (actionType)
            {
            case BS2ActionTypeEnum.NONE:
                return("Not specified");

            case BS2ActionTypeEnum.RELAY:
            {
                BS2RelayAction relay = Util.ConvertTo <BS2RelayAction>(action.actionUnion);
                return(String.Format("RelayAction relayIndex[{0}] signalID[{1}] count[{2}] onDuration[{3}ms] offDuration[{4}ms] delay[{5}ms]",
                                     relay.relayIndex,
                                     relay.signal.signalID,
                                     relay.signal.count,
                                     relay.signal.onDuration,
                                     relay.signal.offDuration,
                                     relay.signal.delay));
            }

            case BS2ActionTypeEnum.TTL:
            {
                BS2OutputPortAction outputPort = Util.ConvertTo <BS2OutputPortAction>(action.actionUnion);
                return(String.Format("OutputPortAction relayIndex[{0}] signalID[{1}] count[{2}] onDuration[{3}ms] offDuration[{4}ms] delay[{5}ms]",
                                     outputPort.portIndex,
                                     outputPort.signal.signalID,
                                     outputPort.signal.count,
                                     outputPort.signal.onDuration,
                                     outputPort.signal.offDuration,
                                     outputPort.signal.delay));
            }

            case BS2ActionTypeEnum.DISPLAY:
            {
                BS2DisplayAction display = Util.ConvertTo <BS2DisplayAction>(action.actionUnion);
                return(String.Format("DisplayAction displayID[{0}] resourceID[{1}] delay[{2}ms]",
                                     display.displayID,
                                     display.resourceID,
                                     display.duration));
            }

            case BS2ActionTypeEnum.SOUND:
            {
                BS2SoundAction sound = Util.ConvertTo <BS2SoundAction>(action.actionUnion);
                return(String.Format("SoundAction soundIndex[{0}] count[{1}]", sound.soundIndex, sound.count));
            }

            case BS2ActionTypeEnum.LED:
            {
                BS2LedAction led          = Util.ConvertTo <BS2LedAction>(action.actionUnion);
                string       ledSignalStr = "";
                for (int idx = 0; idx < BS2Environment.BS2_LED_SIGNAL_NUM; ++idx)
                {
                    ledSignalStr += String.Format("[color[{0}] duration[{1}ms] delay[{2}ms]]",
                                                  (BS2LedColorEnum)led.signal[idx].color,
                                                  led.signal[idx].duration,
                                                  led.signal[idx].delay);

                    if (idx + 1 < BS2Environment.BS2_LED_SIGNAL_NUM)
                    {
                        ledSignalStr += ", ";
                    }
                }

                return(String.Format("LedAction count[{0}] {1}", led.count, ledSignalStr));
            }

            case BS2ActionTypeEnum.BUZZER:
            {
                BS2BuzzerAction buzzer          = Util.ConvertTo <BS2BuzzerAction>(action.actionUnion);
                string          buzzerSignalStr = "";
                for (int idx = 0; idx < BS2Environment.BS2_BUZZER_SIGNAL_NUM; ++idx)
                {
                    buzzerSignalStr += String.Format("[tone[{0}] fadeout[{1}] duration[{2}ms] delay[{3}ms]]",
                                                     (BS2BuzzerToneEnum)buzzer.signal[idx].tone,
                                                     Convert.ToBoolean(buzzer.signal[idx].fadeout),
                                                     buzzer.signal[idx].duration,
                                                     buzzer.signal[idx].delay);

                    if (idx + 1 < BS2Environment.BS2_BUZZER_SIGNAL_NUM)
                    {
                        buzzerSignalStr += ", ";
                    }
                }

                return(String.Format("BuzzerAction count[{0}] {1}", buzzer.count, buzzerSignalStr));
            }

            case BS2ActionTypeEnum.LIFT:
            {
                BS2LiftAction lift = Util.ConvertTo <BS2LiftAction>(action.actionUnion);
                return(String.Format("LiftAction deviceID[{0}] type[{1}]", lift.liftID, (BS2LiftActionTypeEnum)lift.type));
            }

            default:
                return("Not implemented yet.");
            }
        }