Ejemplo n.º 1
0
        protected override void Seed(CraneWeb.Data.CraneDbContext context)
        {
            CraneOperation cabCW = new CraneOperation {
                Name = "Cab CW", ActionSource = ActionSource.NorthChip, BitPosition = 0, OpCode = CraneOperations.CabCW
            };
            CraneOperation cabCCW = new CraneOperation {
                Name = "Cab CCW", ActionSource = ActionSource.NorthChip, BitPosition = 1, OpCode = CraneOperations.CabCCW
            };
            CraneOperation boomUp = new CraneOperation {
                Name = "Boom Up", ActionSource = ActionSource.NorthChip, BitPosition = 2, OpCode = CraneOperations.BoomUp
            };
            CraneOperation boomDown = new CraneOperation {
                Name = "BoomDown", ActionSource = ActionSource.NorthChip, BitPosition = 3, OpCode = CraneOperations.BoomDown
            };

            CraneOperation hookUp = new CraneOperation {
                Name = "Hook Up", ActionSource = ActionSource.SouthChip, BitPosition = 0, OpCode = CraneOperations.HookUp
            };
            CraneOperation hookDown = new CraneOperation {
                Name = "HookDown", ActionSource = ActionSource.SouthChip, BitPosition = 1, OpCode = CraneOperations.HookDown
            };
            CraneOperation platformEast = new CraneOperation {
                Name = "Platform East", ActionSource = ActionSource.SouthChip, BitPosition = 2, OpCode = CraneOperations.PlatformEast
            };
            CraneOperation platformWest = new CraneOperation {
                Name = "Platform West", ActionSource = ActionSource.SouthChip, BitPosition = 3, OpCode = CraneOperations.PlatformWest
            };
            CraneOperation platformNorth = new CraneOperation {
                Name = "Platform North", ActionSource = ActionSource.SouthChip, BitPosition = 4, OpCode = CraneOperations.PlatformNorth
            };
            CraneOperation platformSouth = new CraneOperation {
                Name = "Platform South", ActionSource = ActionSource.SouthChip, BitPosition = 5, OpCode = CraneOperations.PlatformSouth
            };

            CraneOperation magOn = new CraneOperation {
                Name = "Magnet", ActionSource = ActionSource.SouthChip, BitPosition = 6, OpCode = CraneOperations.Magnet
            };

            context.CraneOperations.AddOrUpdate(s => s.OpCode, cabCW);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, cabCCW);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, boomUp);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, boomDown);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, hookUp);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, hookDown);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, platformEast);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, platformWest);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, platformNorth);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, platformSouth);
            context.CraneOperations.AddOrUpdate(s => s.OpCode, magOn);

            context.SaveChanges();
        }
Ejemplo n.º 2
0
        public static void OperateCrane(List <ControlboardOperation> operations)
        {
            lastStartTime = DateTime.UtcNow;
            CraneOperation magOp = CraneOperation.GetByOpCode(CraneOperations.Magnet);

            foreach (var op in operations)
            {
                if (op.Action == CraneOperationAction.Off)
                {
                    s_chipActions[op.Operation.ActionSource] &= (byte)~(1 << (int)op.Operation.BitPosition);
                    continue;
                }
                else
                {
                    s_chipActions[op.Operation.ActionSource] |= (byte)(1 << (int)op.Operation.BitPosition);
                }
            }

            WriteAll();
        }
        public async Task <IHttpActionResult> GetSettings()
        {
            var operations = CraneOperation.GetAll()
                             .ToDictionary(k => k.OpCode.ToString(), v => v);


            String ip = null;

            try
            {
                ip = "216.41.240.26";
            }
            catch { }

            return(Json(new
            {
                operations,
                ipAddress = ip,
                pvtActions = Enum.GetNames(typeof(PvtActions))
                             .Select(s => new
                {
                    name = s,
                    id = Enum.Parse(typeof(PvtActions), s)
                }),
                cameras = new []
                {
                    new
                    {
                        supportsPvt = true,
                        port = 8100,
                        name = "P & T"
                    },
                    new
                    {
                        supportsPvt = false,
                        port = 8181,
                        name = "overhead"
                    }
                }
            }));
        }
Ejemplo n.º 4
0
        static Driver()
        {
            s_chipActions.Add(ActionSource.NorthChip, 0);
            s_chipActions.Add(ActionSource.SouthChip, 0);
            magOperation = CraneOperation.GetByOpCode(CraneOperations.Magnet);

            _com = FindControllerComPort();

            Task.Run(() =>
            {
                while (true)
                {
                    if (lastStartTime != null && DateTime.UtcNow.Subtract(lastStartTime.Value).Minutes >= 2)
                    {
                        Driver.Off();
                        lastStartTime = null;
                    }

                    Thread.Sleep(1000);
                }
            });
        }