BulkaCv Posted March 24, 2021 Posted March 24, 2021 (edited) Hi, I designed another version of UFC PCB. I also designed segmented displays. PCB with assembled displays will arive after this weekend and I will test it. Live 3D preview is here - https://a360.co/39aHAa4 Edited March 24, 2021 by BulkaCv Images 2
Stang Posted March 25, 2021 Posted March 25, 2021 Really great work BulkaCv !! Looking forward to building one of these. Stang out
BulkaCv Posted March 25, 2021 Author Posted March 25, 2021 It just arrived to Europe. I hope it will arrive to me tommorow
BulkaCv Posted March 25, 2021 Author Posted March 25, 2021 I can easily export UFC displays out of DCS via Export.lua function LuaExportStart() package.path = package.path..";"..lfs.currentdir().."/LuaSocket/?.lua" package.cpath = package.cpath..";"..lfs.currentdir().."/LuaSocket/?.dll" socket = require("socket") IPAddress = "127.0.0.1" Port = 31090 udp = socket.udp() udp:setpeername(IPAddress, Port) udp:settimeout(1) end function LuaExportActivityNextEvent(t) local tNext = t local lUFCDisplays = list_indication(6) udp:send(lUFCDisplays) --data = udp:receive() tNext = tNext + 0.1 return tNext end But I am stuck in sending commands to DCS. I can send commands vie DCS Bios UDP strings. But is there way to send commands received by udp:receive() function directly in Export.lua I found buttons IDs in clickabledata.lua file -- UFC elements["pnt_128"] = short_way_button(_("UFC Function Selector Pushbutton, A/P"), devices.UFC, UFC_commands.FuncSwAP, 128) elements["pnt_129"] = short_way_button(_("UFC Function Selector Pushbutton, IFF"), devices.UFC, UFC_commands.FuncSwIFF, 129) elements["pnt_130"] = short_way_button(_("UFC Function Selector Pushbutton, TCN"), devices.UFC, UFC_commands.FuncSwTCN, 130) elements["pnt_131"] = short_way_button(_("UFC Function Selector Pushbutton, ILS"), devices.UFC, UFC_commands.FuncSwILS, 131) elements["pnt_132"] = short_way_button(_("UFC Function Selector Pushbutton, D/L"), devices.UFC, UFC_commands.FuncSwDL, 132) elements["pnt_133"] = short_way_button(_("UFC Function Selector Pushbutton, BCN"), devices.UFC, UFC_commands.FuncSwBCN, 133) elements["pnt_134"] = short_way_button(_("UFC Function Selector Pushbutton, ON/OFF"), devices.UFC, UFC_commands.FuncSwOnOff, 134) elements["pnt_100"] = short_way_button(_("UFC Option Select Pushbutton 1"), devices.UFC, UFC_commands.OptSw1, 100) elements["pnt_101"] = short_way_button(_("UFC Option Select Pushbutton 2"), devices.UFC, UFC_commands.OptSw2, 101) elements["pnt_102"] = short_way_button(_("UFC Option Select Pushbutton 3"), devices.UFC, UFC_commands.OptSw3, 102) elements["pnt_103"] = short_way_button(_("UFC Option Select Pushbutton 4"), devices.UFC, UFC_commands.OptSw4, 103) elements["pnt_106"] = short_way_button(_("UFC Option Select Pushbutton 5"), devices.UFC, UFC_commands.OptSw5, 106) elements["pnt_111"] = short_way_button(_("UFC Keyboard Pushbutton, 1"), devices.UFC, UFC_commands.KbdSw1, 111) elements["pnt_112"] = short_way_button(_("UFC Keyboard Pushbutton, 2"), devices.UFC, UFC_commands.KbdSw2, 112) elements["pnt_113"] = short_way_button(_("UFC Keyboard Pushbutton, 3"), devices.UFC, UFC_commands.KbdSw3, 113) elements["pnt_114"] = short_way_button(_("UFC Keyboard Pushbutton, 4"), devices.UFC, UFC_commands.KbdSw4, 114) elements["pnt_115"] = short_way_button(_("UFC Keyboard Pushbutton, 5"), devices.UFC, UFC_commands.KbdSw5, 115) elements["pnt_116"] = short_way_button(_("UFC Keyboard Pushbutton, 6"), devices.UFC, UFC_commands.KbdSw6, 116) elements["pnt_117"] = short_way_button(_("UFC Keyboard Pushbutton, 7"), devices.UFC, UFC_commands.KbdSw7, 117) elements["pnt_118"] = short_way_button(_("UFC Keyboard Pushbutton, 8"), devices.UFC, UFC_commands.KbdSw8, 118) elements["pnt_119"] = short_way_button(_("UFC Keyboard Pushbutton, 9"), devices.UFC, UFC_commands.KbdSw9, 119) elements["pnt_120"] = short_way_button(_("UFC Keyboard Pushbutton, 0"), devices.UFC, UFC_commands.KbdSw0, 120) elements["pnt_47_121"] = short_way_button(_("UFC Keyboard Pushbutton, CLR"), devices.UFC, UFC_commands.KbdSwCLR, 121) elements["pnt_47_122"] = short_way_button(_("UFC Keyboard Pushbutton, ENT"), devices.UFC, UFC_commands.KbdSwENT, 122) elements["pnt_99"] = short_way_button(_("UFC I/P Pushbutton"), devices.UFC, UFC_commands.SwIP, 99) elements["pnt_110"] = short_way_button(_("UFC Emission Control Pushbutton"), devices.UFC, UFC_commands.SwEMCON, 110) elements["pnt_107"] = default_3_position_tumb(_("UFC ADF Function Select Switch, 1/OFF/2"), devices.UFC, UFC_commands.SwADF, 107, false, anim_speed_default, false) elements["pnt_108"] = default_axis_limited(_("UFC COMM 1 Volume Control Knob"), devices.UFC, UFC_commands.Comm1Vol, 108, 0.0, 0.1, false, false, {0,1}) elements["pnt_123"] = default_axis_limited(_("UFC COMM 2 Volume Control Knob"), devices.UFC, UFC_commands.Comm2Vol, 123, 0.0, 0.1, false, false, {0,1}) elements["pnt_109"] = default_axis_limited(_("UFC Brightness Control Knob"), devices.UFC, UFC_commands.BrtDim, 109, 0.0, 0.1, false, false, {0,1}) elements["pnt_124"] = default_button_axis_extended(_("UFC COMM 1 Channel Selector Knob"), devices.UFC, UFC_commands.Comm1Fcn, UFC_commands.Comm1Ch, 125, 124, 0.2, true, anim_speed_default) elements["pnt_124"].sound = {{SOUND_SW12}} elements["pnt_126"] = default_button_axis_extended(_("UFC COMM 2 Channel Selector Knob"), devices.UFC, UFC_commands.Comm2Fcn, UFC_commands.Comm2Ch, 127, 126, 0.2, true, anim_speed_default) elements["pnt_126"].sound = {{SOUND_SW12}}
agrasyuk Posted March 31, 2021 Posted March 31, 2021 Very nice. Can't wait to see this in action Anton. My pit build thread . Simple and cheap UFC project
BulkaCv Posted April 1, 2021 Author Posted April 1, 2021 First little steps. Video is in bad quality. In real life its much better. 3
Lobinjaevel Posted April 12, 2021 Posted April 12, 2021 Very nice, looks really good! Looking forward to seeing the complete UFC!
Hansolo Posted April 12, 2021 Posted April 12, 2021 Awesome work sir 132nd Virtual Wing homepage & 132nd Virtual Wing YouTube channel My DCS-BIOS sketches & Cockpit Album
Recommended Posts