Exemple #1
0
        /// <summary>
        /// Checks if adaptive is running
        /// </summary>
        /// <param name="localSummit">Summit system</param>
        /// <returns>true if adaptive is running, false if not or errors</returns>
        private bool CheckIsAdaptiveRunning(SummitSystem localSummit)
        {
            SensingState state;
            int          counter = 5;

            while (counter > 0)
            {
                try
                {
                    localSummit.ReadSensingState(out state);
                    if (state == null)
                    {
                        counter--;
                    }
                    else if (state.State.ToString().Contains("DetectionLd0") || state.State.ToString().Contains("DetectionLd1"))
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                catch (Exception error)
                {
                    _log.Error(error);
                }
            }
            if (counter == 0)
            {
                _log.Warn("Could not stop sensing before configure sensing. Returning false");
                return(false);
            }
            return(false);
        }
Exemple #2
0
        /// <summary>
        /// Starts sensing and streaming.  Skips starting sensing if Adaptive running.
        /// </summary>
        /// <param name="theSummit">Summit System</param>
        /// <param name="senseConfig">Sense Model</param>
        /// <param name="showErrorMessage">True if you want a popup message on errors or false if show no error popup</param>
        /// <returns>True if success and false if unsuccessful</returns>
        public bool StartSensingAndStreaming(SummitSystem theSummit, SenseModel senseConfig, bool showErrorMessage)
        {
            APIReturnInfo bufferReturnInfo;

            try
            {
                _log.Info("Start Sensing and Streaming");
                //This checks to see if sensing is already enabled.
                //If it is, then skip write sensing state and just start streaming
                SensingState state;
                theSummit.ReadSensingState(out state);
                if (!state.State.ToString().Contains("DetectionLd0") && !state.State.ToString().Contains("DetectionLd1"))
                {
                    _log.Info("Detection is off. Turn sensing on with LD0/LD1 off");
                    // Start sensing
                    //LDO is false because if it is in adaptive then it will bypass this. If not in adaptive, don't need it.
                    bufferReturnInfo = theSummit.WriteSensingState(ConfigConversions.TDSenseStatesConvert(
                                                                       senseConfig.SenseOptions.TimeDomain,
                                                                       senseConfig.SenseOptions.FFT,
                                                                       senseConfig.SenseOptions.Power,
                                                                       false,
                                                                       false,
                                                                       senseConfig.SenseOptions.AdaptiveState,
                                                                       senseConfig.SenseOptions.LoopRecording,
                                                                       senseConfig.SenseOptions.Unused), ConfigConversions.FFTChannelConvert(senseConfig));
                    if (!CheckForReturnError(bufferReturnInfo, "Write Sensing State", showErrorMessage))
                    {
                        return(false);
                    }
                }
                else
                {
                    _log.Warn("Detection is on. SKIP SENSING AND START STREAMING!");
                }
                // Start streaming
                bufferReturnInfo = theSummit.WriteSensingEnableStreams(
                    senseConfig.StreamEnables.TimeDomain,
                    senseConfig.StreamEnables.FFT,
                    senseConfig.StreamEnables.Power,
                    senseConfig.StreamEnables.AdaptiveTherapy,
                    senseConfig.StreamEnables.AdaptiveState,
                    senseConfig.StreamEnables.Accelerometry,
                    senseConfig.StreamEnables.TimeStamp,
                    senseConfig.StreamEnables.EventMarker);
                if (!CheckForReturnError(bufferReturnInfo, "Stream Enables", showErrorMessage))
                {
                    return(false);
                }
            }
            catch (Exception error)
            {
                _log.Error(error);
                return(false);
            }
            return(true);
        }