LoggerAddress = "localhost"
LoggerPort = 32767
DefaultCPUs = 2
+OBJBROWSE = {
	Class = HttpClassListResource
	Fake = 1
}
+THRBROWSE = {
	Class = HttpThreadListResource
}
+BROWSE = {
	Title = "Http GCRC Browser"
	Class = HttpGCRCBrowser
	AddReference = {StateMachine MARTe OBJBROWSE THRBROWSE HTTPCFGUploader HTTPSignalServer MATLABSignalServer AdvancedConfiguration DischargeConfigurator}
}
+HTTPSERVER = {
	Class = HttpService
	Port = 8085
	VerboseLevel = 10
	Root = BROWSE
}
+HTTPCFGUploader = {
	Class = CFGUploader
}
+TCPMessageHandler = {
	Class = TCPMessageHandler
	ServerPort = 9090
}
+TCPConfigurationHandler = {
	Class = TCPConfigurationHandler
	ServerPort = 10010
	MARTeLocation = MARTe
}
+HTTPSignalServer = {
	Class = SignalServer
}
+MATLABSupport =
{
	Class = MATLABHandler
}
+StateMachine = {
	Class = StateMachine
	VerboseLevel = 10
	+INITIAL = {
		Class = StateMachineState
		StateCode = 0x0
		+START = {
			Class = StateMachineEvent
			NextState = IDLE
			Value = START
			+STARTALL = {
				Class = MessageDeliveryRequest
				Sender = StateMachine
				Destinations = "HTTPSERVER MARTe"
				MsecTimeOut = 1000
				Flags = NoReply
				Message = {
					Class = Message
					Content = START
				}
			}
		}
	}
	+IDLE = {
		Class = StateMachineState
		StateCode = 0x500
		+PULSE_SETUP_COMPLETED = {
			Class = StateMachineEvent
			Code = 0x701
			NextState = WAITING_FOR_PRE
			+NOTIFY = {
				Class = MessageEnvelope
				Sender = StateMachine
				Destination = MARTe
				+MESSAGE = {
					Class = Message
					Content = PREPULSECHECK
				}
			}
			+UPDATE_HTTP_SIGNAL_SERVER = {
				Class = MessageEnvelope
				Destination = HTTPSignalServer
				+MESSAGE = {
					Class = Message
					Content = AUTODETECT
				}
			}
		}
		+INHIBIT = {
			Class = StateMachineEvent
			Code = 0x704
			NextState = INHIBIT
		}
		+ACTIVATE = {
			Class = StateMachineEvent
			Code = 0x705
			NextState = SAMESTATE
		}
		+STOP = {
			Class = StateMachineEvent
			NextState = IDLE
			Value = STOP
			+STOPALL = {
				Class = MessageDeliveryRequest
				Sender = StateMachine
				Destinations = "HTTPSERVER MARTe"
				MsecTimeOut = 1000
				Flags = NoReply
				Message = {
					Class = Message
					Content = STOP
				}
			}
		}
	}
	+WAITING_FOR_PRE = {
		Class = StateMachineState
		StateCode = 0x504
		+PRE = {
			Class = StateMachineEvent
			Code = 0x708
			NextState = PULSING
			+NOTIFY = {
				Class = MessageEnvelope
				Sender = StateMachine
				Destination = MARTe
				+MESSAGE = {
					Class = Message
					Content = PULSESTART
				}
			}
		}
		+COLLECTION_COMPLETED = {
			Class = StateMachineEvent
			Code = 0x703
			NextState = COMM_ERROR
		}
	}
	+PULSING = {
		Class = StateMachineState
		StateCode = 0x505
		+EJP = {
			Class = StateMachineEvent
			Code = 0x709
			NextState = POST_PULSE
			+NOTIFY = {
				Class = MessageEnvelope
				Sender = StateMachine
				Destination = MARTe
				+MESSAGE = {
					Class = Message
					Content = PULSESTOP
				}
			}
		}
	}
	+POST_PULSE = {
		Class = StateMachineState
		StateCode = 0x507
		+COLLECTION_COMPLETED = {
			Class = StateMachineEvent
			Code = 0x703
			NextState = IDLE
			+NOTIFY = {
				Class = MessageEnvelope
				Sender = StateMachine
				Destination = MARTe
				+MESSAGE = {
					Class = Message
					Content = COLLECTIONCOMPLETED
				}
			}
		}
	}
	+INHIBIT = {
		Class = StateMachineState
		StateCode = 0x508
		+ACTIVATE = {
			Class = StateMachineEvent
			Code = 0x705
			NextState = IDLE
		}
	}
	+ERROR = {
		Class = StateMachineState
		StateCode = 0x601
		+ACTIVATE = {
			Class = StateMachineEvent
			Code = 0x705
			NextState = INIT
		}
		+COLLECTION_COMPLETED = {
			Class = StateMachineEvent
			Code = 0x703
			NextState = INIT
		}
	}
	+UNRECOVERABLE = {
		Class = StateMachineState
		StateCode = 0x601
		+DEFAULT = {
			Class = StateMachineEvent
			UserCode = 0
			NextState = UNRECOVERABLE
		}
	}
	+COMM_ERROR = {
		StateCode = 0x601
		Class = StateMachineState
		+ABORT = {
			Class = StateMachineEvent
			Code = 0x702
			NextState = SAMESTATE
		}
	}
	+DEFAULT = {
		Class = StateMachineState
		StateCode = 0x601
		+ABORT = {
			Class = StateMachineEvent
			Code = 0x702
			NextState = IDLE
		}
		+PRE = {
			Class = StateMachineEvent
			Code = 0x708
			NextState = SAMESTATE
		}
		+EJP = {
			Class = StateMachineEvent
			Code = 0x709
			NextState = SAMESTATE
		}
	}
}
+MARTeMenu = {
	Class = MarteSupLib::MARTeMenu
	Title = "MARTe Menu"
	+MenuA = {
		Class = MenuContainer
		Title = "CODAS Interface"
		+ABORT = {
			Class = SendMessageMenuEntry
			Title = Abort
			Envelope = {
				Class = MessageEnvelope
				Sender = MARTeMenu
				Destination = StateMachine
				+Message = {
					Class = Message
					Code = 0x702
					Content = ABORT
				}
			}
		}
		+INHIBIT = {
			Class = SendMessageMenuEntry
			Title = Inhibit
			Envelope = {
				Class = MessageEnvelope
				Sender = MARTeMenu
				Destination = StateMachine
				+Message = {
					Class = Message
					Code = 0x704
					Content = Inhibit
				}
			}
		}
		+ACTIVATE = {
			Class = SendMessageMenuEntry
			Title = Activate
			Envelope = {
				Class = MessageEnvelope
				Sender = MARTeMenu
				Destination = StateMachine
				+Message = {
					Class = Message
					Code = 0x705
					Content = Activate
				}
			}
		}
		+PULSESETUPCOMPLETE = {
			Class = SendMessageMenuEntry
			Title = "Pulse Setup Complete"
			Envelope = {
				Class = MessageEnvelope
				Sender = MARTeMenu
				Destination = StateMachine
				+Message = {
					Class = Message
					Code = 0x701
					Content = WAITING_FOR_PRE
				}
			}
		}
		+PRE = {
			Class = SendMessageMenuEntry
			Title = "Pulse Start"
			Envelope = {
				Class = MessageEnvelope
				Sender = MARTeMenu
				Destination = StateMachine
				+Message = {
					Class = Message
					Code = 0x708
					Content = PRE
				}
			}
		}
		+EJP = {
			Class = SendMessageMenuEntry
			Title = "Pulse End"
			Envelope = {
				Class = MessageEnvelope
				Sender = MARTeMenu
				Destination = StateMachine
				+Message = {
					Class = Message
					Code = 0x709
					Content = EJP
				}
			}
		}
		+COLLECTIONCOMPLETED = {
			Class = SendMessageMenuEntry
			Title = "Collection Completed"
			Envelope = {
				Class = MessageEnvelope
				Sender = MARTeMenu
				Destination = StateMachine
				+Message = {
					Class = Message
					Code = 0x703
					Content = POSTPULSE
				}
			}
		}
	}
	AddReference = MARTe.MARTe
}
+ATCAAdc = {
	Class = ATCAadcDrv
	NumberOfInputs = 84
	NumberOfOutputs = 2
	SynchronizationMethod = Synchronizing
	UseSoftwareTrigger = 0
	Modules = {
		Board0 = {
			IsMaster = 1
			NumberOfAnalogueInput = 32
			NumberOfDigitalInput = 9
			NumberOfAnalogueOutput = 2
			NumberOfDigitalOutput = 0
			UseSoftwareTrigger = 0
			SoftwareTriggerUsecCycleTime = 100000
			DataArrivalUsecSleep = 0
			DatagramMonitoringFastSleep = 1
			DataAcquisitionUsecTimeOut = 1000
			ModuleIdentifier = 3
		}
		Board1 = {
			IsMaster = 0
			NumberOfAnalogueInput = 32
			NumberOfDigitalInput = 9
			NumberOfAnalogueOutput = 0
			NumberOfDigitalOutput = 0
			UseSoftwareTrigger = 0
			SoftwareTriggerUsecCycleTime = 100000
			DataArrivalUsecSleep = 0
			DatagramMonitoringFastSleep = 1
			DataAcquisitionUsecTimeOut = 1000
			ModuleIdentifier = 9
		}
	}
}
+MARTe = {
	Class = MARTeContainer
	StateMachineName = StateMachine
	Level1Name = LEVEL1
	MenuContainerName = MARTe
	+MARTe = {
		Class = MenuContainer
	}
	+ExternalTimeTriggeringService = {
		Class = DataPollingDrivenTTS
		TsOnlineUsecPeriod = 100
		TsOnlineUsecPhase = 0
		TsOfflineUsecPeriod = 100
		TsOfflineUsecPhase = 0
		TimeModule = {
			BoardName = ATCAAdc
		}
	}
	+FatalErrorMessage = {
		Class = MessageDeliveryRequest
		Destinations = StateMachine
		MsecTimeOut = 1000
		Flags = NoReply
		Message = {
			Class = Message
			Content = UNRECOVERABLE
		}
	}
	+SafetyErrorMessage = {
		Class = MessageDeliveryRequest
		Destinations = MARTe
		MsecTimeOut = 1000
		Flags = NoReply
		Message = {
			Class = Message
			Content = ERROR
		}
	}
	+RealTimeThread = {
		Class = RealTimeThread
		ThreadPriority = 0.000000E+00
		RunOnCPU = 8.000000E+00
		RTStatusChangeMsecTimeout = 1000
		SMStatusChangeMsecTimeout = 1000
		OfflineSemaphoreTimeout = 100
		TriggeringServiceName = MARTe.ExternalTimeTriggeringService
		+DDB = {
			Class = DDB
			Fake = 1
		}
		+ATCADac = {
			Class = IOGAMs::OutputGAM
			BoardName = ATCAAdc
			UsecTimeSignalName = usecTime
			Signals = {
				SendToToroidal = {
					SignalName = SendToToroidal
					SignalType = float
					Cal0 = 0
					Cal1 = 0.001526
					MaxOutputValue = 100
					MinOutputValue = -100
				}
				SendToPuffing = {
					SignalName = SendToPuffing
					SignalType = float
					Cal0 = 0
					Cal1 = 0.001526
					MaxOutputValue = 100
					MinOutputValue = -100
				}
			}
		}
		+ATCAAdc = {
			Class = IOGAMs::TimeInputGAM
			TriggeringServiceName = ExternalTimeTriggeringService
			BoardName = ATCAAdc
			Signals = {
				packetNumber = {
					SignalName = packetNumber
					SignalType = int32
				}
				cycleUsecTime = {
					SignalName = usecTime
					SignalType = int32
				}
				Channel_000 = {
					SignalName = ADC_tomography_top_0
					SignalType = float
					Cal0 = -0.15267707
					Cal1 = -3.4072775E-9
				}
				Channel_001 = {
					SignalName = ADC_tomography_top_1
					SignalType = float
					Cal0 = -0.18273073
					Cal1 = -3.0369213E-9
				}
				Channel_002 = {
					SignalName = ADC_tomography_top_2
					SignalType = float
					Cal0 = -0.16319854
					Cal1 = -2.3283064E-9
				}
				Channel_003 = {
					SignalName = ADC_tomography_top_3
					SignalType = float
					Cal0 = -0.16340260
					Cal1 = -2.3283064E-9
				}
				Channel_004 = {
					SignalName = ADC_tomography_top_4
					SignalType = float
					Cal0 = -0.16674355
					Cal1 = -2.3283064E-9
				}
				Channel_005 = {
					SignalName = ADC_tomography_top_5
					SignalType = float
					Cal0 = -0.17944072
					Cal1 = -2.3283064E-9
				}
				Channel_006 = {
					SignalName = ADC_tomography_top_6
					SignalType = float
					Cal0 = -0.20362551
					Cal1 = -2.5870073E-9
				}
				Channel_007 = {
					SignalName = ADC_tomography_top_7
					SignalType = float
					Cal0 = -0.24197083
					Cal1 = -3.1044087E-9
				}
				Channel_008 = {
					SignalName = ADC_tomography_outer_0
					SignalType = float
					Cal0 = -0.043160510
					Cal1 = -3.5453757E-9
				}
				Channel_009 = {
					SignalName = ADC_tomography_outer_1
					SignalType = float
					Cal0 = -0.0086336515
					Cal1 = -2.6440089E-9
				}
				Channel_010 = {
					SignalName = ADC_tomography_outer_2
					SignalType = float
					Cal0 = 0.0071577080
					Cal1 = -2.4374458E-9
				}
				Channel_011 = {
					SignalName = ADC_tomography_outer_3
					SignalType = float
					Cal0 = -0.070312243
					Cal1 = -2.3283064E-9
				}
				Channel_012 = {
					SignalName = ADC_tomography_outer_4
					SignalType = float
					Cal0 = -0.051848319
					Cal1 = -2.3283064E-9
				}
				Channel_013 = {
					SignalName = ADC_tomography_outer_5
					SignalType = float
					Cal0 = -0.071824896
					Cal1 = -2.5999422E-9
				}
				Channel_014 = {
					SignalName = ADC_tomography_outer_6
					SignalType = float
					Cal0 = -0.15702936
					Cal1 = -2.6895955E-9
				}
				Channel_015 = {
					SignalName = ADC_tomography_outer_7
					SignalType = float
					Cal0 = -0.17259844
					Cal1 = -2.9999334E-9
				}
				Channel_016 = {
					SignalName = ADC_tomography_bottom_0
					SignalType = float
					Cal0 = -0.33819630
					Cal1 = -4.3529208E-9
				}
				Channel_017 = {
					SignalName = ADC_tomography_bottom_1
					SignalType = float
					Cal0 = -0.23471839
					Cal1 = -3.3372391E-9
				}
				Channel_018 = {
					SignalName = ADC_tomography_bottom_2
					SignalType = float
					Cal0 = -0.18317655
					Cal1 = -2.9446229E-9
				}
				Channel_019 = {
					SignalName = ADC_tomography_bottom_3
					SignalType = float
					Cal0 = -0.15194744
					Cal1 = -2.4418823E-9
				}
				Channel_020 = {
					SignalName = ADC_tomography_bottom_4
					SignalType = float
					Cal0 = -0.14320473
					Cal1 = -2.3283064E-9
				}
				Channel_021 = {
					SignalName = ADC_tomography_bottom_5
					SignalType = float
					Cal0 = -0.18502216
					Cal1 = -2.6346625E-9
				}
				Channel_022 = {
					SignalName = ADC_tomography_bottom_6
					SignalType = float
					Cal0 = -0.17325912
					Cal1 = -3.1286618E-9
				}
				Channel_023 = {
					SignalName = ADC_tomography_bottom_7
					SignalType = float
					Cal0 = -0.27911253
					Cal1 = -4.5507809E-9
				}
				Channel_024 = {
					SignalName = ADC_H_alpha
					SignalType = float
					Cal0 = 0.0
					Cal1 = 2.3283E-9
				}
				Channel_025 = {
					SignalName = ADC_v_primary
					SignalType = float
					Cal0 = 0.0
					Cal1 = 2.3283E-7
				}
				Channel_026 = {
					SignalName = ADC_sine_probe
					SignalType = float
					Cal0 = 0.0
					Cal1 = 2.3283E-9
				}
				Channel_027 = {
					SignalName = ADC_cosine_probe
					SignalType = float
					Cal0 = 0.0
					Cal1 = 2.3283E-9
				}
				Channel_028 = {
					SignalName = ADC_main_rogowski
					SignalType = float
					Cal0 = 0.0
					Cal1 = -1.3987E-5
				}
				Channel_029 = {
					SignalName = ADC_horizontal_current
					SignalType = float
					Cal0 = 2.0
					Cal1 = 2.1372E-7
				}
				Channel_030 = {
					SignalName = ADC_vertical_current
					SignalType = float
					Cal0 = -6.13
					Cal1 = -2.8422E-7
				}
				Channel_031 = {
					SignalName = ADC_primary_current
					SignalType = float
					Cal0 = -2.8
					Cal1 = 3.1334E-7
				}
				SignalD0 = {
					SignalName = DIGITAL0
					SignalType = int32
				}
				SignalD1 = {
					SignalName = DIGITAL1
					SignalType = int32
				}
				SignalD2 = {
					SignalName = DIGITAL2
					SignalType = int32
				}
				SignalD3 = {
					SignalName = DIGITAL3
					SignalType = int32
				}
				SignalD4 = {
					SignalName = DIGITAL4
					SignalType = int32
				}
				SignalD5 = {
					SignalName = DIGITAL5
					SignalType = int32
				}
				SignalD6 = {
					SignalName = DIGITAL6
					SignalType = int32
				}
				SignalD7 = {
					SignalName = DIGITAL7
					SignalType = int32
				}
				SignalD8 = {
					SignalName = DIGITAL9
					SignalType = int32
				}
				Channel_032 = {
					SignalName = ADC_interferometry_sine
					SignalType = float
					Cal0 = 0.2360
					Cal1 = 7.5509E-09
				}
				Channel_033 = {
					SignalName = FREE_CHANNEL_33
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_034 = {
					SignalName = ADC_interferometry_cosine
					SignalType = float
					Cal0 = -0.0344
					Cal1 = 8.7894E-09
				}
				Channel_035 = {
					SignalName = FREE_CHANNEL_35
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_036 = {
					SignalName = FREE_CHANNEL_36
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_037 = {
					SignalName = FREE_CHANNEL_37
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_038 = {
					SignalName = FREE_CHANNEL_38
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_039 = {
					SignalName = ADC_vloop
					SignalType = float
					Cal0 = 0.0
					Cal1 = -4.6566E-9
				}
				Channel_040 = {
					SignalName = FREE_CHANNEL_40
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_041 = {
					SignalName = FREE_CHANNEL_41
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_042 = {
					SignalName = FREE_CHANNEL_42
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_043 = {
					SignalName = FREE_CHANNEL_43
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_044 = {
					SignalName = FREE_CHANNEL_44
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_045 = {
					SignalName = FREE_CHANNEL_45
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_046 = {
					SignalName = FREE_CHANNEL_46
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_047 = {
					SignalName = FREE_CHANNEL_47
					SignalType = float
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_048 = {
					SignalName = ADC_magnetic_0
					SignalType = float
					Cal0 = 0.0
					Cal1 = -4.6566E-9
				}
				Channel_049 = {
					SignalName = ADC_magnetic_1
					SignalType = float
					Cal0 = 0.0
					Cal1 = -4.6566E-9
				}
				Channel_050 = {
					SignalName = ADC_magnetic_2
					SignalType = float
					Cal0 = 0.0
					Cal1 = 4.6566E-9
				}
				Channel_051 = {
					SignalName = ADC_magnetic_3
					SignalType = float
					Cal0 = 0.0
					Cal1 = -4.6566E-9
				}
				Channel_052 = {
					SignalName = ADC_magnetic_4
					SignalType = float
					Cal0 = 0.0
					Cal1 = 4.6566E-9
				}
				Channel_053 = {
					SignalName = ADC_magnetic_5
					SignalType = float
					Cal0 = 0.0
					Cal1 = 4.6566E-9
				}
				Channel_054 = {
					SignalName = ADC_magnetic_6
					SignalType = float
					Cal0 = 0.0
					Cal1 = 4.6566E-9
				}
				Channel_055 = {
					SignalName = ADC_magnetic_7
					SignalType = float
					Cal0 = 0.0
					Cal1 = 4.6566E-9
				}
				Channel_056 = {
					SignalName = ADC_magnetic_8
					SignalType = float
					Cal0 = 0.0
					Cal1 = 4.6566E-9
				}
				Channel_057 = {
					SignalName = ADC_magnetic_9
					SignalType = float
					Cal0 = 0.0
					Cal1 = 4.6566E-9
				}
				Channel_058 = {
					SignalName = ADC_magnetic_10
					SignalType = float
					Cal0 = 0.0
					Cal1 = -4.6566E-9
				}
				Channel_059 = {
					SignalName = ADC_magnetic_11
					SignalType = float
					Cal0 = 0.0
					Cal1 = 4.6566E-9
				}
				Channel_060 = {
					SignalName = ADC_electric_outer_near
					SignalType = float
					Cal0 = 0.832
					Cal1 = 2.3283E-7
				}
				Channel_061 = {
					SignalName = ADC_electric_top_near
					SignalType = float
					Cal0 = 2.962
					Cal1 = 2.3283E-7
				}
				Channel_062 = {
					SignalName = ADC_electric_inner_near
					SignalType = float
					Cal0 = 3.841
					Cal1 = 2.3283E-7
				}
				Channel_063 = {
					SignalName = ADC_electric_bottom_near
					SignalType = float
					Cal0 = 0.507
					Cal1 = 2.3283E-7
				}
				SignalD9 = {
					SignalName = DIGITAL9
					SignalType = int32
				}
				SignalD10 = {
					SignalName = DIGITAL10
					SignalType = int32
				}
				SignalD11 = {
					SignalName = DIGITAL11
					SignalType = int32
				}
				SignalD12 = {
					SignalName = DIGITAL12
					SignalType = int32
				}
				SignalD13 = {
					SignalName = DIGITAL13
					SignalType = int32
				}
				SignalD14 = {
					SignalName = DIGITAL14
					SignalType = int32
				}
				SignalD15 = {
					SignalName = DIGITAL15
					SignalType = int32
				}
				SignalD16 = {
					SignalName = DIGITAL16
					SignalType = int32
				}
				SignalD17 = {
					SignalName = DIGITAL17
					SignalType = int32
				}
			}
		}
		+DataCollection = {
			Class = CollectionGAMs::DataCollectionGAM
			UsecTimeSignalName = usecTime
			EventTrigger = {
				TimeWindow0 = {
					NOfSamples = 6610
					UsecPeriod = 100
				}
			}
			NOfAcquisitionSamples = 6610
			Signals = {
				timeBase = {
					SignalName = usecTime
					SignalType = int32
					JPFName = TimeBase
					Cal0 = 0.0
					Cal1 = 1.0e-06
				}
				Channel_000 = {
					SignalName = ADC_tomography_top_0
					SignalType = float
					JPFName = ADC_tomography_top_0
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_001 = {
					SignalName = ADC_tomography_top_1
					SignalType = float
					JPFName = ADC_tomography_top_1
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_002 = {
					SignalName = ADC_tomography_top_2
					SignalType = float
					JPFName = ADC_tomography_top_2
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_003 = {
					SignalName = ADC_tomography_top_3
					SignalType = float
					JPFName = ADC_tomography_top_3
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_004 = {
					SignalName = ADC_tomography_top_4
					SignalType = float
					JPFName = ADC_tomography_top_4
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_005 = {
					SignalName = ADC_tomography_top_5
					SignalType = float
					JPFName = ADC_tomography_top_5
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_006 = {
					SignalName = ADC_tomography_top_6
					SignalType = float
					JPFName = ADC_tomography_top_6
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_007 = {
					SignalName = ADC_tomography_top_7
					SignalType = float
					JPFName = ADC_tomography_top_7
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_008 = {
					SignalName = ADC_tomography_outer_0
					SignalType = float
					JPFName = ADC_tomography_outer_0
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_009 = {
					SignalName = ADC_tomography_outer_1
					SignalType = float
					JPFName = ADC_tomography_outer_1
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_010 = {
					SignalName = ADC_tomography_outer_2
					SignalType = float
					JPFName = ADC_tomography_outer_2
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_011 = {
					SignalName = ADC_tomography_outer_3
					SignalType = float
					JPFName = ADC_tomography_outer_3
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_012 = {
					SignalName = ADC_tomography_outer_4
					SignalType = float
					JPFName = ADC_tomography_outer_4
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_013 = {
					SignalName = ADC_tomography_outer_5
					SignalType = float
					JPFName = ADC_tomography_outer_5
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_014 = {
					SignalName = ADC_tomography_outer_6
					SignalType = float
					JPFName = ADC_tomography_outer_6
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_015 = {
					SignalName = ADC_tomography_outer_7
					SignalType = float
					JPFName = ADC_tomography_outer_7
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_016 = {
					SignalName = ADC_tomography_bottom_0
					SignalType = float
					JPFName = ADC_tomography_bottom_0
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_017 = {
					SignalName = ADC_tomography_bottom_1
					SignalType = float
					JPFName = ADC_tomography_bottom_1
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_018 = {
					SignalName = ADC_tomography_bottom_2
					SignalType = float
					JPFName = ADC_tomography_bottom_2
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_019 = {
					SignalName = ADC_tomography_bottom_3
					SignalType = float
					JPFName = ADC_tomography_bottom_3
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_020 = {
					SignalName = ADC_tomography_bottom_4
					SignalType = float
					JPFName = ADC_tomography_bottom_4
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_021 = {
					SignalName = ADC_tomography_bottom_5
					SignalType = float
					JPFName = ADC_tomography_bottom_5
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_022 = {
					SignalName = ADC_tomography_bottom_6
					SignalType = float
					JPFName = ADC_tomography_bottom_6
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_023 = {
					SignalName = ADC_tomography_bottom_7
					SignalType = float
					JPFName = ADC_tomography_bottom_7
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_024 = {
					SignalName = ADC_electric_top_near
					SignalType = float
					JPFName = ADC_electric_top_near
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_025 = {
					SignalName = ADC_electric_outer_near
					SignalType = float
					JPFName = ADC_electric_outer_near
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_026 = {
					SignalName = ADC_electric_bottom_near
					SignalType = float
					JPFName = ADC_electric_bottom_near
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_027 = {
					SignalName = ADC_electric_inner_near
					SignalType = float
					JPFName = ADC_electric_inner_near
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_028 = {
					SignalName = ADC_magnetic_0
					SignalType = float
					JPFName = ADC_magnetic_0
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_029 = {
					SignalName = ADC_magnetic_1
					SignalType = float
					JPFName = ADC_magnetic_1
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_030 = {
					SignalName = ADC_magnetic_2
					SignalType = float
					JPFName = ADC_magnetic_2
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_031 = {
					SignalName = ADC_magnetic_3
					SignalType = float
					JPFName = ADC_magnetic_3
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_032 = {
					SignalName = ADC_magnetic_4
					SignalType = float
					JPFName = ADC_magnetic_4
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_033 = {
					SignalName = ADC_magnetic_5
					SignalType = float
					JPFName = ADC_magnetic_5
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_034 = {
					SignalName = ADC_magnetic_6
					SignalType = float
					JPFName = ADC_magnetic_6
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_035 = {
					SignalName = ADC_magnetic_7
					SignalType = float
					JPFName = ADC_magnetic_7
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_036 = {
					SignalName = ADC_magnetic_8
					SignalType = float
					JPFName = ADC_magnetic_8
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_037 = {
					SignalName = ADC_magnetic_9
					SignalType = float
					JPFName = ADC_magnetic_9
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_038 = {
					SignalName = ADC_magnetic_10
					SignalType = float
					JPFName = ADC_magnetic_10
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_039 = {
					SignalName = ADC_magnetic_11
					SignalType = float
					JPFName = ADC_magnetic_11
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_040 = {
					SignalName = ADC_primary_current
					SignalType = float
					JPFName = ADC_primary_current
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_041 = {
					SignalName = ADC_vertical_current
					SignalType = float
					JPFName = ADC_vertical_current
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_042 = {
					SignalName = ADC_horizontal_current
					SignalType = float
					JPFName = ADC_horizontal_current
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_043 = {
					SignalName = ADC_vloop
					SignalType = float
					JPFName = ADC_vloop
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_044 = {
					SignalName = ADC_interferometry_sine
					SignalType = float
					JPFName = ADC_interferometry_sine
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_045 = {
					SignalName = ADC_interferometry_cosine
					SignalType = float
					JPFName = ADC_interferometry_cosine
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_046 = {
					SignalName = ADC_H_alpha
					SignalType = float
					JPFName = ADC_H_alpha
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_047 = {
					SignalName = ADC_sine_probe
					SignalType = float
					JPFName = ADC_sine_probe
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_048 = {
					SignalName = ADC_cosine_probe
					SignalType = float
					JPFName = ADC_cosine_probe
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_049 = {
					SignalName = ADC_main_rogowski
					SignalType = float
					JPFName = ADC_main_rogowski
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_050 = {
					SignalName = CycleUsecTime
					SignalType = float
					JPFName = Cycle_Usec_Time
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_051 = {
					SignalName = ATCAAdcRelativeUsecTime
					SignalType = float
					JPFName = ATCAAdcRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_052 = {
					SignalName = DataCollectionRelativeUsecTime
					SignalType = float
					JPFName = DataCollectionRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_053 = {
					SignalName = time_windowsRelativeUsecTime
					SignalType = float
					JPFName = time_windowsRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_054 = {
					SignalName = tomographyRelativeUsecTime
					SignalType = float
					JPFName = tomographyRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_055 = {
					SignalName = electric_probesRelativeUsecTime
					SignalType = float
					JPFName = electric_probesRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_056 = {
					SignalName = magnetic_probesRelativeUsecTime
					SignalType = float
					JPFName = magnetic_probesRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_057 = {
					SignalName = sine_probeRelativeUsecTime
					SignalType = float
					JPFName = sine_probeRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_058 = {
					SignalName = cosine_probeRelativeUsecTime
					SignalType = float
					JPFName = cosine_probeRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_059 = {
					SignalName = main_rogowskiRelativeUsecTime
					SignalType = float
					JPFName = main_rogowskiRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_060 = {
					SignalName = interferometryRelativeUsecTime
					SignalType = float
					JPFName = interferometryRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_061 = {
					SignalName = H_alphaRelativeUsecTime
					SignalType = float
					JPFName = H_alphaRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_062 = {
					SignalName = technical_signalsRelativeUsecTime
					SignalType = float
					JPFName = technical_signalsRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_063 = {
					SignalName = plasma_parametersRelativeUsecTime
					SignalType = float
					JPFName = plasma_parametersRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_064 = {
					SignalName = machine_protectionRelativeUsecTime
					SignalType = float
					JPFName = machine_protectionRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_065 = {
					SignalName = waveform_primaryRelativeUsecTime
					SignalType = float
					JPFName = waveform_primaryRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_066 = {
					SignalName = waveform_verticalRelativeUsecTime
					SignalType = float
					JPFName = waveform_verticalRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_067 = {
					SignalName = waveform_horizontalRelativeUsecTime
					SignalType = float
					JPFName = waveform_horizontalRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_068 = {
					SignalName = waveform_toroidalRelativeUsecTime
					SignalType = float
					JPFName = waveform_toroidalRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_069 = {
					SignalName = waveform_puffingRelativeUsecTime
					SignalType = float
					JPFName = waveform_puffingRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_070 = {
					SignalName = controllerRelativeUsecTime
					SignalType = float
					JPFName = controllerRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_071 = {
					SignalName = PSCommunicator_horizontalRelativeUsecTime
					SignalType = float
					JPFName = PSCommunicator_horizontalRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_072 = {
					SignalName = PSCommunicator_verticalRelativeUsecTime
					SignalType = float
					JPFName = PSCommunicator_verticalRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_073 = {
					SignalName = PSCommunicator_primaryRelativeUsecTime
					SignalType = float
					JPFName = PSCommunicator_primaryRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_074 = {
					SignalName = CodacRelativeUsecTime
					SignalType = float
					JPFName = CodacRelativeUsecTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_075 = {
					SignalName = DischargeStatus
					SignalType = int32
					JPFName = DischargeStatus
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_076 = {
					SignalName = usecDischargeTime
					SignalType = int32
					JPFName = usecDischargeTime
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_077 = {
					SignalName = PlasmaDirection
					SignalType = int32
					JPFName = PlasmaDirection
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_078 = {
					SignalName = TomographyR
					SignalType = float
					JPFName = TomographyR
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_079 = {
					SignalName = TomographyZ
					SignalType = float
					JPFName = TomographyZ
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_080 = {
					SignalName = TomographyIntensity
					SignalType = float
					JPFName = TomographyIntensity
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_081 = {
					SignalName = ElectricProbesR
					SignalType = float
					JPFName = ElectricProbesR
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_082 = {
					SignalName = ElectricProbesZ
					SignalType = float
					JPFName = ElectricProbesZ
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_083 = {
					SignalName = MagneticProbesR
					SignalType = float
					JPFName = MagneticProbesR
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_084 = {
					SignalName = MagneticProbesZ
					SignalType = float
					JPFName = MagneticProbesZ
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_085 = {
					SignalName = MagneticProbesPlasmaCurrent
					SignalType = float
					JPFName = MagneticProbesPlasmaCurrent
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_086 = {
					SignalName = SineProbeZ
					SignalType = float
					JPFName = SineProbeZ
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_087 = {
					SignalName = CosineProbeR
					SignalType = float
					JPFName = CosineProbeR
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_088 = {
					SignalName = RogowskiPlasmaCurrent
					SignalType = float
					JPFName = RogowskiPlasmaCurrent
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_089 = {
					SignalName = InterferometryDensity
					SignalType = float
					JPFName = InterferometryDensity
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_090 = {
					SignalName = InterferometryR
					SignalType = float
					JPFName = InterferometryR
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_091 = {
					SignalName = HorizontalCurrent
					SignalType = float
					JPFName = HorizontalCurrent
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_092 = {
					SignalName = VerticalCurrent
					SignalType = float
					JPFName = VerticalCurrent
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_093 = {
					SignalName = PrimaryCurrent
					SignalType = float
					JPFName = PrimaryCurrent
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_094 = {
					SignalName = IronCoreSaturation
					SignalType = float
					JPFName = IronCoreSaturation
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_095 = {
					SignalName = VLoop
					SignalType = float
					JPFName = VLoop
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_096 = {
					SignalName = HAlfa
					SignalType = float
					JPFName = HAlfa
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_097 = {
					SignalName = InSaturation
					SignalType = int32
					JPFName = InSaturation
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_098 = {
					SignalName = SlowStopBool
					SignalType = int32
					JPFName = SlowStopBool
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_099 = {
					SignalName = HardStopBool
					SignalType = int32
					JPFName = HardStopBool
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_100 = {
					SignalName = PlasmaCurrent
					SignalType = float
					JPFName = PlasmaCurrent
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_101 = {
					SignalName = PositionR
					SignalType = float
					JPFName = PositionR
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_102 = {
					SignalName = PositionZ
					SignalType = float
					JPFName = PositionZ
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_103 = {
					SignalName = Density
					SignalType = float
					JPFName = Density
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_104 = {
					SignalName = ADC_v_primary
					SignalType = float
					JPFName = ADC_v_primary
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_105 = {
					SignalName = PrimaryOutputWaveform
					SignalType = float
					JPFName = PrimaryOutputWaveform
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_106 = {
					SignalName = VerticalOutputWaveform
					SignalType = float
					JPFName = VerticalOutputWaveform
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_107 = {
					SignalName = HorizontalOutputWaveform
					SignalType = float
					JPFName = HorizontalOutputWaveform
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_108 = {
					SignalName = ToroidalOutputWaveform
					SignalType = float
					JPFName = ToroidalOutputWaveform
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_109 = {
					SignalName = PuffingOutputWaveform
					SignalType = float
					JPFName = PuffingOutputWaveform
					Cal0 = 0.0
					Cal1 = 1.0
				}
				Channel_110 = {
					SignalName = SendToPuffing
					SignalType = float
					JPFName = SendToPuffing
					Cal0 = 0.0
					Cal1 = 1.0
				}
			}
		}
		+waveform_primary = {
			Class = isttokbiblio::WaveformGAM
			input_signals = {
				input_time = {
					SignalName = usecDischargeTime
					SignalType = int32
				}
				input_mode = {
					SignalName = PrimaryWaveformMode
					SignalType = int32
				}
				input_AC_cycle = {
					SignalName = PlasmaDirection
					SignalType = int32
				}
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
			}
			waveform_mode_1_positive = {
				vector_size = 4
				index_vector = {0.000000e+00 2.500000e+01 2.501000e+01 3.000000e+01}
				data_vector = {1.400000e+02 1.500000e+02 0.000000e+00 0.000000e+00}
				max_value = 3.500000e+02
				min_value = -3.500000e+02
			}
			waveform_mode_1_negative = {
				vector_size = 4
				index_vector = {0.000000e+00 2.500000e+01 2.501000e+01 3.000000e+01}
				data_vector = {-1.400000e+02 -1.500000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_mode_2_positive = {
				vector_size = 8
				index_vector = {0.000000e+00 5.000000e+00 7.000000e+00 1.000000e+01 1.200000e+01 1.500000e+01 2.000000e+01 3.000000e+01}
				data_vector = {0.000000e+00 6.000000e+01 6.000000e+01 -6.000000e+01 -8.000000e+01 3.000000e+01 1.000000e+02 0.000000e+00}
				max_value = 7.000000e+03
				min_value = -7.000000e+03
			}
			waveform_mode_2_negative = {
				vector_size = 5
				index_vector = {0.000000e+00 5.000000e+00 1.000000e+01 1.500000e+01 3.000000e+01}
				data_vector = {3.000000e+02 3.000000e+02 3.500000e+02 3.500000e+02 0.000000e+00}
			}
			waveform_breakdown = {
				vector_size = 10
				index_vector = {0.000000e+00 1.000000e+00 1.010000e+00 5.000000e+00 5.010000e+00 7.000000e+00 7.010000e+00 8.000000e+00 8.010000e+00 9.000000e+00}
				data_vector = {-5.000000e+01 -5.000000e+01 -5.000000e+01 -5.000000e+01 1.500000e+02 1.500000e+02 1.500000e+02 1.500000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_breakdown_negative = {
				vector_size = 8
				index_vector = {0.000000e+00 1.000000e+00 1.010000e+00 5.000000e+00 5.010000e+00 8.000000e+00 8.010000e+00 9.000000e+00}
				data_vector = {3.000000e+01 3.000000e+01 3.000000e+01 3.000000e+01 -1.500000e+02 -1.500000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_inversion_positive_to_negative = {
				vector_size = 11
				index_vector = {0.000000e+00 1.000000e+00 1.010000e+00 3.000000e+00 4.000000e+00 4.010000e+00 5.000000e+00 5.010000e+00 7.000000e+00 7.010000e+00 8.000000e+00}
				data_vector = {1.500000e+02 0.000000e+00 -1.500000e+02 -1.500000e+02 -1.500000e+02 3.000000e+01 3.000000e+01 -1.500000e+02 -1.500000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_inversion_negative_to_positive = {
				vector_size = 11
				index_vector = {0.000000e+00 1.000000e+00 1.010000e+00 3.000000e+00 3.990000e+00 4.000000e+00 5.000000e+00 5.010000e+00 7.000000e+00 7.010000e+00 8.000000e+00}
				data_vector = {-1.500000e+02 0.000000e+00 1.500000e+02 1.500000e+02 1.500000e+02 -3.000000e+01 -3.000000e+01 1.500000e+02 1.500000e+02 0.000000e+00 0.000000e+00}
			}
			output_signals = {
				output_waveform = {
					SignalName = PrimaryOutputWaveform
					SignalType = float
				}
			}
		}
		+waveform_vertical = {
			Class = isttokbiblio::WaveformGAM
			input_signals = {
				input_time = {
					SignalName = usecDischargeTime
					SignalType = int32
				}
				input_mode = {
					SignalName = VerticalWaveformMode
					SignalType = int32
				}
				input_AC_cycle = {
					SignalName = PlasmaDirection
					SignalType = int32
				}
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
			}
			waveform_mode_1_positive = {
				vector_size = 4
				index_vector = {0.000000e+00 2.500000e+01 2.501000e+01 3.000000e+01}
				data_vector = {-2.000000e+02 -2.000000e+02 0.000000e+00 0.000000e+00}
				max_value = 7.000000e+02
				min_value = -7.000000e+02
			}
			waveform_mode_1_negative = {
				vector_size = 6
				index_vector = {0.000000e+00 1.999000e+01 2.000000e+01 2.500000e+01 2.501000e+01 3.000000e+01}
				data_vector = {1.000000e+02 1.000000e+02 2.300000e+02 2.300000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_mode_2_positive = {
				vector_size = 3
				index_vector = {0.000000e+00 3.000000e+01 3.100000e+01}
				data_vector = {1.500000e+01 1.500000e+01 0.000000e+00}
				max_value = 8.000000e+01
				min_value = -8.000000e+01
			}
			waveform_mode_2_negative = {
				vector_size = 3
				index_vector = {0.000000e+00 3.000000e+01 3.100000e+01}
				data_vector = {2.000000e+01 2.000000e+01 0.000000e+00}
			}
			waveform_breakdown = {
				vector_size = 8
				index_vector = {0.000000e+00 5.000000e+00 5.010000e+00 7.000000e+00 7.010000e+00 8.000000e+00 8.010000e+00 9.000000e+00}
				data_vector = {-6.000000e+01 -6.000000e+01 -2.000000e+02 -2.000000e+02 -2.000000e+02 -2.000000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_breakdown_negative = {
				vector_size = 6
				index_vector = {0.000000e+00 5.000000e+00 5.010000e+00 8.000000e+00 8.010000e+00 9.000000e+00}
				data_vector = {3.000000e+01 3.000000e+01 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_inversion_positive_to_negative = {
				vector_size = 6
				index_vector = {0.000000e+00 2.000000e+00 5.000000e+00 7.000000e+00 7.010000e+00 8.000000e+00}
				data_vector = {-1.800000e+02 8.000000e+01 8.000000e+01 8.000000e+01 0.000000e+00 0.000000e+00}
			}
			waveform_inversion_negative_to_positive = {
				vector_size = 6
				index_vector = {0.000000e+00 2.000000e+00 5.000000e+00 7.000000e+00 7.010000e+00 8.000000e+00}
				data_vector = {-8.000000e+01 -1.800000e+02 -1.800000e+02 -1.800000e+02 0.000000e+00 0.000000e+00}
			}
			output_signals = {
				output_waveform = {
					SignalName = VerticalOutputWaveform
					SignalType = float
				}
			}
		}
		+waveform_horizontal = {
			Class = isttokbiblio::WaveformGAM
			input_signals = {
				input_time = {
					SignalName = usecDischargeTime
					SignalType = int32
				}
				input_mode = {
					SignalName = HorizontalWaveformMode
					SignalType = int32
				}
				input_AC_cycle = {
					SignalName = PlasmaDirection
					SignalType = int32
				}
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
			}
			waveform_mode_1_positive = {
				vector_size = 4
				index_vector = {0.000000e+00 2.500000e+01 2.501000e+01 3.000000e+01}
				data_vector = {-1.500000e+01 -1.500000e+01 0.000000e+00 0.000000e+00}
				max_value = 2.000000e+02
				min_value = -2.000000e+02
			}
			waveform_mode_1_negative = {
				vector_size = 4
				index_vector = {0.000000e+00 2.500000e+01 2.501000e+01 3.000000e+01}
				data_vector = {-7.000000e+01 -7.000000e+01 0.000000e+00 0.000000e+00}
			}
			waveform_mode_2_positive = {
				vector_size = 3
				index_vector = {0.000000e+00 2.000000e+02 3.000000e+02}
				data_vector = {1.000000e+00 -1.000000e+00 0.000000e+00}
				max_value = 8.000000e+01
				min_value = -8.000000e+01
			}
			waveform_mode_2_negative = {
				vector_size = 2
				index_vector = {0.000000e+00 3.000000e+03}
				data_vector = {2.000000e+00 -2.000000e+00}
			}
			waveform_breakdown = {
				vector_size = 8
				index_vector = {0.000000e+00 5.000000e+00 5.010000e+00 7.000000e+00 7.010000e+00 8.000000e+00 8.010000e+00 9.000000e+00}
				data_vector = {-2.500000e+01 -2.500000e+01 -1.500000e+01 -1.500000e+01 -1.500000e+01 -1.500000e+01 0.000000e+00 0.000000e+00}
			}
			waveform_breakdown_negative = {
				vector_size = 6
				index_vector = {0.000000e+00 5.000000e+00 5.010000e+00 8.000000e+00 8.010000e+00 9.000000e+00}
				data_vector = {-2.000000e+01 -2.000000e+01 -6.500000e+01 -6.500000e+01 0.000000e+00 0.000000e+00}
			}
			waveform_inversion_positive_to_negative = {
				vector_size = 6
				index_vector = {0.000000e+00 1.000000e+00 5.000000e+00 7.000000e+00 7.010000e+00 8.000000e+00}
				data_vector = {-3.000000e+01 -6.000000e+01 -6.000000e+01 -6.000000e+01 0.000000e+00 0.000000e+00}
			}
			waveform_inversion_negative_to_positive = {
				vector_size = 5
				index_vector = {0.000000e+00 5.000000e+00 7.000000e+00 7.010000e+00 8.000000e+00}
				data_vector = {-3.000000e+01 -3.000000e+01 -3.000000e+01 0.000000e+00 0.000000e+00}
			}
			output_signals = {
				output_waveform = {
					SignalName = HorizontalOutputWaveform
					SignalType = float
				}
			}
		}
		+waveform_toroidal = {
			Class = isttokbiblio::WaveformGAM
			input_signals = {
				input_time = {
					SignalName = usecTime
					SignalType = int32
				}
				input_mode = {
					SignalName = ToroidalWaveformMode
					SignalType = int32
				}
				input_AC_cycle = {
					SignalName = PlasmaDirection
					SignalType = int32
				}
				discharge_status = {
					SignalName = ToroidalStatus
					SignalType = int32
				}
			}
			waveform_mode_1_positive = {
				vector_size = 6
				index_vector = {0.000000e+00 5.000000e+00 1.000000e+01 1.500000e+01 3.000000e+01 3.500000e+01}
				data_vector = {0.000000e+00 3.000000e+02 3.000000e+02 3.500000e+02 3.500000e+02 0.000000e+00}
				max_value = 1.000000e+04
				min_value = -1.000000e+04
			}
			waveform_mode_1_negative = {
				vector_size = 6
				index_vector = {0.000000e+00 5.000000e+00 1.000000e+01 1.500000e+01 3.000000e+01 3.500000e+01}
				data_vector = {0.000000e+00 3.000000e+02 3.000000e+02 3.500000e+02 3.500000e+02 0.000000e+00}
			}
			waveform_mode_2_positive = {
				vector_size = 5
				index_vector = {0.000000e+00 5.000000e+00 1.000000e+01 1.500000e+01 3.000000e+01}
				data_vector = {0.000000e+00 3.000000e+02 3.000000e+02 3.500000e+02 3.500000e+02}
				max_value = 7.000000e+03
				min_value = -7.000000e+03
			}
			waveform_mode_2_negative = {
				vector_size = 5
				index_vector = {0.000000e+00 5.000000e+00 1.000000e+01 1.500000e+01 3.000000e+01}
				data_vector = {3.000000e+02 3.000000e+02 3.500000e+02 3.500000e+02 0.000000e+00}
			}
			waveform_breakdown = {
				vector_size = 2
				index_vector = {0.000000e+00 3.000000e+03}
				data_vector = {-1.000000e+00 1.000000e+00}
			}
			waveform_breakdown_negative = {
				vector_size = 2
				index_vector = {0.000000e+00 3.000000e+03}
				data_vector = {-1.000000e+00 1.000000e+00}
			}
			waveform_inversion_positive_to_negative = {
				vector_size = 2
				index_vector = {0.000000e+00 3.000000e+03}
				data_vector = {-2.000000e+00 2.000000e+00}
			}
			waveform_inversion_negative_to_positive = {
				vector_size = 2
				index_vector = {0.000000e+00 3.000000e+03}
				data_vector = {-2.000000e+00 2.000000e+00}
			}
			output_signals = {
				output_waveform = {
					SignalName = ToroidalOutputWaveform
					SignalType = float
				}
			}
		}
		+waveform_puffing = {
			Class = isttokbiblio::WaveformGAM
			input_signals = {
				input_time = {
					SignalName = usecDischargeTime
					SignalType = int32
				}
				input_mode = {
					SignalName = PuffingWaveformMode
					SignalType = int32
				}
				input_AC_cycle = {
					SignalName = PlasmaDirection
					SignalType = int32
				}
				discharge_status = {
					SignalName = PuffingStatus
					SignalType = int32
				}
			}
			waveform_mode_1_positive = {
				vector_size = 18
				index_vector = {0.000000e+00 9.900000e-01 1.000000e+00 2.000000e+00 2.010000e+00 2.100000e+00 2.110000e+00 2.210000e+00 7.990000e+00 9.210000e+00 1.000000e+01 1.101000e+01 1.499000e+01 1.600000e+01 1.601000e+01 1.700000e+01 1.701000e+01 5.000000e+01}
				data_vector = {0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00}
				max_value = 1.000000e+02
				min_value = 0.000000e+00
			}
			waveform_mode_1_negative = {
				vector_size = 21
				index_vector = {0.000000e+00 9.900000e-01 1.000000e+00 2.200000e+00 2.210000e+00 2.990000e+00 4.110000e+00 4.990000e+00 6.110000e+00 6.210000e+00 9.990000e+00 1.000000e+01 1.001000e+01 1.100000e+01 1.101000e+01 1.121000e+01 1.499000e+01 1.621000e+01 1.631000e+01 1.641000e+01 5.000000e+01}
				data_vector = {0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00}
			}
			waveform_mode_2_positive = {
				vector_size = 5
				index_vector = {0.000000e+00 5.000000e+00 1.000000e+01 1.500000e+01 3.000000e+01}
				data_vector = {0.000000e+00 3.000000e+02 3.000000e+02 3.500000e+02 3.500000e+02}
				max_value = 1.000000e+01
				min_value = 0.000000e+00
			}
			waveform_mode_2_negative = {
				vector_size = 5
				index_vector = {0.000000e+00 5.000000e+00 1.000000e+01 1.500000e+01 3.000000e+01}
				data_vector = {3.000000e+02 3.000000e+02 3.500000e+02 3.500000e+02 0.000000e+00}
			}
			waveform_breakdown = {
				vector_size = 50
				index_vector = {0.000000e+00 1.121000e+01 1.999000e+01 2.000000e+01 2.120000e+01 2.121000e+01 2.999000e+01 3.121000e+01 3.999000e+01 4.000000e+01 4.120000e+01 4.121000e+01 5.999000e+01 6.000000e+01 6.120000e+01 6.121000e+01 7.499000e+01 7.500000e+01 7.620000e+01 7.621000e+01 8.999000e+01 9.000000e+01 9.120000e+01 9.121000e+01 1.099900e+02 1.100000e+02 1.112000e+02 1.112100e+02 1.299900e+02 1.300000e+02 1.312000e+02 1.312100e+02 1.400000e+02 1.500000e+02 1.500100e+02 1.512000e+02 1.512100e+02 1.700000e+02 1.700100e+02 1.712000e+02 1.712100e+02 1.900000e+02 1.900100e+02 1.912000e+02 1.912100e+02 2.100000e+02 2.100100e+02 2.112000e+02 2.112100e+02 2.300000e+02}
				data_vector = {0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_breakdown_negative = {
				vector_size = 50
				index_vector = {0.000000e+00 1.121000e+01 1.999000e+01 2.000000e+01 2.120000e+01 2.121000e+01 2.999000e+01 3.121000e+01 3.999000e+01 4.000000e+01 4.120000e+01 4.121000e+01 5.999000e+01 6.000000e+01 6.120000e+01 6.121000e+01 7.499000e+01 7.500000e+01 7.620000e+01 7.621000e+01 8.999000e+01 9.000000e+01 9.120000e+01 9.121000e+01 1.099900e+02 1.100000e+02 1.112000e+02 1.112100e+02 1.299900e+02 1.300000e+02 1.312000e+02 1.312100e+02 1.400000e+02 1.500000e+02 1.500100e+02 1.512000e+02 1.512100e+02 1.700000e+02 1.700100e+02 1.712000e+02 1.712100e+02 1.900000e+02 1.900100e+02 1.912000e+02 1.912100e+02 2.100000e+02 2.100100e+02 2.112000e+02 2.112100e+02 2.300000e+02}
				data_vector = {0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00 1.000000e+02 1.000000e+02 0.000000e+00 0.000000e+00}
			}
			waveform_inversion_positive_to_negative = {
				vector_size = 2
				index_vector = {0.000000e+00 3.000000e+03}
				data_vector = {-2.000000e+00 2.000000e+00}
			}
			waveform_inversion_negative_to_positive = {
				vector_size = 2
				index_vector = {0.000000e+00 3.000000e+03}
				data_vector = {-2.000000e+00 2.000000e+00}
			}
			output_signals = {
				output_waveform = {
					SignalName = PuffingOutputWaveform
					SignalType = float
				}
			}
		}
		+time_windows = {
			Class = isttokbiblio::TimeWindowsGAM
			discharge_time = 1.100000E+03
			number_of_cycles = 1.000000E+01
			first_cycle_positive_bool = 0
			auto_breakdown = 
			usecthread_cycle_time = 
			usec_pre_pulse_time = 
			maximum_inversion_usectime = 7.000000E+03
			usectime_to_wait_for_starting_operation = 
			puffing_mode = 1
			end_discharge_after_unsuccess_bool = 1
			time_between_online_and_discharge = 1.000000E+08
			input_signals = {
				plasma_current = {
					SignalName = PlasmaCurrent
					SignalType = float
				}
				system_time = {
					SignalName = usecTime
					SignalType = int32
				}
				is_saturated_bool = {
					SignalName = InSaturation
					SignalType = int32
				}
				slow_stop = {
					SignalName = SlowStopBool
					SignalType = int32
				}
				hard_stop = {
					SignalName = HardStopBool
					SignalType = int32
				}
			}
			positive_time_windows = {
				number_of_time_windows = 4
				time_windows_values = {0.000000E+00 4.000000E+00 1.800000E+01 2.000000E+01}
				primary_mode = {1 1 1 7}
				horizontal_mode = {1 1 1 7}
				vertical_mode = {1 3 1 7}
			}
			negative_time_windows = {
				number_of_time_windows = 4
				time_windows_values = {0.000000E+00 5.000000E+00 2.000000E+01 2.500000E+01}
				primary_mode = {1 1 1 7}
				horizontal_mode = {1 1 1 7}
				vertical_mode = {1 4 1 7}
			}
			output_signals = {
				primary_mode = {
					SignalName = PrimaryWaveformMode
					SignalType = int32
				}
				horizontal_mode = {
					SignalName = HorizontalWaveformMode
					SignalType = int32
				}
				vertical_mode = {
					SignalName = VerticalWaveformMode
					SignalType = int32
				}
				time_to_waveforms = {
					SignalName = usecDischargeTime
					SignalType = int32
				}
				discharge_direction = {
					SignalName = PlasmaDirection
					SignalType = int32
				}
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
				toroidal_mode = {
					SignalName = ToroidalWaveformMode
					SignalType = int32
				}
				toroidal_status = {
					SignalName = ToroidalStatus
					SignalType = int32
				}
				puffing_mode = {
					SignalName = PuffingWaveformMode
					SignalType = int32
				}
				puffing_status = {
					SignalName = PuffingStatus
					SignalType = int32
				}
			}
		}
		+electrode_biasing = {
			Class = isttokbiblio::ElectrodeBiasingGAM
			input_signals = {
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
			}
			output_signals = {
				eb_trigger = {
					SignalName = ElectrodeBiasingTrigger
					SignalType = float
				}
			}
		}
		+spectroscopy_trigger = {
			Class = isttokbiblio::SpectroscopyTriggerGAM
			min_time_between_triggers_usec = 35000
			input_signals = {
				DischargeStatus = {
					SignalName = DischargeStatus
					SignalType = int32
				}
				usecDischargeTime = {
					SignalName = usecDischargeTime
					SignalType = int32
				}
				usecTime = {
					SignalName = usecTime
					SignalType = int32
				}
			}
			output_signals = {
				spectr_trigger = {
					SignalName = SpectroscopyTrigger
					SignalType = float
				}
			}
		}
		+magnetic_probes = {
			Class = isttokbiblio::MagneticsGAM
			usectime_to_wait_for_starting_operation = 1000
			magnetic_radial_bool = 1
			magnetic_vertical_bool = 1
			MirnovArrayDescription = {
				NumberOfProbes = 12
				Angles = {3.450000E+02 3.150000E+02 2.850000E+02 2.550000E+02 2.250000E+02 1.950000E+02 1.650000E+02 1.350000E+02 1.050000E+02 7.500000E+01 4.500000E+01 1.500000E+01}
				Calibration = {1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00 1.000000E+00}
			}
			Measurements = {
				NumberOfMeasurements = 12
				ProbeNumbers = {0 1 2 3 4 5 6 7 8 9 10 11}
			}
			input_signals = {
				Channel_0 = {
					SignalName = ADC_magnetic_0
					SignalType = float
				}
				Channel_1 = {
					SignalName = ADC_magnetic_1
					SignalType = float
				}
				Channel_2 = {
					SignalName = ADC_magnetic_2
					SignalType = float
				}
				Channel_3 = {
					SignalName = ADC_magnetic_3
					SignalType = float
				}
				Channel_4 = {
					SignalName = ADC_magnetic_4
					SignalType = float
				}
				Channel_5 = {
					SignalName = ADC_magnetic_5
					SignalType = float
				}
				Channel_6 = {
					SignalName = ADC_magnetic_6
					SignalType = float
				}
				Channel_7 = {
					SignalName = ADC_magnetic_7
					SignalType = float
				}
				Channel_8 = {
					SignalName = ADC_magnetic_8
					SignalType = float
				}
				Channel_9 = {
					SignalName = ADC_magnetic_9
					SignalType = float
				}
				Channel_10 = {
					SignalName = ADC_magnetic_10
					SignalType = float
				}
				Channel_11 = {
					SignalName = ADC_magnetic_11
					SignalType = float
				}
				time = {
					SignalName = usecTime
					SignalType = int32
				}
			}
			output_signals = {
				magnetic_probes_r = {
					SignalName = MagneticProbesR
					SignalType = float
				}
				magnetic_probes_z = {
					SignalName = MagneticProbesZ
					SignalType = float
				}
				magnetic_probes_plasma_current = {
					SignalName = MagneticProbesPlasmaCurrent
					SignalType = float
				}
			}
		}
		+main_rogowski = {
			Class = isttokbiblio::MainRogowskiGAM
			usectime_to_wait_for_starting_operation = 1000
			input_signals = {
				main_rogowski_input = {
					SignalName = ADC_main_rogowski
					SignalType = float
				}
				system_time = {
					SignalName = usecTime
					SignalType = int32
				}
			}
			output_signals = {
				rogowski_plasma_current = {
					SignalName = RogowskiPlasmaCurrent
					SignalType = float
				}
			}
		}
		+H_alpha = {
			Class = isttokbiblio::HAlphaGAM
			usectime_to_wait_for_starting_operation = 1000
			input_signals = {
				h_alfa_raw = {
					SignalName = ADC_H_alpha
					SignalType = float
				}
				time = {
					SignalName = usecTime
					SignalType = int32
				}
			}
			output_signals = {
				h_alfa_output = {
					SignalName = HAlfaOutput
					SignalType = float
				}
			}
		}
		+technical_signals = {
			Class = isttokbiblio::TechnicalSignalsGAM
			usectime_to_wait_for_starting_operation = 1000
			input_signals = {
				horizontal_current_transducer = {
					SignalName = ADC_horizontal_current
					SignalType = float
				}
				vertical_current_transducer = {
					SignalName = ADC_vertical_current
					SignalType = float
				}
				primary_current_transducer = {
					SignalName = ADC_primary_current
					SignalType = float
				}
				v_loop = {
					SignalName = ADC_vloop
					SignalType = float
				}
				h_alfa_output = {
					SignalName = HAlfaOutput
					SignalType = float
				}
				system_time = {
					SignalName = usecTime
					SignalType = int32
				}
			}
			output_signals = {
				horizontal_current = {
					SignalName = HorizontalCurrent
					SignalType = float
				}
				vertical_current = {
					SignalName = VerticalCurrent
					SignalType = float
				}
				primary_current = {
					SignalName = PrimaryCurrent
					SignalType = float
				}
				iron_core_saturation = {
					SignalName = IronCoreSaturation
					SignalType = float
				}
				v_loop = {
					SignalName = VLoop
					SignalType = float
				}
				h_alpha = {
					SignalName = HAlfa
					SignalType = float
				}
			}
		}
		+machine_protection = {
			Class = isttokbiblio::MachineProtectionGAM
			iron_core_saturation_value = 5.000000e+00
			iron_core_dangerous_value = 5.000000e+03
			input_signals = {
				plasma_current = {
					SignalName = PlasmaCurrent
					SignalType = float
				}
				horizontal_current = {
					SignalName = HorizontalCurrent
					SignalType = float
				}
				vertical_current = {
					SignalName = VerticalCurrent
					SignalType = float
				}
				primary_current = {
					SignalName = PrimaryCurrent
					SignalType = float
				}
				iron_core_saturation = {
					SignalName = IronCoreSaturation
					SignalType = float
				}
				v_loop = {
					SignalName = VLoop
					SignalType = float
				}
				density = {
					SignalName = Density
					SignalType = float
				}
				h_alpha = {
					SignalName = HAlfa
					SignalType = float
				}
				time = {
					SignalName = usecTime
					SignalType = int32
				}
				soft_stop_primary = {
					SignalName = SoftStopPrimaryPS
					SignalType = int32
				}
				soft_stop_horizontal = {
					SignalName = SoftStopVerticalPS
					SignalType = int32
				}
				soft_stop_vertical = {
					SignalName = SoftStopHorizontalPS
					SignalType = int32
				}
			}
			output_signals = {
				saturated_bool = {
					SignalName = InSaturation
					SignalType = int32
				}
				slow_stop = {
					SignalName = SlowStopBool
					SignalType = int32
				}
				hard_stop = {
					SignalName = HardStopBool
					SignalType = int32
				}
			}
		}
		+plasma_parameters = {
			Class = isttokbiblio::PlasmaStatusGAM
			high_current_threshold_value = 1.000000E-01
			tomography = {
				tomography_radial_bool = 0
				tomography_vertical_bool = 0
				radial_high_current_weight = 1.000000E-01
				radial_low_current_weight = 1.000000E-01
				vertical_high_current_weight = 1.000000E-01
				vertical_low_current_weight = 1.000000E-01
			}
			electric_probes = {
				electric_radial_bool = 0
				electric_vertical_bool = 0
				radial_high_current_weight = 3.000000E+00
				radial_low_current_weight = 3.000000E+00
				vertical_high_current_weight = 3.000000E+00
				vertical_low_current_weight = 3.000000E+00
			}
			magnetic_probes = {
				magnetic_radial_bool = 1
				magnetic_vertical_bool = 1
				radial_high_current_weight = 0.000000E+00
				radial_low_current_weight = 0.000000E+00
				vertical_high_current_weight = 0.000000E+00
				vertical_low_current_weight = 0.000000E+00
			}
			sine_probe = {
				sine_vertical_bool = 0
				vertical_high_current_weight = 1.000000E+00
				vertical_low_current_weight = 1.000000E-01
				radial_high_current_weight = 1.000000E+00
				radial_low_current_weight = 1.000000E-01
			}
			cosine_probe = {
				cosine_radial_bool = 0
				radial_high_current_weight = 1.000000E+00
				radial_low_current_weight = 1.000000E-01
				vertical_high_current_weight = 1.000000E+00
				vertical_low_current_weight = 1.000000E-01
			}
			input_signals = {
				rogowski_coil = {
					SignalName = RogowskiPlasmaCurrent
					SignalType = float
				}
				density = {
					SignalName = InterferometryDensity
					SignalType = float
				}
				sine_probe_z = {
					SignalName = SineProbeZ
					SignalType = float
				}
				cosine_probe_r = {
					SignalName = CosineProbeR
					SignalType = float
				}
				magnetic_probes_r = {
					SignalName = MagneticProbesR
					SignalType = float
				}
				magnetic_probes_z = {
					SignalName = MagneticProbesZ
					SignalType = float
				}
				magnetic_probes_plasma_current = {
					SignalName = MagneticProbesPlasmaCurrent
					SignalType = float
				}
				electric_probes_r = {
					SignalName = ElectricProbesR
					SignalType = float
				}
				electric_probes_z = {
					SignalName = ElectricProbesZ
					SignalType = float
				}
				tomography_r = {
					SignalName = TomographyR
					SignalType = float
				}
				tomography_z = {
					SignalName = TomographyZ
					SignalType = float
				}
				time = {
					SignalName = usecTime
					SignalType = int32
				}
			}
			output_signals = {
				plasma_current = {
					SignalName = PlasmaCurrent
					SignalType = float
				}
				position_r = {
					SignalName = PositionR
					SignalType = float
				}
				position_z = {
					SignalName = PositionZ
					SignalType = float
				}
				density = {
					SignalName = Density
					SignalType = float
				}
			}
		}
		+controller = {
			Class = isttokbiblio::ControllerGAM
			file_to_load = /home/pricardofc/CSS-Workspaces/sys-mng-opi/CSS/cfg-files/Tomography/last.tomography
			usecthread_cycle_time = 100
			minimum_toroidal_current = -1.000000E+04
			maximum_toroidal_current = 1.000000E+04
			minimum_primary_current = -3.500000E+02
			maximum_primary_current = 3.500000E+02
			minimum_vertical_current = -7.000000E+02
			maximum_vertical_current = 7.000000E+02
			minimum_horizontal_current = -2.000000E+02
			maximum_horizontal_current = 2.000000E+02
			minimum_plasma_current = -7.000000E+03
			maximum_plasma_current = 7.000000E+03
			minimum_horizontal_position = -8.000000E+01
			maximum_horizontal_position = 8.000000E+01
			minimum_vertical_position = -8.000000E+01
			maximum_vertical_position = 8.000000E+01
			maximum_puffing_output = 1.000000e+02
			minimum_puffing_output = 0.000000e+00
			minimum_density_halpha_scenario = 0.000000E+00
			maximum_density_halpha_scenario = 1.000000E+01
			puffing_duration_in_puffing_feedback_in_ms = 8.000000E-01
			maximum_idle_time_in_puffing_feedback_in_ms = 4.000000E+01
			minimum_idle_time_in_puffing_feedback_in_ms = 8.000000E+00
			puffing_feedback_usec_change_percentage_by_cycle = 1.500000E+02
			puffing_feedback_mode = 1
			interferometry_radial_control_bool = 0
			puffing_mode = 1
			input_signals = {
				primary_current = {
					SignalName = PrimaryCurrent
					SignalType = float
				}
				horizontal_current = {
					SignalName = HorizontalCurrent
					SignalType = float
				}
				vertical_current = {
					SignalName = VerticalCurrent
					SignalType = float
				}
				primary_waveform = {
					SignalName = PrimaryOutputWaveform
					SignalType = float
				}
				horizontal_waveform = {
					SignalName = HorizontalOutputWaveform
					SignalType = float
				}
				vertical_waveform = {
					SignalName = VerticalOutputWaveform
					SignalType = float
				}
				puffing_waveform = {
					SignalName = PuffingOutputWaveform
					SignalType = float
				}
				toroidal_waveform = {
					SignalName = ToroidalOutputWaveform
					SignalType = float
				}
				plasma_current = {
					SignalName = PlasmaCurrent
					SignalType = float
				}
				position_r = {
					SignalName = PositionR
					SignalType = float
				}
				position_z = {
					SignalName = PositionZ
					SignalType = float
				}
				density = {
					SignalName = Density
					SignalType = float
				}
				halpha = {
					SignalName = HAlfa
					SignalType = float
				}
				interferometry_radial_position = {
					SignalName = InterferometryR
					SignalType = float
				}
				primary_mode = {
					SignalName = PrimaryWaveformMode
					SignalType = int32
				}
				horizontal_mode = {
					SignalName = HorizontalWaveformMode
					SignalType = int32
				}
				vertical_mode = {
					SignalName = VerticalWaveformMode
					SignalType = int32
				}
				time = {
					SignalName = usecTime
					SignalType = int32
				}
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
			}
			PID_primary = {
				proportional_soft = 1.000000E+00
				integral_soft = 1.000000E+00
				derivative_soft = 1.000000E+00
				proportional_normal = 2.000000E+00
				integral_normal = 2.000000E+00
				derivative_normal = 2.000000E+00
				proportional_hard = 3.000000E+00
				integral_hard = 3.000000E+00
				derivative_hard = 3.000000E+00
			}
			PID_vertical = {
				proportional_soft = 5.000000E+00
				integral_soft = 1.000000E+00
				derivative_soft = 1.000000E+00
				proportional_normal = 1.000000E+01
				integral_normal = 1.000000E+01
				derivative_normal = 5.000000E+00
				proportional_hard = 1.500000E+01
				integral_hard = 1.500000E+01
				derivative_hard = 5.000000E+00
			}
			PID_horizontal = {
				proportional_soft = 3.000000E+00
				integral_soft = 5.000000E-01
				derivative_soft = 0.000000E+00
				proportional_normal = 2.000000E+01
				integral_normal = 5.000000E+00
				derivative_normal = 5.000000E+00
				proportional_hard = 1.500000E+01
				integral_hard = 1.500000E+01
				derivative_hard = 5.000000E+00
			}
			output_signals = {
				output_horizontal = {
					SignalName = SendToHorizontalValue
					SignalType = float
				}
				output_vertical = {
					SignalName = SendToVerticalValue
					SignalType = float
				}
				output_primary = {
					SignalName = SendToPrimaryValue
					SignalType = float
				}
				output_Puffing = {
					SignalName = SendToPuffing
					SignalType = float
				}
				output_Toroidal = {
					SignalName = SendToToroidal
					SignalType = float
				}
			}
		}
		+PSCommunicator_primary = {
			Class = isttokbiblio::PowerSupplyCommunicatorGAM
			UARTPortAddress = 0xBF10
			PointOfZeroCurrent = 5.110000E+02
			CurrentStep = 2.929700E+00
			usecGlobalPeriod = 100
			input_signals = {
				CurrentSignal = {
					SignalName = SendToPrimaryValue
					SignalType = float
				}
				GlobalTime = {
					SignalName = usecTime
					SignalType = int32
				}
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
			}
			output_signals = {
				soft_stop = {
					SignalName = SoftStopPrimaryPS
					SignalType = int32
				}
			}
		}
		+PSCommunicator_vertical = {
			Class = isttokbiblio::PowerSupplyCommunicatorGAM
			UARTPortAddress = 0xBF00
			PointOfZeroCurrent = 5.110000E+02
			CurrentStep = 2.929700E+00
			usecGlobalPeriod = 100
			input_signals = {
				CurrentSignal = {
					SignalName = SendToVerticalValue
					SignalType = float
				}
				GlobalTime = {
					SignalName = usecTime
					SignalType = int32
				}
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
			}
			output_signals = {
				soft_stop = {
					SignalName = SoftStopVerticalPS
					SignalType = int32
				}
			}
		}
		+PSCommunicator_horizontal = {
			Class = isttokbiblio::PowerSupplyCommunicatorGAM
			UARTPortAddress = 0xBF08
			PointOfZeroCurrent = 5.110000E+02
			CurrentStep = 2.929700E+00
			usecGlobalPeriod = 100
			input_signals = {
				CurrentSignal = {
					SignalName = SendToHorizontalValue
					SignalType = float
				}
				GlobalTime = {
					SignalName = usecTime
					SignalType = int32
				}
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
			}
			output_signals = {
				soft_stop = {
					SignalName = SoftStopHorizontalPS
					SignalType = int32
				}
			}
		}
		+Codac = {
			Class = isttokbiblio::FireSignalDischargeStatusGAM
			input_signals = {
				discharge_status = {
					SignalName = DischargeStatus
					SignalType = int32
				}
				system_time = {
					SignalName = usecTime
					SignalType = int32
				}
			}
		}
		Online = "Codac ATCAAdc DataCollection time_windows tomography electric_probes magnetic_probes sine_probe cosine_probe main_rogowski interferometry H_alpha technical_signals plasma_parameters machine_protection waveform_primary waveform_vertical waveform_horizontal waveform_toroidal waveform_puffing controller PSCommunicator_horizontal PSCommunicator_vertical PSCommunicator_primary ATCADac"
		Offline = "Codac ATCAAdc DataCollection time_windows tomography electric_probes magnetic_probes sine_probe cosine_probe main_rogowski interferometry H_alpha technical_signals plasma_parameters machine_protection waveform_primary waveform_vertical waveform_horizontal waveform_toroidal waveform_puffing controller PSCommunicator_horizontal PSCommunicator_vertical PSCommunicator_primary ATCADac"
		Safety = "Codac ATCAAdc DataCollection time_windows tomography electric_probes magnetic_probes sine_probe cosine_probe main_rogowski interferometry H_alpha technical_signals plasma_parameters machine_protection waveform_primary waveform_vertical waveform_horizontal waveform_toroidal waveform_puffing controller PSCommunicator_horizontal PSCommunicator_vertical PSCommunicator_primary ATCADac"
		SafetyMsecSleep = 1
	}
}
+AdvancedConfiguration = {
	Class = isttokbiblio::AdvancedConfigurator
	Description = "Advanced Text Input"
	default_directories = {
		default_config_file_path = "/home/opertok/CSS-Workspaces/sys-mng-opi/CSS/cfg-files/last.cfg"
		config_files_directory = "/home/opertok/CSS-Workspaces/sys-mng-opi/CSS/cfg-files"
	}
	colours = {
		header_colour = AliceBlue
		colour1 = Wheat
		colour2 = LightSkyBlue
		colour3 = LightGoldenRodYellow
		colour4 = LightSkyBlue
		colour5 = LightGoldenRodYellow
		footer_colour = AliceBlue
	}
}
+DischargeConfigurator = {
	Class = isttokbiblio::MainConfigurator
	Description = "Basic Text Input"
	graphics = {
		screen_resolution_x = 1280
		screen_resolution_y = 1024
	}
	colours = {
		header_colour = AliceBlue
		diagnostics_parameters_colour = Wheat
		control_parameters_colour = LightSkyBlue
		time_windows_colour = LightGoldenRodYellow
		edit_colour = White
		footer_colour = AliceBlue
	}
	default_directories = {
		default_config_file_path = "/home/opertok/CSS-Workspaces/sys-mng-opi/CSS/cfg-files/last.cfg"
		config_files_directory = "/home/opertok/CSS-Workspaces/sys-mng-opi/CSS/cfg-files"
	}
}
