@@ -187,6 +187,9 @@ def _irq_ordinals_to_bitmask(self, ordinals):
187
187
bitmask |= (1 << ordinal )
188
188
return bitmask
189
189
190
+ WaitOnIrqsReturnValues = namedtuple ('WaitOnIrqsReturnValues' ,
191
+ ["irqs_asserted" , "timed_out" ])
192
+
190
193
def wait_on_irqs (self , irqs , timeout_ms ):
191
194
""" Stops the calling thread until the FPGA asserts any IRQ in the irqs
192
195
parameter or until the function call times out.
@@ -223,10 +226,8 @@ def wait_on_irqs(self, irqs, timeout_ms):
223
226
finally :
224
227
self ._nifpga .UnreserveIrqContext (self ._session , context )
225
228
irqs_asserted = [i for i in range (32 ) if irqs_asserted_bitmask .value & (1 << i )]
226
- WaitOnIrqsReturnValues = namedtuple ('WaitOnIrqsReturnValues' ,
227
- ["irqs_asserted" , "timed_out" ])
228
- return WaitOnIrqsReturnValues (irqs_asserted = irqs_asserted ,
229
- timed_out = bool (timed_out .value ))
229
+ return self .WaitOnIrqsReturnValues (irqs_asserted = irqs_asserted ,
230
+ timed_out = bool (timed_out .value ))
230
231
231
232
def acknowledge_irqs (self , irqs ):
232
233
""" Acknowledges an IRQ or set of IRQs.
@@ -744,6 +745,8 @@ def write(self, data, timeout_ms=0):
744
745
empty_elements_remaining )
745
746
return empty_elements_remaining .value
746
747
748
+ ReadValues = namedtuple ("ReadValues" , ["data" , "elements_remaining" ])
749
+
747
750
def read (self , number_of_elements , timeout_ms = 0 ):
748
751
""" Read the specified number of elements from the FIFO.
749
752
@@ -774,10 +777,16 @@ def read(self, number_of_elements, timeout_ms=0):
774
777
number_of_elements ,
775
778
timeout_ms ,
776
779
elements_remaining )
777
- data = [bool (elem ) if self ._datatype is DataType .Bool else elem for elem in buf ]
778
- ReadValues = namedtuple ("ReadValues" , ["data" , "elements_remaining" ])
779
- return ReadValues (data = data ,
780
- elements_remaining = elements_remaining .value )
780
+ if self ._datatype is DataType .Bool :
781
+ data = [bool (elem ) for elem in buf ]
782
+ else :
783
+ data = [elem for elem in buf ]
784
+ return self .ReadValues (data = data ,
785
+ elements_remaining = elements_remaining .value )
786
+
787
+ AcquireWriteValues = namedtuple ("AcquireWriteValues" ,
788
+ ["data" , "elements_acquired" ,
789
+ "elements_remaining" ])
781
790
782
791
def _acquire_write (self , number_of_elements , timeout_ms = 0 ):
783
792
""" Write the specified number of elements from the FIFO.
@@ -807,13 +816,13 @@ def _acquire_write(self, number_of_elements, timeout_ms=0):
807
816
timeout_ms ,
808
817
elements_acquired ,
809
818
elements_remaining )
819
+ return self .AcquireWriteValues (data = block_out ,
820
+ elements_acquired = elements_acquired .value ,
821
+ elements_remaining = elements_remaining .value )
810
822
811
- AcquireWriteValues = namedtuple ("AcquireWriteValues" ,
812
- ["data" , "elements_acquired" ,
813
- "elements_remaining" ])
814
- return AcquireWriteValues (data = block_out ,
815
- elements_acquired = elements_acquired .value ,
816
- elements_remaining = elements_remaining .value )
823
+ AcquireReadValues = namedtuple ("AcquireReadValues" ,
824
+ ["data" , "elements_acquired" ,
825
+ "elements_remaining" ])
817
826
818
827
def _acquire_read (self , number_of_elements , timeout_ms = 0 ):
819
828
""" Read the specified number of elements from the FIFO.
@@ -844,12 +853,9 @@ def _acquire_read(self, number_of_elements, timeout_ms=0):
844
853
timeout_ms ,
845
854
elements_acquired ,
846
855
elements_remaining )
847
- AcquireReadValues = namedtuple ("AcquireReadValues" ,
848
- ["data" , "elements_acquired" ,
849
- "elements_remaining" ])
850
- return AcquireReadValues (data = buf_ptr ,
851
- elements_acquired = elements_acquired .value ,
852
- elements_remaining = elements_remaining .value )
856
+ return self .AcquireReadValues (data = buf_ptr ,
857
+ elements_acquired = elements_acquired .value ,
858
+ elements_remaining = elements_remaining .value )
853
859
854
860
def _release_elements (self , number_of_elements ):
855
861
""" Releases the FIFOs elements. """
0 commit comments