Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
C
Conv TTL Blocking
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
5
Issues
5
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
Conv TTL Blocking
Commits
9c367c7f
Commit
9c367c7f
authored
Feb 24, 2015
by
Theodor-Adrian Stana
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Adding hardtherm.py script, which accesses a hardware-implemented one-wire master module
parent
a7f5f242
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
83 additions
and
0 deletions
+83
-0
hardtherm.py
software/diag/hardtherm.py
+83
-0
No files found.
software/diag/hardtherm.py
0 → 100755
View file @
9c367c7f
#!/usr/bin/python
#===============================================================================
# CERN (BE-CO-HT)
# Read CHxPCR registers on CONV-TTL-BLO
#===============================================================================
# author: Theodor Stana (t.stana@cern.ch)
#
# date of creation:
#
# version: 1.0
#
# description:
# This script is used to read the input channel counters on the CONV-TTL-BLO
# board.
#
#===============================================================================
# GNU LESSER GENERAL PUBLIC LICENSE
#===============================================================================
# This source file is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation; either version 2.1 of the License, or (at your
# option) any later version. This source is distributed in the hope that it
# will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Lesser General Public License for more details. You should have
# received a copy of the GNU Lesser General Public License along with this
# source; if not, download it from http://www.gnu.org/licenses/lgpl-2.1.html
#===============================================================================
# last changes:
#===============================================================================
# TODO: -
#===============================================================================
import
time
import
sys
import
time
sys
.
path
.
append
(
"../ei2c"
)
from
ei2c
import
*
import
ei2cdefine
if
__name__
==
"__main__"
:
# Get the IP, user and password for the ELMA crate from either user input,
# or ei2cdefine.py
if
(
ei2cdefine
.
ENABLED
):
ip
=
ei2cdefine
.
HNAME
user
=
ei2cdefine
.
USER
pwd
=
ei2cdefine
.
PWD
else
:
ip
=
raw_input
(
"ELMA crate IP or hostname : "
)
user
=
raw_input
(
"ELMA crate user name : "
)
pwd
=
raw_input
(
"ELMA crate password : "
)
testelma
=
EI2C
(
ip
,
user
,
pwd
)
testelma
.
open
()
# Ask for slot number
while
1
:
try
:
slot
=
raw_input
(
"Slot no.: "
)
slot
=
int
(
slot
)
break
except
TypeError
as
e
:
print
(
"Please input a decimal slot number."
)
except
SlotError
as
e
:
print
(
e
.
strerror
)
except
KeyboardInterrupt
:
sys
.
exit
();
except
:
print
(
"Unexpected error: "
,
sys
.
exc_info
()[
0
])
# Print which board is detected in the selected slot
bid
=
testelma
.
get_bid
(
slot
)
# Print channel counter values, close and exit
temp
=
testelma
.
read
(
slot
,
0x90
)
if
(
temp
&
0x1000
):
temp
=
-
0x10000
+
temp
temp
/=
16.0
uid
=
(
testelma
.
read
(
slot
,
0x98
)
<<
32
)
|
testelma
.
read
(
slot
,
0x94
)
print
(
"temp :
%.3
f"
%
temp
)
print
(
"uid : 0x
%016
X"
%
uid
)
testelma
.
close
()
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