Snusmumriken
На одной железке может гоняться сразу много скриптов условно параллельно/подряд?
OptimusZero
Нет. Это будет контролироваться семафором
Snusmumriken
Понял
OptimusZero
Ресурсов не так уж много
OptimusZero
Сейчас +100кб кода +10кб ram забирает
Snusmumriken
Просто есть шанс что можно тупо сделать луёвую обёртку вокруг всех пользовательских скриптов.
У юзера такого есть скрипт user.lua, и он такой добавляет в него функции:
function checkVolts()
if getVoltage(bla) > 100 then call(something) end
end
setInterval(checkVolts, 2000) -- call each 2 seconds
И это вот гоняется в луёвом же цикле между пользовательским кодом и железкой. В нём же можно мусор собирать через collectgarbage после каждой итерации.
OptimusZero
Вот да.к такому варианту склоняюсь
Snusmumriken
В таком случае, просто, гораздо меньше писать на сишке: один раз запустил dostring, и оно дальше гоняет луёвый код.
OptimusZero
Правда приложение многопоточное. Там через шедулер штук 6 потоков крутится
OptimusZero
Главное теперь понятно с состоянием вм. Спасибо большое
Snusmumriken
Многопроцессорная железка?
Snusmumriken
Если нет, то оно решается корутинами.
OptimusZero
Разные железки. Esp8266 и esp32
Snusmumriken
А
OptimusZero
На второй да 2 ядра
OptimusZero
Вытесняющая многозадачность
OptimusZero
Если что я ещё обращусь ?)
Snusmumriken
Да без проблем, этот чат для этого и существует
OptimusZero
по факту получается
есть буфер - в нем описаны пользовательские функции и переменные которые могут эти функции использовать
я его загружаю через luaL_loadbuffer (хотя я так понимаю можно и через dostring) - на этом этапе у меня будет проверка синтаксиса происходить
а потом через lua_getglobal и lua_pcall вызываю нужную функцию lua. при этом все глобальные переменные сохраняются между вызовами
OptimusZero
lua_close не делаем
OptimusZero
полностью
пока базовая платформа взята из arduino ide.
так пришел код от предыдущего писателя )
OptimusZero
ну и хочется чтобы скелет приложения был одинаковым для 8266 и 32
Anton
Хе.
Я спросил ровно потому, что есть у меня ощущение, что под esp32 готовые образа с lua - это freertos с vm в виде таска.
OptimusZero
да скорее всего так
просто там слишком много "лишнего"
как общая система - норм
как модуль в своем приложении - не годится
Anton
Ага.
Я больше поспрашивать кого-то хотел, как оно внутри устроено.
Ну да ладно :)
OptimusZero
я раз посмотрел код - понял что просто так там не разберешся. нашел lua на гитхабе без всяких излишеств и его использую
Anton
Вооот! :)
OptimusZero
если надо и не запрещено могу ссылку кинуть
вроде на esp работает
Anton
Буду благодарен
OptimusZero
а - низзя )
OptimusZero
лови приватом
Anton
Tnx
Snusmumriken
а - низзя )
Ты пока мелкий, подожди денёк-другой и сможешь ссылки кидать
OptimusZero
да я не возражаю ) приватом кинул человеку
OptimusZero
я ж понимаю - есть правила
Snusmumriken
Кстати на тему правил, возвращаем обратно
OptimusZero
да проверил все заработало )
спс
OptimusZero
с единой state даже проще получится
и для меня и для пользователя
Arslan
Есть тут те, кто работал с lupa?
Ivan
pupa)))))
Ivan
Простите, не удержался
Александр
Tverd
Arslan
Есть документации по api? А то найти никак не могу, есть только примеры использования
Tverd
https://pypi.org/project/lupa/ это не подходит?
Anonymous
Здрасьте братья
Anonymous
У кого Есть big head для СФГ2
Snusmumriken
У кого Есть big head для СФГ2
Где-то были немножко другие чаты и форумы по gameguardian, попробуй посмотреть там. Здесь нет разработчиков читов для игр.
Snusmumriken
@d7730e40b18b4944b1016e4652, ты хто?
Nikita
проверку бота вроде прошел, что еще нужно?)
Snusmumriken
Ivan
хера ты дерхкий
Snusmumriken
Если я не получу ответа — отправлю в бан.
Александр
Nikita
я хотел проверить насколько lua коммунити дружелюбно к новичкам
Ivan
ахахаха
Snusmumriken
А то прибывают всякие "ребят смотрите я человек, живой человек смотрите!", и нате вам, следом за ним десять тысяч ботов, и все с рекламной фигнёй адиниксбэт.
Snusmumriken
Кстати да, хороший вопрос ))
Ivan
хочу чтобы чужие библиотеки были сабмодулями в моей, не хочу лезить в кишки править пути
Snusmumriken
Очень интересно, ты тут только сегодня появился?
"парни. Как сделать, чтобы в сторонней библиотеке, которая находится в папке, я не правил пути проект https://github.com/azoyan/geopattern проблема в конкретной строке "geopattern" вот: https://github.com/azoyan/geopattern/blob/main/geopattern/sha1/init.lua#L1"
Ivan
вчера ещё, но бот не прошёл мою проверку
Ivan
тут все боты такие странные?
Ivan
нельзя нормально отформатировать сообщение?
Snusmumriken
Дейлисендбокс сутки не даёт постить.
Ivan
я в общем-то сюда захожу, когда надо что-то спросить
Ivan
хочу чтобы чужие библиотеки были сабмодулями в моей, не хочу лезить в кишки править пути
Ivan
так это чужая библиотека
Snusmumriken
Ну поправь её.
Ivan
я и так её поправил, вопрос можно ли не править
Snusmumriken
Там вот эта строка:
local common = require "geopattern.sha1.common"
Ivan
там должно быть local common = require "sha1.common"
Ivan
как в оригинале
Snusmumriken
В таком виде не править не получится.
Библиотека сама думает откуда ей реквайрить свои сабмодули. Если либописатель не озаботился — надо править.
Snusmumriken
Или добавить в package.path путь до geopattern.