Сигнал линии модема


Командой для проверки сигнала линии модема является 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
?>