Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
elphel-web-393
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-web-393
Commits
c86c08b9
Commit
c86c08b9
authored
Jan 26, 2022
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
overdue commit of lwir16 controls from summer 2021
parent
3040e83d
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
132 additions
and
15 deletions
+132
-15
img.html
src/index/img.html
+7
-2
index1.php
src/index/index1.php
+16
-7
lwir16.php
src/lwir16/lwir16.php
+1
-1
Makefile
src/multicam/Makefile
+1
-0
index1.html
src/multicam/index1.html
+84
-0
multicam.js
src/multicam/multicam.js
+23
-5
No files found.
src/index/img.html
View file @
c86c08b9
...
@@ -30,6 +30,8 @@
...
@@ -30,6 +30,8 @@
const
params
=
new
URLSearchParams
(
location
.
search
);
const
params
=
new
URLSearchParams
(
location
.
search
);
const
port
=
params
.
get
(
'port'
)
||
0
;
const
port
=
params
.
get
(
'port'
)
||
0
;
const
refresh
=
params
.
get
(
'refresh'
)
||
5
;
const
refresh
=
params
.
get
(
'refresh'
)
||
5
;
const
sensor_type
=
params
.
get
(
'sensor_type'
)
||
''
;
console
.
log
(
"img.html: sensor_type="
+
sensor_type
);
if
(
params
.
get
(
'port'
)
===
null
){
if
(
params
.
get
(
'port'
)
===
null
){
let
s
=
""
;
let
s
=
""
;
...
@@ -42,8 +44,11 @@
...
@@ -42,8 +44,11 @@
}
}
let
imgsrv_port
=
IMGSRV_PORT0
+
parseInt
(
port
);
let
imgsrv_port
=
IMGSRV_PORT0
+
parseInt
(
port
);
if
(
sensor_type
==
"boson640"
)
{
let
t1
=
$
(
"#cnv_div"
).
jp4
({
src
:
"http://"
+
location
.
host
+
":"
+
imgsrv_port
+
"/tiff_palette=2/tiff_telem=1/tiff_auto=0/tiff_convert/bimg"
,
width
:
1600
,
fast
:
true
,
lowres
:
2
,
debug
:
false
,
refresh
:
true
});
}
else
{
let
t1
=
$
(
"#cnv_div"
).
jp4
({
src
:
"http://"
+
location
.
host
+
":"
+
imgsrv_port
+
"/img"
,
width
:
1600
,
fast
:
true
,
lowres
:
2
,
debug
:
false
,
refresh
:
true
});
let
t1
=
$
(
"#cnv_div"
).
jp4
({
src
:
"http://"
+
location
.
host
+
":"
+
imgsrv_port
+
"/img"
,
width
:
1600
,
fast
:
true
,
lowres
:
2
,
debug
:
false
,
refresh
:
true
});
}
</script>
</script>
</body>
</body>
...
...
src/index/index1.php
View file @
c86c08b9
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
$sensors
=
get_sensors
();
$sensors
=
get_sensors
();
$sensor_type
=
"none"
;
$sensor_type
=
"none"
;
$preview_image_cmd
=
array
();
foreach
(
$sensors
as
$i
=>
$sensor
){
foreach
(
$sensors
as
$i
=>
$sensor
){
if
(
$sensor
!=
"none"
){
if
(
$sensor
!=
"none"
){
$sensor_type
=
$sensor
;
$sensor_type
=
$sensor
;
...
@@ -131,15 +131,24 @@
...
@@ -131,15 +131,24 @@
$sandp
=
"http://
{
$_SERVER
[
"SERVER_ADDR"
]
}
:"
.
(
$port0
+
$i
);
$sandp
=
"http://
{
$_SERVER
[
"SERVER_ADDR"
]
}
:"
.
(
$port0
+
$i
);
$href1
=
"
$sandp
/bimg"
;
$href1
=
"
$sandp
/bimg"
;
$href2
=
"
$sandp
/mimg"
;
$href2
=
"
$sandp
/mimg"
;
$href3
=
"
$sandp
/tiff_palette=2/tiff_telem=1/tiff_auto=33/tiff_convert/bimg"
;
if
(
$sensor_type
==
'boson640'
){
$preview_image_cmd
[]
=
'/tiff_palette=2/tiff_telem=1/tiff_auto=33/tiff_convert/bimg'
;
}
else
{
$preview_image_cmd
[]
=
'img'
;
}
$table_contents
.=
"<td valign='top'>"
;
$table_contents
.=
"<td valign='top'>"
;
$table_contents
.=
"<div class='port_window img_window'>"
;
$table_contents
.=
"<div class='port_window img_window'>"
;
//$table_contents .= "<div><a href=\"$href1\"><img class='img_window' src='$href1' style='width:300px'/></a></div>";
//$table_contents .= "<div><a href=\"$href1\"><img class='img_window' src='$href1' style='width:300px'/></a></div>";
if
(
$sensor_type
==
boson640
){
$table_contents
.=
"<div><a href=
\"
$href3
\"
><div index='
$i
' class='port_preview'></div></a></div>"
;
}
else
{
$table_contents
.=
"<div><a href=
\"
$href1
\"
><div index='
$i
' class='port_preview'></div></a></div>"
;
$table_contents
.=
"<div><a href=
\"
$href1
\"
><div index='
$i
' class='port_preview'></div></a></div>"
;
}
$table_contents
.=
"<div style='text-align:center;'>"
;
$table_contents
.=
"<div style='text-align:center;'>"
;
$table_contents
.=
"port
$i
: "
;
$table_contents
.=
"port
$i
:
("
.
$sensor_type
.
")
"
;
$table_contents
.=
"<a title='single image' href='
$href1
'>bimg</a>, "
;
$table_contents
.=
"<a title='single image' href='
$href1
'>bimg</a>, "
;
$table_contents
.=
"<a href=
\"
img.html?port=
$i
\"
title='single image, auto refreshed on load, LOW RES, displays jpeg, tiff and jp4 formats'>img</a>, "
;
$table_contents
.=
"<a href=
\"
img.html?port=
$i
&sensor_type=
$sensor_type
\"
title='single image, auto refreshed on load, LOW RES, displays jpeg, tiff and jp4 formats'>img</a>, "
;
$table_contents
.=
"<a title='multi-part image stream (M-JPEG). Played in browser as is.' href='
$href2
'>mimg</a>, "
;
$table_contents
.=
"<a title='multi-part image stream (M-JPEG). Played in browser as is.' href='
$href2
'>mimg</a>, "
;
$table_contents
.=
"<a href=
\"
mjpeg.html?port=
$i
\"
title='MJPEG stream played in html canvas' class='canvas_mjpeg'>canvas</a>"
;
$table_contents
.=
"<a href=
\"
mjpeg.html?port=
$i
\"
title='MJPEG stream played in html canvas' class='canvas_mjpeg'>canvas</a>"
;
$table_contents
.=
"</div>"
;
$table_contents
.=
"</div>"
;
...
@@ -281,9 +290,9 @@
...
@@ -281,9 +290,9 @@
index
=
parseInt
(
$
(
this
).
attr
(
"index"
));
index
=
parseInt
(
$
(
this
).
attr
(
"index"
));
if
(
jp4_previews_enable
)
{
if
(
jp4_previews_enable
)
{
//jp4_previews[index] = $(this).jp4({ip:location.host,port:2323+index,width:300,fast:true,lowres:4});
//jp4_previews[index] = $(this).jp4({ip:location.host,port:2323+index,width:300,fast:true,lowres:4});
jp4_previews
[
index
]
=
$
(
this
).
jp4
({
src
:
"http://"
+
location
.
host
+
":"
+
(
2323
+
index
)
+
"
/img
"
,
width
:
300
,
fast
:
true
,
lowres
:
4
});
jp4_previews
[
index
]
=
$
(
this
).
jp4
({
src
:
"http://"
+
location
.
host
+
":"
+
(
2323
+
index
)
+
"
<?php
echo
$preview_image_cmd
[
0
];
?>
"
,
width
:
300
,
fast
:
true
,
lowres
:
4
});
}
else
{
}
else
{
$
(
this
).
html
(
"<img width='300' src='http://"
+
location
.
host
+
":"
+
(
2323
+
index
)
+
"
/img
' />"
);
$
(
this
).
html
(
"<img width='300' src='http://"
+
location
.
host
+
":"
+
(
2323
+
index
)
+
"
<?php
echo
$preview_image_cmd
[
0
];
?>
' />"
);
}
}
});
});
}
}
...
...
src/lwir16/lwir16.php
View file @
c86c08b9
...
@@ -358,7 +358,7 @@ EOT;
...
@@ -358,7 +358,7 @@ EOT;
// TODO: use lwir16.ini
// TODO: use lwir16.ini
$eo_quality
=
97
;
$eo_quality
=
97
;
$exposure
=
1000
;
// 1 ms
$exposure
=
1000
;
// 1 ms
$autoExposureMax
=
500000
;
$autoExposureMax
=
25000
;
// 500000; ~28ms - max for 10Hz
$autoExp
=
1
;
$autoExp
=
1
;
$gain
=
2
*
0x10000
;
$gain
=
2
*
0x10000
;
$rScale
=
1
*
0x10000
;
$rScale
=
1
*
0x10000
;
...
...
src/multicam/Makefile
View file @
c86c08b9
...
@@ -4,6 +4,7 @@ OWN = -o root -g root
...
@@ -4,6 +4,7 @@ OWN = -o root -g root
INSTDOCS
=
0644
INSTDOCS
=
0644
INSTALL
=
install
INSTALL
=
install
DOCS
=
index.html
\
DOCS
=
index.html
\
index1.html
\
multicam.js
\
multicam.js
\
multicam.css
\
multicam.css
\
multicam.php
multicam.php
...
...
src/multicam/index1.html
0 → 100644
View file @
c86c08b9
<!DOCTYPE HTML>
<html
lang=
"en"
>
<head>
<meta
charset=
"utf-8"
/>
<title>
Multi cameras control
</title>
<script
src=
"../js/jquery-3.1.1.js"
></script>
<script
src=
"../js/elphel.js"
></script>
<script
src=
"../js/jcanvas.js"
></script>
<script
src=
"../js/UTIF.js"
></script>
<script
src=
"../js/exif.js"
></script>
<script
src=
"../js/jquery-jp4.js"
></script>
<script
src=
"../js/zip/zip.js"
></script>
<link
rel=
"stylesheet"
href=
"../js/bootstrap/css/bootstrap.css"
>
<script
type=
'text/javascript'
src=
'multicam.js'
></script>
<link
rel=
'stylesheet'
type=
'text/css'
href=
'multicam.css'
></link>
</head>
<!-- 192.168.0.41/multicam/index1.html?ip=192.168.0.41,192.168.0.42,192.168.0.43,192.168.0.44,192.168.0.45 -->
<body>
<div
id=
'settings'
>
<table>
<tr>
<td>
<div
id=
'rec_button'
class=
'rec_outer'
title=
'start recording'
>
<div
class=
'rec_inner'
></div>
</div>
</td>
<td>
<button
id=
'snapshot'
title=
'download snapshot'
class=
"btn btn-sm btn-danger"
>
snapshot
</button>
</td>
</tr>
<tr
id=
"toggle_awb"
title=
'Auto White Balance'
>
<td>
Auto WB:
</td>
<td>
<div
id=
"toggle_awb"
class=
"btn-group btn-toggle"
>
<button
class=
"btn btn-xs btn-success active"
>
ON
</button>
<button
class=
"btn btn-xs btn-default"
>
OFF
</button>
</div>
</td>
</tr>
<tr
id=
"toggle_aexp"
title=
'Auto Exposure'
>
<td>
Auto Exposure:
</td>
<td>
<div
id=
"toggle_aexp"
class=
"btn-group btn-toggle"
>
<button
class=
"btn btn-xs btn-success active"
>
ON
</button>
<button
class=
"btn btn-xs btn-default"
>
OFF
</button>
</div>
</td>
</tr>
<tr>
<td>
<button
id=
'system_tests'
title=
'system info'
class=
"btn btn-sm btn-success"
>
tests
</button>
</td>
</tr>
<tr>
<td
hidden
>
<br/>
<div
id=
'edit_addrs_input'
hidden
>
<div
id=
'eai_text_div'
>
<textarea
id=
'eai_text'
rows=
'4'
cols=
'30'
></textarea>
</div>
<div
id=
'eai_ok_div'
>
<button
id=
'eai_ok'
class=
"btn btn-sm btn-success"
>
ok
</button>
</div>
</div>
<div
id=
'edit_addrs'
title=
'edit ip addresses'
>
<button
id=
'ea_btn'
class=
"btn btn-sm btn-success"
>
+
</button>
</div>
<div
id=
'addrs'
>
</div>
</td>
</tr>
</table>
</div>
<div
id=
'display'
>
<div
id=
'display_status'
></div>
<hr/>
<div
id=
'display_previews'
></div>
</div>
</body>
</html>
\ No newline at end of file
src/multicam/multicam.js
View file @
c86c08b9
...
@@ -352,6 +352,19 @@ function init_port(cam_i,port_i){
...
@@ -352,6 +352,19 @@ function init_port(cam_i,port_i){
}
}
});
});
var
url
=
"http://"
+
cams
[
cam_i
].
ip
+
"/parsedit.php?immediate&sensor_port="
+
cams
[
cam_i
].
ports
[
port_i
].
index
+
"&BITS"
;
$
.
ajax
({
url
:
url
,
cam_i
:
cam_i
,
port_i
:
port_i
,
success
:
function
(
res
){
bits
=
parseInt
(
$
(
res
).
find
(
"BITS"
).
text
());
cams
[
this
.
cam_i
].
ports
[
this
.
port_i
].
bits
=
bits
;
}
});
}
}
// * if any attribute is not initialized it will be NaN
// * if any attribute is not initialized it will be NaN
...
@@ -477,6 +490,7 @@ function refresh_previews(){
...
@@ -477,6 +490,7 @@ function refresh_previews(){
if
(
cams
[
i
].
init
){
if
(
cams
[
i
].
init
){
for
(
var
j
=
0
;
j
<
cams
[
i
].
ports
.
length
;
j
++
){
for
(
var
j
=
0
;
j
<
cams
[
i
].
ports
.
length
;
j
++
){
var
cam
=
cams
[
i
];
var
cam
=
cams
[
i
];
var
is_lwir
=
cam
.
ports
[
j
].
bits
>
8
;
//var img_src = 'http://'+cam.ip+':'+cam.ports[j].port+'/img?'+ts;
//var img_src = 'http://'+cam.ip+':'+cam.ports[j].port+'/img?'+ts;
var
hst_src
=
'http://'
+
cam
.
ip
+
'/pnghist.cgi?sensor_port='
+
cam
.
ports
[
j
].
index
+
'&sqrt=1&scale=5&average=5&height=128&fillz=1&linterpz=0&draw=2&colors=41&_time='
+
ts
;
var
hst_src
=
'http://'
+
cam
.
ip
+
'/pnghist.cgi?sensor_port='
+
cam
.
ports
[
j
].
index
+
'&sqrt=1&scale=5&average=5&height=128&fillz=1&linterpz=0&draw=2&colors=41&_time='
+
ts
;
...
@@ -486,10 +500,15 @@ function refresh_previews(){
...
@@ -486,10 +500,15 @@ function refresh_previews(){
if
(
!
cam
.
ports
[
j
].
preview
){
if
(
!
cam
.
ports
[
j
].
preview
){
//console.log("preview does not exist");
//console.log("preview does not exist");
var
jp4prev
=
elem
.
find
(
".port_preview[index="
+
j
+
"]"
);
var
jp4prev
=
elem
.
find
(
".port_preview[index="
+
j
+
"]"
);
var
imgsrv_img
=
"/img"
;
if
(
is_lwir
){
imgsrv_img
=
"/tiff_palette=2/tiff_telem=1/tiff_auto=33/tiff_convert/bimg"
;
}
var
preview
=
jp4prev
.
jp4
({
var
preview
=
jp4prev
.
jp4
({
//ip: cam.ip,
//ip: cam.ip,
//port: cam.ports[j].port,
//port: cam.ports[j].port,
src
:
"http://"
+
cam
.
ip
+
":"
+
cam
.
ports
[
j
].
port
+
"/img"
,
// src: "http://"+cam.ip+":"+cam.ports[j].port+"/img",
src
:
"http://"
+
cam
.
ip
+
":"
+
cam
.
ports
[
j
].
port
+
imgsrv_img
,
width
:
200
,
width
:
200
,
fast
:
true
,
fast
:
true
,
lowres
:
4
,
lowres
:
4
,
...
@@ -503,14 +522,13 @@ function refresh_previews(){
...
@@ -503,14 +522,13 @@ function refresh_previews(){
cam
.
ports
[
j
].
preview
.
data
.
refresh
();
cam
.
ports
[
j
].
preview
.
data
.
refresh
();
}
}
//console.log(jp4prev.data.getAddr());
//console.log(jp4prev.data.getAddr());
if
(
!
is_lwir
)
{
elem
.
find
(
".hist_preview[index="
+
j
+
"]"
).
attr
(
'src'
,
hst_src
);
elem
.
find
(
".hist_preview[index="
+
j
+
"]"
).
attr
(
'src'
,
hst_src
);
}
}
}
}
}
}
}
}
}
...
...
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