コード例 #1
0
        void AlarmCheck(ref DateTime dt, ref FDOutput algOutput)
        {
            bool isAlarmed  = algOutput.galarm > 0;
            bool needChange = _alarmState != isAlarmed && (dt - _alarmTime) > App.Const_AlarmDelta;

            if (!needChange)
            {
                return;
            }

            _alarmState = isAlarmed;
            _alarmTime  = dt;

            int ret = _warden.SetGpio(isAlarmed);

            //sound
            _busiManager.PlayAlarm(isAlarmed);
        }
コード例 #2
0
        void _funcUpdateIR(ref DateTime dt, ref FDOutput algOutput)
        {
            //gnew
            AlarmCheck(ref dt, ref algOutput);
            if (algOutput.gnew == 0)
            {
                return;
            }

            //
            if (algOutput.galarmExp > 0)
            {
                AlarmConfirmView.Instance.MyShow();
                return;
            }

            //target
            string fn;
            int    targetCount = algOutput.targetCount;

            FDTarget[] targetArray = algOutput.targetArray;
            int        i           = 0;

            for (; i < targetCount; i++)
            {
                if (targetArray[i].idNew == 0)
                {
                    continue;
                }
                _recordTotalCount++;
                int index = i + 1;
                if (targetArray[i].alarm > 0)
                {
                    index = -index;
                }
                DataRecord record = new DataRecord(dt, index, targetArray[i].irMaxTemp);
                fn = record.fnTarget;
                if (_clsHead.Misc_FaceSaveMode == FaceSaveMode.VIS)
                {
                    fdCanvas.SaveTarget(ref targetArray[i], fn);
                }
                else
                {
                    fdCanvas.SaveTargetIR(ref targetArray[i], fn);
                }

                //
                _recordService.Create(record);
                if (_records.Count >= _clsHead.Misc_RecentCount)
                {
                    _records.RemoveAt(_records.Count - 1);
                }
                _records.Insert(0, record);
                _busiManager.AddFace(record);
            }
            txtTotalCount.Text = _recordTotalCount.ToString();

            //ftp, whole
            fn = _busiManager.GetWhole(ref algOutput, ref dt);
            if (null != fn)
            {
                int ret = fdCanvas.SaveFile(fn);
                if (0 == ret)
                {
                    _busiManager.AddWhole(fn);
                }
            }
        }