Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
FMC ADC 100M 14b 4cha - Testing
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
FMC ADC 100M 14b 4cha - Testing
Commits
c75f8766
Commit
c75f8766
authored
May 29, 2012
by
Matthieu Cattin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fmc_adc: manual LED control using register map.
Can't use field_set function because of write only command fields.
parent
dd993732
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
18 deletions
+32
-18
fmc_adc.py
test/fmcadc100m14b4cha/python/fmc_adc.py
+32
-18
No files found.
test/fmcadc100m14b4cha/python/fmc_adc.py
View file @
c75f8766
...
@@ -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
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment