jenya7 0 17 января, 2022 Опубликовано 17 января, 2022 · Жалоба Попробую спросить надеясь на чудо. Первое чудо - кто то работал с Pawn ? Второе - кто нибудь работал с Pawn на Линуксе? На контроллере запустить оказалось просто - нужно включить в проект несколько файлов с Линуксом сложней, в папке amx просто огроменная куча файлов. Кто знает какие портировать в проект? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 30 17 января, 2022 Опубликовано 17 января, 2022 · Жалоба "Курить" https://github.com/compuphase/pawn/blob/master/doc/Pawn_Implementer_Guide.pdf и нас просвещать ;-) Мало на "малине" всякого скриптового Ж8-))) добавим 100500-ое ;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 17 января, 2022 Опубликовано 17 января, 2022 · Жалоба 12 hours ago, jenya7 said: Первое чудо - кто то работал с Pawn ? Второе - кто нибудь работал с Pawn на Линуксе? А смысл ? Время потратить можно более приятно - пиво, женщины, ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 18 января, 2022 Опубликовано 18 января, 2022 · Жалоба 10 hours ago, Obam said: "Курить" https://github.com/compuphase/pawn/blob/master/doc/Pawn_Implementer_Guide.pdf и нас просвещать ;-) Мало на "малине" всякого скриптового Ж8-))) добавим 100500-ое ;-) в Pawn_Implementer_Guide.pdf эта тема не раскрыта. по крайней мере я не понял какие файлы добавлять в проект. Вам известен скриптовый движок на малине? Такой который может выполнять внешние функции? Ну поделитесь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirG 0 18 января, 2022 Опубликовано 18 января, 2022 · Жалоба Lua? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 18 января, 2022 Опубликовано 18 января, 2022 (изменено) · Жалоба 2 hours ago, VladimirG said: Lua? embLua стала и скомпилировалась без проблем (в Qt). там неплохой механизм добавления своих ф-ций в скрипт. но при запуске выдаёт ран-тайм исключения в которых я пока не разобрался. что то там с алокацией, как мне кажется, может нужно настраивать на соответствующую платформу. но нет возможности отдебагировать, уходит в лютое исключение. Изменено 18 января, 2022 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirG 0 18 января, 2022 Опубликовано 18 января, 2022 · Жалоба А зачем на линуксе embLua? Из репозитория поставить не? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 30 18 января, 2022 Опубликовано 18 января, 2022 (изменено) · Жалоба Вам известен скриптовый движок на малине? Такой который может выполнять внешние функции? Ну поделитесь. bash, python, ruby - не оно? Изменено 18 января, 2022 пользователем Obam Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 19 января, 2022 Опубликовано 19 января, 2022 (изменено) · Жалоба 9 hours ago, Obam said: bash, python, ruby - не оно? 20 hours ago, VladimirG said: А зачем на линуксе embLua? Из репозитория поставить не? у меня програма написана на С (Qt). Мне надо чтоб пользователь написал скрипт и загрузил его, а моя програма исполнит его в отдельном потоке, так как есть другие задачи которые нужно выполнять. на данный момент у меня есть интерпретатор который я написал, но он довольно убогий, хочется умощнить его, дополнить функционал. Изменено 19 января, 2022 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба Вот и пусть на питоне строчит. Или Lua. Или ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirG 0 19 января, 2022 Опубликовано 19 января, 2022 (изменено) · Жалоба 1 hour ago, jenya7 said: а моя програма исполнит его в отдельном потоке, Так если речь идёт о линуксе, то какая разница на чем будет написана программа исполняемая в отдельном потоке системным вызовом? auto proc = popen( (app_string_ + "-p LINEV -u").c_str(), "r"); auto proc2 = popen((app_string_ + "-p LOADPCT -u").c_str(), "r"); const int data_size {128}; static char data[data_size]; static char data2[data_size]; if(proc != NULL && proc2 !=NULL) { fgets(data,data_size,proc); fgets(data2,data_size,proc2); } else { std::cerr << "Failed to open" << app_string_ << std::endl; } pclose(proc); pclose(proc2); Вот пример с получением вывода исполняемого процесса. Изменено 19 января, 2022 пользователем VladimirG пример Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 19 января, 2022 Опубликовано 19 января, 2022 (изменено) · Жалоба 28 minutes ago, VladimirG said: Так если речь идёт о линуксе, то какая разница на чем будет написана программа исполняемая в отдельном потоке системным вызовом? auto proc = popen( (app_string_ + "-p LINEV -u").c_str(), "r"); auto proc2 = popen((app_string_ + "-p LOADPCT -u").c_str(), "r"); const int data_size {128}; static char data[data_size]; static char data2[data_size]; if(proc != NULL && proc2 !=NULL) { fgets(data,data_size,proc); fgets(data2,data_size,proc2); } else { std::cerr << "Failed to open" << app_string_ << std::endl; } pclose(proc); pclose(proc2); Вот пример с получением вывода исполняемого процесса. так а скрипт где? и его интерпретатор? есть сеть удаленных датчиков, которые посылают разные параметры - температуру, влажность, освещенность, позицию, и.т.д. пользователь должен выбрать какой датчик опросить и на основе полученных результатов что то сделать. вот пример //turn on a fan on overheat if TSENS1 > 30.5 then OUT1 = 1; if HSENS2 > 60 then OUT2 = 1; //turn on a sprinkler on time if TIME = 12:00:00 then OUT3 = 1; if TIME = 12:30:00 then OUT3 = 0; в моём интерпретаторе TSENS1 выражается в val = m_sensor.GetDataByValType(1, SENS_VAL_TYPE_TEMP); а HSENS2 в val = m_sensor.GetDataByValType(2, SENS_VAL_TYPE_HUM); а OUT1 = 1 вызовет Out(1, true); Изменено 19 января, 2022 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirG 0 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба Не так понял задачу.... Не проще в таком случае свой интерпритатор написать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 19 января, 2022 Опубликовано 19 января, 2022 · Жалоба 44 minutes ago, VladimirG said: Не так понял задачу.... Не проще в таком случае свой интерпритатор написать? для кого то просто. для меня сложно. я написал, но он очень простой а интерпретатор с мощным функционалом мне не по зубам. да и зачем? есть уже готовые. тот же Pawn к примеру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirG 0 20 января, 2022 Опубликовано 20 января, 2022 · Жалоба А с Pawn то какая проблема? Ради интереса с гитхаба склонировал проект, собрал и павн и амх либы без проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться