private void ReadSector() { int addr = (data[1] * 2 + data[2]) * 18 + (data[3] - 1); int numSectors = data[5] - data[3] + 1; if (numSectors == -1) { numSectors = 1; } floppyStream.Seek(addr * 512, SeekOrigin.Begin); byte[] sector = floppyReader.ReadBytes(512 * numSectors); Logger.Info(String.Format("Reading {0} sectors from sector offset {1}", numSectors, addr)); resultCount = 7; resultIdx = 0; data[0] = 0; data[1] = 0; data[2] = 0; data[3] = 0; data[4] = 0; data[5] = 0; data[6] = 0; OnDMA(new ByteArrayEventArgs(sector)); mainStatus |= MainStatus.DIO; statusZero = 0; OnIRQ(new EventArgs()); }
void FixedUpdate() { if (Controller != null) { if (status == MainStatus.on) { Computer.UpdateComputer(Controller.Pitch, Controller.Roll, Controller.Throttle * ThrottleIncrease); ThrottleValue = (Controller.CurrentThrottleMode != Controller.ThrottleMode.None) ? ThrottleValue = Computer.HeightCorrection : Controller.Throttle; } else { if (Time.time > timeDisabled + 5) { status = MainStatus.on; } ThrottleValue = 0.0f; } ComputeMotors(); } else { if (Computer != null) { Computer.UpdateGyro(); } ComputeMotorSpeeds(); } }
/// <summary> /// 立绘被点击时的事件 /// </summary> public void OnCharacterPaintingClick() { MainStatus ms = SceneStatusManager.Ins.current as MainStatus; int i = Random.Range(0, ms.cc.Words.Touch.Length); ShowDialogueBox(ms.cc.Words.Touch[i], 5); }
private async void BroadcastPageStatus() { var mainStatus = new MainStatus(AdaptiveStates.CurrentState != DefaultState, GetNavFrame()); await Task.Delay(200); Messenger.Default.Send(mainStatus); }
public static Sprite GetMainStatusSprites(MainStatus key) { if (MainStatusSpritesDic.ContainsKey(key) == false) { Debug.Log($"'{nameof(MainStatusSpritesDic)}' dictionary doesn't have '{key}' key", Debug.LogType.Error); return(null); } return(MainStatusSpritesDic[key]); }
private void SetStatus(string status) { if (!MainStatus.InvokeRequired) { Status.Text = status; } else { MainStatus.Invoke(new CrossDelegateMethod(SetStatus), new object[] { status }); } }
private void RunCommand() { switch (command) { case FloppyCommand.Recalibrate: Logger.Info("Recalibrate issued"); floppyStream.Seek(0, SeekOrigin.Begin); headPosition = 0; currentCyl = 0; statusZero = 0x20; interruptInProgress = true; OnIRQ(new EventArgs()); break; case FloppyCommand.SenseInterrupt: Logger.Info("Sense interrupt isssued"); if (!interruptInProgress) { statusZero = 0x80; } interruptInProgress = false; mainStatus |= MainStatus.DIO; resultIdx = 0; resultCount = 2; data[0] = statusZero; data[1] = currentCyl; break; case FloppyCommand.ReadData: ReadSector(); break; case FloppyCommand.WriteData: resultCount = 7; resultIdx = 0; data[0] = 0; data[1] = 0x2; data[2] = 0; data[3] = 0; data[4] = 0; data[5] = 0; data[6] = 0; mainStatus |= MainStatus.DIO; statusZero = 0; OnIRQ(new EventArgs()); break; default: System.Diagnostics.Debugger.Break(); break; } }
public int GetStatus(MainStatus status) { var effects = Unit.Equipment.GetEquippedItemEffects(); var filteredEffects = effects.Where(x => x.type == status); int totalAdditionalStatus = 0; foreach (var item in filteredEffects) { totalAdditionalStatus += item.value; } return((int)StatusDic[status].GetValue(mainStatus) + totalAdditionalStatus); }
private void btnOK_Click(object sender, EventArgs e) { MainStatus _mainStatus = MainStatus.getInstance(); Status status = _mainStatus.Get(); foreach (DataGridViewCell cell in _dgvMain.SelectedCells) { Car car = _dgvMain.GetCar(cell); DateTime date = new DateTime(dateTimePicker1.Value.Year, dateTimePicker1.Value.Month, 1); CreateDocument excelWayBill; try { excelWayBill = (status == Status.Invoice) ? CreateWayBill(car, date, _dgvMain.GetID(cell.RowIndex)) : CreateWayBill(car, date); } catch (NullReferenceException) { continue; } if (_action == Logic.Static.Actions.Print) { excelWayBill.Print(); } else { excelWayBill.Show(); } } if (_action == Logic.Static.Actions.Print) { MyPrinter printer = new MyPrinter(); MessageBox.Show("Документы отправлены на печать на принтер " + printer.GetDefaultPrinterName(), "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public MainForm(ICarForm carForm) { _carForm = carForm; InitializeComponent(); _carList = CarList.getInstance(); _mainStatus = MainStatus.getInstance(); _mainStatus.StatusChanged += statusChanged; _mainStatus.StatusChanged += SetWindowHeaderText; _mainStatus.StatusChanged += ConfigContextMenu; _dgvMain = new MainDGV(_dgvCar); _seacher = new SearchInDgv(_dgvCar); _myStatusStrip = new MyStatusStrip(_dgvCar, statusStrip1); _myFilter = MyFilter.GetInstanceCars(); _myFilter.Fill(_dgvCar, _myStatusStrip, this); }
private bool OnHaultCanExecute() { try { if (SelectedCProgram != null && SelectedCProgram.ThreadID != null && Connected && Convert.ToBoolean(MainStatus.GetThreadActive(SelectedCProgram.ThreadID.Value)) //&& _kserv.KMController.ThreadExecuting(SelectedCProgram.ThreadID.Value) ) { return(true); } } catch (Exception ex) { LogTo.Error("Error checking thread execution: {0}", ex.Message); } //if (SelectedCProgram != null) return true; return(false); }
private void SetStreamStatus(string text) { try { if (MainStatus.InvokeRequired) { MainStatus.Invoke(new CrossDelegateMethod(SetStreamStatus), new object[] { text }); } else { var streaming = text.Equals("Streaming"); var color = (streaming) ? Color.DarkSeaGreen : SystemColors.Control; StartMenu.Text = (streaming) ? "Stop Streaming" : "Start Streaming"; StreamStatus.Text = text; StreamStatus.BackColor = color; } } catch (Exception ex) { Debug.WriteLine($"Unable to set status: {ex}"); } }
public uint Read(ushort addr, int size) { switch (addr) { case 0x3f2: return((ushort)digitalOutput); case 0x3f4: return((ushort)mainStatus); case 0x3f5: byte ret = data[resultIdx++]; if (resultIdx == resultCount) { mainStatus &= ~MainStatus.DIO; } return(ret); default: System.Diagnostics.Debugger.Break(); break; } return(0); }
public Floppy() { mainStatus = MainStatus.RQM; data = new byte[16]; }
/// <summary> /// 获取全年休假天数同时,更新休假天数 /// </summary> /// <param name="targetUser"></param> /// <param name="vacationYear">休假年份</param> /// <param name="vacationStatus">统计何种类型</param> /// <returns></returns> public UserVacationInfoVDto VacationInfo(User targetUser, int vacationYear, MainStatus vacationStatus) { if (targetUser == null) { return(null); } var applies = _context.AppliesDb .Where(a => a.BaseInfo.FromId == targetUser.Id) .Where(a => a.Status == AuditStatus.Accept) .Where(a => a.MainStatus == vacationStatus) .Where(a => a.RequestInfo.StampLeave.Value.Year == vacationYear) .Where(a => _context.VacationTypes.Any(t => t.Primary && t.Name == a.RequestInfo.VacationType)).ToList(); // 仅主要假期计算天数 var targetSocial = targetUser.SocialInfo; var targetSettle = targetSocial?.Settle; if (targetSettle == null) { return(null); } var r = targetSettle.GetYearlyLength(targetUser, out bool requireUpdate); var requireAddRecord = r.Item2; var maxOnTripTime = r.Item3; var description = r.Item4; var yearlyLength = r.Item1 < 0 ? 0 : r.Item1; if (targetSettle.Lover?.Valid ?? false) { // 已婚 requireUpdate |= (targetSocial.Status & (int)SocialStatus.IsMarried) == 0; targetSocial.Status |= (int)SocialStatus.IsMarried; if (targetSettle.Self.IsAllopatry(targetSettle.Lover)) { // 分居 requireUpdate |= (targetSocial.Status & (int)SocialStatus.IsApart) == 0; targetSocial.Status |= (int)SocialStatus.IsApart; } else { // 同居 requireUpdate |= (targetSocial.Status & (int)SocialStatus.IsApart) > 0; targetSocial.Status -= (int)SocialStatus.IsApart; } } else { // 未婚 requireUpdate |= (targetSocial.Status & (int)SocialStatus.IsMarried) > 0; targetSocial.Status -= (int)SocialStatus.IsMarried; } if (requireAddRecord != null) { var list = new List <AppUsersSettleModifyRecord>(targetSettle.PrevYealyLengthHistory ?? new List <AppUsersSettleModifyRecord>()); list.Add(requireAddRecord); targetSettle.PrevYealyLengthHistory = list; _context.AppUserSocialInfoSettles.Update(targetSettle); requireUpdate |= true; } if (requireUpdate) { _context.AppUserSocialInfos.Update(targetSocial); _context.SaveChanges(); } var vacationInfo = VacationInfoInRange(applies, yearlyLength); vacationInfo.Description = $"{description} {vacationInfo.Description ?? ""}"; vacationInfo.MaxTripTimes += maxOnTripTime; return(vacationInfo); }
public uint Read(ushort addr, int size) { switch (addr) { case 0x3f2: return (ushort)digitalOutput; case 0x3f4: return (ushort)mainStatus; case 0x3f5: byte ret = data[resultIdx++]; if (resultIdx == resultCount) mainStatus &= ~MainStatus.DIO; return ret; default: System.Diagnostics.Debugger.Break(); break; } return 0; }
public void Disable() { status = MainStatus.disabled; timeDisabled = Time.time; }
public void DoEdgeDetecting() { if (Status == MainStatus.EdgeDetecting && !edgeCooling) { if (IsStable(rightHandQueue, EDGE_TOLERANCE, EDGE_COUNT) && IsStable(rightElbowQueue, EDGE_TOLERANCE, EDGE_COUNT)) { SkeletonPoint handPoint = rightHandQueue.Last().Position; Vector3f handVec = new Vector3f(handPoint.X, handPoint.Y, handPoint.Z); SkeletonPoint elbowPoint = rightElbowQueue.Last().Position; Vector3f elbowVec = new Vector3f(elbowPoint.X, elbowPoint.Y, elbowPoint.Z); if (kCalibrator.SetScreenPosition(handVec, elbowVec)) { // all screen position setted mainWindow.textBlock.Text = "Waiting for PPT"; Status = MainStatus.PptWaiting; pptDetectTimer.Start(); edgeTimer.Stop(); } else { mainWindow.textBlock.Text = "Please wait No. " + kCalibrator.ScreenSetted(); ; // point to another screen edge, using cooling time to prevent pointing to the same point edgeTimer.Start(); edgeCooling = true; } ClearQueue(); } } }
private void ScnmicrSetStatusBack(int iTransactionNumber, MainStatus mainStatus, ErrorCode subStatus, string portName) { ErrorCode ret; switch (mainStatus) { case MainStatus.MF_FUNCTION_START: break; case MainStatus.MF_CHECKPAPER_PROCESS_START: break; case MainStatus.MF_DATARECEIVE_START: _mutex.WaitOne(-1); _documents.Add(new Document()); break; case MainStatus.MF_DATARECEIVE_DONE: var document = _documents[_documents.Count - 1]; document.Cmc7 = ""; document.Id = iTransactionNumber; ret = _mObjmfDevice.GetMicrText(iTransactionNumber, _mObjmfMicr); if (ret != ErrorCode.ERR_MICR_NODATA) { if (!string.IsNullOrEmpty(_mObjmfMicr.MicrStr)) { document.Cmc7 = _mObjmfMicr.MicrStr.Substring(0, _mObjmfMicr.MicrStr.IndexOf('\0')); document.Cmc7 = document.Cmc7.Trim(); } } /*if (_mObjmfDevice.SCNSelectScanFace(ScanSide.MF_SCAN_FACE_FRONT) == ErrorCode.SUCCESS * && _mObjmfDevice.GetScanImage(iTransactionNumber, _mObjmfScanFront) == ErrorCode.SUCCESS * && _mObjmfDevice.SCNSelectScanFace(ScanSide.MF_SCAN_FACE_BACK) == ErrorCode.SUCCESS * && _mObjmfDevice.GetScanImage(iTransactionNumber, _mObjmfScanBack) == ErrorCode.SUCCESS)*/ if (_mObjmfDevice.SCNSelectScanFace(ScanSide.MF_SCAN_FACE_FRONT) == ErrorCode.SUCCESS && _mObjmfDevice.GetScanImage(iTransactionNumber, _mObjmfScanFront) == ErrorCode.SUCCESS) { document.RawImageFront = new byte[_mObjmfScanFront.Data.Length]; _mObjmfScanFront.Data.Read(document.RawImageFront, 0, document.RawImageFront.Length); //document.RawImageBack = new byte[_mObjmfScanBack.Data.Length]; //_mObjmfScanBack.Data.Read(document.RawImageBack, 0, document.RawImageBack.Length); //document.RawImage = TiffUtil.mergeTiffPages(aux); } if (_mObjmfDevice.SCNSelectScanFace(ScanSide.MF_SCAN_FACE_BACK) == ErrorCode.SUCCESS && _mObjmfDevice.GetScanImage(iTransactionNumber, _mObjmfScanBack) == ErrorCode.SUCCESS) { document.RawImageBack = new byte[_mObjmfScanBack.Data.Length]; _mObjmfScanBack.Data.Read(document.RawImageBack, 0, document.RawImageBack.Length); } _mutex.ReleaseMutex(); break; case MainStatus.MF_CHECKPAPER_PROCESS_DONE: break; case MainStatus.MF_FUNCTION_DONE: Scan(); break; case MainStatus.MF_ERROR_OCCURED: _mutex.ReleaseMutex(); break; default: throw new ArgumentOutOfRangeException(nameof(mainStatus), mainStatus, null); } }
public void DoPptDetecting() { if (Status == MainStatus.PptWaiting) { System.Diagnostics.Process[] processList = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process process in processList) { if (process.ProcessName == pptProcessName) { // ppt detected Status = MainStatus.PptPresenting; mainWindow.textBlock.Text = "PPT Presenting"; presentCooling = true; presentTimer.Start(); ClearQueue(); return; } } } }
/// <summary> /// Check queue if right hand and elbow positions are stable /// under the condition that Status is DepthDetecting. /// If is stable, the Status will be changed to next after doing depth calibration. /// If not, nothing will be changed. /// </summary> public void DoDepthDetecting(KinectSensor sensor, DepthImageFrame depthFrame) { if (Status == MainStatus.DepthDetecting) { if (IsStable(rightHandQueue, DEPTH_HAND_TOLERANCE, DEPTH_HAND_COUNT)) { // if is stable, calibrate depth according to avg of position near hand SkeletonPoint handPoint = rightHandQueue.Last().Position; DepthImagePoint centerDepthPoint = sensor.MapSkeletonPointToDepth( handPoint, sensor.DepthStream.Format); int[] depthArr = new int[DEPTH_NEAR_COUNT * 4]; int index = 0; for (int i = 0; i < DEPTH_NEAR_COUNT; ++i) { // top SkeletonPoint topSke = depthFrame.MapToSkeletonPoint( centerDepthPoint.X - DEPTH_NEAR_RADIUS + (int)(DEPTH_SPAN * i), centerDepthPoint.Y - DEPTH_NEAR_RADIUS); depthArr[index++] = depthFrame.MapFromSkeletonPoint(topSke).Depth; // bottom SkeletonPoint bottomSke = depthFrame.MapToSkeletonPoint( centerDepthPoint.X - DEPTH_NEAR_RADIUS + (int)(DEPTH_SPAN * i), centerDepthPoint.Y + DEPTH_NEAR_RADIUS); depthArr[index++] = depthFrame.MapFromSkeletonPoint(bottomSke).Depth; // left SkeletonPoint leftSke = depthFrame.MapToSkeletonPoint( centerDepthPoint.X - DEPTH_NEAR_RADIUS, centerDepthPoint.Y - DEPTH_NEAR_RADIUS + (int)(DEPTH_SPAN * i)); depthArr[index++] = depthFrame.MapFromSkeletonPoint(leftSke).Depth; // right SkeletonPoint rightSke = depthFrame.MapToSkeletonPoint( centerDepthPoint.X + DEPTH_NEAR_RADIUS, centerDepthPoint.Y - DEPTH_NEAR_RADIUS + (int)(DEPTH_SPAN * i)); depthArr[index++] = depthFrame.MapFromSkeletonPoint(rightSke).Depth; } // set median(rather than mean) depth of the list Array.Sort(depthArr); kCalibrator.SetDepth(depthArr[DEPTH_NEAR_COUNT / 2]); ClearQueue(); Status = MainStatus.EdgeDetecting; mainWindow.textBlock.Text = "Detecting edge now. Arm at four corners of the screen."; // cooling time timer edgeTimer.Start(); edgeCooling = true; } } }
private void ReadSector() { int addr = (data[1] * 2 + data[2]) * 18 + (data[3] - 1); int numSectors = data[5] - data[3] + 1; if (numSectors == -1) numSectors = 1; floppyStream.Seek(addr * 512, SeekOrigin.Begin); byte[] sector = floppyReader.ReadBytes(512 * numSectors); Logger.Info(String.Format("Reading {0} sectors from sector offset {1}", numSectors, addr)); resultCount = 7; resultIdx = 0; data[0] = 0; data[1] = 0; data[2] = 0; data[3] = 0; data[4] = 0; data[5] = 0; data[6] = 0; OnDMA(new ByteArrayEventArgs(sector)); mainStatus |= MainStatus.DIO; statusZero = 0; OnIRQ(new EventArgs()); }
public Status_Attribute_MainStatus(MainStatus mainStatus) { MainStatus = mainStatus; }
private void RunCommand() { switch (command) { case FloppyCommand.Recalibrate: Logger.Info("Recalibrate issued"); floppyStream.Seek(0, SeekOrigin.Begin); headPosition = 0; currentCyl = 0; statusZero = 0x20; interruptInProgress = true; OnIRQ(new EventArgs()); break; case FloppyCommand.SenseInterrupt: Logger.Info("Sense interrupt isssued"); if (!interruptInProgress) statusZero = 0x80; interruptInProgress = false; mainStatus |= MainStatus.DIO; resultIdx = 0; resultCount = 2; data[0] = statusZero; data[1] = currentCyl; break; case FloppyCommand.ReadData: ReadSector(); break; case FloppyCommand.WriteData: resultCount = 7; resultIdx = 0; data[0] = 0; data[1] = 0x2; data[2] = 0; data[3] = 0; data[4] = 0; data[5] = 0; data[6] = 0; mainStatus |= MainStatus.DIO; statusZero = 0; OnIRQ(new EventArgs()); break; default: System.Diagnostics.Debugger.Break(); break; } }
public MyMenu(MainDGV dgvMain) { _mainStatus = MainStatus.getInstance(); _factory = new MyMenuItemFactory(dgvMain); }
private void OnMainStatusTick(object sender, EventArgs e) { int[] List; int nBoards = 0; // with extra FTDI Drivers this can take a long time // so only call occasionally when not connected if (!Connected && ++_skip == 10) { _skip = 0; // check how many boards connected List = _kserv.KMController.GetBoards(out nBoards); if (nBoards > 0) { Connected = true; LogTo.Info("Dynomotion C# Forms App - Connected - USB location {0:X}", List[0]); string verstr = _kserv.KMController.WriteLineReadLine("Version"); LogTo.Info(verstr); StartLogging = true; //ViewModelCommandManager.InvalidateCommands(); _lastElapsedms = _stopwatch.ElapsedMilliseconds; } else { Connected = false; StartLogging = false; } } if (Connected && _kserv.KMController.WaitToken(100) == KMOTION_TOKEN.KMOTION_LOCKED) { try { MainStatus = _kserv.KMController.GetStatus(false); // we already have a lock _kserv.KMController.ReleaseToken(); Thread1Executing = Convert.ToBoolean(MainStatus.GetThreadActive(1)); Thread2Executing = Convert.ToBoolean(MainStatus.GetThreadActive(2)); Thread3Executing = Convert.ToBoolean(MainStatus.GetThreadActive(3)); Thread4Executing = Convert.ToBoolean(MainStatus.GetThreadActive(4)); Thread5Executing = Convert.ToBoolean(MainStatus.GetThreadActive(5)); Thread6Executing = Convert.ToBoolean(MainStatus.GetThreadActive(6)); Thread7Executing = Convert.ToBoolean(MainStatus.GetThreadActive(7)); int lastByteCount = MessageByteCount; MessageByteCount = _loggingService.MessageByteCount; MessageCount = _loggingService.MessageCount; long nowelapsedms = _stopwatch.ElapsedMilliseconds; DataRate = (int)((_loggingService.MessageByteCount - lastByteCount) / ((nowelapsedms - _lastElapsedms) / 1000F) / 1000);//kbytes/sec _lastElapsedms = nowelapsedms; //_stopwatch.Start(); if (DataRate > MaxDataRate) { MaxDataRate = DataRate; } } catch (DMException ex) // in case disconnect in the middle of reading status { _kserv.KMController.ReleaseToken(); LogTo.Error(ex.InnerException.Message); } } else { Connected = false; } }
public MyMenuItemFactory(MainDGV dgvMain) { _dgvMain = dgvMain; _mainStatus = MainStatus.getInstance(); _carList = CarList.getInstance(); }