private List <BX4KDynamicArea> GetAreas(byte carType) { int offset = 108; List <OutDoorLedArea> areas = _Areas.Where(item => item != null && item.CarType == carType).ToList(); if (areas.Count > 0 && areas.Count >= 3) //3表示目前的屏只能显示三种卡类型的车位数 { List <BX4KDynamicArea> items = new List <BX4KDynamicArea>(); for (int i = 0; i < 3; i++) { BX4KDynamicArea item = new BX4KDynamicArea() { X = (short)(offset + (6 + 1) * i), Y = 0, Width = 6, Height = 16, SingleLine = false, NewLine = false, FontCode = 0x1, DisplayMode = BX4KDisplayMode.Static, StayTime = 0xA, AreaType = 0x00, Text = string.Format(@"\FE000\C{0}{1}", areas[i].Vacant == 0 ? areas[i].FullColor : areas[i].VacantColor, (areas[i].Vacant > 999 ? 999 : areas[i].Vacant).ToString("D3")), }; items.Add(item); } return(items); } else { return(null); } }
private List <BX4KDynamicArea> GetBikeLedAreas() { int offset = 108; List <BX4KDynamicArea> areas = new List <BX4KDynamicArea>(); BX4KDynamicArea bikeA = new BX4KDynamicArea() { X = (short)(offset + 0), Y = 0, Width = 48 / 8, Height = 16, SingleLine = false, NewLine = true, FontCode = 0x1, DisplayMode = BX4KDisplayMode.Static, StayTime = 0xA, Text = @"\FE000\C2" + BikeA.IntergerValue.ToString("D3") }; areas.Add(bikeA); BX4KDynamicArea bikeB = new BX4KDynamicArea() { X = (short)(offset + 56 / 8), Y = 0, Width = 48 / 8, Height = 16, SingleLine = false, NewLine = true, FontCode = 0x1, DisplayMode = BX4KDisplayMode.Static, StayTime = 0xA, Text = @"\FE000\C2" + BikeB.IntergerValue.ToString("D3") }; areas.Add(bikeB); BX4KDynamicArea bikeC = new BX4KDynamicArea() { X = (short)(offset + 112 / 8), Y = 0, Width = 48 / 8, Height = 16, SingleLine = false, NewLine = true, FontCode = 0x1, DisplayMode = BX4KDisplayMode.Static, StayTime = 0xA, Text = @"\FE000\C2" + BikeC.IntergerValue.ToString("D3") }; areas.Add(bikeC); return(areas); }
private List <BX4KDynamicArea> GetCarLedAreas() { int offset = 108; List <BX4KDynamicArea> areas = new List <BX4KDynamicArea>(); BX4KDynamicArea carA = new BX4KDynamicArea() { X = (short)(0 + offset), Y = 0, Width = 48 / 8, Height = 16, SingleLine = false, NewLine = false, FontCode = 0x1, DisplayMode = BX4KDisplayMode.Static, StayTime = 0xA, Text = @"\FE000\C2" + CarA.IntergerValue.ToString("D3") }; areas.Add(carA); BX4KDynamicArea carB = new BX4KDynamicArea() { X = (short)(56 / 8 + offset), Y = 0, Width = 48 / 8, Height = 16, SingleLine = false, NewLine = false, FontCode = 0x1, DisplayMode = BX4KDisplayMode.Static, StayTime = 0xA, Text = @"\FE000\C2" + CarB.IntergerValue.ToString("D3") }; areas.Add(carB); BX4KDynamicArea carC = new BX4KDynamicArea() { X = (short)(112 / 8 + offset), Y = 0, Width = 48 / 8, Height = 16, SingleLine = false, NewLine = false, FontCode = 0x1, DisplayMode = BX4KDisplayMode.Static, StayTime = 0xA, Text = @"\FE000\C2" + CarC.IntergerValue.ToString("D3") }; areas.Add(carC); return(areas); }
private BX4KDynamicArea GetAreaFromInput() { BX4KDynamicArea area = new BX4KDynamicArea(); area.X = (short)(numX.Value / 8); area.Y = (short)numY.Value; area.Width = (short)(numWidth.Value / 8); area.Height = (short)numHeight.Value; area.SingleLine = chkSingleLine.Checked; area.NewLine = chkNewLine.Checked; area.FontCode = 0x1; area.DisplayMode = BX4KDisplayMode.Static; area.StayTime = 0xA; area.Text = txtContent.Text; return(area); }
private void btnApply_Click(object sender, EventArgs e) { if (_bx4kController != null) { _bx4kController.Close(); } if (!CheckInput()) { return; } _bx4kController = new BX4KLEDControler(comport.ComPort, 57600); if (!_bx4kController.Open()) { MessageBox.Show("串口打开失败"); return; } BX4KDynamicArea area = GetAreaFromInput(); List <BX4KDynamicArea> areas = new List <BX4KDynamicArea>(); areas.Add(area); _bx4kController.DynamicDisplay((short)txtAddress.IntergerValue, 0x51, true, areas); }