# Add analog device types im_device_type = models.DeviceType(name="TORO", description="Toroid") #units="uC") fc_device_type = models.DeviceType(name="FARC", description="Faraday Cup") #units="mA") sol_curr_device_type = models.DeviceType(name="SOLN", description="Solenoid") #units="mA") session.add_all([im_device_type, fc_device_type, sol_curr_device_type]) bpm_device_type = models.DeviceType(name="BPMS", description="Beam Position Monitor") session.add_all([bpm_device_type]) # Define some states for the device types screen_out = models.DeviceState(name="Out", device_type=profmon_device_type, value=2) screen_in = models.DeviceState(name="In", device_type=profmon_device_type, value=1) screen_moving = models.DeviceState(name="Moving", device_type=profmon_device_type, value=3) screen_broken = models.DeviceState(name="Broken", device_type=profmon_device_type, value=0) temp_device_fault = models.DeviceState(name="Temp Fault", device_type=temp_device_type, value=0) temp_device_ok = models.DeviceState(name="Temp OK", device_type=temp_device_type,
chan.alarm_state = 0 digital_chans.append(chan) session.add(chan) # Add device types insertion_device_type = models.DeviceType(name="PROF", description="Insertion Device") power_device_type = models.DeviceType(name="POWR", description="Power Device") sxrss_device_type = models.DeviceType(name="SXSS", description="SXRSS Protection Device") session.add_all([insertion_device_type, power_device_type, sxrss_device_type]) session.commit() # Define some states for the insertion device type device_out = models.DeviceState(name="Out", device_type=insertion_device_type, value=1) device_in = models.DeviceState(name="In", device_type=insertion_device_type, value=2) device_moving = models.DeviceState(name="Moving", device_type=insertion_device_type, value=0) device_broken = models.DeviceState(name="Broken", device_type=insertion_device_type, value=3) power_on = models.DeviceState(name="Power On", device_type=power_device_type, value=1) power_off = models.DeviceState(name="Power Off", device_type=power_device_type,
# States for the device - these are not really used #deviceStates=[] #for i in range(0, 2**channelsPerDevice): # deviceState = models.DeviceState(name="State " + str(i), # device_type=digitalDeviceType, # value=i) # deviceStates.append(deviceState) # session.add(deviceState) # States for the faults # 2 sets of 2**channelsPerDevice faultDeviceStates = [] for i in range(0, 2**(2**channelsPerDevice)): faultDeviceState = models.DeviceState(name="FaultState " + str(i), device_type=faultDigitalDeviceType, value=i) faultDeviceStates.append(faultDeviceState) session.add(faultDeviceState) # Add digital devices devices = [] for i in range(0, numCards): for j in range(0, devicesPerCard): device = models.DigitalDevice(name="Device " + str(i) + ":" + str(j), z_position=i * devicesPerCard + j, description="Device #" + str(j) + " for card #" + str(i), device_type=digitalDeviceType, application=global_app) devices.append(device)
#session.add(bpm_card) #Define some channels for the card. digital_chans = [] for i in range(0, 4): chan = models.DigitalChannel(number=i) chan.card = pic_card digital_chans.append(chan) session.add(chan) #Add a new device type - insertion device insertion_device_type = models.DeviceType(name="Insertion Device") session.add(insertion_device_type) #Define some states for the device type. otr_screen_out = models.DeviceState(name="Out") otr_screen_out.device_type = insertion_device_type otr_screen_out.value = 1 otr_screen_in = models.DeviceState(name="In") otr_screen_in.device_type = insertion_device_type otr_screen_in.value = 2 otr_screen_moving = models.DeviceState(name="Moving") otr_screen_moving.device_type = insertion_device_type otr_screen_moving.value = 0 otr_screen_broken = models.DeviceState(name="Broken") otr_screen_broken.device_type = insertion_device_type otr_screen_broken.value = 3