# HG changeset patch # User Michiel Broek # Date 1406128338 -7200 # Node ID 480bbe88ce0e08283ad51e8c2648251ca10c407e # Parent 94aea38d4da56d66934ab05c1b17ff2cbad13ec1 Added getbus script diff -r 94aea38d4da5 -r 480bbe88ce0e www-thermferm/getbus.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www-thermferm/getbus.php Wed Jul 23 17:12:18 2014 +0200 @@ -0,0 +1,64 @@ + + * + * This file is part of ThermFerm + * + * This is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2, or (at your option) any + * later version. + * + * ThermFerm 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with ThermFerm; see the file COPYING. If not, write to the Free + * Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + *****************************************************************************/ + +require_once('utilities.php'); + + +$sock = open_socket(); +if ($sock == false) { + echo ""; + return; +} + +socket_write($sock, "LIST BUS", 4096); +$answer = ""; +while (1) { + $line = socket_read($sock, 4096); + if ($line === '') + break; + $answer .= $line; +} +socket_close($sock); +$arr = explode("\r\n", $answer); + + +$row = '['; + +/* We don't use json_encode because it doesn't work for our purpose */ +if (startsWith($arr[0], "212")) { + $j = 1; + while (1) { + if (strcmp($arr[$j], ".") == 0) + break; + if ($j > 1) + $row .= ','; + $f = explode(",", $arr[$j]); + $row .= '{"Address":"'.$f[0].'","Refcnt":"'.$f[1].'","Chip":"'.$f[2].'","Description":"'.$f[3].'"}'; + $j++; + } +} + +$row .= ']'; +echo $row; + +?>