Командой для проверки сигнала линии модема является modem.
Есть 6 сигналов, которые можно проверить одновременно или индивидуально.
"get modem"
В данном случае возвращаемое значение представляет собой строку из 6 цифр в двоичной форме со следубщими значениями для каждой цифры:
(RI)(CTS)(RTS)(DSR)(DTR)(CD)
Значение 0 указывает на активное состояние, а значение 1 - на неактивное.
<?php
include "/lib/sd_spc.php";
$sid = 14;
spc_reset();
spc_sync_baud(115200);
spc_request_dev($sid, "set uart 115200N81");
spc_request_dev($sid, "set modem 11"); // RTS & DTR: active
echo spc_request_dev($sid, "get modem"), "\r\n"; // output(e.g.): 111111
sleep(1);
spc_request_dev($sid, "set modem 00"); // RTS & DTR: inactive
echo spc_request_dev($sid, "get modem"), "\r\n"; // output(e.g.): 110101
sleep(1);
?>
"get modem (signal)"
В данном случае необходимо указать название сигнала для его проверки в signal.
Сигнал | Описание |
---|---|
ri | Ring Indicator |
cts | Clear To Send |
rts | Request To Send |
dsr | Data Set Ready |
dtr | Data Terminal Ready |
cd | Carrier Detect |
<?php
include "/lib/sd_spc.php";
$sid = 14;
spc_reset();
spc_sync_baud(115200);
spc_request_dev($sid, "set uart 115200N81");
spc_request_dev($sid, "set modem rts 1"); // RTS: active
echo spc_request_dev($sid, "get modem rts"), "\r\n"; // output(e.g.): 1
sleep(1);
spc_request_dev($sid, "set modem dtr 1"); // DTR: active
echo spc_request_dev($sid, "get modem dtr"); // output(e.g.): 1
?>