Commit 009ad91b authored by Matthieu Cattin's avatar Matthieu Cattin

fmc_adc_spec: Add function to set acq end interrupt mask.

parent ee79c2a4
......@@ -385,13 +385,20 @@ class CFmcAdc100mSpec:
except CSRDeviceOperationError as e:
raise FmcAdc100mSpecOperationError(e)
# Set dma done interrupt
# Set dma done interrupt mask
def set_irq_dma_done_mask(self, value):
try:
return self.irq_controller.set_field('EN_MASK', 'DMA_END', value)
except CSRDeviceOperationError as e:
raise FmcAdc100mSpecOperationError(e)
# Set acquisition and interrupt mask
def set_irq_acq_end_mask(self, value):
try:
return self.irq_controller.set_field('EN_MASK', 'ACQ_END', value)
except CSRDeviceOperationError as e:
raise FmcAdc100mSpecOperationError(e)
#======================================================================
# Data acquisition (DMA transfer)
......@@ -522,7 +529,7 @@ class CFmcAdc100mSpec:
print('GN4124 interrupt occured')
dma_finished = 0
if verbose:
self.print_irq_controller_regs()
#self.print_irq_controller_regs()
print('irq mask:%.4X')%self.get_irq_en_mask()
while(0 == dma_finished):
irq_src = self.get_irq_source()
......@@ -576,16 +583,20 @@ class CFmcAdc100mSpec:
print('GN4124 interrupt occured')
dma_finished = 0
if verbose:
self.print_irq_controller_regs()
#self.print_irq_controller_regs()
print("irq source : %.8X"%self.get_irq_source())
print('irq mask:%.4X')%self.get_irq_en_mask()
while(0 == dma_finished):
irq_src = self.get_irq_source()
#print('IRQ source : %.4X')%irq_src
if verbose:
print('irq source (polling loop): %.8X')%irq_src
#print('DMA status: %s')%self.gnum.get_dma_status()
if(irq_src & self.IRQ_SRC_DMA_END):
#print('IRQ source : %.4X')%irq_src
self.clear_irq_source(self.IRQ_SRC_DMA_END)
#print('IRQ source : %.4X')%self.get_irq_source()
if verbose:
print("irq source : %.8X"%self.get_irq_source())
dma_finished = 1
time.sleep(0.005)
if verbose:
......
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