Black Shark Virtual Panel v.1.1 - Page 6 - ED Forums
 


Notices

Reply
 
Thread Tools Display Modes
Old 07-20-2016, 06:26 PM   #51
Uragx
Member
 
Join Date: Feb 2016
Location: Minsk
Posts: 147
Default

ЙЕС. Заработало. Не сразу, с подвисанием, но заработало. Спасибо за помощь!
Uragx is offline   Reply With Quote
Old 02-13-2017, 09:18 AM   #52
Uragx
Member
 
Join Date: Feb 2016
Location: Minsk
Posts: 147
Default

Ещё вопрос. Вообще-то к Создателю, но может быть кто и так подскажет. Возможно ли воткнуть экран шквала в BSVP? и если да, то каким образом? Или, допустим, "своровать" скины приборов и воткнуть их в Гадрок Хелиос?

Подчёркиваю - я ни разу не программер, посему разговаривайте как с очень тупым.
Uragx is offline   Reply With Quote
Old 02-20-2017, 10:19 PM   #53
jazzymanserg
Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 200
Default

Кто то разбирался с принимающим сокетом ? А то во всех примерах только передающий. Ну то есть чтоб передать данные в локон через сокет ?
пишу
host = host or "localhost"
port = port or 10604
socket = require("socket")
local sck = socket.try(socket.bind(host, port))

и молчёк локон всё отработал но при попытке подкючиться по порту на это адрес соообщение 10061 сокет не существует

Last edited by jazzymanserg; 02-20-2017 at 10:27 PM.
jazzymanserg is offline   Reply With Quote
Old 02-21-2017, 11:07 AM   #54
BR=55=Sevas
Senior Member
 
BR=55=Sevas's Avatar
 
Join Date: Apr 2008
Location: Севастополь
Posts: 1,653
Default

Настройки на приём и на передачу одинаковы.

Настройка
Code:
function LuaExportStart()
	package.path  = package.path..";.\\LuaSocket\\?.lua"
	package.cpath = package.cpath..";.\\LuaSocket\\?.dll"
	socket = require("socket")
	host = host or "localhost"
	port = port or 8080
	Buran = socket.try(socket.connect(host,port))
	Buran:setoption("tcp-nodelay",true)
end
прием DCSом комманд
Code:
function LuaExportBeforeNextFrame()
--получении управляющих комманд
	rs, err = Buran:receive('*l')
	if (rs ~= nil) then
		_, _, pitch, bank = string.find(rs, "(.+) (.+)")
		LoSetCommand(2001, pitch)
        	LoSetCommand(2002, bank)
        end

end
BR=55=Sevas is online now   Reply With Quote
Old 02-23-2017, 09:43 PM   #55
jazzymanserg
Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 200
Default

Дружище - лажу по всем тема - пока результата 0


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


function LuaExportBeforeNextFrame()
rs, err = с:receive('*l')
if (rs ~= nil) then
_, _, pitch, bank = string.find(rs, "(.+) (.+)")
LoSetCommand(2001, pitch)
LoSetCommand(2002, bank)
end

end

У меня крафт Су-25А.

при попытке соединения со скриптом в питоне

import socket,select
host = "localhost"
port = 8080
ne = socket.socket()
ne.connect((host, port))
ne.send(<комманда>)
ne.close()

получаю ответ что сокета не существует

При этом когда запускаю сиок, то коннект с сиок проходит нормально. соеднение проходит

Мне кажется что причина банальная

Да , кстати, фаервол отключил

Last edited by jazzymanserg; 02-23-2017 at 10:16 PM.
jazzymanserg is offline   Reply With Quote
Old 02-24-2017, 10:04 AM   #56
BR=55=Sevas
Senior Member
 
BR=55=Sevas's Avatar
 
Join Date: Apr 2008
Location: Севастополь
Posts: 1,653
Default

Проверь каким-нибудь tcp терминалом, что связь с дкс точно есть.
Я с питоном не знаком, но судя по всему проблема в нем на твоей стороне, т.к. экспорт этот работает 100%.
Дкс является клиентом, чтобы с ним работать через экспорт твой софт должен быть сервером.
Убедись, что твой питоновский скрипт создает tcp сервер.

ps погуглил, судя из твоего кода local sck = socket.try(socket.bind(host, port))
ты как раз таки создаешь клиента, а надо сервер

Это если я правильно понял тут
Calling listen() puts the socket into server mode, and accept() waits for an incoming connection.
https://pymotw.com/2/socket/tcp.html

Last edited by BR=55=Sevas; 02-24-2017 at 10:09 AM.
BR=55=Sevas is online now   Reply With Quote
Old 02-24-2017, 02:09 PM   #57
jazzymanserg
Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 200
Default

Quote:
Originally Posted by BR=55=Sevas View Post
ps погуглил, судя из твоего кода local sck = socket.try(socket.bind(host, port))
ты как раз таки создаешь клиента, а надо сервер
огромное спасибо за направление мысли

При оправки питоном строки "431=1", в СИОК переменная 431 выставляется в 1. Это я проверил. А дальше ЛУА должна прочитать данные методом receive(*l). Но ГС должен сначал в сиок послать запрос на нужныіе переменные. а потом обработать методом receive. И зачем тогда нужен СИОК ? если можнонапрямую в ГС
jazzymanserg is offline   Reply With Quote
Old 02-24-2017, 03:03 PM   #58
BR=55=Sevas
Senior Member
 
BR=55=Sevas's Avatar
 
Join Date: Apr 2008
Location: Севастополь
Posts: 1,653
Default

Не знаю что есть сиок.
Чтобы программно убрать шассии я делаю так

Code:
function LuaExportBeforeNextFrame()
--получении управл¤ющих комманд
	rs, err = Buran:receive('*l')
	if (rs ~= nil) then
			_, _, pitch, bank, dCom = string.find(rs, "(.+) (.+) (.+)")
			pitch = tonumber(pitch)
			LoSetCommand(2001, pitch)
        	LoSetCommand(2002, bank)
			dCom = tonumber(dCom)
			if dCom ~= -1		then LoSetCommand(dCom)  end
			
        end
Из моего сервера я шлю 3м параметром -1 когда ничего не надо делать, если же надо убрать шасси я однократно отправляю 68.
список других комманд есть в exporte

Last edited by BR=55=Sevas; 02-24-2017 at 04:14 PM.
BR=55=Sevas is online now   Reply With Quote
Old 02-24-2017, 07:44 PM   #59
jazzymanserg
Member
 
jazzymanserg's Avatar
 
Join Date: Oct 2016
Location: Odessa
Posts: 200
Default

А что за крафт у тебя ?
И как полностью строк аекспорта выглядит - ну та \n \s \d ?
В су 25 не кликабельнм Losetcommand содержит один параметр LoSetCommand(<command>) убрать шасси 431

Блииин - Севас - реальный чувак ! Таки да - дело было в серваке. его надо было поставить сначала на прослушку, а после коннекта слать
И за сайт спасибо !https://pymotw.com

Last edited by jazzymanserg; 02-24-2017 at 11:32 PM.
jazzymanserg is offline   Reply With Quote
Old 02-25-2017, 09:47 AM   #60
BR=55=Sevas
Senior Member
 
BR=55=Sevas's Avatar
 
Join Date: Apr 2008
Location: Севастополь
Posts: 1,653
Default

Крафт - су-27.
Строка обычная, через пробел символы-параметры и конец
типа такого "1 1 1 1\n"
BR=55=Sevas is online now   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

Similar Threads
Thread Thread Starter Forum Replies Last Post
Virtual Panel v.1.2.1 Mnemonic Общее Обсуждение 150 09-24-2017 04:09 AM
Release of new Virtual Panel v.1.2.1! Mnemonic Lock On: Flaming Cliffs 1 & 2 244 10-06-2014 04:20 PM
Black Shark Virtual Squadrons V1Rotate Multiplayer 11 09-20-2009 11:31 AM
Virtual Panel for Black Shark? Allo PC Hardware and Related Software 0 12-14-2008 09:58 AM
Virtual Panel! Mnemonic Lock On: Flaming Cliffs 1 & 2 30 01-18-2007 08:52 AM

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