Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
elphel-apps-autocampars
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-apps-autocampars
Commits
726f0565
Commit
726f0565
authored
Nov 29, 2016
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
prohibiting saving parameters if camera is not initialized
parent
64661310
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
20 deletions
+38
-20
autocampars.php
src/autocampars.php
+38
-20
No files found.
src/autocampars.php
View file @
726f0565
...
...
@@ -332,7 +332,7 @@ $initPage = $GLOBALS['useDefaultPageNumber'];
if
((
array_key_exists
(
'new'
,
$_GET
))
||
(
in_array
(
'--new'
,
$_SERVER
[
'argv'
]
)))
{
foreach
(
$GLOBALS
[
'ports'
]
as
$port
)
{
log_msg
(
"Rotating configs for port
$port
"
);
if
(
file_exists
(
$GLOBALS
[
'configDir'
]
.
'/'
.
$GLOBALS
[
'config
Dir'
]
.
'/'
.
$GLOBALS
[
'config
Paths'
][
$port
]))
{
if
(
file_exists
(
$GLOBALS
[
'configDir'
]
.
'/'
.
$GLOBALS
[
'configPaths'
][
$port
]))
{
rotateConfig
(
$port
,
$GLOBALS
[
'numBackups'
]
);
}
}
...
...
@@ -389,6 +389,9 @@ if (($_SERVER ['REQUEST_METHOD'] == "GET") && ! ($GLOBALS['init'])) { // in init
log_close
();
exit
(
0
);
}
else
if
((
$_SERVER
[
'REQUEST_METHOD'
]
==
"POST"
)
&&
!
(
$GLOBALS
[
'init'
]))
{
// in init mode should go through init steps and return XML
if
(
$GLOBALS
[
'camera_state_arr'
][
'state'
]
!=
'INITIALIZED'
)
{
respond_xml
(
''
,
'Camera is not initialized. Reboot or add "init" argument to HTTP GET request'
);
}
processPost
(
$GLOBALS
[
'sensor_port'
]);
processGet
(
$GLOBALS
[
'sensor_port'
]);
log_close
();
...
...
@@ -1362,16 +1365,24 @@ function get_application_mode() {
}
}
if
(
array_key_exists
(
'reboot'
,
$_GET
)){
$GLOBALS
[
'camera_state_arr'
][
'state'
]
=
'REBOOT'
;
$GLOBALS
[
'init'
]
=
true
;
$need_update
=
true
;
}
if
(
array_key_exists
(
'init'
,
$_GET
)){
// try it
$GLOBALS
[
'init'
]
=
true
;
$need_update
=
true
;
}
if
(
array_key_exists
(
'init_stage'
,
$_GET
)){
$GLOBALS
[
'camera_state_arr'
][
'state'
]
=
$_GET
[
'init_stage'
];
$GLOBALS
[
'init'
]
=
true
;
$need_update
=
true
;
}
if
(
array_key_exists
(
'exit_stage'
,
$_GET
)){
$GLOBALS
[
'camera_state_arr'
][
'exit_stage'
]
=
$_GET
[
'exit_stage'
];
$GLOBALS
[
'init'
]
=
true
;
...
...
@@ -2167,7 +2178,7 @@ function createConfigLink($sensor_port){
}
function
rotateConfig
(
$sensor_port
,
$numBackups
)
{
log_msg
(
"rotateConfig(
$sensor_port
,
$numBackups
)"
,
0
);
log_msg
(
"rotateConfig(
$sensor_port
,
$numBackups
)"
,
3
);
if
(
file_exists
(
backupName
(
$sensor_port
,
$numBackups
)
))
unlink
(
backupName
(
$sensor_port
,
$numBackups
)
);
for
(
$i
=
$numBackups
-
1
;
$i
>
0
;
$i
--
)
...
...
@@ -2238,14 +2249,20 @@ function parseConfig($filename) {
return
$config
;
}
function
encodeConfig
(
$config
)
{
function
encodeConfig
(
$config
)
{
// Can not use SimpleXMLElement as need comments and preserved sequence for human consumption
log_msg
(
"encodeConfig(): sensor_port="
.
$GLOBALS
[
'sensor_port'
],
0
);
// , config=".print_r($config,1));
log_msg
(
"
\$
config['defaultPage'] = "
.
$config
[
'defaultPage'
],
0
);
$xml
=
"<?xml version=
\"
1.0
\"
standalone=
\"
yes
\"
?>
\n
<!-- This file is generated by "
.
$
_SERVER
[
'argv'
]
[
0
]
.
" -->
\n
"
;
$script_name
=
(
$_GET
[
'SCRIPT_NAME'
])
?
(
$_GET
[
'SCRIPT_NAME'
]
.
" in HTTP request mode"
)
:
(
$_SERVER
[
'argv'
]
[
0
]
.
" in command line mode"
);
$xml
=
"<?xml version=
\"
1.0
\"
standalone=
\"
yes
\"
?>
\n
<!-- This file is generated by "
.
$
script_name
.
" -->
\n
"
;
$xml
.=
" <autocampars>
\n
"
;
$xml
.=
"<!-- File version -->
\n
"
;
$xml
.=
sprintf
(
" <version>%s</version>
\n
"
,
$config
[
'version'
]
);
$xml
.=
"<!-- Parameter groups that can be restored from the saved values -->
\n
"
;
$xml
.=
" <groupNames>
\n
"
;
foreach
(
$config
[
'groupBits'
]
as
$key
=>
$bit
)
$xml
.=
sprintf
(
" <%s bit=
\"
%d
\"
>
\"
%s
\"
</%s>
\n
"
,
$key
,
$bit
,
$config
[
'groupDescriptions'
]
[
$bit
],
$key
);
$xml
.=
" </groupNames>
\n
"
;
$xml
.=
"<!-- Number of parameter page that will be used as default (i.e. after camera boot) -->
\n
"
;
$xml
.=
sprintf
(
" <defaultPage>%d</defaultPage>
\n
"
,
$config
[
'defaultPage'
]
);
$xml
.=
"<!-- Number of parameter page that will be next used to save parameters (if not specified) -->
\n
"
;
...
...
@@ -2253,28 +2270,26 @@ function encodeConfig($config) {
$xml
.=
"<!-- Descriptions of the parameters -->
\n
"
;
$xml
.=
" <descriptions>
\n
"
;
foreach
(
$config
[
'descriptions'
]
as
$name
=>
$description
)
$xml
.=
sprintf
(
" <%s>
%s
</%s>
\n
"
,
$name
,
htmlspecialchars
(
$description
,
ENT_QUOTES
),
$name
);
$xml
.=
sprintf
(
" <%s>
\"
%s
\"
</%s>
\n
"
,
$name
,
htmlspecialchars
(
$description
,
ENT_QUOTES
),
$name
);
$xml
.=
" </descriptions>
\n
"
;
$xml
.=
"<!-- Parameter groups that can be restored from the saved values -->
\n
"
;
$xml
.=
" <groupNames>
\n
"
;
foreach
(
$config
[
'groupBits'
]
as
$key
=>
$bit
)
$xml
.=
sprintf
(
" <%s bit=
\"
%d
\"
>%s</%s>
\n
"
,
$key
,
$bit
,
$config
[
'groupDescriptions'
]
[
$bit
],
$key
);
$xml
.=
" </groupNames>
\n
"
;
$xml
.=
"<!-- Parameter groups -->
\n
"
;
$xml
.=
" <groups>
\n
"
;
foreach
(
$config
[
'groups'
]
as
$key
=>
$value
)
{
// log_msg("======= config ['groups'] = ".print_r($config ['groups'],1));
foreach
(
$config
[
'groups'
]
as
$key
=>
$value
)
{
$groups
=
""
;
for
(
$bit
=
0
;
$bit
<
24
;
$bit
++
)
for
(
$bit
=
0
;
$bit
<
24
;
$bit
++
)
if
(
$value
&
(
1
<<
$bit
))
{
if
(
$groups
)
$groups
.=
","
;
$groups
.=
$config
[
'groupNames'
]
[
$bit
];
if
(
$groups
)
$groups
.=
","
;
$groups
.=
$config
[
'groupNames'
][
$bit
];
}
if
(
$config
[
'parTypes'
][
$key
])
{
$xml
.=
sprintf
(
" <%s type=
\"
%s
\"
>
\"
%s
\"
</%s>
\n
"
,
$key
,
$config
[
'parTypes'
][
$key
],
$groups
,
$key
);
// log_msg ("======= " . sprintf (" <%s type=\"%s\">\"%s\"</%s>\n", $key, $config['parTypes'][$key], $groups, $key));
}
else
{
$xml
.=
sprintf
(
" <%s>
\"
%s
\"
</%s>
\n
"
,
$key
,
$groups
,
$key
);
// log_msg ("======= " . sprintf (" <%s>\"%s\"</%s>\n", $key, $groups, $key));
}
if
(
$config
[
'parTypes'
]
[
$key
])
$xml
.=
sprintf
(
" <%s type=
\"
%s
\"
>
\"
%s
\"
</%s>
\n
"
,
$key
,
$config
[
'parTypes'
]
[
$key
],
$groups
,
$key
);
else
$xml
.=
sprintf
(
" <%s>
\"
%s
\"
</%s>
\n
"
,
$key
,
$groups
,
$key
);
}
$xml
.=
" </groups>
\n
"
;
$xml
.=
"<!-- Saved parameter Sets -->
\n
"
;
...
...
@@ -2293,6 +2308,9 @@ function encodeConfig($config) {
return
$xml
;
}
function
myval
(
$s
)
{
$s
=
trim
(
$s
,
"
\"
"
);
if
(
strtoupper
(
substr
(
$s
,
0
,
2
)
)
==
"0X"
)
...
...
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