* @brief Access info or perform actions using GET requests */ include "include/elphel_functions_include.php"; $cmd = "donothing"; if (isset($_GET['cmd'])) $cmd = $_GET['cmd']; else if (isset($argv[1])) $cmd = $argv[1]; // allow CORS header('Access-Control-Allow-Origin: *'); switch($cmd){ case "sensors": print(cmd_sensors()); break; case "time": cmd_time(); break; default: print("OK"); } function cmd_sensors(){ $p0 = 2323; $sensors = get_sensors(); $res = "\t\n"; foreach($sensors as $i => $sensor){ $p = $p0+$i; $res .= "\t\t$sensor\n"; } $res .= "\t\n"; return wrap_into_xml($res); } function get_formatted_ts($ts){ $ts_s = substr($ts,0,10); $ts_ms = substr($ts,11); $ts_formatted = date("Y-m-d H:i:s.$ts_ms",$ts_s); return $ts_formatted; } function cmd_time(){ date_default_timezone_set('UTC'); exec("date +%s.%3N",$ots); $t = elphel_get_fpga_time(); $tsys = $ots[0]; print("Camera time (fpga): $t (".get_formatted_ts($t).")\n"); print("Camera time (sys): $tsys (".get_formatted_ts($tsys).")\n"); if (isset($_GET['ts'])){ // ts is in ms $ts_s = substr($_GET['ts'],0,10); $ts_ms = substr($_GET['ts'],11); $ts_formatted = get_formatted_ts($_GET['ts']); print("Your (browser) time: $ts_s.$ts_ms ($ts_formatted)\n"); if (isset($_GET['apply'])||(abs($ts_s-$t)>24*3600)){ elphel_set_fpga_time($_GET['ts']/1000); exec("date -s '$ts_formatted'"); exec("hwclock --systohc"); print("Timestamps differ by more than 24h. Camera and fpga time updated.\n"); } } } function wrap_into_xml($s){ $xml = "\n"; $xml .= "\n"; $xml .= $s; $xml .= "\n"; return $xml; } ?>