ALTER PROCEDURE [dbo].[sp_TestSetupsGet]
		@TestSetupId	int				= null,
		@TestSetupName  nvarchar(50)	= null
AS
BEGIN
		SET NOCOUNT ON;
		if(@TestSetupName is not null)
		begin
			set @TestSetupId = dbo.foo_IdGetTestSetup(@TestSetupName)
		end

		SELECT [TestSetupId]
		  ,[TestSetupName] as 'SetupName'
		  ,[SetupDescription]
		  ,[AutomaticTestProgression]
		  ,[AutomaticProgressionDelayMS]
		  ,[InvertTrigger]
		  ,[InvertStart]
		  ,[ViewDiagnostics]
		  ,[VerifyChannels]
		  ,[AutoVerifyChannels]
		  ,[VerifyChannelsDelayMS]
		  ,[RecordingMode]
		  ,[SamplesPerSecond]
		  ,[PreTriggerSeconds]
		  ,[PostTriggerSeconds]
		  ,[NumberOfEvents]
		  ,[StrictDiagnostics]
		  ,[RequireConfirmationOnErrors]
		  ,[ROIDownload]
		  ,[ViewROIDownload]
		  ,[DownloadAll]
		  ,[ViewRealtime]
		  ,[RealtimePlotCount]
		  ,[RegionsOfInterest]
		  ,[ROIStart]
		  ,[ROIEnd]
		  ,[ViewDownloadAll]
		  ,[Export]
		  ,[ExportFormat]
		  ,[LabDetails]
		  ,[UseLabDetails]
		  ,[CustomerDetails]
		  ,[UseCustomerDetails]
		  ,[AllowMissingSensors]
		  ,[AllowSensorIdToBlankChannel]
		  ,[CalibrationBehavior]
		  ,[LocalOnly]
		  ,[LastModified]
		  ,[LastModifiedBy]
		  ,[TurnOffExcitation]
		  ,[TriggerCheckRealtime]
		  ,[TriggerCheckStep]
		  ,[PostTestDiagnostics]
		  ,[ExportFolder]
		  ,[DownloadFolder]
		  ,[CommonStatusLine]
		  ,[SameAsDownloadFolder]
		  ,[UploadData]
		  ,[UploadDataFolder]
		  ,[UploadExportsOnly]
		  ,[Settings]
		  ,[WarnOnBatteryFail]
		  ,[Dirty]
		  ,[Complete]
		  ,[ErrorMessage]		  
		  ,[TestEngineerDetails]
		  ,[UseTestEngineerDetails]
		  ,[UserTags]
		  ,isnull([DoAutoArm], 0)							as [DoAutoArm]
		  ,isnull([CheckoutMode], 0)						as [CheckoutMode]
		  ,isnull([ISFFile], 0)								as [ISFFile]
		  ,isnull([QuitTestWithoutWarning], 0)				as [QuitTestWithoutWarning]
		  ,isnull([NotAllChannelsRealTime], 0)				as [NotAllChannelsRealTime]
		  ,isnull([NotAllChannelsViewer], 0)				as [NotAllChannelsViewer]
		  ,isnull([SuppressMissingSensorsWarning], 0)		as [SuppressMissingSensorsWarning]
		  ,isnull([DoStreaming], 0)							as [DoStreaming]
		  ,[ClockSyncProfileMaster]
		  ,[ClockSyncProfileSlave]
		  ,[ExtraProperties]
		  ,isnull([MeasureSquibResistancesStep], 0)			as [MeasureSquibResistancesStep]
		  ,[TestSetupUniqueId]
		  ,[TestSetup]
		  ,[LowgLVLTrigOn]
		  ,[LowgLVLTrigOnX]
		  ,[LowgLVLTrigOnY]
		  ,[LowgLVLTrigOnZ]
		  ,[HighgLVLTrigOn]
		  ,[HighgLVLTrigOnX]
		  ,[HighgLVLTrigOnY]
		  ,[HighgLVLTrigOnZ]
		  ,[AngAccelLVLTrigOn]
		  ,[AngAccelLVLTrigOnX]
		  ,[AngAccelLVLTrigOnY]
		  ,[AngAccelLVLTrigOnZ]
		  ,[ARSLVLTrigOn]
		  ,[ARSLVLTrigOnX]
		  ,[ARSLVLTrigOnY]
		  ,[ARSLVLTrigOnZ]
		  ,[LowgLVLTrigX]
		  ,[LowgLVLTrigY]
		  ,[LowgLVLTrigZ]
		  ,[HighgLVLTrigX]
		  ,[HighgLVLTrigY]
		  ,[HighgLVLTrigZ]
		  ,[AngAccelLVLTrigX]
		  ,[AngAccelLVLTrigY]
		  ,[AngAccelLVLTrigZ]
		  ,[ARSLVLTrigX]
		  ,[ARSLVLTrigY]
		  ,[ARSLVLTrigZ]
		  ,[HumidityLVLTrigOn]
		  ,[PressureLVLTrigOn]
		  ,[TemperatureLVLTrigOn]
		  ,[HumidityLVLTrigBelow]
		  ,[HumidityLVLTrigAbove]
		  ,[PressureLVLTrigBelow]
		  ,[PressureLVLTrigAbove]
		  ,[TemperatureLVLTrigBelow]
		  ,[TemperatureLVLTrigAbove]
		  ,[LowgRate]
		  ,[HighgRate]
		  ,[AngularRate]
		  ,[TempHumidPressRate]
		  ,[BatterySaverModeOn]
		  ,[WakeupAndTriggerOn]
		  ,[WakeupTrigger]
		  ,[TimedIntervalTrigOn]
		  ,[TimedIntervalDuration]
		  ,[TimedIntervalEvents]
		  ,[TimedIntervalFrequency]	
		  ,[TimedIntervalUnits]
		  ,[RTCScheduleTrigOn]
		  ,[RTCScheduleStartDateTime]
		  ,[RTCScheduleDuration]
		from [dbo].[TestSetups]
		where ((@TestSetupId is null or @TestSetupId= 0) or TestSetupId = @TestSetupId) 
		and (@TestSetupName is null or TestSetupName = @TestSetupName);
END