| 1 | from make_fix_dimservers import FactDimServer
|
|---|
| 2 | class FTM_CONTROL ( FactDimServer):
|
|---|
| 3 | def version_number(self):
|
|---|
| 4 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 5 | L
|
|---|
| 6 | """
|
|---|
| 7 | return self._get("VERSION_NUMBER")
|
|---|
| 8 | def disable_reports(self, *args):
|
|---|
| 9 | """ disable sending rate reports|status[bool]:disable or enable that the FTM sends rate reports (yes/no)
|
|---|
| 10 | B
|
|---|
| 11 | """
|
|---|
| 12 | self._cmd("DISABLE_REPORTS", *args)
|
|---|
| 13 | def toggle_pixel(self, *args):
|
|---|
| 14 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 15 | S:1
|
|---|
| 16 | """
|
|---|
| 17 | self._cmd("TOGGLE_PIXEL", *args)
|
|---|
| 18 | def disable_all_patches_except(self, *args):
|
|---|
| 19 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 20 | S:1
|
|---|
| 21 | """
|
|---|
| 22 | self._cmd("DISABLE_ALL_PATCHES_EXCEPT", *args)
|
|---|
| 23 | def set_trigger_multiplicity(self, *args):
|
|---|
| 24 | """ Setup the Multiplicity condition for physcis triggers|N[int]:Number of requirered coincident triggers from sum-patches (1-40)
|
|---|
| 25 | S:1
|
|---|
| 26 | """
|
|---|
| 27 | self._cmd("SET_TRIGGER_MULTIPLICITY", *args)
|
|---|
| 28 | def state(self):
|
|---|
| 29 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 30 | C
|
|---|
| 31 | """
|
|---|
| 32 | return self._get("STATE")
|
|---|
| 33 | def set_trigger_interval(self, *args):
|
|---|
| 34 | """ Sets the trigger interval which is the distance between two consecutive artificial triggers.|interval[ms]:The applied trigger interval in millisecond (min 1ms / 10bit)
|
|---|
| 35 | I:1
|
|---|
| 36 | """
|
|---|
| 37 | self._cmd("SET_TRIGGER_INTERVAL", *args)
|
|---|
| 38 | def enable_ftu(self, *args):
|
|---|
| 39 | """ Enable or disable FTU|Board[idx]:Index of the board (0-39), -1 for all|Enable[bool]:Whether FTU should be enabled or disabled (yes/no)
|
|---|
| 40 | I:1;B:1
|
|---|
| 41 | """
|
|---|
| 42 | self._cmd("ENABLE_FTU", *args)
|
|---|
| 43 | def service_list(self):
|
|---|
| 44 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 45 | C
|
|---|
| 46 | """
|
|---|
| 47 | return self._get("SERVICE_LIST")
|
|---|
| 48 | def set_calibration_multiplicity(self, *args):
|
|---|
| 49 | """ Setup the Multiplicity condition for artificial (calibration) triggers|N[int]:Number of requirered coincident triggers from sum-patches (1-40)
|
|---|
| 50 | S:1
|
|---|
| 51 | """
|
|---|
| 52 | self._cmd("SET_CALIBRATION_MULTIPLICITY", *args)
|
|---|
| 53 | def reset_crate(self, *args):
|
|---|
| 54 | """ Reset one of the crates 0-3|crate[short]:Crate number to be reseted (0-3)
|
|---|
| 55 | S:1
|
|---|
| 56 | """
|
|---|
| 57 | self._cmd("RESET_CRATE", *args)
|
|---|
| 58 | def reset_configure(self, *args):
|
|---|
| 59 | """ Reset states during a configuration or in case of configuration error
|
|---|
| 60 |
|
|---|
| 61 | """
|
|---|
| 62 | self._cmd("RESET_CONFIGURE", *args)
|
|---|
| 63 | def disable_pixel(self, *args):
|
|---|
| 64 | """ (-1 or all)
|
|---|
| 65 | S:1
|
|---|
| 66 | """
|
|---|
| 67 | self._cmd("DISABLE_PIXEL", *args)
|
|---|
| 68 | def enable_veto(self, *args):
|
|---|
| 69 | """ Enable veto line|Enable[bool]:Enable veto (yes/no)
|
|---|
| 70 | B:1
|
|---|
| 71 | """
|
|---|
| 72 | self._cmd("ENABLE_VETO", *args)
|
|---|
| 73 | def enable_pixel(self, *args):
|
|---|
| 74 | """ (-1 or all)
|
|---|
| 75 | S:1
|
|---|
| 76 | """
|
|---|
| 77 | self._cmd("ENABLE_PIXEL", *args)
|
|---|
| 78 | def set_calibration_window(self, *args):
|
|---|
| 79 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 80 | S:1
|
|---|
| 81 | """
|
|---|
| 82 | self._cmd("SET_CALIBRATION_WINDOW", *args)
|
|---|
| 83 | def enable_ext1(self, *args):
|
|---|
| 84 | """ Switch on the triggers through the first external line|Enable[bool]:Enable ext1 trigger (yes/no)
|
|---|
| 85 | B:1
|
|---|
| 86 | """
|
|---|
| 87 | self._cmd("ENABLE_EXT1", *args)
|
|---|
| 88 | def set_trigger_window(self, *args):
|
|---|
| 89 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 90 | S:1
|
|---|
| 91 | """
|
|---|
| 92 | self._cmd("SET_TRIGGER_WINDOW", *args)
|
|---|
| 93 | def service_desc(self):
|
|---|
| 94 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 95 | C
|
|---|
| 96 | """
|
|---|
| 97 | return self._get("SERVICE_DESC")
|
|---|
| 98 | def state_list(self):
|
|---|
| 99 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 100 | C
|
|---|
| 101 | """
|
|---|
| 102 | return self._get("STATE_LIST")
|
|---|
| 103 | def set_threshold(self, *args):
|
|---|
| 104 | """ Set the comparator threshold|Patch[idx]:Index of the patch (0-159), -1 for all|Threshold[counts]:Threshold to be set in binary counts
|
|---|
| 105 | I:2
|
|---|
| 106 | """
|
|---|
| 107 | self._cmd("SET_THRESHOLD", *args)
|
|---|
| 108 | def request_static_data(self, *args):
|
|---|
| 109 | """ request transmission of static data from FTM to memory
|
|---|
| 110 |
|
|---|
| 111 | """
|
|---|
| 112 | self._cmd("REQUEST_STATIC_DATA", *args)
|
|---|
| 113 | def dynamic_data(self):
|
|---|
| 114 | """ Regular reports sent by FTM|FTMtimeStamp[us]:Time in microseconds, since trigger enabled or disabled|OnTimeCounter[us]:Ontime, i.e. FTM processes triggers (e.g. No FAD busy)|Temperatures[Nan]:not yet defined nor used (wanna be FTM onboard temps)|TriggerPatchCounter[int]:counting since last update (prescaling)|BoardsCounter[int]:FTU board counting after N out of 4 and since last update|RateOverflow[bitpattern]:bits 0-4=patches overflow, 5=board overflow, 1 per board|Prescaling[500ms]:Update rate of the rate counter|CrcError[int]:Number of checksum error in RS485 communication|State[int]:State value of the FTM firmware (cf. FTM doc)
|
|---|
| 115 | X:1;X:1;F:4;I:160;I:40;S:40;S:40;S:40;S:1
|
|---|
| 116 | """
|
|---|
| 117 | return self._get("DYNAMIC_DATA")
|
|---|
| 118 | def set_time_marker_delay(self, *args):
|
|---|
| 119 | """ |delay[int]:The applied time marker delay is: delay*4ns+8ns
|
|---|
| 120 | I:1
|
|---|
| 121 | """
|
|---|
| 122 | self._cmd("SET_TIME_MARKER_DELAY", *args)
|
|---|
| 123 | def configure(self, *args):
|
|---|
| 124 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 125 | C
|
|---|
| 126 | """
|
|---|
| 127 | self._cmd("CONFIGURE", *args)
|
|---|
| 128 | def reconnect(self, *args):
|
|---|
| 129 | """ (Re)connect ethernet connection to FTM, a new address can be given|[host][string]:new ethernet address in the form <host:port>
|
|---|
| 130 | O
|
|---|
| 131 | """
|
|---|
| 132 | self._cmd("RECONNECT", *args)
|
|---|
| 133 | def enable_clock_conditioner(self, *args):
|
|---|
| 134 | """ Enable clock conidtioner output in favor of time marker output|Enable[bool]:Enable clock conditioner (yes/no)
|
|---|
| 135 | B:1
|
|---|
| 136 | """
|
|---|
| 137 | self._cmd("ENABLE_CLOCK_CONDITIONER", *args)
|
|---|
| 138 | def take_n_events(self, *args):
|
|---|
| 139 | """ take n events (distribute n triggers)|number[int]:Number of events to be taken
|
|---|
| 140 | I
|
|---|
| 141 | """
|
|---|
| 142 | self._cmd("TAKE_N_EVENTS", *args)
|
|---|
| 143 | def enable_group1_lpint(self, *args):
|
|---|
| 144 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 145 | B:1
|
|---|
| 146 | """
|
|---|
| 147 | self._cmd("ENABLE_GROUP1_LPINT", *args)
|
|---|
| 148 | def exit(self, *args):
|
|---|
| 149 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 150 | L:1
|
|---|
| 151 | """
|
|---|
| 152 | self._cmd("EXIT", *args)
|
|---|
| 153 | def trigger_rates(self):
|
|---|
| 154 | """ Patch,Board,Camera trigger rates|FTMtimeStamp[us]:Time in microseconds, since trigger enabled or disabled|OnTimeCounter[us]:Effective on-time, ie. FTM triggers (eg. w/o busy)|TriggerCounter[int]:Counter of triggers since enabled or disabled|TriggerRate[Hz]:Trigger rate|BoardRate[Hz]:Trigger rate of individual FTUs|PatchRate[Hz]:Trigger rate of individual patches|ElapsedTime[sec]:Time elapsed since previous report|OnTime[sec]:OnTime elapsed since previous report
|
|---|
| 155 | X:1;X:1;I:1;F:1;F:40;F:160;F:1;F:1
|
|---|
| 156 | """
|
|---|
| 157 | return self._get("TRIGGER_RATES")
|
|---|
| 158 | def passport(self):
|
|---|
| 159 | """ Info about the FTM and FPGA version|BoardId[int]:BoardId, hexCode|DNA[int]:DNA of the FTM board
|
|---|
| 160 | X:1;S:1
|
|---|
| 161 | """
|
|---|
| 162 | return self._get("PASSPORT")
|
|---|
| 163 | def set_n_out_of_4(self, *args):
|
|---|
| 164 | """ Set the comparator threshold|Board[idx]:Index of the board (0-39), -1 for all|Threshold[counts]:Threshold to be set in binary counts
|
|---|
| 165 | I:2
|
|---|
| 166 | """
|
|---|
| 167 | self._cmd("SET_N_OUT_OF_4", *args)
|
|---|
| 168 | def set_intensity_lpext(self, *args):
|
|---|
| 169 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 170 | S:1
|
|---|
| 171 | """
|
|---|
| 172 | self._cmd("SET_INTENSITY_LPEXT", *args)
|
|---|
| 173 | def enable_group2_lpext(self, *args):
|
|---|
| 174 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 175 | B:1
|
|---|
| 176 | """
|
|---|
| 177 | self._cmd("ENABLE_GROUP2_LPEXT", *args)
|
|---|
| 178 | def enable_group1_lpext(self, *args):
|
|---|
| 179 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 180 | B:1
|
|---|
| 181 | """
|
|---|
| 182 | self._cmd("ENABLE_GROUP1_LPEXT", *args)
|
|---|
| 183 | def set_clock_register(self, *args):
|
|---|
| 184 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 185 | X:8
|
|---|
| 186 | """
|
|---|
| 187 | self._cmd("SET_CLOCK_REGISTER", *args)
|
|---|
| 188 | def load(self, *args):
|
|---|
| 189 | """ Loads the static data (FTM configuration) from a file into memory and sends it to the FTM|filename[string]:Filename (can include a path), .bin is automatically added
|
|---|
| 190 | C
|
|---|
| 191 | """
|
|---|
| 192 | self._cmd("LOAD", *args)
|
|---|
| 193 | def save(self, *args):
|
|---|
| 194 | """ Saves the static data (FTM configuration) from memory to a file|filename[string]:Filename (can include a path), .bin is automatically added
|
|---|
| 195 | C
|
|---|
| 196 | """
|
|---|
| 197 | self._cmd("SAVE", *args)
|
|---|
| 198 | def toggle_ftu(self, *args):
|
|---|
| 199 | """ Toggle status of FTU (this is mainly meant to be used in the GUI)|Board[idx]:Index of the board (0-39)
|
|---|
| 200 | I:1
|
|---|
| 201 | """
|
|---|
| 202 | self._cmd("TOGGLE_FTU", *args)
|
|---|
| 203 | def ftu_list(self):
|
|---|
| 204 | """ Logs the changes of status of the FTUs|FTMtimeStamp[us]:Time in microseconds|ActiveFTU[bitpattern]:Description of enabled FTUs|NumBoards[int]:Total number of enabled FTUs|NumBoardsCrate[int]:Total number of enabled FTUs per crate|DNA[hexCode]:Hex code identifier of FTUs|Addr[bitpattern]:Crate address (hardware) of FTUs|Ping[int]:Number of pings until FTU response
|
|---|
| 205 | X:1;X:1;S:1;C:4;X:40;C:40;C:40
|
|---|
| 206 | """
|
|---|
| 207 | return self._get("FTU_LIST")
|
|---|
| 208 | def client_list(self):
|
|---|
| 209 | """ Native Dim service: A list of all connected clients
|
|---|
| 210 | C
|
|---|
| 211 | """
|
|---|
| 212 | return self._get("CLIENT_LIST")
|
|---|
| 213 | def set_register(self, *args):
|
|---|
| 214 | """ set register to value|addr[short]:Address of register|val[short]:Value to be set
|
|---|
| 215 | I:2
|
|---|
| 216 | """
|
|---|
| 217 | self._cmd("SET_REGISTER", *args)
|
|---|
| 218 | def enable_ext2(self, *args):
|
|---|
| 219 | """ Switch on the triggers through the second external line|Enable[bool]:Enable ext2 trigger (yes/no)
|
|---|
| 220 | B:1
|
|---|
| 221 | """
|
|---|
| 222 | self._cmd("ENABLE_EXT2", *args)
|
|---|
| 223 | def enable_group2_lpint(self, *args):
|
|---|
| 224 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 225 | B:1
|
|---|
| 226 | """
|
|---|
| 227 | self._cmd("ENABLE_GROUP2_LPINT", *args)
|
|---|
| 228 | def toggle_led(self, *args):
|
|---|
| 229 | """ toggle led
|
|---|
| 230 |
|
|---|
| 231 | """
|
|---|
| 232 | self._cmd("TOGGLE_LED", *args)
|
|---|
| 233 | def counter(self):
|
|---|
| 234 | """ Communication statistics to or from FTM control and FTM|NumHeaders[int]:Num. of headers (any header) received by ftm control|NumStaticData[int]:Num. of static data blocks (ftm and ftu settings)|NumDynamicData[int]:Num. of dynamic data blocks (e.g. rates)|NumFtuList[int]:Num. of FTU list (FTU identifiers, answer from ping)|NumErrors[int]:Num. of error messages|NumRegister[int]:Num. of answers from a single register accesess
|
|---|
| 235 | I:1;I:1;I:1;I:1;I:1;I:1
|
|---|
| 236 | """
|
|---|
| 237 | return self._get("COUNTER")
|
|---|
| 238 | def enable_patch(self, *args):
|
|---|
| 239 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 240 | S:1
|
|---|
| 241 | """
|
|---|
| 242 | self._cmd("ENABLE_PATCH", *args)
|
|---|
| 243 | def set_dead_time(self, *args):
|
|---|
| 244 | """ |dead_time[int]:The applied dead time is: dead_time*4ns+8ns
|
|---|
| 245 | I:1
|
|---|
| 246 | """
|
|---|
| 247 | self._cmd("SET_DEAD_TIME", *args)
|
|---|
| 248 | def enable_trigger(self, *args):
|
|---|
| 249 | """ Switch on the physics trigger|Enable[bool]:Enable physics trigger (yes/no)
|
|---|
| 250 | B:1
|
|---|
| 251 | """
|
|---|
| 252 | self._cmd("ENABLE_TRIGGER", *args)
|
|---|
| 253 | def set_verbose(self, *args):
|
|---|
| 254 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 255 | B
|
|---|
| 256 | """
|
|---|
| 257 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 258 | def message(self):
|
|---|
| 259 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 260 | C
|
|---|
| 261 | """
|
|---|
| 262 | return self._get("MESSAGE")
|
|---|
| 263 | def set_trigger_delay(self, *args):
|
|---|
| 264 | """ |delay[int]:The applied trigger delay is: delay*4ns+8ns
|
|---|
| 265 | I:1
|
|---|
| 266 | """
|
|---|
| 267 | self._cmd("SET_TRIGGER_DELAY", *args)
|
|---|
| 268 | def reset_camera(self, *args):
|
|---|
| 269 | """ Reset all crates. The commands are sent in the order 0,1,2,3
|
|---|
| 270 |
|
|---|
| 271 | """
|
|---|
| 272 | self._cmd("RESET_CAMERA", *args)
|
|---|
| 273 | def stop_trigger(self, *args):
|
|---|
| 274 | """ stop a run (stop distributing triggers)
|
|---|
| 275 |
|
|---|
| 276 | """
|
|---|
| 277 | self._cmd("STOP_TRIGGER", *args)
|
|---|
| 278 | def set_hex_output(self, *args):
|
|---|
| 279 | """ enable or disable hex output for received data|hexout[bool]:disable or enable hex output for received data (yes/no)
|
|---|
| 280 | B
|
|---|
| 281 | """
|
|---|
| 282 | self._cmd("SET_HEX_OUTPUT", *args)
|
|---|
| 283 | def set_prescaling(self, *args):
|
|---|
| 284 | """ Sets the FTU readout time intervals|time[0.5s]:The interval is given in units of 0.5s, i.e. 1 means 0.5s, 2 means 1s, ...
|
|---|
| 285 | I:1
|
|---|
| 286 | """
|
|---|
| 287 | self._cmd("SET_PRESCALING", *args)
|
|---|
| 288 | def ping(self, *args):
|
|---|
| 289 | """ send ping
|
|---|
| 290 |
|
|---|
| 291 | """
|
|---|
| 292 | self._cmd("PING", *args)
|
|---|
| 293 | def static_data(self):
|
|---|
| 294 | """ Configuration of FTM and FTUs|FTMtimeStamp[us]:Time in microseconds, since trigger enabled or disabled|GeneralSettings[bitpattern]:Status of the FTM settings (cf. FTM doc)|LEDStatus[bitpattern]:Not Used|ActiveFTU[bitpattern]:List of enabled FTUs|TriggerInterval[bitpattern]:Period of cal. and ped. events (cf. FTM doc)|TriggerSeq[int]:Sequence of calib. and pedestal events (LPint, LPext, Ped)|LPSettings[bitpattern]:Settings of LP, enabled int, ext, intensity int, ext|PhysTrigMult[int]:N for N out of 40 logic on FTM (Physics)|CalibTrigMult[int]: N for N out of 40 logic on FTM (Calib)|PhysTrigWindow[ns]:Coincidence window for N out of 40 (Physics)|CalibTrigWindow[ns]:Coincidence window for N out of 40 (Calib)|TrigDelay[ns]:Trigger delay applied on FTM|TMDelay[ns]:TM delay applied on FTM|DeadTime[ns]:Dead time applied after each event on the FTM|ClkCond[bitpattern]:Clock conditionner settings on the FTM (DRS sampling freq.)|PixEnabled[bitpattern]:Enabled pixels, pckd in 90 shorts (160*9bits=180bytes)|PatchThresh[DACcounts]:Threshold of the trigger patches|Multiplicity[DACcounts]:N out of 4 logic settings per FTU|Prescaling[500ms]:Update rate of the rate counter
|
|---|
| 295 | X:1;S:1;S:1;X:1;S:1;S:3;C:4;S:1;S:1;S:1;S:1;S:1;S:1;I:1;I:8;S:90;S:160;S:40;S:40
|
|---|
| 296 | """
|
|---|
| 297 | return self._get("STATIC_DATA")
|
|---|
| 298 | def error(self):
|
|---|
| 299 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 300 | X:1;S:1;S:28
|
|---|
| 301 | """
|
|---|
| 302 | return self._get("ERROR")
|
|---|
| 303 | def start_trigger(self, *args):
|
|---|
| 304 | """ start a run (start distributing triggers)
|
|---|
| 305 |
|
|---|
| 306 | """
|
|---|
| 307 | self._cmd("START_TRIGGER", *args)
|
|---|
| 308 | def get_register(self, *args):
|
|---|
| 309 | """ read register from address addr|addr[short]:Address of register
|
|---|
| 310 | I
|
|---|
| 311 | """
|
|---|
| 312 | self._cmd("GET_REGISTER", *args)
|
|---|
| 313 | def disconnect(self, *args):
|
|---|
| 314 | """ disconnect from ethernet
|
|---|
| 315 |
|
|---|
| 316 | """
|
|---|
| 317 | self._cmd("DISCONNECT", *args)
|
|---|
| 318 | def disable_all_pixels_except(self, *args):
|
|---|
| 319 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 320 | S:1
|
|---|
| 321 | """
|
|---|
| 322 | self._cmd("DISABLE_ALL_PIXELS_EXCEPT", *args)
|
|---|
| 323 | def set_trigger_sequence(self, *args):
|
|---|
| 324 | """ Setup the sequence of artificial triggers produced by the FTM|Ped[short]:number of pedestal triggers in a row|LPext[short]:number of triggers of the external light pulser|LPint[short]:number of triggers of the internal light pulser
|
|---|
| 325 | S:3
|
|---|
| 326 | """
|
|---|
| 327 | self._cmd("SET_TRIGGER_SEQUENCE", *args)
|
|---|
| 328 | def set_dynamic_output(self, *args):
|
|---|
| 329 | """ enable or disable output for received dynamic data (data is still broadcasted via Dim)|dynout[bool]:disable or enable output for dynamic data (yes/no)
|
|---|
| 330 | B
|
|---|
| 331 | """
|
|---|
| 332 | self._cmd("SET_DYNAMIC_OUTPUT", *args)
|
|---|
| 333 | def disable_patch(self, *args):
|
|---|
| 334 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 335 | S:1
|
|---|
| 336 | """
|
|---|
| 337 | self._cmd("DISABLE_PATCH", *args)
|
|---|
| 338 | def set_clock_frequency(self, *args):
|
|---|
| 339 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 340 | S:1
|
|---|
| 341 | """
|
|---|
| 342 | self._cmd("SET_CLOCK_FREQUENCY", *args)
|
|---|
| 343 | def request_dynamic_data(self, *args):
|
|---|
| 344 | """ request transmission of dynamic data block
|
|---|
| 345 |
|
|---|
| 346 | """
|
|---|
| 347 | self._cmd("REQUEST_DYNAMIC_DATA", *args)
|
|---|
| 348 | def set_intensity_lpint(self, *args):
|
|---|
| 349 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 350 | S:1
|
|---|
| 351 | """
|
|---|
| 352 | self._cmd("SET_INTENSITY_LPINT", *args)
|
|---|
| 353 | class RATE_SCAN ( FactDimServer):
|
|---|
| 354 | def process_data(self):
|
|---|
| 355 | """ Rate scan process data|min[DAC]:Value at which scan was started|max[DAC]:Value at which scan will end|step[DAC]:Step size for scan
|
|---|
| 356 | I:1;I:1;I:1
|
|---|
| 357 | """
|
|---|
| 358 | return self._get("PROCESS_DATA")
|
|---|
| 359 | def state(self):
|
|---|
| 360 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 361 | C
|
|---|
| 362 | """
|
|---|
| 363 | return self._get("STATE")
|
|---|
| 364 | def service_desc(self):
|
|---|
| 365 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 366 | C
|
|---|
| 367 | """
|
|---|
| 368 | return self._get("SERVICE_DESC")
|
|---|
| 369 | def service_list(self):
|
|---|
| 370 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 371 | C
|
|---|
| 372 | """
|
|---|
| 373 | return self._get("SERVICE_LIST")
|
|---|
| 374 | def start_threshold_scan(self, *args):
|
|---|
| 375 | """ Start rate scan for the threshold in the defined range|min[int]:Start value in DAC counts|max[int]:Limiting value in DAC counts|step[int]:Single step in DAC counts
|
|---|
| 376 | I:3
|
|---|
| 377 | """
|
|---|
| 378 | self._cmd("START_THRESHOLD_SCAN", *args)
|
|---|
| 379 | def print_cmd(self, *args):
|
|---|
| 380 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 381 |
|
|---|
| 382 | """
|
|---|
| 383 | self._cmd("PRINT_CMD", *args)
|
|---|
| 384 | def client_list(self):
|
|---|
| 385 | """ Native Dim service: A list of all connected clients
|
|---|
| 386 | C
|
|---|
| 387 | """
|
|---|
| 388 | return self._get("CLIENT_LIST")
|
|---|
| 389 | def set_reference_patch(self, *args):
|
|---|
| 390 | """ Use the given patch trigger-rate as reference for the reolution|patch[idx]:Index of the patch (360*crate+36*board+patch)
|
|---|
| 391 | I:1
|
|---|
| 392 | """
|
|---|
| 393 | self._cmd("SET_REFERENCE_PATCH", *args)
|
|---|
| 394 | def exit(self, *args):
|
|---|
| 395 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 396 | L:1
|
|---|
| 397 | """
|
|---|
| 398 | self._cmd("EXIT", *args)
|
|---|
| 399 | def change_step_size(self, *args):
|
|---|
| 400 | """ Change the step size during a ratescan in progress|step[int]:Single step in DAC counts
|
|---|
| 401 | I:1
|
|---|
| 402 | """
|
|---|
| 403 | self._cmd("CHANGE_STEP_SIZE", *args)
|
|---|
| 404 | def data(self):
|
|---|
| 405 | """ |Id[s]:Start time used to identify measurement (UnixTime)|Threshold[dac]:Threshold in DAC counts|ElapsedTime[s]:Real elapsed time|RelOnTime[ratio]:Relative on time|TriggerRate[Hz]:Camera trigger rate|BoardRate[Hz]:Board trigger rates|PatchRate[Hz]:Patch trigger rates
|
|---|
| 406 | X:1;I:1;F:1;F:1;F:1;F:40;F:160
|
|---|
| 407 | """
|
|---|
| 408 | return self._get("DATA")
|
|---|
| 409 | def stop(self, *args):
|
|---|
| 410 | """ Stop a ratescan in progress
|
|---|
| 411 |
|
|---|
| 412 | """
|
|---|
| 413 | self._cmd("STOP", *args)
|
|---|
| 414 | def message(self):
|
|---|
| 415 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 416 | C
|
|---|
| 417 | """
|
|---|
| 418 | return self._get("MESSAGE")
|
|---|
| 419 | def start_n_out_of_4_scan(self, *args):
|
|---|
| 420 | """ Start rate scan for N-out-of-4 in the defined range|min[int]:Start value in DAC counts|max[int]:Limiting value in DAC counts|step[int]:Single step in DAC counts
|
|---|
| 421 | I:3
|
|---|
| 422 | """
|
|---|
| 423 | self._cmd("START_N_OUT_OF_4_SCAN", *args)
|
|---|
| 424 | def change_maximum(self, *args):
|
|---|
| 425 | """ Change the maximum limit during a ratescan in progress|max[int]:Limiting value in DAC counts
|
|---|
| 426 | I:1
|
|---|
| 427 | """
|
|---|
| 428 | self._cmd("CHANGE_MAXIMUM", *args)
|
|---|
| 429 | def state_list(self):
|
|---|
| 430 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 431 | C
|
|---|
| 432 | """
|
|---|
| 433 | return self._get("STATE_LIST")
|
|---|
| 434 | def version_number(self):
|
|---|
| 435 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 436 | L
|
|---|
| 437 | """
|
|---|
| 438 | return self._get("VERSION_NUMBER")
|
|---|
| 439 | def set_reference_board(self, *args):
|
|---|
| 440 | """ Use the given board trigger-rate as reference for the reolution|board[idx]:Index of the board (4*crate+board)
|
|---|
| 441 | I:1
|
|---|
| 442 | """
|
|---|
| 443 | self._cmd("SET_REFERENCE_BOARD", *args)
|
|---|
| 444 | def set_reference_camera(self, *args):
|
|---|
| 445 | """ Use the camera trigger rate as reference for the reolution
|
|---|
| 446 |
|
|---|
| 447 | """
|
|---|
| 448 | self._cmd("SET_REFERENCE_CAMERA", *args)
|
|---|
| 449 | class RATE_CONTROL ( FactDimServer):
|
|---|
| 450 | def state(self):
|
|---|
| 451 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 452 | C
|
|---|
| 453 | """
|
|---|
| 454 | return self._get("STATE")
|
|---|
| 455 | def client_list(self):
|
|---|
| 456 | """ Native Dim service: A list of all connected clients
|
|---|
| 457 | C
|
|---|
| 458 | """
|
|---|
| 459 | return self._get("CLIENT_LIST")
|
|---|
| 460 | def stop(self, *args):
|
|---|
| 461 | """ Stop a calibration or ratescan in progress
|
|---|
| 462 |
|
|---|
| 463 | """
|
|---|
| 464 | self._cmd("STOP", *args)
|
|---|
| 465 | def service_list(self):
|
|---|
| 466 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 467 | C
|
|---|
| 468 | """
|
|---|
| 469 | return self._get("SERVICE_LIST")
|
|---|
| 470 | def state_list(self):
|
|---|
| 471 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 472 | C
|
|---|
| 473 | """
|
|---|
| 474 | return self._get("STATE_LIST")
|
|---|
| 475 | def message(self):
|
|---|
| 476 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 477 | C
|
|---|
| 478 | """
|
|---|
| 479 | return self._get("MESSAGE")
|
|---|
| 480 | def print_cmd(self, *args):
|
|---|
| 481 | """ Print current status
|
|---|
| 482 |
|
|---|
| 483 | """
|
|---|
| 484 | self._cmd("PRINT_CMD", *args)
|
|---|
| 485 | def calibrate(self, *args):
|
|---|
| 486 | """ Start a search for a reasonable minimum global threshold
|
|---|
| 487 |
|
|---|
| 488 | """
|
|---|
| 489 | self._cmd("CALIBRATE", *args)
|
|---|
| 490 | def service_desc(self):
|
|---|
| 491 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 492 | C
|
|---|
| 493 | """
|
|---|
| 494 | return self._get("SERVICE_DESC")
|
|---|
| 495 | def set_verbose(self, *args):
|
|---|
| 496 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 497 | B
|
|---|
| 498 | """
|
|---|
| 499 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 500 | def set_target_rate(self, *args):
|
|---|
| 501 | """ Set a target trigger rate for the calibration
|
|---|
| 502 | F:1
|
|---|
| 503 | """
|
|---|
| 504 | self._cmd("SET_TARGET_RATE", *args)
|
|---|
| 505 | def exit(self, *args):
|
|---|
| 506 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 507 | L:1
|
|---|
| 508 | """
|
|---|
| 509 | self._cmd("EXIT", *args)
|
|---|
| 510 | def threshold(self):
|
|---|
| 511 | """ Resulting threshold after calibration|threshold[dac]:Resulting threshold from calibration
|
|---|
| 512 | S:1
|
|---|
| 513 | """
|
|---|
| 514 | return self._get("THRESHOLD")
|
|---|
| 515 | def set_min_threshold(self, *args):
|
|---|
| 516 | """ Set a minimum threshold at which th rate control starts calibrating
|
|---|
| 517 | I:1
|
|---|
| 518 | """
|
|---|
| 519 | self._cmd("SET_MIN_THRESHOLD", *args)
|
|---|
| 520 | def version_number(self):
|
|---|
| 521 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 522 | L
|
|---|
| 523 | """
|
|---|
| 524 | return self._get("VERSION_NUMBER")
|
|---|
| 525 | class FEEDBACK ( FactDimServer):
|
|---|
| 526 | def reference(self):
|
|---|
| 527 | """ Amplitude reference value(s)Vref[mV]:Amplitude reference
|
|---|
| 528 | F:416
|
|---|
| 529 | """
|
|---|
| 530 | return self._get("REFERENCE")
|
|---|
| 531 | def enable_output(self, *args):
|
|---|
| 532 | """ Enable sending of correction values caluclated by the control loop to the biasctrl
|
|---|
| 533 | B:1
|
|---|
| 534 | """
|
|---|
| 535 | self._cmd("ENABLE_OUTPUT", *args)
|
|---|
| 536 | def version_number(self):
|
|---|
| 537 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 538 | L
|
|---|
| 539 | """
|
|---|
| 540 | return self._get("VERSION_NUMBER")
|
|---|
| 541 | def print_calibration(self, *args):
|
|---|
| 542 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 543 |
|
|---|
| 544 | """
|
|---|
| 545 | self._cmd("PRINT_CALIBRATION", *args)
|
|---|
| 546 | def exit(self, *args):
|
|---|
| 547 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 548 | L:1
|
|---|
| 549 | """
|
|---|
| 550 | self._cmd("EXIT", *args)
|
|---|
| 551 | def state(self):
|
|---|
| 552 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 553 | C
|
|---|
| 554 | """
|
|---|
| 555 | return self._get("STATE")
|
|---|
| 556 | def stop(self, *args):
|
|---|
| 557 | """ Stop any control loop
|
|---|
| 558 |
|
|---|
| 559 | """
|
|---|
| 560 | self._cmd("STOP", *args)
|
|---|
| 561 | def start_temp_control(self, *args):
|
|---|
| 562 | """ Start the temperature control loop|offset[V]:Offset from the nominal temperature corrected value in Volts
|
|---|
| 563 | F:1
|
|---|
| 564 | """
|
|---|
| 565 | self._cmd("START_TEMP_CONTROL", *args)
|
|---|
| 566 | def set_kp(self, *args):
|
|---|
| 567 | """ Set proportional constant Kp
|
|---|
| 568 | D:1
|
|---|
| 569 | """
|
|---|
| 570 | self._cmd("SET_KP", *args)
|
|---|
| 571 | def store_reference(self, *args):
|
|---|
| 572 | """ Store the last (averaged) value as new reference (for debug purpose only)
|
|---|
| 573 |
|
|---|
| 574 | """
|
|---|
| 575 | self._cmd("STORE_REFERENCE", *args)
|
|---|
| 576 | def service_desc(self):
|
|---|
| 577 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 578 | C
|
|---|
| 579 | """
|
|---|
| 580 | return self._get("SERVICE_DESC")
|
|---|
| 581 | def print_cmd(self, *args):
|
|---|
| 582 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 583 |
|
|---|
| 584 | """
|
|---|
| 585 | self._cmd("PRINT_CMD", *args)
|
|---|
| 586 | def set_t(self, *args):
|
|---|
| 587 | """ Set time-constant. (-1 to use the cycle time, i.e. the time for the last average cycle, instead)
|
|---|
| 588 | D:1
|
|---|
| 589 | """
|
|---|
| 590 | self._cmd("SET_T", *args)
|
|---|
| 591 | def start_feedback_control(self, *args):
|
|---|
| 592 | """ Start the feedback control loop|Num[short]:Number of events 'medianed' to calculate the correction value
|
|---|
| 593 | S:1
|
|---|
| 594 | """
|
|---|
| 595 | self._cmd("START_FEEDBACK_CONTROL", *args)
|
|---|
| 596 | def set_current_request_interval(self, *args):
|
|---|
| 597 | """ |interval[ms]:Interval between two current requests in modes which need that.
|
|---|
| 598 |
|
|---|
| 599 | """
|
|---|
| 600 | self._cmd("SET_CURRENT_REQUEST_INTERVAL", *args)
|
|---|
| 601 | def set_reference(self, *args):
|
|---|
| 602 | """ Set a new global reference value (for debug purpose only)
|
|---|
| 603 | F:1
|
|---|
| 604 | """
|
|---|
| 605 | self._cmd("SET_REFERENCE", *args)
|
|---|
| 606 | def start_global_feedback(self, *args):
|
|---|
| 607 | """ Start the global feedback control loopNum[short]:Number of events averaged to calculate the correction value
|
|---|
| 608 | S:1
|
|---|
| 609 | """
|
|---|
| 610 | self._cmd("START_GLOBAL_FEEDBACK", *args)
|
|---|
| 611 | def deviation(self):
|
|---|
| 612 | """ Control loop information|DeltaAmpl[mV]:Amplitude offset measures|DeltaBias[mV]:Correction value calculated|DeltaTemp[mV]:Correction calculated from temperature|DeltaUser[mV]:Additional offset specified by user
|
|---|
| 613 | F:416;F:416;F:1;F:1
|
|---|
| 614 | """
|
|---|
| 615 | return self._get("DEVIATION")
|
|---|
| 616 | def client_list(self):
|
|---|
| 617 | """ Native Dim service: A list of all connected clients
|
|---|
| 618 | C
|
|---|
| 619 | """
|
|---|
| 620 | return self._get("CLIENT_LIST")
|
|---|
| 621 | def message(self):
|
|---|
| 622 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 623 | C
|
|---|
| 624 | """
|
|---|
| 625 | return self._get("MESSAGE")
|
|---|
| 626 | def calibration(self):
|
|---|
| 627 | """ Current offsets|Avg[uA]:Average offset|Rms[uA]:Rms of offset|R[Ohm]:Measured calibration resistor
|
|---|
| 628 | F:416;F:416;F:416
|
|---|
| 629 | """
|
|---|
| 630 | return self._get("CALIBRATION")
|
|---|
| 631 | def set_kd(self, *args):
|
|---|
| 632 | """ Set derivative constant Kd
|
|---|
| 633 | D:1
|
|---|
| 634 | """
|
|---|
| 635 | self._cmd("SET_KD", *args)
|
|---|
| 636 | def set_ki(self, *args):
|
|---|
| 637 | """ Set integral constant Ki
|
|---|
| 638 | D:1
|
|---|
| 639 | """
|
|---|
| 640 | self._cmd("SET_KI", *args)
|
|---|
| 641 | def start_current_control(self, *args):
|
|---|
| 642 | """ Start the current/temperature control loop|offset[V]:Offset from the nominal current/temperature corrected value in Volts
|
|---|
| 643 | F:1
|
|---|
| 644 | """
|
|---|
| 645 | self._cmd("START_CURRENT_CONTROL", *args)
|
|---|
| 646 | def calibrate_currents(self, *args):
|
|---|
| 647 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 648 |
|
|---|
| 649 | """
|
|---|
| 650 | self._cmd("CALIBRATE_CURRENTS", *args)
|
|---|
| 651 | def state_list(self):
|
|---|
| 652 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 653 | C
|
|---|
| 654 | """
|
|---|
| 655 | return self._get("STATE_LIST")
|
|---|
| 656 | def service_list(self):
|
|---|
| 657 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 658 | C
|
|---|
| 659 | """
|
|---|
| 660 | return self._get("SERVICE_LIST")
|
|---|
| 661 | class LID_CONTROL ( FactDimServer):
|
|---|
| 662 | def data(self):
|
|---|
| 663 | """ |status[bool]:Lid1/2 open or closed|I[A]:Lid1/2 current|P[dac]:Lid1/2 hall sensor position in averaged dac counts
|
|---|
| 664 | S:2;F:2;F:2
|
|---|
| 665 | """
|
|---|
| 666 | return self._get("DATA")
|
|---|
| 667 | def close(self, *args):
|
|---|
| 668 | """ Close the lids
|
|---|
| 669 |
|
|---|
| 670 | """
|
|---|
| 671 | self._cmd("CLOSE", *args)
|
|---|
| 672 | def post(self, *args):
|
|---|
| 673 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 674 | C
|
|---|
| 675 | """
|
|---|
| 676 | self._cmd("POST", *args)
|
|---|
| 677 | def exit(self, *args):
|
|---|
| 678 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 679 | L:1
|
|---|
| 680 | """
|
|---|
| 681 | self._cmd("EXIT", *args)
|
|---|
| 682 | def service_desc(self):
|
|---|
| 683 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 684 | C
|
|---|
| 685 | """
|
|---|
| 686 | return self._get("SERVICE_DESC")
|
|---|
| 687 | def version_number(self):
|
|---|
| 688 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 689 | L
|
|---|
| 690 | """
|
|---|
| 691 | return self._get("VERSION_NUMBER")
|
|---|
| 692 | def state_list(self):
|
|---|
| 693 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 694 | C
|
|---|
| 695 | """
|
|---|
| 696 | return self._get("STATE_LIST")
|
|---|
| 697 | def open(self, *args):
|
|---|
| 698 | """ Open the lids
|
|---|
| 699 |
|
|---|
| 700 | """
|
|---|
| 701 | self._cmd("OPEN", *args)
|
|---|
| 702 | def service_list(self):
|
|---|
| 703 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 704 | C
|
|---|
| 705 | """
|
|---|
| 706 | return self._get("SERVICE_LIST")
|
|---|
| 707 | def message(self):
|
|---|
| 708 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 709 | C
|
|---|
| 710 | """
|
|---|
| 711 | return self._get("MESSAGE")
|
|---|
| 712 | def client_list(self):
|
|---|
| 713 | """ Native Dim service: A list of all connected clients
|
|---|
| 714 | C
|
|---|
| 715 | """
|
|---|
| 716 | return self._get("CLIENT_LIST")
|
|---|
| 717 | def set_verbose(self, *args):
|
|---|
| 718 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 719 | B
|
|---|
| 720 | """
|
|---|
| 721 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 722 | def state(self):
|
|---|
| 723 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 724 | C
|
|---|
| 725 | """
|
|---|
| 726 | return self._get("STATE")
|
|---|
| 727 | class FSC_CONTROL ( FactDimServer):
|
|---|
| 728 | def state_list(self):
|
|---|
| 729 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 730 | C
|
|---|
| 731 | """
|
|---|
| 732 | return self._get("STATE_LIST")
|
|---|
| 733 | def state(self):
|
|---|
| 734 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 735 | C
|
|---|
| 736 | """
|
|---|
| 737 | return self._get("STATE")
|
|---|
| 738 | def exit(self, *args):
|
|---|
| 739 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 740 | L:1
|
|---|
| 741 | """
|
|---|
| 742 | self._cmd("EXIT", *args)
|
|---|
| 743 | def voltage(self):
|
|---|
| 744 | """ |t[s]:FSC uptime|FAD_Ud[V]:FAD digital (crate 0-3)|FAD_Up[V]:FAD positive (crate 0-3)|FAD_Un[V]:FAD negative (crate 0-3)|FPA_Ud[V]:FPA digital (crate 0-3)|FPA_Up[V]:FPA positive (crate 0-3)|FPA_Un[V]:FPA negative (crate 0-3)|ETH_U[V]:Ethernet switch (pos/neg)|FTM_U[V]:FTM - trigger master (pos/neg)|FFC_U[V]:FFC|FLP_U[V]:FLP - light pulser
|
|---|
| 745 | F:1;F:4;F:4;F:4;F:4;F:4;F:4;F:2;F:2;F:1;F:1
|
|---|
| 746 | """
|
|---|
| 747 | return self._get("VOLTAGE")
|
|---|
| 748 | def current(self):
|
|---|
| 749 | """ |t[s]:FSC uptime|FAD_Id[A]:FAD digital (crate 0-3)|FAD_Ip[A]:FAD positive (crate 0-3)|FAD_In[A]:FAD negative (crate 0-3)|FPA_Id[A]:FPA digital (crate 0-3)|FPA_Ip[A]:FPA positive (crate 0-3)|FPA_In[A]:FPA negative (crate 0-3)|ETH_I[A]:Ethernet switch (pos/neg)|FTM_I[A]:FTM - trigger master (pos/neg)|FFC_I[A]:FFC|FLP_I[A]:FLP - light pulser
|
|---|
| 750 | F:1;F:4;F:4;F:4;F:4;F:4;F:4;F:2;F:2;F:1;F:1
|
|---|
| 751 | """
|
|---|
| 752 | return self._get("CURRENT")
|
|---|
| 753 | def client_list(self):
|
|---|
| 754 | """ Native Dim service: A list of all connected clients
|
|---|
| 755 | C
|
|---|
| 756 | """
|
|---|
| 757 | return self._get("CLIENT_LIST")
|
|---|
| 758 | def service_list(self):
|
|---|
| 759 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 760 | C
|
|---|
| 761 | """
|
|---|
| 762 | return self._get("SERVICE_LIST")
|
|---|
| 763 | def service_desc(self):
|
|---|
| 764 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 765 | C
|
|---|
| 766 | """
|
|---|
| 767 | return self._get("SERVICE_DESC")
|
|---|
| 768 | def version_number(self):
|
|---|
| 769 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 770 | L
|
|---|
| 771 | """
|
|---|
| 772 | return self._get("VERSION_NUMBER")
|
|---|
| 773 | def disconnect(self, *args):
|
|---|
| 774 | """ disconnect from ethernet
|
|---|
| 775 |
|
|---|
| 776 | """
|
|---|
| 777 | self._cmd("DISCONNECT", *args)
|
|---|
| 778 | def dump_stream(self, *args):
|
|---|
| 779 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 780 | B:1
|
|---|
| 781 | """
|
|---|
| 782 | self._cmd("DUMP_STREAM", *args)
|
|---|
| 783 | def humidity(self):
|
|---|
| 784 | """ |t[s]:FSC uptime|H[%]:Humidity sensors readout
|
|---|
| 785 | F:1;F:4
|
|---|
| 786 | """
|
|---|
| 787 | return self._get("HUMIDITY")
|
|---|
| 788 | def temperature(self):
|
|---|
| 789 | """ |t[s]:FSC uptime|T_sens[deg C]:Sensor compartment temperatures|T_crate[deg C]:Temperatures crate 0 (back/front), 1 (b/f), 2 (b/f), 3 (b/f)|T_ps[deg C]:Temp power supplies crate 0 (back/front), 1, 2, 3|T_aux[deg C]:Auxiliary power supply temperatures FTM (top/bottom), FSC (t/b)|T_back[deg C]:FTM backpanel temperatures FTM (top/bottom), FSC (top/bottom)|T_eth[deg C]:Ethernet switches temperatures top (front/back), bottom (f/b)
|
|---|
| 790 | F:1;F:31;F:8;F:8;F:4;F:4;F:4
|
|---|
| 791 | """
|
|---|
| 792 | return self._get("TEMPERATURE")
|
|---|
| 793 | def set_verbose(self, *args):
|
|---|
| 794 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 795 | B:1
|
|---|
| 796 | """
|
|---|
| 797 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 798 | def reconnect(self, *args):
|
|---|
| 799 | """ (Re)connect ethernet connection to FTM, a new address can be given|[host][string]:new ethernet address in the form <host:port>
|
|---|
| 800 | O
|
|---|
| 801 | """
|
|---|
| 802 | self._cmd("RECONNECT", *args)
|
|---|
| 803 | def message(self):
|
|---|
| 804 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 805 | C
|
|---|
| 806 | """
|
|---|
| 807 | return self._get("MESSAGE")
|
|---|
| 808 | class PWR_CONTROL ( FactDimServer):
|
|---|
| 809 | def set_verbose(self, *args):
|
|---|
| 810 | """ Set verbosity state|verbosity[bool]:disable or enable verbosity for interpreted data (yes/no)
|
|---|
| 811 | B:1
|
|---|
| 812 | """
|
|---|
| 813 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 814 | def camera_power(self, *args):
|
|---|
| 815 | """ Switch camera power|power[bool]:Switch camera power 'on' or 'off'
|
|---|
| 816 | B:1
|
|---|
| 817 | """
|
|---|
| 818 | self._cmd("CAMERA_POWER", *args)
|
|---|
| 819 | def set_debug_rx(self, *args):
|
|---|
| 820 | """ Set debux-rx state|debug[bool]:dump received text and parsed text to console (yes/no)
|
|---|
| 821 | B:1
|
|---|
| 822 | """
|
|---|
| 823 | self._cmd("SET_DEBUG_RX", *args)
|
|---|
| 824 | def version_number(self):
|
|---|
| 825 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 826 | L
|
|---|
| 827 | """
|
|---|
| 828 | return self._get("VERSION_NUMBER")
|
|---|
| 829 | def service_desc(self):
|
|---|
| 830 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 831 | C
|
|---|
| 832 | """
|
|---|
| 833 | return self._get("SERVICE_DESC")
|
|---|
| 834 | def exit(self, *args):
|
|---|
| 835 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 836 | L:1
|
|---|
| 837 | """
|
|---|
| 838 | self._cmd("EXIT", *args)
|
|---|
| 839 | def toggle_drive(self, *args):
|
|---|
| 840 | """ Toggle drive power
|
|---|
| 841 |
|
|---|
| 842 | """
|
|---|
| 843 | self._cmd("TOGGLE_DRIVE", *args)
|
|---|
| 844 | def state(self):
|
|---|
| 845 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 846 | C
|
|---|
| 847 | """
|
|---|
| 848 | return self._get("STATE")
|
|---|
| 849 | def client_list(self):
|
|---|
| 850 | """ Native Dim service: A list of all connected clients
|
|---|
| 851 | C
|
|---|
| 852 | """
|
|---|
| 853 | return self._get("CLIENT_LIST")
|
|---|
| 854 | def data(self):
|
|---|
| 855 | """ |water_lvl[bool]:Water level ok|water_flow[bool]:Water flowing|pwr_24V[bool]:24V power enabled|pwr_pump[bool]:Pump power enabled|pwr_bias[bool]:Bias power enabled|pwr_drive[bool]:Drive power enabled (command value)|main_drive[bool]:Drive manual main switch on|feedback_drive[bool]:Drive power on (feedback value)
|
|---|
| 856 | C:1;C:1;C:1;C:1;C:1;C:1;C:1;C:1
|
|---|
| 857 | """
|
|---|
| 858 | return self._get("DATA")
|
|---|
| 859 | def service_list(self):
|
|---|
| 860 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 861 | C
|
|---|
| 862 | """
|
|---|
| 863 | return self._get("SERVICE_LIST")
|
|---|
| 864 | def post(self, *args):
|
|---|
| 865 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 866 | C
|
|---|
| 867 | """
|
|---|
| 868 | self._cmd("POST", *args)
|
|---|
| 869 | def message(self):
|
|---|
| 870 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 871 | C
|
|---|
| 872 | """
|
|---|
| 873 | return self._get("MESSAGE")
|
|---|
| 874 | def state_list(self):
|
|---|
| 875 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 876 | C
|
|---|
| 877 | """
|
|---|
| 878 | return self._get("STATE_LIST")
|
|---|
| 879 | class DATA_LOGGER ( FactDimServer):
|
|---|
| 880 | def filename_run(self):
|
|---|
| 881 | """ Path and base name used for the run files.|Type[int]:type of open files (1=log, 2=rep, 4=fits)|Name[string]:path and base file name
|
|---|
| 882 | I:1;C
|
|---|
| 883 | """
|
|---|
| 884 | return self._get("FILENAME_RUN")
|
|---|
| 885 | def stop(self, *args):
|
|---|
| 886 | """ Stop all data logging, close all files.
|
|---|
| 887 |
|
|---|
| 888 | """
|
|---|
| 889 | self._cmd("STOP", *args)
|
|---|
| 890 | def message(self):
|
|---|
| 891 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 892 | C
|
|---|
| 893 | """
|
|---|
| 894 | return self._get("MESSAGE")
|
|---|
| 895 | def enable_numsubs_service(self, *args):
|
|---|
| 896 | """ Switch the service which distributes information about the number of subscriptions and open files on or off.|Enable[bool]:Enable of disable NUM_SUBS service (yes/no).
|
|---|
| 897 | B:1
|
|---|
| 898 | """
|
|---|
| 899 | self._cmd("ENABLE_NUMSUBS_SERVICE", *args)
|
|---|
| 900 | def enable_filename_services(self, *args):
|
|---|
| 901 | """ Switch service which distributes information about the open files on or off.|Enable[bool]:Enable of disable filename services (yes/no).
|
|---|
| 902 | B:1
|
|---|
| 903 | """
|
|---|
| 904 | self._cmd("ENABLE_FILENAME_SERVICES", *args)
|
|---|
| 905 | def exit(self, *args):
|
|---|
| 906 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 907 | L:1
|
|---|
| 908 | """
|
|---|
| 909 | self._cmd("EXIT", *args)
|
|---|
| 910 | def set_run_timeout(self, *args):
|
|---|
| 911 | """ Set the timeout delay for old run numbers.|timeout[min]:Time out in minutes after which files for expired runs are closed.
|
|---|
| 912 | L:1
|
|---|
| 913 | """
|
|---|
| 914 | self._cmd("SET_RUN_TIMEOUT", *args)
|
|---|
| 915 | def num_subs(self):
|
|---|
| 916 | """ Num. open files + num. subscribed services|NSubAndOpenFiles[int]:Num. of subs and open files
|
|---|
| 917 | I:2
|
|---|
| 918 | """
|
|---|
| 919 | return self._get("NUM_SUBS")
|
|---|
| 920 | def service_desc(self):
|
|---|
| 921 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 922 | C
|
|---|
| 923 | """
|
|---|
| 924 | return self._get("SERVICE_DESC")
|
|---|
| 925 | def set_statistics_update_interval(self, *args):
|
|---|
| 926 | """ Interval in which the data-logger statistics service (STATS) is updated.|Interval[ms]:Value in milliseconds (<=0: no update).
|
|---|
| 927 | S:1
|
|---|
| 928 | """
|
|---|
| 929 | self._cmd("SET_STATISTICS_UPDATE_INTERVAL", *args)
|
|---|
| 930 | def version_number(self):
|
|---|
| 931 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 932 | L
|
|---|
| 933 | """
|
|---|
| 934 | return self._get("VERSION_NUMBER")
|
|---|
| 935 | def client_list(self):
|
|---|
| 936 | """ Native Dim service: A list of all connected clients
|
|---|
| 937 | C
|
|---|
| 938 | """
|
|---|
| 939 | return self._get("CLIENT_LIST")
|
|---|
| 940 | def set_debug_mode(self, *args):
|
|---|
| 941 | """ Switch debug mode on or off. Debug mode prints information about every service written to a file.|Enable[bool]:Enable of disable debug mode (yes/no).
|
|---|
| 942 | B:1
|
|---|
| 943 | """
|
|---|
| 944 | self._cmd("SET_DEBUG_MODE", *args)
|
|---|
| 945 | def print_info(self, *args):
|
|---|
| 946 | """ Print information about the internal status of the data logger.
|
|---|
| 947 |
|
|---|
| 948 | """
|
|---|
| 949 | self._cmd("PRINT_INFO", *args)
|
|---|
| 950 | def start(self, *args):
|
|---|
| 951 | """ Start the nightly logging. Nightly file location must be specified already
|
|---|
| 952 |
|
|---|
| 953 | """
|
|---|
| 954 | self._cmd("START", *args)
|
|---|
| 955 | def stop_run_logging(self, *args):
|
|---|
| 956 | """ Go from the wait for run to nightly open state.
|
|---|
| 957 |
|
|---|
| 958 | """
|
|---|
| 959 | self._cmd("STOP_RUN_LOGGING", *args)
|
|---|
| 960 | def service_list(self):
|
|---|
| 961 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 962 | C
|
|---|
| 963 | """
|
|---|
| 964 | return self._get("SERVICE_LIST")
|
|---|
| 965 | def stats(self):
|
|---|
| 966 | """ Statistics about size written
|
|---|
| 967 | X:4
|
|---|
| 968 | """
|
|---|
| 969 | return self._get("STATS")
|
|---|
| 970 | def reset(self, *args):
|
|---|
| 971 | """ Transition to exit error states. Closes the any open file.
|
|---|
| 972 |
|
|---|
| 973 | """
|
|---|
| 974 | self._cmd("RESET", *args)
|
|---|
| 975 | def start_run_logging(self, *args):
|
|---|
| 976 | """ Go to waiting for run number state. In this state with any received run-number a new file is opened.
|
|---|
| 977 |
|
|---|
| 978 | """
|
|---|
| 979 | self._cmd("START_RUN_LOGGING", *args)
|
|---|
| 980 | def state_list(self):
|
|---|
| 981 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 982 | C
|
|---|
| 983 | """
|
|---|
| 984 | return self._get("STATE_LIST")
|
|---|
| 985 | def state(self):
|
|---|
| 986 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 987 | C
|
|---|
| 988 | """
|
|---|
| 989 | return self._get("STATE")
|
|---|
| 990 | def filename_nightly(self):
|
|---|
| 991 | """ Path and base name used for the nightly files.|Type[int]:type of open files (1=log, 2=rep, 4=fits)|Name[string]:path and base file name
|
|---|
| 992 | I:1;C
|
|---|
| 993 | """
|
|---|
| 994 | return self._get("FILENAME_NIGHTLY")
|
|---|
| 995 | class TNG_WEATHER ( FactDimServer):
|
|---|
| 996 | def set_verbose(self, *args):
|
|---|
| 997 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 998 | B
|
|---|
| 999 | """
|
|---|
| 1000 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 1001 | def state(self):
|
|---|
| 1002 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1003 | C
|
|---|
| 1004 | """
|
|---|
| 1005 | return self._get("STATE")
|
|---|
| 1006 | def state_list(self):
|
|---|
| 1007 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1008 | C
|
|---|
| 1009 | """
|
|---|
| 1010 | return self._get("STATE_LIST")
|
|---|
| 1011 | def version_number(self):
|
|---|
| 1012 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1013 | L
|
|---|
| 1014 | """
|
|---|
| 1015 | return self._get("VERSION_NUMBER")
|
|---|
| 1016 | def dust(self):
|
|---|
| 1017 | """ |Dust[ug/m^3]:Dust (total)
|
|---|
| 1018 | F:1
|
|---|
| 1019 | """
|
|---|
| 1020 | return self._get("DUST")
|
|---|
| 1021 | def service_desc(self):
|
|---|
| 1022 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1023 | C
|
|---|
| 1024 | """
|
|---|
| 1025 | return self._get("SERVICE_DESC")
|
|---|
| 1026 | def client_list(self):
|
|---|
| 1027 | """ Native Dim service: A list of all connected clients
|
|---|
| 1028 | C
|
|---|
| 1029 | """
|
|---|
| 1030 | return self._get("CLIENT_LIST")
|
|---|
| 1031 | def message(self):
|
|---|
| 1032 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1033 | C
|
|---|
| 1034 | """
|
|---|
| 1035 | return self._get("MESSAGE")
|
|---|
| 1036 | def data(self):
|
|---|
| 1037 | """ |T_10M[deg C]:Temperature 10m above ground|T_5M[deg C]:Temperature 5m above ground|T_2M[deg C]:Temperature 2m above ground|T_0[deg C]:Temperature at ground|T_dew[deg C]:Dew point|H[%]:Humidity|P[mbar]:Air pressure|v[km/h]:Wind speed|d[deg]:Wind direction (N-E)|DeltaM1|Dust[ug/m^3]:Dust (total)|Seeing[W/m^2]:Seeing
|
|---|
| 1038 | F:1;F:1;F:1;F:1;F:1;F:1;F:1;F:1;F:1;F:1;F:1;F:1
|
|---|
| 1039 | """
|
|---|
| 1040 | return self._get("DATA")
|
|---|
| 1041 | def service_list(self):
|
|---|
| 1042 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1043 | C
|
|---|
| 1044 | """
|
|---|
| 1045 | return self._get("SERVICE_LIST")
|
|---|
| 1046 | def exit(self, *args):
|
|---|
| 1047 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1048 | L:1
|
|---|
| 1049 | """
|
|---|
| 1050 | self._cmd("EXIT", *args)
|
|---|
| 1051 | class AGILENT_CONTROL ( FactDimServer):
|
|---|
| 1052 | def service_list(self):
|
|---|
| 1053 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1054 | C
|
|---|
| 1055 | """
|
|---|
| 1056 | return self._get("SERVICE_LIST")
|
|---|
| 1057 | def set_verbose(self, *args):
|
|---|
| 1058 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no)
|
|---|
| 1059 | B:1
|
|---|
| 1060 | """
|
|---|
| 1061 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 1062 | def set_power(self, *args):
|
|---|
| 1063 | """ Enable or disable power output|output[bool]:set power output to 'on' or 'off'
|
|---|
| 1064 | B:1
|
|---|
| 1065 | """
|
|---|
| 1066 | self._cmd("SET_POWER", *args)
|
|---|
| 1067 | def service_desc(self):
|
|---|
| 1068 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1069 | C
|
|---|
| 1070 | """
|
|---|
| 1071 | return self._get("SERVICE_DESC")
|
|---|
| 1072 | def power_cycle(self, *args):
|
|---|
| 1073 | """ Power cycle the power output|delay[short]:Defines the delay between switching off and on.
|
|---|
| 1074 | S:1
|
|---|
| 1075 | """
|
|---|
| 1076 | self._cmd("POWER_CYCLE", *args)
|
|---|
| 1077 | def version_number(self):
|
|---|
| 1078 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1079 | L
|
|---|
| 1080 | """
|
|---|
| 1081 | return self._get("VERSION_NUMBER")
|
|---|
| 1082 | def reconnect(self, *args):
|
|---|
| 1083 | """ (Re)connect ethernet connection to Agilent, a new address can be given|[host][string]:new ethernet address in the form <host:port>
|
|---|
| 1084 | O
|
|---|
| 1085 | """
|
|---|
| 1086 | self._cmd("RECONNECT", *args)
|
|---|
| 1087 | def set_debug_rx(self, *args):
|
|---|
| 1088 | """ set debug state|debug[bool]:disable or enable verbosity for received raw data (yes/no)
|
|---|
| 1089 | B:1
|
|---|
| 1090 | """
|
|---|
| 1091 | self._cmd("SET_DEBUG_RX", *args)
|
|---|
| 1092 | def message(self):
|
|---|
| 1093 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1094 | C
|
|---|
| 1095 | """
|
|---|
| 1096 | return self._get("MESSAGE")
|
|---|
| 1097 | def state(self):
|
|---|
| 1098 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1099 | C
|
|---|
| 1100 | """
|
|---|
| 1101 | return self._get("STATE")
|
|---|
| 1102 | def client_list(self):
|
|---|
| 1103 | """ Native Dim service: A list of all connected clients
|
|---|
| 1104 | C
|
|---|
| 1105 | """
|
|---|
| 1106 | return self._get("CLIENT_LIST")
|
|---|
| 1107 | def disconnect(self, *args):
|
|---|
| 1108 | """ disconnect from ethernet
|
|---|
| 1109 |
|
|---|
| 1110 | """
|
|---|
| 1111 | self._cmd("DISCONNECT", *args)
|
|---|
| 1112 | def data(self):
|
|---|
| 1113 | """ |U_nom[V]: Nominal output voltage|U_mes[V]: Measured output voltage|I_mes[A]: Measured current|I_max[A]: Current limit
|
|---|
| 1114 | F:1;F:1;F:1;F:1
|
|---|
| 1115 | """
|
|---|
| 1116 | return self._get("DATA")
|
|---|
| 1117 | def state_list(self):
|
|---|
| 1118 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1119 | C
|
|---|
| 1120 | """
|
|---|
| 1121 | return self._get("STATE_LIST")
|
|---|
| 1122 | def exit(self, *args):
|
|---|
| 1123 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1124 | L:1
|
|---|
| 1125 | """
|
|---|
| 1126 | self._cmd("EXIT", *args)
|
|---|
| 1127 | class FAD_CONTROL ( FactDimServer):
|
|---|
| 1128 | def version_number(self):
|
|---|
| 1129 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1130 | L
|
|---|
| 1131 | """
|
|---|
| 1132 | return self._get("VERSION_NUMBER")
|
|---|
| 1133 | def state_list(self):
|
|---|
| 1134 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1135 | C
|
|---|
| 1136 | """
|
|---|
| 1137 | return self._get("STATE_LIST")
|
|---|
| 1138 | def enable_continous_trigger(self, *args):
|
|---|
| 1139 | """ Enable continous (internal) trigger.
|
|---|
| 1140 | B:1
|
|---|
| 1141 | """
|
|---|
| 1142 | self._cmd("ENABLE_CONTINOUS_TRIGGER", *args)
|
|---|
| 1143 | def event_data(self):
|
|---|
| 1144 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1145 | F:1440;F:1440;F:1440;F:1440
|
|---|
| 1146 | """
|
|---|
| 1147 | return self._get("EVENT_DATA")
|
|---|
| 1148 | def print_event(self, *args):
|
|---|
| 1149 | """ Print (last) event|board[short]:slot from which the event should be printed (-1 for all)
|
|---|
| 1150 | S:1
|
|---|
| 1151 | """
|
|---|
| 1152 | self._cmd("PRINT_EVENT", *args)
|
|---|
| 1153 | def block_transmission(self, *args):
|
|---|
| 1154 | """ Blocks the transmission of commands to the given slot. Use with care! For debugging pupose only!|slot[short]:Slot to which the command transmission should be blocked (0-39)|enable[bool]:Whether the command transmission should be blockes (yes) or allowed (no)
|
|---|
| 1155 | S:1;B:1
|
|---|
| 1156 | """
|
|---|
| 1157 | self._cmd("BLOCK_TRANSMISSION", *args)
|
|---|
| 1158 | def set_debug_tx(self, *args):
|
|---|
| 1159 | """ Enable or disable the output of messages in case of successfull data transmission to the boards.|debug[bool]:disable or enable debug output for transmitted data (yes/no)
|
|---|
| 1160 | B:1
|
|---|
| 1161 | """
|
|---|
| 1162 | self._cmd("SET_DEBUG_TX", *args)
|
|---|
| 1163 | def dac(self):
|
|---|
| 1164 | """ DAC settings of each FAD board|DAC[int]:DAC counts, sequentially DAC 0 board 0, 0/1, 0/2... (plus min max)
|
|---|
| 1165 | S:336
|
|---|
| 1166 | """
|
|---|
| 1167 | return self._get("DAC")
|
|---|
| 1168 | def status(self):
|
|---|
| 1169 | """ Status of FAD boards|status[bitpattern]:Status of each FAD board. Maybe buggy
|
|---|
| 1170 | S:42
|
|---|
| 1171 | """
|
|---|
| 1172 | return self._get("STATUS")
|
|---|
| 1173 | def disconnect(self, *args):
|
|---|
| 1174 | """ Disconnect a connected slot.
|
|---|
| 1175 | S:1
|
|---|
| 1176 | """
|
|---|
| 1177 | self._cmd("DISCONNECT", *args)
|
|---|
| 1178 | def set_max_memory(self, *args):
|
|---|
| 1179 | """ Set maximum memory buffer size allowed to be consumed by the EventBuilder to buffer events.|memory[short]:Buffer size in Mega-bytes.
|
|---|
| 1180 | S:1
|
|---|
| 1181 | """
|
|---|
| 1182 | self._cmd("SET_MAX_MEMORY", *args)
|
|---|
| 1183 | def firmware_version(self):
|
|---|
| 1184 | """ Firmware version number of fad boards|firmware[float]:Version number of firmware, for each board. 40=min, 41=max
|
|---|
| 1185 | F:42
|
|---|
| 1186 | """
|
|---|
| 1187 | return self._get("FIRMWARE_VERSION")
|
|---|
| 1188 | def load_drs_calibration(self, *args):
|
|---|
| 1189 | """ Load a DRS calibration file|absolute path
|
|---|
| 1190 | C
|
|---|
| 1191 | """
|
|---|
| 1192 | self._cmd("LOAD_DRS_CALIBRATION", *args)
|
|---|
| 1193 | def add_address(self, *args):
|
|---|
| 1194 | """ Add the address of a DRS4 board to the first free slot|IP[string]:address in the format <address:port>
|
|---|
| 1195 | C
|
|---|
| 1196 | """
|
|---|
| 1197 | self._cmd("ADD_ADDRESS", *args)
|
|---|
| 1198 | def drs_runs(self):
|
|---|
| 1199 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1200 | I:1;I:3
|
|---|
| 1201 | """
|
|---|
| 1202 | return self._get("DRS_RUNS")
|
|---|
| 1203 | def enable_trigger_line(self, *args):
|
|---|
| 1204 | """ Incoming triggers can be accepted/will not be accepted
|
|---|
| 1205 | B:1
|
|---|
| 1206 | """
|
|---|
| 1207 | self._cmd("ENABLE_TRIGGER_LINE", *args)
|
|---|
| 1208 | def enable_dwrite(self, *args):
|
|---|
| 1209 | """ Set Dwrite (possibly high / always low)
|
|---|
| 1210 | B:1
|
|---|
| 1211 | """
|
|---|
| 1212 | self._cmd("ENABLE_DWRITE", *args)
|
|---|
| 1213 | def feedback_data(self):
|
|---|
| 1214 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1215 | F:1440
|
|---|
| 1216 | """
|
|---|
| 1217 | return self._get("FEEDBACK_DATA")
|
|---|
| 1218 | def set_file_format(self, *args):
|
|---|
| 1219 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1220 | S:1
|
|---|
| 1221 | """
|
|---|
| 1222 | self._cmd("SET_FILE_FORMAT", *args)
|
|---|
| 1223 | def reference_clock(self):
|
|---|
| 1224 | """ Reference clock of FAD boards|refClocks[t]:ref clocks of FAD boards. 40=min, 41=max
|
|---|
| 1225 | I:42
|
|---|
| 1226 | """
|
|---|
| 1227 | return self._get("REFERENCE_CLOCK")
|
|---|
| 1228 | def phase_shift(self, *args):
|
|---|
| 1229 | """ Adjust ADC phase (in 'steps')|phase[short]
|
|---|
| 1230 | S:1
|
|---|
| 1231 | """
|
|---|
| 1232 | self._cmd("PHASE_SHIFT", *args)
|
|---|
| 1233 | def enable_busy_off(self, *args):
|
|---|
| 1234 | """ Set BUSY continously low
|
|---|
| 1235 | B:1
|
|---|
| 1236 | """
|
|---|
| 1237 | self._cmd("ENABLE_BUSY_OFF", *args)
|
|---|
| 1238 | def set_data_output(self, *args):
|
|---|
| 1239 | """ Enable or disable printing of the received adc data to the console|dataout[bool]:disable or enable data output for received data (yes/no)
|
|---|
| 1240 | B:1
|
|---|
| 1241 | """
|
|---|
| 1242 | self._cmd("SET_DATA_OUTPUT", *args)
|
|---|
| 1243 | def block_transmission_range(self, *args):
|
|---|
| 1244 | """ Blocks the transmission of commands to the given range of slots. Use with care! For debugging pupose only!|first[short]:First slot to which the command transmission should be blocked (0-39)|last[short]:Last slot to which the command transmission should be blocked (0-39)|enable[bool]:Whether the command transmission should be blockes (yes) or allowed (no)
|
|---|
| 1245 | S:2;B:1
|
|---|
| 1246 | """
|
|---|
| 1247 | self._cmd("BLOCK_TRANSMISSION_RANGE", *args)
|
|---|
| 1248 | def events(self):
|
|---|
| 1249 | """ Event counts|evtsCount[int]:Num evts cur. run, total (all run), evt ID, trig. Num
|
|---|
| 1250 | I:4
|
|---|
| 1251 | """
|
|---|
| 1252 | return self._get("EVENTS")
|
|---|
| 1253 | def ignore_events_range(self, *args):
|
|---|
| 1254 | """ Instructs the event-builder to ignore events from the given slot but still read the data from the socket.|first[short]:First slot from which the data should be ignored when building events|last[short]:Last slot from which the data should be ignored when building events|enable[bool]:Whether the event builder should ignore data from this slot (yes) or allowed (no)
|
|---|
| 1255 | S:2;B:1
|
|---|
| 1256 | """
|
|---|
| 1257 | self._cmd("IGNORE_EVENTS_RANGE", *args)
|
|---|
| 1258 | def send_data(self, *args):
|
|---|
| 1259 | """ Send a command with data to the FADs. Values between 0 and 0xffff are allowed.|command[uint16]:Command to be transmittted.|data[uint16]:Data to be sent with the command.
|
|---|
| 1260 | I:2
|
|---|
| 1261 | """
|
|---|
| 1262 | self._cmd("SEND_DATA", *args)
|
|---|
| 1263 | def abort(self, *args):
|
|---|
| 1264 | """ Immediately abort EventBuilder thread and disconnect all slots.
|
|---|
| 1265 |
|
|---|
| 1266 | """
|
|---|
| 1267 | self._cmd("ABORT", *args)
|
|---|
| 1268 | def reset_event_counter(self, *args):
|
|---|
| 1269 | """ Reset the FAD boards' event counter to 0.
|
|---|
| 1270 |
|
|---|
| 1271 | """
|
|---|
| 1272 | self._cmd("RESET_EVENT_COUNTER", *args)
|
|---|
| 1273 | def set_hex_output(self, *args):
|
|---|
| 1274 | """ Enable or disable hex output for received data|hexout[bool]:disable or enable hex output for received data (yes/no)
|
|---|
| 1275 | B:1
|
|---|
| 1276 | """
|
|---|
| 1277 | self._cmd("SET_HEX_OUTPUT", *args)
|
|---|
| 1278 | def statistics1(self):
|
|---|
| 1279 | """ Event Builder status for GUI display|threadInfo[int]:Number of read, proc and writes|bufferInfo[int]:Events in buffer, incomp., comp., tot., max past cycle, total|memInfo[int]:total buf. mem, used mem, max used, max past cycle|EvtCnt[int]:Number of events skipped, written, with errors|badRoi[int]:Num boards with wrong ROI in event, run or board|badRoiBoard[int]:Num boards with wrong ROI|deltaT[ms]:Time in ms for rates|rateNew[int]:Number of new start events received|numConn[int]:Number of connections per board|errConn[int]:IO errors per board|rateBytes[int]:Bytes read this cycle|totBytes[int]:Bytes read (counter)
|
|---|
| 1280 | I:3;I:5;X:4;I:3;I:3;I:40;I:1;I:2;C:40;I:40;I:40;X:40
|
|---|
| 1281 | """
|
|---|
| 1282 | return self._get("STATISTICS1")
|
|---|
| 1283 | def enable_sclk(self, *args):
|
|---|
| 1284 | """ Set SCLK
|
|---|
| 1285 | B:1
|
|---|
| 1286 | """
|
|---|
| 1287 | self._cmd("ENABLE_SCLK", *args)
|
|---|
| 1288 | def enable_busy_on(self, *args):
|
|---|
| 1289 | """ Set BUSY constantly high (has priority over BUSY_OFF)
|
|---|
| 1290 | B:1
|
|---|
| 1291 | """
|
|---|
| 1292 | self._cmd("ENABLE_BUSY_ON", *args)
|
|---|
| 1293 | def set_region_of_interest(self, *args):
|
|---|
| 1294 | """ Set region-of-interest to value|channel[short]:Channel on each chip for which the ROI is set (0-8), -1 for all|val[short]:Value to be set
|
|---|
| 1295 | I:2
|
|---|
| 1296 | """
|
|---|
| 1297 | self._cmd("SET_REGION_OF_INTEREST", *args)
|
|---|
| 1298 | def set_trigger_rate(self, *args):
|
|---|
| 1299 | """ Enable continous trigger
|
|---|
| 1300 | I:1
|
|---|
| 1301 | """
|
|---|
| 1302 | self._cmd("SET_TRIGGER_RATE", *args)
|
|---|
| 1303 | def statistics2(self):
|
|---|
| 1304 | """ Event Builder status, events oriented|reset[int]:If increased, reset all counters|numRead[int]:How often sucessful read from N sockets per loop|gotByte[int]:number of bytes read per board|gotErr[int]:number of com. errors per board|evtStat[int]:number of evts read, completed, with errors, incomplete|procStat[int]:num. of evts proc., w probs, acc. or rej. by SW trigger|feedStat[int]:number of evts used or rejected by feedback system|wrtStat[int]:number of evts written to disk, with errors|runStat[int]:number of run opened, closed, with open or close errors|numConn[int]:number of sockets successfully opened per board
|
|---|
| 1305 | I:1;I:280;X:40;I:40;I:4;I:4;I:2;I:2;I:3;C:40
|
|---|
| 1306 | """
|
|---|
| 1307 | return self._get("STATISTICS2")
|
|---|
| 1308 | def service_desc(self):
|
|---|
| 1309 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1310 | C
|
|---|
| 1311 | """
|
|---|
| 1312 | return self._get("SERVICE_DESC")
|
|---|
| 1313 | def send_cmd(self, *args):
|
|---|
| 1314 | """ Send a command to the FADs. Values between 0 and 0xffff are allowed.|command[uint16]:Command to be transmittted.
|
|---|
| 1315 | I:1
|
|---|
| 1316 | """
|
|---|
| 1317 | self._cmd("SEND_CMD", *args)
|
|---|
| 1318 | def stop(self, *args):
|
|---|
| 1319 | """ Stop EventBuilder thread (still write buffered events) and disconnect all slots.
|
|---|
| 1320 |
|
|---|
| 1321 | """
|
|---|
| 1322 | self._cmd("STOP", *args)
|
|---|
| 1323 | def connect(self, *args):
|
|---|
| 1324 | """ Connect a disconnected slot.
|
|---|
| 1325 | S:1
|
|---|
| 1326 | """
|
|---|
| 1327 | self._cmd("CONNECT", *args)
|
|---|
| 1328 | def send_single_trigger(self, *args):
|
|---|
| 1329 | """ Issue software triggers
|
|---|
| 1330 |
|
|---|
| 1331 | """
|
|---|
| 1332 | self._cmd("SEND_SINGLE_TRIGGER", *args)
|
|---|
| 1333 | def dump_recv(self, *args):
|
|---|
| 1334 | """ For debugging purpose: the times when data has been receives are dumped to a file.|switch[bool]:Enable (yes) or disable (no)
|
|---|
| 1335 | B:1
|
|---|
| 1336 | """
|
|---|
| 1337 | self._cmd("DUMP_RECV", *args)
|
|---|
| 1338 | def enable_drs(self, *args):
|
|---|
| 1339 | """ Switch Domino wave
|
|---|
| 1340 | B:1
|
|---|
| 1341 | """
|
|---|
| 1342 | self._cmd("ENABLE_DRS", *args)
|
|---|
| 1343 | def start_drs_calibration(self, *args):
|
|---|
| 1344 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1345 |
|
|---|
| 1346 | """
|
|---|
| 1347 | self._cmd("START_DRS_CALIBRATION", *args)
|
|---|
| 1348 | def start(self, *args):
|
|---|
| 1349 | """ Start EventBuilder thread and connect all valid slots.
|
|---|
| 1350 |
|
|---|
| 1351 | """
|
|---|
| 1352 | self._cmd("START", *args)
|
|---|
| 1353 | def set_dac_value(self, *args):
|
|---|
| 1354 | """ Set DAC numbers in range to value|addr[short]:Address of register (-1 for all)|val[short]:Value to be set
|
|---|
| 1355 | I:2
|
|---|
| 1356 | """
|
|---|
| 1357 | self._cmd("SET_DAC_VALUE", *args)
|
|---|
| 1358 | def drs_calibration(self):
|
|---|
| 1359 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1360 | I:1;I:3;F:1474560;F:1474560;F:1474560;F:1474560;F:1474560;F:1474560;F:163840;F:163840
|
|---|
| 1361 | """
|
|---|
| 1362 | return self._get("DRS_CALIBRATION")
|
|---|
| 1363 | def dna(self):
|
|---|
| 1364 | """ DNA of FAD boards|DNA[hex]:Hex identifier of each FAD board
|
|---|
| 1365 | X:40
|
|---|
| 1366 | """
|
|---|
| 1367 | return self._get("DNA")
|
|---|
| 1368 | def configure(self, *args):
|
|---|
| 1369 | """ Configure a new run. If the internla trigger is enabled this might even start a new run.|time_max[s]:Maximum time before the run is closed in seconds (0: unlimited)|num_max[int]:Maximum number of events before the run is closed in seconds (0: unlimited)|run_type[string]:Run type which describes the runs
|
|---|
| 1370 | X:2;C
|
|---|
| 1371 | """
|
|---|
| 1372 | self._cmd("CONFIGURE", *args)
|
|---|
| 1373 | def set_register(self, *args):
|
|---|
| 1374 | """ set register to value|addr[short]:Address of register|val[short]:Value to be set
|
|---|
| 1375 | I:2
|
|---|
| 1376 | """
|
|---|
| 1377 | self._cmd("SET_REGISTER", *args)
|
|---|
| 1378 | def enable_srclk(self, *args):
|
|---|
| 1379 | """ Set SRCLK
|
|---|
| 1380 | B:1
|
|---|
| 1381 | """
|
|---|
| 1382 | self._cmd("ENABLE_SRCLK", *args)
|
|---|
| 1383 | def send_n_triggers(self, *args):
|
|---|
| 1384 | """ Issue N software triggers (note that these are the triggers sent, not the triggers executed)|N[int]: Number of triggers to be sent to the board.
|
|---|
| 1385 | I
|
|---|
| 1386 | """
|
|---|
| 1387 | self._cmd("SEND_N_TRIGGERS", *args)
|
|---|
| 1388 | def remove_slot(self, *args):
|
|---|
| 1389 | """ Remove the Iaddress in slot n. For a list see LIST|slot[short]:Remove the address in slot n from the list
|
|---|
| 1390 | S:1
|
|---|
| 1391 | """
|
|---|
| 1392 | self._cmd("REMOVE_SLOT", *args)
|
|---|
| 1393 | def set_verbose(self, *args):
|
|---|
| 1394 | """ Set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 1395 | B:1
|
|---|
| 1396 | """
|
|---|
| 1397 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 1398 | def set_run_number(self, *args):
|
|---|
| 1399 | """ Sent a new run-number to the boards|num[int]:Run number
|
|---|
| 1400 | X:1
|
|---|
| 1401 | """
|
|---|
| 1402 | self._cmd("SET_RUN_NUMBER", *args)
|
|---|
| 1403 | def client_list(self):
|
|---|
| 1404 | """ Native Dim service: A list of all connected clients
|
|---|
| 1405 | C
|
|---|
| 1406 | """
|
|---|
| 1407 | return self._get("CLIENT_LIST")
|
|---|
| 1408 | def enable_command_socket_mode(self, *args):
|
|---|
| 1409 | """ Set debug mode (yes: dump events through command socket, no=dump events through other sockets)
|
|---|
| 1410 | B:1
|
|---|
| 1411 | """
|
|---|
| 1412 | self._cmd("ENABLE_COMMAND_SOCKET_MODE", *args)
|
|---|
| 1413 | def state(self):
|
|---|
| 1414 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1415 | C
|
|---|
| 1416 | """
|
|---|
| 1417 | return self._get("STATE")
|
|---|
| 1418 | def exit(self, *args):
|
|---|
| 1419 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1420 | L:1
|
|---|
| 1421 | """
|
|---|
| 1422 | self._cmd("EXIT", *args)
|
|---|
| 1423 | def raw_data(self):
|
|---|
| 1424 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1425 | S:1;I:1;S:1;I:1;I:2;I:40;S:1440;S:160;F
|
|---|
| 1426 | """
|
|---|
| 1427 | return self._get("RAW_DATA")
|
|---|
| 1428 | def list_slots(self, *args):
|
|---|
| 1429 | """ Print a list of all available board addressesa and whether they are enabled
|
|---|
| 1430 |
|
|---|
| 1431 | """
|
|---|
| 1432 | self._cmd("LIST_SLOTS", *args)
|
|---|
| 1433 | def set_debug_event_builder_out(self, *args):
|
|---|
| 1434 | """ Enable or disable the debug output from the event builder|enable[bool]:Enable/Disable (yes/no)
|
|---|
| 1435 | B:1
|
|---|
| 1436 | """
|
|---|
| 1437 | self._cmd("SET_DEBUG_EVENT_BUILDER_OUT", *args)
|
|---|
| 1438 | def temperature(self):
|
|---|
| 1439 | """ FADs temperatures|temp[deg. C]:0 global min, 1-40 min, 41 global max, 42-81 max
|
|---|
| 1440 | F:82
|
|---|
| 1441 | """
|
|---|
| 1442 | return self._get("TEMPERATURE")
|
|---|
| 1443 | def dump_stream(self, *args):
|
|---|
| 1444 | """ For debugging purpose: the binary data stream read from the sockets 0-7 can be dumped to files.|switch[bool]:Enable (yes) or disable (no)
|
|---|
| 1445 | B:1
|
|---|
| 1446 | """
|
|---|
| 1447 | self._cmd("DUMP_STREAM", *args)
|
|---|
| 1448 | def region_of_interest(self):
|
|---|
| 1449 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1450 | S:2
|
|---|
| 1451 | """
|
|---|
| 1452 | return self._get("REGION_OF_INTEREST")
|
|---|
| 1453 | def ignore_events(self, *args):
|
|---|
| 1454 | """ Instructs the event-builder to ignore events from the given slot but still read the data from the socket.|slot[short]:Slot from which the data should be ignored when building events|enable[bool]:Whether the event builder should ignore data from this slot (yes) or allowed (no)
|
|---|
| 1455 | S:1;B:1
|
|---|
| 1456 | """
|
|---|
| 1457 | self._cmd("IGNORE_EVENTS", *args)
|
|---|
| 1458 | def start_run(self):
|
|---|
| 1459 | """ Run numbers|run[idx]:Run no of last conf'd run (-1 if reset or none config'd yet)|next[idx]:Run number which will be assigned to next configuration
|
|---|
| 1460 | X:1;X:1
|
|---|
| 1461 | """
|
|---|
| 1462 | return self._get("START_RUN")
|
|---|
| 1463 | def prescaler(self):
|
|---|
| 1464 | """ Trigger generator prescaler of fad boards|prescaler[int]:Trigger generator prescaler value, for each board
|
|---|
| 1465 | S:42
|
|---|
| 1466 | """
|
|---|
| 1467 | return self._get("PRESCALER")
|
|---|
| 1468 | def file_format(self):
|
|---|
| 1469 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1470 | S:1
|
|---|
| 1471 | """
|
|---|
| 1472 | return self._get("FILE_FORMAT")
|
|---|
| 1473 | def runs(self):
|
|---|
| 1474 | """ Run files statistics|stats[int]:num of open files, min/max run no, last opened or closed run|file[string]:filename of last opened file
|
|---|
| 1475 | I:5;C
|
|---|
| 1476 | """
|
|---|
| 1477 | return self._get("RUNS")
|
|---|
| 1478 | def run_number(self):
|
|---|
| 1479 | """ Run numbers coming from FAD boards|runNumbers[int]:current run number of each FAD board. 40=min, 41=max
|
|---|
| 1480 | I:42
|
|---|
| 1481 | """
|
|---|
| 1482 | return self._get("RUN_NUMBER")
|
|---|
| 1483 | def service_list(self):
|
|---|
| 1484 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1485 | C
|
|---|
| 1486 | """
|
|---|
| 1487 | return self._get("SERVICE_LIST")
|
|---|
| 1488 | def toggle(self, *args):
|
|---|
| 1489 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1490 | S:1
|
|---|
| 1491 | """
|
|---|
| 1492 | self._cmd("TOGGLE", *args)
|
|---|
| 1493 | def reset_secondary_drs_baseline(self, *args):
|
|---|
| 1494 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1495 |
|
|---|
| 1496 | """
|
|---|
| 1497 | self._cmd("RESET_SECONDARY_DRS_BASELINE", *args)
|
|---|
| 1498 | def message(self):
|
|---|
| 1499 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1500 | C
|
|---|
| 1501 | """
|
|---|
| 1502 | return self._get("MESSAGE")
|
|---|
| 1503 | def close_open_files(self, *args):
|
|---|
| 1504 | """ Close all run files opened by the EventBuilder.
|
|---|
| 1505 |
|
|---|
| 1506 | """
|
|---|
| 1507 | self._cmd("CLOSE_OPEN_FILES", *args)
|
|---|
| 1508 | def stats(self):
|
|---|
| 1509 | """ Statistics about size written
|
|---|
| 1510 | X:4
|
|---|
| 1511 | """
|
|---|
| 1512 | return self._get("STATS")
|
|---|
| 1513 | def soft_reset(self, *args):
|
|---|
| 1514 | """ Wait for buffers to drain, close all files and reinitialize event builder thread.
|
|---|
| 1515 |
|
|---|
| 1516 | """
|
|---|
| 1517 | self._cmd("SOFT_RESET", *args)
|
|---|
| 1518 | def hard_reset(self, *args):
|
|---|
| 1519 | """ Free all buffers, close all files and reinitialize event builder thread.
|
|---|
| 1520 |
|
|---|
| 1521 | """
|
|---|
| 1522 | self._cmd("HARD_RESET", *args)
|
|---|
| 1523 | def connections(self):
|
|---|
| 1524 | """ Connection status of FAD boards|status[bitpattern]:lower bits stat1, upper bits stat2, for every board. 40=thread|char[unknown]:to be completed
|
|---|
| 1525 | C:40;C:1
|
|---|
| 1526 | """
|
|---|
| 1527 | return self._get("CONNECTIONS")
|
|---|
| 1528 | def reset_configure(self, *args):
|
|---|
| 1529 | """ If configuration failed and the fadctrl is waiting for something, use this to reset the state.
|
|---|
| 1530 |
|
|---|
| 1531 | """
|
|---|
| 1532 | self._cmd("RESET_CONFIGURE", *args)
|
|---|
| 1533 | class MAGIC_WEATHER ( FactDimServer):
|
|---|
| 1534 | def version_number(self):
|
|---|
| 1535 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1536 | L
|
|---|
| 1537 | """
|
|---|
| 1538 | return self._get("VERSION_NUMBER")
|
|---|
| 1539 | def service_list(self):
|
|---|
| 1540 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1541 | C
|
|---|
| 1542 | """
|
|---|
| 1543 | return self._get("SERVICE_LIST")
|
|---|
| 1544 | def client_list(self):
|
|---|
| 1545 | """ Native Dim service: A list of all connected clients
|
|---|
| 1546 | C
|
|---|
| 1547 | """
|
|---|
| 1548 | return self._get("CLIENT_LIST")
|
|---|
| 1549 | def state(self):
|
|---|
| 1550 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1551 | C
|
|---|
| 1552 | """
|
|---|
| 1553 | return self._get("STATE")
|
|---|
| 1554 | def data(self):
|
|---|
| 1555 | """ |stat:Status|T[deg C]:Temperature|T_dew[deg C]:Dew point|H[%]:Humidity|P[hPa]:Air pressure|v[km/h]:Wind speed|v_max[km/h]:Wind gusts|d[deg]:Wind direction (N-E)
|
|---|
| 1556 | S:1;F:1;F:1;F:1;F:1;F:1;F:1;F:1
|
|---|
| 1557 | """
|
|---|
| 1558 | return self._get("DATA")
|
|---|
| 1559 | def message(self):
|
|---|
| 1560 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1561 | C
|
|---|
| 1562 | """
|
|---|
| 1563 | return self._get("MESSAGE")
|
|---|
| 1564 | def state_list(self):
|
|---|
| 1565 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1566 | C
|
|---|
| 1567 | """
|
|---|
| 1568 | return self._get("STATE_LIST")
|
|---|
| 1569 | def set_verbose(self, *args):
|
|---|
| 1570 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 1571 | B
|
|---|
| 1572 | """
|
|---|
| 1573 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 1574 | def service_desc(self):
|
|---|
| 1575 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1576 | C
|
|---|
| 1577 | """
|
|---|
| 1578 | return self._get("SERVICE_DESC")
|
|---|
| 1579 | def exit(self, *args):
|
|---|
| 1580 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1581 | L:1
|
|---|
| 1582 | """
|
|---|
| 1583 | self._cmd("EXIT", *args)
|
|---|
| 1584 | class CHAT ( FactDimServer):
|
|---|
| 1585 | def exit(self, *args):
|
|---|
| 1586 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1587 | L:1
|
|---|
| 1588 | """
|
|---|
| 1589 | self._cmd("EXIT", *args)
|
|---|
| 1590 | def client_list(self):
|
|---|
| 1591 | """ Native Dim service: A list of all connected clients
|
|---|
| 1592 | C
|
|---|
| 1593 | """
|
|---|
| 1594 | return self._get("CLIENT_LIST")
|
|---|
| 1595 | def state_list(self):
|
|---|
| 1596 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1597 | C
|
|---|
| 1598 | """
|
|---|
| 1599 | return self._get("STATE_LIST")
|
|---|
| 1600 | def version_number(self):
|
|---|
| 1601 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1602 | L
|
|---|
| 1603 | """
|
|---|
| 1604 | return self._get("VERSION_NUMBER")
|
|---|
| 1605 | def service_desc(self):
|
|---|
| 1606 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1607 | C
|
|---|
| 1608 | """
|
|---|
| 1609 | return self._get("SERVICE_DESC")
|
|---|
| 1610 | def msg(self, *args):
|
|---|
| 1611 | """ |msg[string]:message to be distributed
|
|---|
| 1612 | C
|
|---|
| 1613 | """
|
|---|
| 1614 | self._cmd("MSG", *args)
|
|---|
| 1615 | def state(self):
|
|---|
| 1616 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1617 | C
|
|---|
| 1618 | """
|
|---|
| 1619 | return self._get("STATE")
|
|---|
| 1620 | def service_list(self):
|
|---|
| 1621 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1622 | C
|
|---|
| 1623 | """
|
|---|
| 1624 | return self._get("SERVICE_LIST")
|
|---|
| 1625 | def message(self):
|
|---|
| 1626 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1627 | C
|
|---|
| 1628 | """
|
|---|
| 1629 | return self._get("MESSAGE")
|
|---|
| 1630 | class DRIVE_CONTROL ( FactDimServer):
|
|---|
| 1631 | def track_on(self, *args):
|
|---|
| 1632 | """ Move the telescope to the given position and start tracking|Name[string]:Source name
|
|---|
| 1633 | C
|
|---|
| 1634 | """
|
|---|
| 1635 | self._cmd("TRACK_ON", *args)
|
|---|
| 1636 | def status(self):
|
|---|
| 1637 | """ DESC in SERVICE_DESC is empty ?!
|
|---|
| 1638 | C:2;C:1
|
|---|
| 1639 | """
|
|---|
| 1640 | return self._get("STATUS")
|
|---|
| 1641 | def state_list(self):
|
|---|
| 1642 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1643 | C
|
|---|
| 1644 | """
|
|---|
| 1645 | return self._get("STATE_LIST")
|
|---|
| 1646 | def set_led_brightness(self, *args):
|
|---|
| 1647 | """ Set the LED brightness of the top and bottom leds|top[au]:Allowed range 0-32767 for top LEDs|bot[au]:Allowed range 0-32767 for bottom LEDs
|
|---|
| 1648 | I:2
|
|---|
| 1649 | """
|
|---|
| 1650 | self._cmd("SET_LED_BRIGHTNESS", *args)
|
|---|
| 1651 | def track_wobble(self, *args):
|
|---|
| 1652 | """ Move the telescope to the given wobble position around the given source and start tracking|id:Wobble angle id (1 or 2)|Name[string]:Source name
|
|---|
| 1653 | S:1;C
|
|---|
| 1654 | """
|
|---|
| 1655 | self._cmd("TRACK_WOBBLE", *args)
|
|---|
| 1656 | def wobble(self, *args):
|
|---|
| 1657 | """ Move the telescope to the given wobble position around the given sky coordinates and start tracking them|Ra[h]:Right ascension|Dec[deg]:Declination|Offset[deg]:Wobble offset|Angle[deg]:Wobble angle
|
|---|
| 1658 | D:4
|
|---|
| 1659 | """
|
|---|
| 1660 | self._cmd("WOBBLE", *args)
|
|---|
| 1661 | def source_position(self):
|
|---|
| 1662 | """ |Ra_src[h]:Source right ascension|Dec_src[deg]:Source declination|Ra_cmd[h]:Command right ascension|Dec_cmd[deg]:Command declination|Offset[deg]:Wobble offset|Angle[deg]:Wobble angle|Name[string]:Source name if available
|
|---|
| 1663 | D:1;D:1;D:1;D:1;D:1;D:1;C:31
|
|---|
| 1664 | """
|
|---|
| 1665 | return self._get("SOURCE_POSITION")
|
|---|
| 1666 | def move_to(self, *args):
|
|---|
| 1667 | """ Move the telescope to the given local coordinates|Zd[deg]:Zenith distance|Az[deg]:Azimuth
|
|---|
| 1668 | D:2
|
|---|
| 1669 | """
|
|---|
| 1670 | self._cmd("MOVE_TO", *args)
|
|---|
| 1671 | def stop(self, *args):
|
|---|
| 1672 | """ Stop any kind of movement.
|
|---|
| 1673 |
|
|---|
| 1674 | """
|
|---|
| 1675 | self._cmd("STOP", *args)
|
|---|
| 1676 | def leds_off(self, *args):
|
|---|
| 1677 | """ Switch off TPoint LEDs
|
|---|
| 1678 |
|
|---|
| 1679 | """
|
|---|
| 1680 | self._cmd("LEDS_OFF", *args)
|
|---|
| 1681 | def jupiter(self, *args):
|
|---|
| 1682 | """ Start tracking Jupiter
|
|---|
| 1683 |
|
|---|
| 1684 | """
|
|---|
| 1685 | self._cmd("JUPITER", *args)
|
|---|
| 1686 | def park(self, *args):
|
|---|
| 1687 | """ Park the telescope
|
|---|
| 1688 |
|
|---|
| 1689 | """
|
|---|
| 1690 | self._cmd("PARK", *args)
|
|---|
| 1691 | def service_desc(self):
|
|---|
| 1692 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1693 | C
|
|---|
| 1694 | """
|
|---|
| 1695 | return self._get("SERVICE_DESC")
|
|---|
| 1696 | def service_list(self):
|
|---|
| 1697 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1698 | C
|
|---|
| 1699 | """
|
|---|
| 1700 | return self._get("SERVICE_LIST")
|
|---|
| 1701 | def moon(self, *args):
|
|---|
| 1702 | """ Start tracking the moon
|
|---|
| 1703 |
|
|---|
| 1704 | """
|
|---|
| 1705 | self._cmd("MOON", *args)
|
|---|
| 1706 | def reload_sources(self, *args):
|
|---|
| 1707 | """ Reload sources from database after database has changed..
|
|---|
| 1708 |
|
|---|
| 1709 | """
|
|---|
| 1710 | self._cmd("RELOAD_SOURCES", *args)
|
|---|
| 1711 | def exit(self, *args):
|
|---|
| 1712 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1713 | L:1
|
|---|
| 1714 | """
|
|---|
| 1715 | self._cmd("EXIT", *args)
|
|---|
| 1716 | def print_cmd(self, *args):
|
|---|
| 1717 | """ Print source list.
|
|---|
| 1718 |
|
|---|
| 1719 | """
|
|---|
| 1720 | self._cmd("PRINT_CMD", *args)
|
|---|
| 1721 | def set_verbose(self, *args):
|
|---|
| 1722 | """ Set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 1723 | B
|
|---|
| 1724 | """
|
|---|
| 1725 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 1726 | def message(self):
|
|---|
| 1727 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1728 | C
|
|---|
| 1729 | """
|
|---|
| 1730 | return self._get("MESSAGE")
|
|---|
| 1731 | def resume(self, *args):
|
|---|
| 1732 | """ If drive is in Error state, this can b used to resume the last tracking command, if the last command sent to cosy was a tracking command.
|
|---|
| 1733 |
|
|---|
| 1734 | """
|
|---|
| 1735 | self._cmd("RESUME", *args)
|
|---|
| 1736 | def tpoint(self):
|
|---|
| 1737 | """ Take a TPoint (given values will be written to the TPoint files)|mag[float]:Magnitude of the star|name[string]:Name of the star
|
|---|
| 1738 | D:1;D:1;D:1;D:1;D:1;D:1;D:1;D:1;S:1;D:1;D:1;D:1;D:1;D:1;D:1;D:1;C
|
|---|
| 1739 | """
|
|---|
| 1740 | return self._get("TPOINT")
|
|---|
| 1741 | def set_autoresume(self, *args):
|
|---|
| 1742 | """ Enable/disable auto resume|resume[bool]:if enabled, drive is tracking and goes to error state, the last tracking command is repeated automatically.
|
|---|
| 1743 | B
|
|---|
| 1744 | """
|
|---|
| 1745 | self._cmd("SET_AUTORESUME", *args)
|
|---|
| 1746 | def reconnect(self, *args):
|
|---|
| 1747 | """ (Re)connect ethernet connection to FTM, a new address can be given|[host][string]:new ethernet address in the form <host:port>
|
|---|
| 1748 | O
|
|---|
| 1749 | """
|
|---|
| 1750 | self._cmd("RECONNECT", *args)
|
|---|
| 1751 | def tracking_position(self):
|
|---|
| 1752 | """ |Ra[h]:Command right ascension|Dec[deg]:Command declination|Ha[h]:Corresponding hour angle|Zd[deg]:Nominal zenith distance|Az[deg]:Nominal azimuth angle|dZd[deg]:Control deviation Zd|dAz[deg]:Control deviation Az|dev[arcsec]:Absolute control deviation
|
|---|
| 1753 | D:1;D:1;D:1;D:1;D:1;D:1;D:1;D:1
|
|---|
| 1754 | """
|
|---|
| 1755 | return self._get("TRACKING_POSITION")
|
|---|
| 1756 | def venus(self, *args):
|
|---|
| 1757 | """ Start tracking Venus
|
|---|
| 1758 |
|
|---|
| 1759 | """
|
|---|
| 1760 | self._cmd("VENUS", *args)
|
|---|
| 1761 | def take_tpoint(self, *args):
|
|---|
| 1762 | """ Take a TPoint
|
|---|
| 1763 |
|
|---|
| 1764 | """
|
|---|
| 1765 | self._cmd("TAKE_TPOINT", *args)
|
|---|
| 1766 | def disconnect(self, *args):
|
|---|
| 1767 | """ disconnect from ethernet
|
|---|
| 1768 |
|
|---|
| 1769 | """
|
|---|
| 1770 | self._cmd("DISCONNECT", *args)
|
|---|
| 1771 | def saturn(self, *args):
|
|---|
| 1772 | """ Start tracking Saturn
|
|---|
| 1773 |
|
|---|
| 1774 | """
|
|---|
| 1775 | self._cmd("SATURN", *args)
|
|---|
| 1776 | def unlock(self, *args):
|
|---|
| 1777 | """ Unlock locked state.
|
|---|
| 1778 |
|
|---|
| 1779 | """
|
|---|
| 1780 | self._cmd("UNLOCK", *args)
|
|---|
| 1781 | def state(self):
|
|---|
| 1782 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1783 | C
|
|---|
| 1784 | """
|
|---|
| 1785 | return self._get("STATE")
|
|---|
| 1786 | def pointing_position(self):
|
|---|
| 1787 | """ |Zd[deg]:Zenith distance (encoder readout)|Az[deg]:Azimuth angle (encoder readout)
|
|---|
| 1788 | D:1;D:1
|
|---|
| 1789 | """
|
|---|
| 1790 | return self._get("POINTING_POSITION")
|
|---|
| 1791 | def track(self, *args):
|
|---|
| 1792 | """ Move the telescope to the given sky coordinates and start tracking them|Ra[h]:Right ascension|Dec[deg]:Declination
|
|---|
| 1793 | D:2
|
|---|
| 1794 | """
|
|---|
| 1795 | self._cmd("TRACK", *args)
|
|---|
| 1796 | def client_list(self):
|
|---|
| 1797 | """ Native Dim service: A list of all connected clients
|
|---|
| 1798 | C
|
|---|
| 1799 | """
|
|---|
| 1800 | return self._get("CLIENT_LIST")
|
|---|
| 1801 | def mars(self, *args):
|
|---|
| 1802 | """ Start tracking Mars
|
|---|
| 1803 |
|
|---|
| 1804 | """
|
|---|
| 1805 | self._cmd("MARS", *args)
|
|---|
| 1806 | def track_source(self, *args):
|
|---|
| 1807 | """ Move the telescope to the given wobble position around the given source and start tracking|Offset[deg]:Wobble offset|Angle[deg]:Wobble angle|Name[string]:Source name
|
|---|
| 1808 | D:2;C
|
|---|
| 1809 | """
|
|---|
| 1810 | self._cmd("TRACK_SOURCE", *args)
|
|---|
| 1811 | def version_number(self):
|
|---|
| 1812 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1813 | L
|
|---|
| 1814 | """
|
|---|
| 1815 | return self._get("VERSION_NUMBER")
|
|---|
| 1816 | class SMART_FACT ( FactDimServer):
|
|---|
| 1817 | def print_cmd(self, *args):
|
|---|
| 1818 | """ Print a list of the states of all connected servers.
|
|---|
| 1819 |
|
|---|
| 1820 | """
|
|---|
| 1821 | self._cmd("PRINT_CMD", *args)
|
|---|
| 1822 | def service_list(self):
|
|---|
| 1823 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1824 | C
|
|---|
| 1825 | """
|
|---|
| 1826 | return self._get("SERVICE_LIST")
|
|---|
| 1827 | def version_number(self):
|
|---|
| 1828 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1829 | L
|
|---|
| 1830 | """
|
|---|
| 1831 | return self._get("VERSION_NUMBER")
|
|---|
| 1832 | def client_list(self):
|
|---|
| 1833 | """ Native Dim service: A list of all connected clients
|
|---|
| 1834 | C
|
|---|
| 1835 | """
|
|---|
| 1836 | return self._get("CLIENT_LIST")
|
|---|
| 1837 | def service_desc(self):
|
|---|
| 1838 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1839 | C
|
|---|
| 1840 | """
|
|---|
| 1841 | return self._get("SERVICE_DESC")
|
|---|
| 1842 | def exit(self, *args):
|
|---|
| 1843 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1844 | L:1
|
|---|
| 1845 | """
|
|---|
| 1846 | self._cmd("EXIT", *args)
|
|---|
| 1847 | def message(self):
|
|---|
| 1848 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1849 | C
|
|---|
| 1850 | """
|
|---|
| 1851 | return self._get("MESSAGE")
|
|---|
| 1852 | def state(self):
|
|---|
| 1853 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1854 | C
|
|---|
| 1855 | """
|
|---|
| 1856 | return self._get("STATE")
|
|---|
| 1857 | def state_list(self):
|
|---|
| 1858 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1859 | C
|
|---|
| 1860 | """
|
|---|
| 1861 | return self._get("STATE_LIST")
|
|---|
| 1862 | class MCP ( FactDimServer):
|
|---|
| 1863 | def message(self):
|
|---|
| 1864 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1865 | C
|
|---|
| 1866 | """
|
|---|
| 1867 | return self._get("MESSAGE")
|
|---|
| 1868 | def state_list(self):
|
|---|
| 1869 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1870 | C
|
|---|
| 1871 | """
|
|---|
| 1872 | return self._get("STATE_LIST")
|
|---|
| 1873 | def version_number(self):
|
|---|
| 1874 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1875 | L
|
|---|
| 1876 | """
|
|---|
| 1877 | return self._get("VERSION_NUMBER")
|
|---|
| 1878 | def print_cmd(self, *args):
|
|---|
| 1879 | """ Print the states and connection status of all systems connected to the MCP.
|
|---|
| 1880 |
|
|---|
| 1881 | """
|
|---|
| 1882 | self._cmd("PRINT_CMD", *args)
|
|---|
| 1883 | def exit(self, *args):
|
|---|
| 1884 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1885 | L:1
|
|---|
| 1886 | """
|
|---|
| 1887 | self._cmd("EXIT", *args)
|
|---|
| 1888 | def client_list(self):
|
|---|
| 1889 | """ Native Dim service: A list of all connected clients
|
|---|
| 1890 | C
|
|---|
| 1891 | """
|
|---|
| 1892 | return self._get("CLIENT_LIST")
|
|---|
| 1893 | def stop(self, *args):
|
|---|
| 1894 | """ Stops the trigger (either disables the FTM trigger or the internal DRS trigger)
|
|---|
| 1895 |
|
|---|
| 1896 | """
|
|---|
| 1897 | self._cmd("STOP", *args)
|
|---|
| 1898 | def service_list(self):
|
|---|
| 1899 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1900 | C
|
|---|
| 1901 | """
|
|---|
| 1902 | return self._get("SERVICE_LIST")
|
|---|
| 1903 | def service_desc(self):
|
|---|
| 1904 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1905 | C
|
|---|
| 1906 | """
|
|---|
| 1907 | return self._get("SERVICE_DESC")
|
|---|
| 1908 | def start(self, *args):
|
|---|
| 1909 | """ Start the configuration and data taking for a run-type of a pre-defined setup|TimeMax[s]:Maximum number of seconds before the run will be closed automatically|NumMax[count]:Maximum number events before the run will be closed automatically|Name[text]:Name of the configuration to be used for taking data
|
|---|
| 1910 | X:2;C
|
|---|
| 1911 | """
|
|---|
| 1912 | self._cmd("START", *args)
|
|---|
| 1913 | def reset(self, *args):
|
|---|
| 1914 | """ If a configuration blockes because a system cannot configure itself properly, this command can be called to leave the configuration procedure. The command is also propagated to FTM and FAD
|
|---|
| 1915 |
|
|---|
| 1916 | """
|
|---|
| 1917 | self._cmd("RESET", *args)
|
|---|
| 1918 | def configuration(self):
|
|---|
| 1919 | """ Run configuration information|MaxTime[s]:Maximum time before the run gets stopped|MaxEvents[num]:Maximum number of events before the run gets stopped|Name[text]:Name of the chosen configuration
|
|---|
| 1920 | X:1;X:1;C
|
|---|
| 1921 | """
|
|---|
| 1922 | return self._get("CONFIGURATION")
|
|---|
| 1923 | def state(self):
|
|---|
| 1924 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1925 | C
|
|---|
| 1926 | """
|
|---|
| 1927 | return self._get("STATE")
|
|---|
| 1928 | class TIME_CHECK ( FactDimServer):
|
|---|
| 1929 | def message(self):
|
|---|
| 1930 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 1931 | C
|
|---|
| 1932 | """
|
|---|
| 1933 | return self._get("MESSAGE")
|
|---|
| 1934 | def exit(self, *args):
|
|---|
| 1935 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 1936 | L:1
|
|---|
| 1937 | """
|
|---|
| 1938 | self._cmd("EXIT", *args)
|
|---|
| 1939 | def state(self):
|
|---|
| 1940 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 1941 | C
|
|---|
| 1942 | """
|
|---|
| 1943 | return self._get("STATE")
|
|---|
| 1944 | def service_list(self):
|
|---|
| 1945 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 1946 | C
|
|---|
| 1947 | """
|
|---|
| 1948 | return self._get("SERVICE_LIST")
|
|---|
| 1949 | def version_number(self):
|
|---|
| 1950 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 1951 | L
|
|---|
| 1952 | """
|
|---|
| 1953 | return self._get("VERSION_NUMBER")
|
|---|
| 1954 | def state_list(self):
|
|---|
| 1955 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 1956 | C
|
|---|
| 1957 | """
|
|---|
| 1958 | return self._get("STATE_LIST")
|
|---|
| 1959 | def service_desc(self):
|
|---|
| 1960 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 1961 | C
|
|---|
| 1962 | """
|
|---|
| 1963 | return self._get("SERVICE_DESC")
|
|---|
| 1964 | def client_list(self):
|
|---|
| 1965 | """ Native Dim service: A list of all connected clients
|
|---|
| 1966 | C
|
|---|
| 1967 | """
|
|---|
| 1968 | return self._get("CLIENT_LIST")
|
|---|
| 1969 | class BIAS_CONTROL ( FactDimServer):
|
|---|
| 1970 | def dac(self):
|
|---|
| 1971 | """ |U[dac]:Current dac setting|Uref[dac]:Reference dac setting
|
|---|
| 1972 | S:416;S:416
|
|---|
| 1973 | """
|
|---|
| 1974 | return self._get("DAC")
|
|---|
| 1975 | def set_channel_dac(self, *args):
|
|---|
| 1976 | """ Set a new target value in DAC counts for a single channel. Starts ramping if necessary.|channel[short]:Channel for which to set the target voltage [0-415]|voltage[dac]:Target voltage in DAC units for the given channel
|
|---|
| 1977 | S:1;S:1
|
|---|
| 1978 | """
|
|---|
| 1979 | self._cmd("SET_CHANNEL_DAC", *args)
|
|---|
| 1980 | def request_status(self, *args):
|
|---|
| 1981 | """ Asynchronously request the status (current) of all channels.
|
|---|
| 1982 |
|
|---|
| 1983 | """
|
|---|
| 1984 | self._cmd("REQUEST_STATUS", *args)
|
|---|
| 1985 | def expert_reset(self, *args):
|
|---|
| 1986 | """ Send the RESET command (note that this is possibly harmfull command)
|
|---|
| 1987 |
|
|---|
| 1988 | """
|
|---|
| 1989 | self._cmd("EXPERT_RESET", *args)
|
|---|
| 1990 | def increase_all_channels_voltage(self, *args):
|
|---|
| 1991 | """ Add the given voltages to the current reference voltages. Starts ramping if necessary.offset[V]:Offsets to be added to the reference voltage of all channels in volts
|
|---|
| 1992 | F:416
|
|---|
| 1993 | """
|
|---|
| 1994 | self._cmd("INCREASE_ALL_CHANNELS_VOLTAGE", *args)
|
|---|
| 1995 | def reset_over_current_status(self, *args):
|
|---|
| 1996 | """ Set all channels in over current state to 0V and send a system reset to reset the over current flags.
|
|---|
| 1997 |
|
|---|
| 1998 | """
|
|---|
| 1999 | self._cmd("RESET_OVER_CURRENT_STATUS", *args)
|
|---|
| 2000 | def print_currents(self, *args):
|
|---|
| 2001 | """ Print a table with all current read back with the last request operation
|
|---|
| 2002 |
|
|---|
| 2003 | """
|
|---|
| 2004 | self._cmd("PRINT_CURRENTS", *args)
|
|---|
| 2005 | def print_info(self, *args):
|
|---|
| 2006 | """ Print a table with all current read back with the last request operation
|
|---|
| 2007 |
|
|---|
| 2008 | """
|
|---|
| 2009 | self._cmd("PRINT_INFO", *args)
|
|---|
| 2010 | def reconnect(self, *args):
|
|---|
| 2011 | """ (Re)connect USB connection to Bias power supply, a new address can be given|tty[string]:new USB address
|
|---|
| 2012 | O
|
|---|
| 2013 | """
|
|---|
| 2014 | self._cmd("RECONNECT", *args)
|
|---|
| 2015 | def enable_dummy_mode(self, *args):
|
|---|
| 2016 | """ Enable dummy mode. In this mode SetAllChannels prints informations instead of sending anything to the bias crate.|enable[bool]:disable or enable dummy mode
|
|---|
| 2017 | B:1
|
|---|
| 2018 | """
|
|---|
| 2019 | self._cmd("ENABLE_DUMMY_MODE", *args)
|
|---|
| 2020 | def set_channel_offset_to_zero(self, *args):
|
|---|
| 2021 | """ Set a single channel channels to its G-APD reference voltage. Starts ramping if necessary.|channel[short]:Channel for which to set the target voltage [0-416]
|
|---|
| 2022 | S:1
|
|---|
| 2023 | """
|
|---|
| 2024 | self._cmd("SET_CHANNEL_OFFSET_TO_ZERO", *args)
|
|---|
| 2025 | def exit(self, *args):
|
|---|
| 2026 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 2027 | L:1
|
|---|
| 2028 | """
|
|---|
| 2029 | self._cmd("EXIT", *args)
|
|---|
| 2030 | def set_channel_voltage(self, *args):
|
|---|
| 2031 | """ Set a new target voltage for a single channel. Starts ramping if necessary.|channel[short]:Channel for which to set the target voltage [0-415]|voltage[V]:Target voltage in volts for the given channel (will be converted to DAC units)
|
|---|
| 2032 | S:1;F:1
|
|---|
| 2033 | """
|
|---|
| 2034 | self._cmd("SET_CHANNEL_VOLTAGE", *args)
|
|---|
| 2035 | def set_global_dac(self, *args):
|
|---|
| 2036 | """ Set a new target value for all channels in DAC counts. Starts ramping if necessary. (This command is not realized with the GLOBAL SET command.)|voltage[dac]:Global target voltage in DAC counts.
|
|---|
| 2037 | S:1
|
|---|
| 2038 | """
|
|---|
| 2039 | self._cmd("SET_GLOBAL_DAC", *args)
|
|---|
| 2040 | def set_all_channels_voltage(self, *args):
|
|---|
| 2041 | """ Set all channels to the given new reference voltage. Starts ramping if necessary.voltage[V]:New reference voltage for all channels
|
|---|
| 2042 | F:416
|
|---|
| 2043 | """
|
|---|
| 2044 | self._cmd("SET_ALL_CHANNELS_VOLTAGE", *args)
|
|---|
| 2045 | def voltage(self):
|
|---|
| 2046 | """ |Uout[V]:Output voltage
|
|---|
| 2047 | F:416
|
|---|
| 2048 | """
|
|---|
| 2049 | return self._get("VOLTAGE")
|
|---|
| 2050 | def stop(self, *args):
|
|---|
| 2051 | """ Stop an on-going ramping
|
|---|
| 2052 |
|
|---|
| 2053 | """
|
|---|
| 2054 | self._cmd("STOP", *args)
|
|---|
| 2055 | def expert_set_channel_voltage(self, *args):
|
|---|
| 2056 | """ Send a single channel set command. The given voltage is converted to DAC commands.
|
|---|
| 2057 | S:1;F:1
|
|---|
| 2058 | """
|
|---|
| 2059 | self._cmd("EXPERT_SET_CHANNEL_VOLTAGE", *args)
|
|---|
| 2060 | def set_zero_voltage(self, *args):
|
|---|
| 2061 | """ Set all channels to a zero reference voltage. Starts ramping if necessary.
|
|---|
| 2062 |
|
|---|
| 2063 | """
|
|---|
| 2064 | self._cmd("SET_ZERO_VOLTAGE", *args)
|
|---|
| 2065 | def client_list(self):
|
|---|
| 2066 | """ Native Dim service: A list of all connected clients
|
|---|
| 2067 | C
|
|---|
| 2068 | """
|
|---|
| 2069 | return self._get("CLIENT_LIST")
|
|---|
| 2070 | def print_voltages(self, *args):
|
|---|
| 2071 | """ Print a table with all voltages (current and reference voltages as currently in memory)
|
|---|
| 2072 |
|
|---|
| 2073 | """
|
|---|
| 2074 | self._cmd("PRINT_VOLTAGES", *args)
|
|---|
| 2075 | def increase_global_voltage(self, *args):
|
|---|
| 2076 | """ Increases the voltage of all channels by the given offset. Starts ramping if necessary. (This command is not realized with the GLOBAL SET command.)|offset[V]:Offset to be added to all channels (will be converted to DAC counts)
|
|---|
| 2077 | F:1
|
|---|
| 2078 | """
|
|---|
| 2079 | self._cmd("INCREASE_GLOBAL_VOLTAGE", *args)
|
|---|
| 2080 | def set_global_voltage(self, *args):
|
|---|
| 2081 | """ Set a new target voltage for all channels. Starts ramping if necessary. (This command is not realized with the GLOBAL SET command.)|voltage[V]:Global target voltage in volts (will be converted to DAC units)
|
|---|
| 2082 | F:1
|
|---|
| 2083 | """
|
|---|
| 2084 | self._cmd("SET_GLOBAL_VOLTAGE", *args)
|
|---|
| 2085 | def state_list(self):
|
|---|
| 2086 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 2087 | C
|
|---|
| 2088 | """
|
|---|
| 2089 | return self._get("STATE_LIST")
|
|---|
| 2090 | def expert_set_global_dac(self, *args):
|
|---|
| 2091 | """ Send the global set command.
|
|---|
| 2092 | S:1
|
|---|
| 2093 | """
|
|---|
| 2094 | self._cmd("EXPERT_SET_GLOBAL_DAC", *args)
|
|---|
| 2095 | def nominal(self):
|
|---|
| 2096 | """ |Ubr[V]:Nominal breakdown voltage at 25deg C|Uov[V]:Nominal overvoltage|Uoff[V]:Bias crate channel offsets
|
|---|
| 2097 | F:416;F:416;F:416
|
|---|
| 2098 | """
|
|---|
| 2099 | return self._get("NOMINAL")
|
|---|
| 2100 | def set_update_interval(self, *args):
|
|---|
| 2101 | """ Set the updat einterval how often the currents are requested|interval[ms]:Update interval in milliseconds
|
|---|
| 2102 | I:1
|
|---|
| 2103 | """
|
|---|
| 2104 | self._cmd("SET_UPDATE_INTERVAL", *args)
|
|---|
| 2105 | def expert_set_channel_dac(self, *args):
|
|---|
| 2106 | """ Send a single channel set command.
|
|---|
| 2107 | S:1;S:1
|
|---|
| 2108 | """
|
|---|
| 2109 | self._cmd("EXPERT_SET_CHANNEL_DAC", *args)
|
|---|
| 2110 | def increase_channel_voltage(self, *args):
|
|---|
| 2111 | """ Increases the voltage of all channels by the given offset. Starts ramping if necessary. (This command is not realized with the GLOBAL SET command.)|channel[short]:Channel for which to adapt the voltage [0-415]|offset[V]:Offset to be added to all channels (will be converted to DAC counts)
|
|---|
| 2112 | S:1;F:1
|
|---|
| 2113 | """
|
|---|
| 2114 | self._cmd("INCREASE_CHANNEL_VOLTAGE", *args)
|
|---|
| 2115 | def set_all_channels_offset(self, *args):
|
|---|
| 2116 | """ Set all channels to their G-APD reference voltage plus the given offset. Starts ramping if necessary.|offset[V]:Offset to be added to teh G-APD reference voltage globally
|
|---|
| 2117 | F:416
|
|---|
| 2118 | """
|
|---|
| 2119 | self._cmd("SET_ALL_CHANNELS_OFFSET", *args)
|
|---|
| 2120 | def set_global_offset_to_zero(self, *args):
|
|---|
| 2121 | """ Set all channels to their G-APD reference voltage. Starts ramping if necessary.
|
|---|
| 2122 |
|
|---|
| 2123 | """
|
|---|
| 2124 | self._cmd("SET_GLOBAL_OFFSET_TO_ZERO", *args)
|
|---|
| 2125 | def set_global_offset(self, *args):
|
|---|
| 2126 | """ Set all channels to their G-APD breakdown voltage plus overvoltage plus the given offset. Starts ramping if necessary.|offset[V]:Offset to be added to the G-APD reference voltage globally
|
|---|
| 2127 | F:1
|
|---|
| 2128 | """
|
|---|
| 2129 | self._cmd("SET_GLOBAL_OFFSET", *args)
|
|---|
| 2130 | def current(self):
|
|---|
| 2131 | """ |I[dac]:Bias current (conversion: 5000uA/4096dac)
|
|---|
| 2132 | S:416
|
|---|
| 2133 | """
|
|---|
| 2134 | return self._get("CURRENT")
|
|---|
| 2135 | def service_desc(self):
|
|---|
| 2136 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 2137 | C
|
|---|
| 2138 | """
|
|---|
| 2139 | return self._get("SERVICE_DESC")
|
|---|
| 2140 | def message(self):
|
|---|
| 2141 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 2142 | C
|
|---|
| 2143 | """
|
|---|
| 2144 | return self._get("MESSAGE")
|
|---|
| 2145 | def state(self):
|
|---|
| 2146 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 2147 | C
|
|---|
| 2148 | """
|
|---|
| 2149 | return self._get("STATE")
|
|---|
| 2150 | def print_gapd_reference_voltages(self, *args):
|
|---|
| 2151 | """ Print the G-APD reference values (breakdown voltage + overvoltage) obtained from file
|
|---|
| 2152 |
|
|---|
| 2153 | """
|
|---|
| 2154 | self._cmd("PRINT_GAPD_REFERENCE_VOLTAGES", *args)
|
|---|
| 2155 | def set_verbose(self, *args):
|
|---|
| 2156 | """ set verbosity state|verbosity[bool]:disable or enable verbosity for received data (yes/no), except dynamic data
|
|---|
| 2157 | B:1
|
|---|
| 2158 | """
|
|---|
| 2159 | self._cmd("SET_VERBOSE", *args)
|
|---|
| 2160 | def service_list(self):
|
|---|
| 2161 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 2162 | C
|
|---|
| 2163 | """
|
|---|
| 2164 | return self._get("SERVICE_LIST")
|
|---|
| 2165 | def expert_mode(self, *args):
|
|---|
| 2166 | """ Enable usage of expert commands (note that for safty reasons the are exclusive with the standard commands)
|
|---|
| 2167 | B:1
|
|---|
| 2168 | """
|
|---|
| 2169 | self._cmd("EXPERT_MODE", *args)
|
|---|
| 2170 | def expert_set_global_voltage(self, *args):
|
|---|
| 2171 | """ Send the global set command. The given voltage is converted to DAC counts.
|
|---|
| 2172 | F:1
|
|---|
| 2173 | """
|
|---|
| 2174 | self._cmd("EXPERT_SET_GLOBAL_VOLTAGE", *args)
|
|---|
| 2175 | def set_channel_offset(self, *args):
|
|---|
| 2176 | """ Set single channels to its G-APD breakdown voltage plus overvoltage plus the given offset. Starts ramping if necessary.|channel[short]:Channel for which to set the target voltage [0-415]|offset[V]:Offset to be added to the G-APD reference voltage of the given channel
|
|---|
| 2177 | S:1;F:1
|
|---|
| 2178 | """
|
|---|
| 2179 | self._cmd("SET_CHANNEL_OFFSET", *args)
|
|---|
| 2180 | def start(self, *args):
|
|---|
| 2181 | """ Start a ramping if no ramping is in progress and if reference values differ from current voltages
|
|---|
| 2182 |
|
|---|
| 2183 | """
|
|---|
| 2184 | self._cmd("START", *args)
|
|---|
| 2185 | def version_number(self):
|
|---|
| 2186 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 2187 | L
|
|---|
| 2188 | """
|
|---|
| 2189 | return self._get("VERSION_NUMBER")
|
|---|
| 2190 | def disconnect(self, *args):
|
|---|
| 2191 | """ disconnect from USB
|
|---|
| 2192 |
|
|---|
| 2193 | """
|
|---|
| 2194 | self._cmd("DISCONNECT", *args)
|
|---|
| 2195 | class DIM_CONTROL ( FactDimServer):
|
|---|
| 2196 | def service_list(self):
|
|---|
| 2197 | """ Native Dim service: List of services, commands and formats|ServiceList[string]:For details see the Dim manual.
|
|---|
| 2198 | C
|
|---|
| 2199 | """
|
|---|
| 2200 | return self._get("SERVICE_LIST")
|
|---|
| 2201 | def message(self):
|
|---|
| 2202 | """ A general logging service providing a quality of service (severity)|Message[string]:The message
|
|---|
| 2203 | C
|
|---|
| 2204 | """
|
|---|
| 2205 | return self._get("MESSAGE")
|
|---|
| 2206 | def start(self, *args):
|
|---|
| 2207 | """ Start a JavaScript
|
|---|
| 2208 | C
|
|---|
| 2209 | """
|
|---|
| 2210 | self._cmd("START", *args)
|
|---|
| 2211 | def stop(self, *args):
|
|---|
| 2212 | """ Stop a runnning batch script or JavaScript
|
|---|
| 2213 | C
|
|---|
| 2214 | """
|
|---|
| 2215 | self._cmd("STOP", *args)
|
|---|
| 2216 | def state(self):
|
|---|
| 2217 | """ Provides the state of the state machine as quality of service.|Text[string]:A human readable string sent by the last state change.
|
|---|
| 2218 | C
|
|---|
| 2219 | """
|
|---|
| 2220 | return self._get("STATE")
|
|---|
| 2221 | def client_list(self):
|
|---|
| 2222 | """ Native Dim service: A list of all connected clients
|
|---|
| 2223 | C
|
|---|
| 2224 | """
|
|---|
| 2225 | return self._get("CLIENT_LIST")
|
|---|
| 2226 | def exit(self, *args):
|
|---|
| 2227 | """ This is a native Dim command: Exit programremotely. FACT++ programs use the given number as return code.|Rc[int]:Return code, under normal circumstances this should be 0 or 1 (42 will call exit() directly, 0x42 will call abort() directly.
|
|---|
| 2228 | L:1
|
|---|
| 2229 | """
|
|---|
| 2230 | self._cmd("EXIT", *args)
|
|---|
| 2231 | def execute(self, *args):
|
|---|
| 2232 | """ Execute a batch script
|
|---|
| 2233 | C
|
|---|
| 2234 | """
|
|---|
| 2235 | self._cmd("EXECUTE", *args)
|
|---|
| 2236 | def service_desc(self):
|
|---|
| 2237 | """ Descriptions of services or commands and there arguments|Description[string]:For a detailed explanation of the descriptive string see the class reference of DimDescriptionService.
|
|---|
| 2238 | C
|
|---|
| 2239 | """
|
|---|
| 2240 | return self._get("SERVICE_DESC")
|
|---|
| 2241 | def state_list(self):
|
|---|
| 2242 | """ Provides a list with descriptions for each service.|StateList[string]:A \n separated list of the form id:name=description
|
|---|
| 2243 | C
|
|---|
| 2244 | """
|
|---|
| 2245 | return self._get("STATE_LIST")
|
|---|
| 2246 | def version_number(self):
|
|---|
| 2247 | """ Native Dim service: Version number of Dim in use|DimVer[int]:Version*100+Release (e.g. V19r17 = 1917)
|
|---|
| 2248 | L
|
|---|
| 2249 | """
|
|---|
| 2250 | return self._get("VERSION_NUMBER")
|
|---|