Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
elphel-init
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
elphel-init
Commits
08f5980c
Commit
08f5980c
authored
Nov 25, 2016
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added color to the console output
parent
e809ec5f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
74 additions
and
34 deletions
+74
-34
init_elphel393.py
src/init_elphel393.py
+74
-34
No files found.
src/init_elphel393.py
View file @
08f5980c
#!/usr/bin/env python
#!/usr/bin/env python
from
__future__
import
division
from
__future__
import
print_function
'''
'''
# Copyright (C) 2016, Elphel.inc.
# Copyright (C) 2016, Elphel.inc.
# Usage: known
# Usage: known
...
@@ -47,8 +49,39 @@ SATA_EN = 1
...
@@ -47,8 +49,39 @@ SATA_EN = 1
PYDIR
=
"/usr/local/bin"
PYDIR
=
"/usr/local/bin"
VERILOG_DIR
=
"/usr/local/verilog"
VERILOG_DIR
=
"/usr/local/verilog"
LOGFILE
=
"/var/log/init_elphel393.log"
#functions
#functions
def
colorize
(
string
,
color
,
bold
):
color
=
color
.
upper
()
attr
=
[]
if
color
==
'RED'
:
attr
.
append
(
'31'
)
elif
color
==
'GREEN'
:
attr
.
append
(
'32'
)
elif
color
==
'YELLOW'
:
attr
.
append
(
'33'
)
elif
color
==
'BLUE'
:
attr
.
append
(
'34'
)
elif
color
==
'MAGENTA'
:
attr
.
append
(
'35'
)
elif
color
==
'CYAN'
:
attr
.
append
(
'36'
)
elif
color
==
'GRAY'
:
attr
.
append
(
'37'
)
else
:
pass
# red
if
bold
:
attr
.
append
(
'1'
)
return
'
\x1b
[
%
sm
%
s
\x1b
[0m'
%
(
';'
.
join
(
attr
),
string
)
def
log_msg
(
msg
):
with
open
(
'/proc/uptime'
)
as
f
:
t
=
float
(
f
.
read
()
.
split
()[
0
])
with
open
(
LOGFILE
,
'a'
)
as
msg_file
:
print
(
colorize
(
"[
%8.2
f]
%
s: "
%
(
t
,
sys
.
argv
[
0
]
.
split
(
'/'
)[
-
1
]
.
split
(
'.'
)[
0
]),
'CYAN'
,
0
)
+
msg
)
print
(
"[
%8.2
f]
%
s"
%
(
t
,
msg
),
file
=
msg_file
)
def
shout
(
cmd
):
def
shout
(
cmd
):
#subprocess.call prints to console
#subprocess.call prints to console
subprocess
.
call
(
cmd
,
shell
=
True
)
subprocess
.
call
(
cmd
,
shell
=
True
)
...
@@ -80,11 +113,11 @@ def init_port(index):
...
@@ -80,11 +113,11 @@ def init_port(index):
#2. mt9f002
#2. mt9f002
#3. ...
#3. ...
if
(
sysfs_content
==
"mt9p006"
):
if
(
sysfs_content
==
"mt9p006"
):
print
(
"Port "
+
index
+
": framepars enable"
)
log_msg
(
"Port "
+
index
+
": framepars enable"
)
shout
(
"wget -O /dev/null
\"
localhost/framepars.php?sensor_port="
+
index
+
"&cmd=init
\"
"
)
shout
(
"wget -O /dev/null
\"
localhost/framepars.php?sensor_port="
+
index
+
"&cmd=init
\"
"
)
else
:
else
:
switch
[
'port'
+
str
(
i
)]
=
0
switch
[
'port'
+
str
(
i
)]
=
0
print
(
"Sensor port "
+
str
(
i
)
+
": disabled, please check device tree"
)
log_msg
(
"Sensor port "
+
str
(
i
)
+
": disabled, please check device tree"
)
def
init_port_readsysfs
(
filename
):
def
init_port_readsysfs
(
filename
):
sysfs_content
=
""
sysfs_content
=
""
...
@@ -136,9 +169,9 @@ def init_usb_hub():
...
@@ -136,9 +169,9 @@ def init_usb_hub():
shout
(
"i2cset -y 0 0x2c 0x07 0x1001 w"
)
shout
(
"i2cset -y 0 0x2c 0x07 0x1001 w"
)
shout
(
"i2cset -y 0 0x2c 0x08 0x0001 w"
)
shout
(
"i2cset -y 0 0x2c 0x08 0x0001 w"
)
shout
(
"i2cset -y 0 0x2c 0xff 0x0101 w"
)
shout
(
"i2cset -y 0 0x2c 0xff 0x0101 w"
)
print
(
"Initialized USB hub with Vendor=1234"
)
log_msg
(
"Initialized USB hub with Vendor=1234"
)
else
:
else
:
print
(
"USB hub was already initialized"
)
log_msg
(
"USB hub was already initialized"
)
def
start_gps_compass
():
def
start_gps_compass
():
"""
"""
...
@@ -183,53 +216,67 @@ if not os.path.exists(volatile_html):
...
@@ -183,53 +216,67 @@ if not os.path.exists(volatile_html):
os
.
mkdir
(
volatile_html
)
os
.
mkdir
(
volatile_html
)
#need to disable fan for eyesis
#need to disable fan for eyesis
#if switch['eyesis']!=0:
# log_msg('Eyesis mode: turn off gpio 10389')
# disable_gpio_10389()
# start temperature monitor and let it control fan (set 'off' to disable fan control)
#Move tempon early, so other problems will not block it
if
switch
[
'eyesis'
]
!=
0
:
if
switch
[
'eyesis'
]
!=
0
:
print
(
'Eyesis mode: turn off gpio 10389'
)
log_msg
(
'Eyesis mode: turn off gpio 10389'
)
disable_gpio_10389
()
disable_gpio_10389
()
log_msg
(
"Eyesis: fan off"
)
shout
(
"tempmon.py --control_fan off &"
)
else
:
log_msg
(
"Fan on"
)
shout
(
"tempmon.py --control_fan on &"
)
#0
#0
if
switch
[
'usb_hub'
]
==
1
:
if
switch
[
'usb_hub'
]
==
1
:
print
(
'Initialize USB hub'
)
log_msg
(
'Initialize USB hub'
)
init_usb_hub
()
init_usb_hub
()
else
:
else
:
print
(
"skip USB hub initiualization"
)
log_msg
(
"skip USB hub initiualization"
)
#1
#1
if
switch
[
'ip'
]
==
1
:
if
switch
[
'ip'
]
==
1
:
print
(
sys
.
argv
[
0
]
+
": ip = "
+
IPADDR
)
log_msg
(
sys
.
argv
[
0
]
+
": ip = "
+
IPADDR
)
init_ipaddr
(
IPADDR
)
init_ipaddr
(
IPADDR
)
else
:
else
:
print
(
"skip ip"
)
log_msg
(
"skip ip"
)
#2
#2
if
switch
[
'mcntrl'
]
==
1
:
if
switch
[
'mcntrl'
]
==
1
:
print
(
sys
.
argv
[
0
]
+
": mcntrl"
)
log_msg
(
sys
.
argv
[
0
]
+
": mcntrl"
)
if
switch
[
'eyesis'
]
!=
0
:
if
switch
[
'eyesis'
]
!=
0
:
init_mcntrl_eyesis
(
PYDIR
,
VERILOG_DIR
)
init_mcntrl_eyesis
(
PYDIR
,
VERILOG_DIR
)
else
:
else
:
init_mcntrl
(
PYDIR
,
VERILOG_DIR
)
init_mcntrl
(
PYDIR
,
VERILOG_DIR
)
else
:
else
:
print
(
"skip mcntrl"
)
log_msg
(
"skip mcntrl"
)
#3
#3
if
switch
[
'imgsrv'
]
==
1
:
if
switch
[
'imgsrv'
]
==
1
:
print
(
sys
.
argv
[
0
]
+
": imgsrv"
)
log_msg
(
sys
.
argv
[
0
]
+
": imgsrv"
)
init_imgsrv
(
IMGSRV_PORT
)
init_imgsrv
(
IMGSRV_PORT
)
else
:
else
:
print
(
"skip imgsrv"
)
log_msg
(
"skip imgsrv"
)
#4
#4
print
(
sys
.
argv
[
0
]
+
": init ports"
)
for
i
in
range
(
1
,
5
):
for
i
in
range
(
1
,
5
):
if
switch
[
'port'
+
str
(
i
)]
==
1
:
if
switch
[
'port'
+
str
(
i
)]
==
1
:
init_port
(
str
(
i
-
1
))
init_port
(
str
(
i
-
1
))
else
:
else
:
print
(
"skip sensor port "
+
str
(
i
))
log_msg
(
"skip sensor port "
+
str
(
i
))
time
.
sleep
(
1
)
#5
#5
if
(
switch
[
'eyesis'
]
!=
0
)
and
(
switch
[
'framepars'
]
!=
0
):
if
(
switch
[
'eyesis'
]
!=
0
)
and
(
switch
[
'framepars'
]
!=
0
):
#time.sleep(1)
for
i
in
range
(
4
):
for
i
in
range
(
4
):
sysfs_content
=
init_port_readsysfs
(
"sensor"
+
str
(
i
)
+
"0"
)
sysfs_content
=
init_port_readsysfs
(
"sensor"
+
str
(
i
)
+
"0"
)
if
sysfs_content
==
"mt9p006"
:
if
sysfs_content
==
"mt9p006"
:
...
@@ -247,14 +294,14 @@ if (switch['eyesis'] != 0) and (switch['framepars'] != 0):
...
@@ -247,14 +294,14 @@ if (switch['eyesis'] != 0) and (switch['framepars'] != 0):
for
i
in
range
(
4
):
for
i
in
range
(
4
):
sysfs_content
=
init_port_readsysfs
(
"sensor"
+
str
(
i
)
+
"0"
)
sysfs_content
=
init_port_readsysfs
(
"sensor"
+
str
(
i
)
+
"0"
)
if
sysfs_content
==
"mt9p006"
:
if
sysfs_content
==
"mt9p006"
:
print
(
"AUTOEXP und AUTOWB, channel = "
+
str
(
i
))
log_msg
(
"AUTOEXP und AUTOWB, channel = "
+
str
(
i
))
init_other_eyesis
(
str
(
i
))
init_other_eyesis
(
str
(
i
))
time
.
sleep
(
1
)
time
.
sleep
(
1
)
init_autoexp_eyesis
(
str
(
i
))
init_autoexp_eyesis
(
str
(
i
))
init_autowb_eyesis
(
str
(
i
))
init_autowb_eyesis
(
str
(
i
))
else
:
else
:
print
(
sys
.
argv
[
0
]
+
": auto exposure and auto white balance"
)
log_msg
(
sys
.
argv
[
0
]
+
": auto exposure and auto white balance"
)
for
i
in
range
(
1
,
5
):
for
i
in
range
(
1
,
5
):
if
(
switch
[
'autoexp_daemon'
]
==
1
)
or
(
switch
[
'autoexp'
]
==
1
):
if
(
switch
[
'autoexp_daemon'
]
==
1
)
or
(
switch
[
'autoexp'
]
==
1
):
init_autoexp_daemon
(
str
(
i
-
1
))
init_autoexp_daemon
(
str
(
i
-
1
))
...
@@ -264,14 +311,14 @@ else:
...
@@ -264,14 +311,14 @@ else:
if
sysfs_content
==
"mt9p006"
:
if
sysfs_content
==
"mt9p006"
:
init_autoexp
(
str
(
i
-
1
))
init_autoexp
(
str
(
i
-
1
))
else
:
else
:
print
(
"Port "
+
str
(
i
)
+
": skip autoexp"
)
log_msg
(
"Port "
+
str
(
i
)
+
": skip autoexp"
)
if
switch
[
'autowb'
]
==
1
:
if
switch
[
'autowb'
]
==
1
:
sysfs_content
=
init_port_readsysfs
(
"sensor"
+
str
(
i
-
1
)
+
"0"
)
sysfs_content
=
init_port_readsysfs
(
"sensor"
+
str
(
i
-
1
)
+
"0"
)
if
sysfs_content
==
"mt9p006"
:
if
sysfs_content
==
"mt9p006"
:
init_autowb
(
str
(
i
-
1
))
init_autowb
(
str
(
i
-
1
))
else
:
else
:
print
(
"Port "
+
str
(
i
)
+
": skip autowb"
)
log_msg
(
"Port "
+
str
(
i
)
+
": skip autowb"
)
if
switch
[
'autocampars'
]
==
1
:
if
switch
[
'autocampars'
]
==
1
:
# shout("autocampars.php --init --ignore-revision")
# shout("autocampars.php --init --ignore-revision")
shout
(
"autocampars.php --init"
)
shout
(
"autocampars.php --init"
)
...
@@ -284,33 +331,26 @@ if (switch['eyesis'] == 1) and (switch['framepars'] != 0):
...
@@ -284,33 +331,26 @@ if (switch['eyesis'] == 1) and (switch['framepars'] != 0):
shout
(
"wget -O /dev/null
\"
localhost/parsedit.php?immediate&sensor_port=1&MULTI_FLIPV=3
\"
"
)
shout
(
"wget -O /dev/null
\"
localhost/parsedit.php?immediate&sensor_port=1&MULTI_FLIPV=3
\"
"
)
#6
#6
print
(
sys
.
argv
[
0
]
+
" SATA"
)
if
switch
[
'sata'
]
==
1
:
if
switch
[
'sata'
]
==
1
:
log_msg
(
"init SATA"
)
init_sata
(
SATA_EN
,
PYDIR
)
init_sata
(
SATA_EN
,
PYDIR
)
else
:
else
:
print
(
"skip SATA"
)
log_msg
(
"skip SATA"
)
#7
#7
print
(
sys
.
argv
[
0
]
+
" GPS"
)
if
switch
[
'gps'
]
==
1
:
if
switch
[
'gps'
]
==
1
:
log_msg
(
'Start GPS and event logger'
)
start_gps_compass
()
start_gps_compass
()
else
:
else
:
print
(
"skip GPS"
)
log_msg
(
"skip GPS"
)
# create directory for camogm pipes, symlink /var/state should already be in rootfs
# create directory for camogm pipes, symlink /var/state should already be in rootfs
if
not
os
.
path
.
exists
(
"/var/volatile/state"
):
if
not
os
.
path
.
exists
(
"/var/volatile/state"
):
os
.
mkdir
(
'/var/volatile/state'
)
os
.
mkdir
(
'/var/volatile/state'
)
else
:
else
:
print
(
"/var/volatile/state already exists"
)
log_msg
(
"/var/volatile/state already exists"
)
# start temperature monitor and let it control fan (set 'off' to disable fan control)
if
switch
[
'eyesis'
]
!=
0
:
print
(
"Eyesis: fan off"
)
shout
(
"tempmon.py --control_fan off &"
)
else
:
print
(
"Fan on"
)
shout
(
"tempmon.py --control_fan on &"
)
print
(
"init_elphel393.py DONE"
)
log_msg
(
"DONE, log file: "
+
LOGFILE
)
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