39 lines
1.4 KiB
PHP
39 lines
1.4 KiB
PHP
<?php
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//require_once(get_cfg_var('COMMON_PATH') . "/ditest-php/test_framework.php");
|
|
require_once("../../common/ditest-php/test_framework.php");
|
|
require_once("./DNCM.php");
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
$test = new DiTest("Verify communication status reporting", true, false);
|
|
$test->goal("Verify CAN trigger message and reporting of RSSI and BER");
|
|
|
|
function wait_for_sensor_data($sock, $deviceUID, $uid) {
|
|
while (true) {
|
|
$msg = $sock->recv($deviceUID);
|
|
if (!isset($msg['pub']))
|
|
continue;
|
|
if ($msg['pub'] != "sensor:data")
|
|
continue;
|
|
|
|
foreach ($msg['result'] as $sensor) {
|
|
if ($sensor['uid'] != $uid)
|
|
continue;
|
|
return $sensor;
|
|
}
|
|
}
|
|
}
|
|
|
|
$pubsub = new SubscribeSocket($test, $cfgSMPZMQPublishURI);
|
|
|
|
$dut = new DNCM();
|
|
|
|
$test->IsTrue($dut->can_raw_dncm_communication_status(true, 5));
|
|
|
|
$test->step("Wait for sensor:data RSSI uid " . strval(DI_RPC_UID_SENSOR_RSSI) . " publish");
|
|
$sensorData = wait_for_sensor_data($pubsub, $cfgDeviceUid, DI_RPC_UID_SENSOR_RSSI);
|
|
$test->info("RSSI: " . strval($sensorData['value']));
|
|
|
|
$test->step("Wait for sensor:data BER uid " . strval(DI_RPC_UID_SENSOR_BER) . " publish");
|
|
$sensorData = wait_for_sensor_data($pubsub, $cfgDeviceUid, DI_RPC_UID_SENSOR_BER);
|
|
$test->info("BER: " . strval($sensorData['value']));
|