Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
P
pts
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
misc
pts
Commits
23ce73e7
Commit
23ce73e7
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
cc57652b
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 @
23ce73e7
...
...
@@ -252,26 +252,40 @@ class CFmcAdc100m:
# Front panel LED manual control
def
acq_led
(
self
,
state
):
reg
=
self
.
fmc_adc_csr
.
rd_reg
(
self
.
R_CTL
)
#print("R_CTL:%.8X")%reg
if
(
state
==
0
):
reg
&=
~
(
1
<<
self
.
CTL_ACQ_LED
)
else
:
reg
|=
(
1
<<
self
.
CTL_ACQ_LED
)
reg
&=
self
.
CTL_MASK
#print("R_CTL:%.8X")%reg
self
.
fmc_adc_csr
.
wr_reg
(
self
.
R_CTL
,
reg
)
ACQ_LED_OFFSET
=
7
try
:
reg
=
self
.
fmc_adc_csr
.
get_reg
(
'CTL'
)
# print("CTL reg value:%.8X")%reg
if
(
state
==
0
):
reg
&=
~
(
1
<<
ACQ_LED_OFFSET
)
else
:
reg
|=
(
1
<<
ACQ_LED_OFFSET
)
# 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
):
reg
=
self
.
fmc_adc_csr
.
rd_reg
(
self
.
R_CTL
)
#print("R_CTL:%.8X")%reg
if
(
state
==
0
):
reg
&=
~
(
1
<<
self
.
CTL_TRIG_LED
)
else
:
reg
|=
(
1
<<
self
.
CTL_TRIG_LED
)
reg
&=
self
.
CTL_MASK
#print("R_CTL:%.8X")%reg
self
.
fmc_adc_csr
.
wr_reg
(
self
.
R_CTL
,
reg
)
TRIG_LED_OFFSET
=
6
try
:
reg
=
self
.
fmc_adc_csr
.
get_reg
(
'CTL'
)
# print("CTL reg value:%.8X")%reg
if
(
state
==
0
):
reg
&=
~
(
1
<<
TRIG_LED_OFFSET
)
else
:
reg
|=
(
1
<<
TRIG_LED_OFFSET
)
# 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
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