Ваши комментарии

Добрый день, Евгений!

Вот пример скрипта, в нем приходят данные в канал "Feedback 1" и на их основе формируется новая команда с замененным вторым битом. После этого она может быть отправлена.

// Слово для отправки
var command;

IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("Modbus TCP"), function(item, value_in_bytes) // активируем слушатель изменения любого тега драйвера ModBus TCP
{
if(item == "Feedback 1") // указываем имя регистра
{

// получаем биты из байтов
var bits = parseInt(value_in_bytes, 16).toString(2);
var bit0 = bits.charAt(0) // от 0 до 15, если 16 битов
var bit1 = bits.charAt(1) // от 0 до 15, если 16 битов
//.. и т.д

// Бит на замену
var other_bit = "1";

// Вставляем в команду новый бит
command = bit0 + other_bit;

// отправляем слово
SendCommand();
}
});

function SendCommand () {
        IR.GetDevice("Modbus TCP").Set("Имя команды", command);
}
Добрый день, Евгений!

Для получения данных в виде строки содержащей описание xml объекта, вам необходимо:

1. создать драйвер (скорее всего HTTP) с параметрами host: 192.168.0.5 port 80
http://wiki2.iridiummobile.ru/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_%D0%BE%D0%B1%D0%BE%D1%80%D1%83%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC#.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BD.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D1.83.D0.BF.D1....

2. послать команду GET, с указанием пути /Status.xml
http://wiki2.iridiummobile.ru/Drivers_API#Send

3. написать функцию для извлечения данных, записи их в каналы команд обратной связи и
http://wiki2.iridiummobile.ru/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D1%8B_%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_iRidium_Script#.D0.A0.D0.B0.D0.B1.D0.BE.D1.82.D0.B0_.D1.81_Xml

парсер
http://wiki2.iridiummobile.ru/IRidium_DDK#.D0.9F.D0.B0.D1.80.D1.81.D0.B5.D1.80_.28.D0.BE.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D1.87.D0.B8.D0.BA_.D0.B2.D1.85.D0.BE.D0.B4.D1.8F.D1.89.D0.B8.D1.85_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85.29

4. подписать эту функцию на событие получения тестовых данных
http://wiki2.iridiummobile.ru/Drivers_API#EVENT_RECEIVE_TEXT

Примером может послужить Yahoo погода с сайта:
https://s3.amazonaws.com/iridium2_downloads/Script_Drivers/Weather.zip

Общая информация по методам с драйверами:
http://wiki2.iridiummobile.ru/Drivers_API
http://wiki2.iridiummobile.ru/IRidium_DDK


Hello,

The SetInterval method cannot take function activation as a parameter. Only a link to the function is sent to the method. Or, if you need to execute the function activation with a parameter, you need to wrap the activation inot the unnamed function. See the example:

IR.SetInterval(5000, function () {

ReadEvent(1830317336)
]);

or named:
function ReadEventCall(){

ReadEvent(1830317336)
}
IR.SetInterval(5000, ReadEventCall);


_______________________________________________________________________________________________________


Добрый день, Алексей!

Метод SetInterval не может принимать вызов функции как параметр. В метод передается только ссылка на функцию или же если требуется выполнить вызов функции с параметром, то надо обернуть вызов в не именованную функцию. См. пример:

IR.SetInterval(5000, function () {

    ReadEvent(1830317336)
]);

или именованную:
function ReadEventCall(){

     ReadEvent(1830317336)
}
IR.SetInterval(5000, ReadEventCall);



Добрый день, Евгений!
В событии EVENT_TAG_CHANGE, сохраняйте текущее состояние полученных битов, на их основе формируйте слово (например, заменив часть его на новые биты)
Добрый день, Евгений!

Для управления по битам, потребуется преобразовать числа в двоичную систему, точно так же как с 16-ой:

bytes = 0xFF;
bits = parseInt(bytes, 16).toString(2);

bit = bits.charAt(0) // от 0 до 15, если 16 битов

hi!

Thanks for information, the bug was reproduced. We will test and the bug will be fixed.

Best regrads, 
Smirnov Sergey
Hi, rriksma!

Thank you for your idea. It is available for voting for now. The more votes it gets the sooner it will be implemented.
Hi, rriksma!

iRidium SEE JavaScript can return only two property (message and name) of an Error object. For example:

IR.Log(err.message);
IR.Log(err.name);

You can not get line number with creating a error manualy by: "throw new Error". But if error generated by app then you can convert error object in "catch" to the string and to parse line number with RegEx

For example:
SyntaxError: C:\Users\Sergey\Documents\iRidium mobile 2\Settings\iRidium\Main\test.js:6:
Hi, Damian!

Please check status of connection to TV:

Drop the driver token Online to the Graphical item on the page and start emulator.
if the item is green then connection is ok.

And please read the manual of command syntax:
http://wiki2.iridiummobile.net/AV_%26_Custom_Systems_(TCP)#Sending_Commands_to_AV_Equipment


Сервис поддержки клиентов работает на платформе UserEcho