Ejemplo n.º 1
0
        /// <summary>
        /// Starts streaming
        /// </summary>
        /// <param name="theSummit">the summit system</param>
        /// <param name="senseConfig">The sense Model from the config file</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 StartStreaming(SummitSystem theSummit, SenseModel senseConfig, bool showErrorMessage)
        {
            APIReturnInfo bufferReturnInfo;

            try
            {
                _log.Info("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);
        }
Ejemplo n.º 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);
        }