BENVENUTO!

Pannello UFC per A10C fatto in casa...

Ed ecco i file che ho mandato per il taglio al laser su plexiglass, per la modica cifra di 70€ spedizione inclusa  [:craniate]

Ordinati qui, poi sarà un bel tetris montare tutto... http://www.matterlab.it/taglio_laser/it/82-taglio-laser

I vari "pallini" li userò come spaziatori per il montaggio... Ho ordinato anche dei magnetini al niodimio potentissimi da usare al posto della colla e avere così un case che può essere facilmente smontato...
 

Allegati

  • front_panel_trasp_3mm.jpg
    front_panel_trasp_3mm.jpg
    40,1 KB · Visite: 401
  • pannelli_laterali_nero_4mm.jpg
    pannelli_laterali_nero_4mm.jpg
    18,8 KB · Visite: 401
  • sottotasti_trasp_1mm.jpg
    sottotasti_trasp_1mm.jpg
    45,9 KB · Visite: 377
  • tasti_trasp_4mm.jpg
    tasti_trasp_4mm.jpg
    25,7 KB · Visite: 421
  • top_bott_nero_4mm.jpg
    top_bott_nero_4mm.jpg
    26,8 KB · Visite: 376
Fatte anche le grafiche!
Taglio laser fatto e già spedito, magnetini di supporto arrivati... settimana prossima monto tutto!  [:headbang]
 

Allegati

  • UFC.jpg
    UFC.jpg
    63,2 KB · Visite: 404
MA-GNI-FI-CO!
Complimenti un bel lavoro preciso e pulito! [:brav:] [:brav:] [:brav:] [:brav:] [:brav:] [:brav:] [:brav:]
 
Dopo un primo momento di disperazione alla fine sono riuscito anche a far funzionare il LED del Master Caution sincronizzandolo a DCS con un listener scritto in C# e un file export.lua customizzato.

Soddisfazione estrema! Oggi monto il case in plexiglas, entro domani sera dovrebbe essere tutto pronto per il primo collaudo ufficiale!  [:headbang]
 
Tell ma ti si potrebbe commissionare un secondo UFC???  [:LOL]  Ovviamente pagando il lavoro  [:angelo]
 
Tellurico ha scritto:
Dopo un primo momento di disperazione alla fine sono riuscito anche a far funzionare il LED del Master Caution sincronizzandolo a DCS con un listener scritto in C# e un file export.lua customizzato.

Soddisfazione estrema! Oggi monto il case in plexiglas, entro domani sera dovrebbe essere tutto pronto per il primo collaudo ufficiale!  [:headbang]
Ottimo!! B)
Tellu, che funzioni hai usato per il listener e l'export? Tempo fa ci ho sbattuto la testa ma non sono arrivato a conclusioni particolarmente efficienti [ehmmm]
 
Veritas non penso che avrei il tempo per mettermi a rifarne uno da zero, più che altro per le saldature! Ore e ore di lavoro e solo di materiali e lavorazioni ormai sono sui 150 euro. Secondo me verrebbe una cosa fuori budget. Certo se avessi un po' di "ordini" potrei far stampare il circuito e a quel punto sarebbe tutto molto più veloce!

Low dopo ti copio tutto qui, ora ho le mani impastate di epossidica!

Comunque il bimbo inizia a prender forma!!

seja7y3a.jpg
 
Be se non vuoi costruirlo per gli altri puoi sempre passarci la "ricetta". [:gossip]
 
a5u6atap.jpg


Finito anche l'incollaggio dei tastini! Che sbatta... Ogni tastino è composto da tre parti di plexiglas di dimensioni e spessori diversi da incollare a occhio...
 
Ok Tellu . Me lo puoi spedire anche così , farò lo sforzo di incollare le ultime cosette . Grazie eh !!


Inviato dal mio iPad utilizzando Tapatalk
 
Tellurico ha scritto:
Low dopo ti copio tutto qui, ora ho le mani impastate di epossidica!
No problem..è che ci ho già sbattuto la testa senza successo ma sicuramente sbaglio qualche passaggio...mi riesce solo l'export su file ;)
 
Il primo test e' un successo! E domani arrivano le decals per tasti e pannello...  [:headbang]

http://www.youtube.com/watch?v=NWF6Fs-feBw

Low questo e' il file export.lua che sto usando, domani ti posto anche il sorgente in C# del listener UDP se ti serve, ce l'ho sul PC dell'ufficio...

Codice:
-- Data export script for Lock On version 1.2.
-- Copyright (C) 2006, Eagle Dynamics.
-- See http://www.lua.org for Lua script system info 
-- We recommend to use the LuaSocket addon (http://www.tecgraf.puc-rio.br/luasocket) 
-- to use standard network protocols in Lua scripts.
-- LuaSocket 2.0 files (*.dll and *.lua) are supplied in the Scripts/LuaSocket folder
-- and in the installation folder of the Lock On version 1.2. 

-- Please, set EnableExportScript = true in the Config/Export/Config.lua file
-- to activate this script!

-- Expand the functionality of following functions for your external application needs.
-- Look into ./Temp/Error.log for this script errors, please.

-- Uncomment if using Vector class from the Config/Export/Vector.lua file 
--[[	
LUA_PATH = "?;?.lua;./Config/Export/?.lua"
require 'Vector'
-- See the Config/Export/Vector.lua file for Vector class details, please.
--]]

 host = "127.0.0.1"
 port = 8124
 gArguments = {[404]="%.1f"}

-- Simulation id
gSimID = string.format("%08x",os.time())

-- State data for export
gSendStrings = {gSimID, '*'}
gLastData = {}

-- Helper Functions
function StrSplit(str, delim, maxNb)
    -- Eliminate bad cases...
    if string.find(str, delim) == nil then
        return { str }
    end
    if maxNb == nil or maxNb < 1 then
        maxNb = 0    -- No limit
    end
    local result = {}
    local pat = "(.-)" .. delim .. "()"
    local nb = 0
    local lastPos
    for part, pos in string.gfind(str, pat) do
        nb = nb + 1
        result[nb] = part
        lastPos = pos
        if nb == maxNb then break end
    end
    -- Handle the last field
    if nb ~= maxNb then
        result[nb + 1] = string.sub(str, lastPos)
    end
    return result
end

function round(num, idp)
  local mult = 10^(idp or 0)
  return math.floor(num * mult + 0.5) / mult
end

-- Status Gathering Functions
function ProcessMainPanel()
		local lArgument , lFormat , lArgumentValue
		local HSI    = LoGetControlPanel_HSI()
		local lDevice = GetDevice(0)
		lDevice:update_arguments()
		
		for lArgument, lFormat in pairs(gArguments) do 
			lArgumentValue = string.format(lFormat,lDevice:get_argument_value(lArgument))
			SendData(lArgument, lArgumentValue)
		end
end

-- Network Functions

function SendData(id, value)
	
	if string.len(value) > 3 and value == string.sub("-0.00000000",1, string.len(value)) then
		value = value:sub(2)
	end
	
	if gLastData[id] ~= value then
		table.insert(gSendStrings, id .. "=" .. value)
		gLastData[id] = value
		
		if #gSendStrings > 140 then
			socket.try(c:send(table.concat(gSendStrings, ":").."\n"))
			gSendStrings = {gSimID, '*'}
		end		
	end	
end

function FlushData()
	if #gSendStrings > 0 then
		socket.try(c:send(table.concat(gSendStrings, ":").."\n"))
		gSendStrings = {gSimID, '*'}
	end
end

function ProcessInput()
    local lInput = c:receive()
    local lCommand, lCommandArgs, lDevice, lArgument, lLastValue
    
    if lInput then
	
        lCommand = string.sub(lInput,1,1)
        
		if lCommand == "R" then
			ResetChangeValues()
		end
	
		if (lCommand == "C") then
			lCommandArgs = StrSplit(string.sub(lInput,2),",")
			lDevice = GetDevice(lCommandArgs[1])
			if type(lDevice) == "table" then
				lDevice:performClickableAction(lCommandArgs[2],lCommandArgs[3])	
			end
		end
    end
end

function ResetChangeValues()
	logfile:write("Sending all values.", "\n")
	for lArgument, lFormat in pairs(gArguments) do
		gLastData[lArgument] = "99999" 
	end
end

function ProcessOutput()
	ProcessMainPanel()
	FlushData()
end

function LuaExportStart()
-- Works once just before mission start.

    -- Open log file for export
    logfile = io.open("./Temp/Export.log", "w")

    if logfile then
        logfile:write("Log: Start", "\n")
        logfile:flush()
    end        	
	
    -- 2) Setup udp sockets to talk to touchpal
    package.path  = package.path..";.\\LuaSocket\\?.lua"
    package.cpath = package.cpath..";.\\LuaSocket\\?.dll"
   
    socket = require("socket")
    
    c = socket.udp()
    c:setpeername(host, port)
    c:settimeout(.01) -- set the timeout for reading the socket 
end


function LuaExportBeforeNextFrame()
	ProcessInput()  
end

function LuaExportAfterNextFrame()	
	ProcessOutput()
end

function LuaExportStop()
-- Works once just after mission stop.
    
	logfile:write("Log: End", "\n")
    logfile:flush()    
    logfile:close()

    c:close()
end

function LuaExportActivityNextEvent(t)
	local tNext = t
	
	return tNext
end
local Tacviewlfs=require('lfs');dofile(Tacviewlfs.writedir()..'Scripts/TacviewExportDCS.lua')

Per non appesantire il tutto io esporto solo l'output del Master Caution, tutto il resto va aggiunto dove trovi questa linea all'inizio seguendo gli schemi dettati da DCS:

Codice:
gArguments = {[404]="%.1f"}

Comunque ho preso tutto da questo post dove viene spiegato molto bene il procedimento:
http://forums.eagle.ru/showthread.php?t=97960

Qui le linee guida:
http://www.digitalcombatsimulator.com/en/dev_journal/lua-export/
 
Indietro
Alto