Commit c75f8766 authored by Matthieu Cattin's avatar Matthieu Cattin

fmc_adc: manual LED control using register map.

Can't use field_set function because of write only command fields.
parent dd993732
...@@ -252,26 +252,40 @@ class CFmcAdc100m: ...@@ -252,26 +252,40 @@ class CFmcAdc100m:
# Front panel LED manual control # Front panel LED manual control
def acq_led(self, state): def acq_led(self, state):
reg = self.fmc_adc_csr.rd_reg(self.R_CTL) ACQ_LED_OFFSET = 7
#print("R_CTL:%.8X")%reg try:
if(state == 0): reg = self.fmc_adc_csr.get_reg('CTL')
reg &= ~(1<<self.CTL_ACQ_LED) # print("CTL reg value:%.8X")%reg
else: if(state == 0):
reg |= (1<<self.CTL_ACQ_LED) reg &= ~(1<<ACQ_LED_OFFSET)
reg &= self.CTL_MASK else:
#print("R_CTL:%.8X")%reg reg |= (1<<ACQ_LED_OFFSET)
self.fmc_adc_csr.wr_reg(self.R_CTL, reg) # The set_field function can't be used here, because of write
# only command fields that have undefined value when read.
# Therefore, write only command fields are set to 0
reg &= 0xEC
# print("CTL reg value:%.8X")%reg
self.fmc_adc_csr.set_reg('CTL', reg)
except CSRDeviceOperationError as e:
raise FmcAdc100mOperationError(e)
def trig_led(self, state): def trig_led(self, state):
reg = self.fmc_adc_csr.rd_reg(self.R_CTL) TRIG_LED_OFFSET = 6
#print("R_CTL:%.8X")%reg try:
if(state == 0): reg = self.fmc_adc_csr.get_reg('CTL')
reg &= ~(1<<self.CTL_TRIG_LED) # print("CTL reg value:%.8X")%reg
else: if(state == 0):
reg |= (1<<self.CTL_TRIG_LED) reg &= ~(1<<TRIG_LED_OFFSET)
reg &= self.CTL_MASK else:
#print("R_CTL:%.8X")%reg reg |= (1<<TRIG_LED_OFFSET)
self.fmc_adc_csr.wr_reg(self.R_CTL, reg) # The set_field function can't be used here, because of write
# only command fields that have undefined value when read.
# Therefore, write only command fields are set to 0
reg &= 0xEC
# print("CTL reg value:%.8X")%reg
self.fmc_adc_csr.set_reg('CTL', reg)
except CSRDeviceOperationError as e:
raise FmcAdc100mOperationError(e)
# print LTC2174 configuration # print LTC2174 configuration
def print_adc_config(self): def print_adc_config(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment