Export.lua Mig-15BIS - ED Forums
 


Notices

Reply
 
Thread Tools Display Modes
Old 03-02-2017, 12:19 PM   #1
jazzymanserg
Junior Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 85
Reputation power: 3
jazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the rough
Default Export.lua Mig-15BIS

Собираю виртуальную кабину этого пупсика. Ни где в инете нет ни одной ветки.

До этого собирал Су-25А. 40 кнопок одна ось 4 7 сегментника , ОЛЕД , 3 галетников, 40 светодиодов и 2 платы ардуино, (ни стандартный джой на 12 кн 3 оси и хатка)для получения данных использовал Експорт луа, SIOC и PITHON, для отправки данных о джойстике - PPJoy и pithon.
Есть вариант с управлением тоже через луа

Есть у кого то наработки по этой теме?
Есть ли какие то ньюнсы в луа скриптах применительно к Мигу ?

Пока что кнопки сделал через вирт джойстик но в планах все таки експорт. Я пока что там не нашел много команд из тех что нужно.

Last edited by jazzymanserg; 03-02-2017 at 06:17 PM.
jazzymanserg is offline   Reply With Quote
Old 03-04-2017, 11:03 AM   #2
BR=55=Sevas
Senior Member
 
BR=55=Sevas's Avatar
 
Join Date: Apr 2008
Location: Севастополь
Posts: 1,474
Reputation power: 127
BR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud of
Default

Попробуйте почитать это и далее.
https://forums.eagle.ru/showpost.php...9&postcount=15
https://freemanru.wordpress.com/category/dcs-lua/

Естественно делайте поправку что многое поменялось. Скорее всего сейчас списки команд находятся в другом месте.
Метод тыка наше всё.

Last edited by BR=55=Sevas; 03-04-2017 at 11:06 AM.
BR=55=Sevas is offline   Reply With Quote
Old 03-24-2017, 01:14 AM   #3
jazzymanserg
Junior Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 85
Reputation power: 3
jazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the rough
Default

Пишу вот такой текст:

HTML Code:
dofile(lfs.currentdir().."mods/aircraft/Mig-15bis/Cockpit/Scripts/devices.lua")
dofile(lfs.currentdir().."mods/aircraft/Mig-15bis/Cockpit/Scripts/command_defs.lua")

function LuaExportStart()
 end

function LuaExportBeforeNextFrame()
	local pit = GetDevice(2)
	if pit then 
	   pit:performClickableAction(3071,1.0)--power ON
	end
	local pit = GetDevice(devices.ELEC_INTERFACE)
	if pit then 
	   pit:performClickableAction(electric_commands.Mig15_Command_BatterySw,1.0)--power ON
	end
end

function LuaExportAfterNextFrame()
end

function LuaExportStop()

end

function LuaExportActivityNextEvent(t)

end
Для теста написал - надо включить тумблер на старте.
Ну и соответственно оно не включает. В чем ошибка не пойму.
Вот отрывки из системных файлов
HTML Code:
---clicable
function default_2_position_tumb11(hint_, device_, command_, arg_)
	return  {	
				class 		= {class_type.TUMB,class_type.TUMB},
				hint  		= hint_,
				device 		= device_,
				action 		= {command_,command_},
				arg 	  	= {arg_,arg_},
				arg_value 	= {2,-2}, 
				arg_lim   	= {{-1,1},{-1,1}},
				updatable 	= true, 
				use_OBB 	= true
			}
end
-----------------------////////////////////////
--comman_defs

count = start_command
electric_commands =
{
	Mig15_Command_BatterySw			= counter();
	Mig15_Command_GeneratorSw		= counter();

	
[B]	---device.lua[/B]
	
	local count = 0
local function counter()
	count = count + 1
	return count
end
-------DEVICE ID-------
devices = {}
-- moved forward for correct initialization of another devices
-- do not changed following sequence for sim
devices["FM_PROXY"]					= counter()
devices["ELEC_INTERFACE"]			= counter()
devices["CONTROL_INTERFACE"]		= counter()
devices["WEAPON_SYSTEM"]			= counter()
devices["STANDBY_COMPASS"]			= counter()
devices["KNEEBOARD"] 				= counter()
devices["CLOCK"] 					= counter()
de
[/HTML]
В логах ни каких ошибок

Last edited by jazzymanserg; 03-24-2017 at 01:19 AM.
jazzymanserg is offline   Reply With Quote
Old 03-25-2017, 01:32 PM   #4
BR=55=Sevas
Senior Member
 
BR=55=Sevas's Avatar
 
Join Date: Apr 2008
Location: Севастополь
Posts: 1,474
Reputation power: 127
BR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud ofBR=55=Sevas has much to be proud of
Default

У вас же циклически повторяется код в BeforeNextFrame
переносите в LuaExportStart и пробуйте дальше.
BR=55=Sevas is offline   Reply With Quote
Old 03-25-2017, 08:57 PM   #5
jazzymanserg
Junior Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 85
Reputation power: 3
jazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the rough
Default

Даже если в цикле - я всего лишь включаю питание. Выключения там нет.
Но я все же попробовал, результат такой - же.
Такое впечатление что функции не работают как надо ?
jazzymanserg is offline   Reply With Quote
Old 04-04-2017, 07:17 PM   #6
jazzymanserg
Junior Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 85
Reputation power: 3
jazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the rough
Default

Ошибка была в строке pit:performClickableAction(3071,1.0)--power ON
Первый по счету элемент 3001, а не 3000
jazzymanserg is offline   Reply With Quote
Old 05-04-2017, 11:27 AM   #7
jazzymanserg
Junior Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 85
Reputation power: 3
jazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the roughjazzymanserg is a jewel in the rough
Default

Ну в общем, все мои скитания по поиску луа увенчались успехом !
Вот базовый текст

Code:
dofile(lfs.currentdir().."mods/aircraft/MiG-15bis/Cockpit/Scripts/devices.lua")
dofile(lfs.currentdir().."mods/aircraft/MiG-15bis/Cockpit/Scripts/command_defs.lua")

function LuaExportStart()
  package.path  = package.path..";.\\LuaSocket\\?.lua"
  package.cpath = package.cpath..";.\\LuaSocket\\?.dll"
  socket = require("socket")
  host = host or "localhost"
  port = port or 7777
  c = socket.try(socket.connect(host, port)) 
  c:setoption("tcp-nodelay",true) 
 end

function LuaExportBeforeNextFrame()
     GetDevice(2):performClickableAction(3001,1.0)--power ON
end

function LuaExportAfterNextFrame()
local panel = GetDevice(0)
if panel then
    panel:update_arguments()
    local AC_GEN_LAMP = panel:get_argument_value(57)
    socket.try(c:send(string.format())) 
end 
end

function LuaExportStop()
    socket.try(c:send("quit")) -- to close the listener socket
    c:close()
end

function LuaExportActivityNextEvent(t)
    local tNext = t
--    local o = LoGetWorldObjects()
--    for k,v in pairs(o) do
--       socket.try(c:send(string.format("t = %.2f, ID = %d, name = %s, country =  %s(%s), LatLongAlt = (%f, %f, %f), heading = %f\n", t, k, v.Name,  v.Country, v.Coalition, v.LatLongAlt.x, v.LatLongAlt.Long,  v.LatLongAlt.Alt, v.Heading)))
--    end
--    tNext = tNext + 1.0

    return tNext
end
НО! все это меркнет, по сравнению с проектом DCS-BIOS

Качнул, разобрался, поспрашивал Ian (Это автор проекта)
https://github.com/dcs-bios
Спасибо ему большое, хороший человек !
У них там из советских только миг был написан.
Оказалось очень простое решение
Нужно только сделать модуль своего самолета на основе
clickabledata.lua и mainpanel_init.lua
Заняло время не мало - , и в основном время ушло на то, что б разобраться с технологией
https://forums.eagle.ru/showthread.php?t=141095
В результате написан готовый модуль Mig-15Bis.Lua
Качаешь ядро
Качаешь библиотеки для ардуино
Закидываешь новый модуль в папку с модулями и правишь 2 файла Aircraft.lua и BIOS.lua
Запускаешь controll-referenc. Он сгенерит код для ардуино
Ну и потом код для ардуино, просто копируется в среду. компилируется и заливается.
Запукаем скрипт для Socat .
Потом кто во что горазд клепаем к ардуино кнопки тумблеры энкодеры потенциометры русы руды стрелочники на сервомашинках или шаговиках, лампочки и т.д.
На Мегу можно повесить до 70 -и тумблеров!
Запускаем сим и вуаля полетели
Моя реализация Кабины Миг-15 состоит не только из проекта DCS-BIOS, но,еще и из прямого ввода, то-есть делаем джой , подключаем по протоолу FMS PIC9600/ Делаем виртуальный джой
и добавляем его в PPJOY, таким методом с одной ардуины можно выжать 16 осей и 8 кнопок или 24 кнопки или 32 кнопки(пр помощи механизма модификатора)). Преимущество такого метода в том, что можно использовать AutoHotKey, но кнопках джоя, ну и потенциометры легче делать (как по мне). Недостаток малая проводимость протокола
Реализация той части что на DCS-BIOS в ардуино:
6 энкодеров 41 тумблер, 5 кнопок, один трехпозиционник (кран Шасси), 3 трехпозиционника с возвратом, так называемые, springload
И одна Ардуино МЕГА

Единственное, чего нет в модуле, так это осей, мне не понадобись, но если кто хочет может добавить из clickabledata.lua
А в общем, в проекте еще не подключены стрелочники и табло радио-частот.

Код ардуино и модуль Миг-15 в архиве
Пользуйтесь, модифицируйте, спрашивайте
Attached Files
File Type: lua MiG-15bis.lua (15.9 KB, 11 views)
File Type: zip dcs-arduino.zip (915 Bytes, 8 views)
File Type: zip dcs-arduino-lamps.zip (635 Bytes, 7 views)

Last edited by jazzymanserg; 05-04-2017 at 12:18 PM.
jazzymanserg is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT. The time now is 12:40 AM. vBulletin Skin by ForumMonkeys. Powered by vBulletin®.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.