Jump to content

overpro

Members
  • Posts

    158
  • Joined

  • Last visited

Everything posted by overpro

  1. I tried to "hook" the OutputDebugString message but the messages are totally identical with the contents in dcs.log
  2. hi guys In DCS A-10C I know I can monitor the lua script output or script error in %userprofile%\savedgames\dcs warthog\log\dcs.log but I'm unable to get any lua output or msgs of lua syntax error in dcs.log under DCSW. How can I get such log message in DCSW? Many thanks
  3. well, DCSW 1.2.0 is released but I'm still not able to use command line to bring up a multiplayer server: bin\dcs.exe -net "some mission.miz" by executing the above command dcs.exe will halt at last. in task manager you can see cpu utilization is 0%
  4. bump, does any body has the luck to start the DCS server by using cmd?
  5. Hi Panzertard, it doesn't work by following the methods you mentioned. bin\dcs --net "./Missions/Multiplayer/CSAR Coop 2.miz" The cmd above can bring up the DCS and load the mission but the server can't be seen in multiplayer server list, and the host itself can't join the plane slot either. I'm using DCS A10-C 1.1.1.1
  6. Well, if no dedicated server that's okay but please can ED implement the command line parameters to let dcs.exe go multiplayer mode directly and start a specified mission with out a single mouse click? If this can be done I believe most server admins will feel happy.
  7. ha I don't think there are peoples implement such an auto control to cheat, why don't focus on the most demanding features such as a pure console based server application, the server keeps crashing and crashing .... and I have to restart it manually, but you know it is frustrating.
  8. This is actually just for fun, with helios we can make a new control panel and set the desired speed in there, so people can set the desired speed. And I think with a minor update to the tcpClient.lua I can change the target speed on the fly as well.
  9. I have rewrite the tcpServer.lua and uploaded a new file : tcpClient.lua. it's for change Kp, Ki, Kd during tcpServer.lua is running. usage: lua tcpClient.lua 100 10 1 100 -- Kp 10 -- Ki 1 -- Kd Please note that the tcpServer.lua is updated, you need to download it again :)
  10. I noticed the algorithm is not correct: -- the D part local PID_D = Kd * (TASDelta - [b][i][u]LastTAS[/u][/i][/b]) / tDelta I think it should be -- the D part local PID_D = Kd * (TASDelta -[u][i][b] lastDelta[/b][/i][/u][b][i][/i][/b]) / tDelta because D part is the error's change rate. I have updated my original post as well as the attachement.
  11. ah, this is interesting! I will have a try.
  12. Hi all, by using Export.lua, I can get the TAS - TrueAirSpeed and I can control the throttle position by using LoSetCommand(2004, throttlePosition) and I'm thinking to use TAS to control the throttle position by using PID algorithm, but I'm unfamiliar with this subject. By reading wikipedia I got some basic knowledge : http://en.wikipedia.org/wiki/PID_controller Please see the attached image, the test shows it's not acceptable. The response speed is too slow, and overshoot is big, the stable error is large, and seems it's not even a stable control. X is time in seconds, Y is KTAS, the target KTAS is 220.5 :doh::joystick: this is my code: local TargetTAS = 220.50 -- I want A10 to keep 220.50 KTAS local LastTAS = 0.0 -- the previous sampled TAS local TAS = 0.0 -- the current sampled TAS local Thrust = -0.5 -- set the initial Thrust position to -0.5 local T0, T1 -- T0 is the last sample time, T1 is the current sample time local lastDelta = 0 -- the TAS Delta ( the value of TAS - TargetTAS) of the last sample time, local IntegralSum = 0 --Integral sum, function AutoThrust() if T0 == nil then T0 = T1 return end local tDelta = T1 - T0 -- tDelta is the elapsed time between last sample time and the current sample time local Kp = 2 -- PID value local Ki = 1 local Kd = 1 local TASDelta = TargetTAS - TAS -- the speed delta between real and target speed local PID_P = Kp * TASDelta -- calculate the P part -- calculate the IntegralSum IntegralSum = IntegralSum + TASDelta * tDelta -- integral saturation if math.abs(IntegralSum) > 1000 then if IntegralSum > 0 then IntegralSum = 1000 elseif IntegralSum < 0 then IntegralSum = -1000 end end local PID_I = Ki * IntegralSum -- the D part local PID_D = Kd * (TASDelta - lastDelta) / tDelta -- P+I+D local Pout = PID_P + PID_I + PID_D -- map the PID value to Thrust position value [ -1, 1] , -1 is the max throttle, Thrust = Pout / -2000 --update some value lastDelta = TASDelta T0 = T1 textOutput = string.format("t=%f;Thrust=%f;TAS=%f;TASDelta=%f;Pout=%f;P=%f;I=%f;D=%f;\n", T1, Thrust, TAS, TASDelta, Pout, PID_P, PID_I, PID_D ) print( textOutput ) logFile:write( textOutput ) end I played xplane for long time and I know the auto throttle works very well: fast response, no overshoot, and it's stable. any suggestions on how to implement an automation throttle is appreciated :) If any one has the interesting to have a try, please download export.lua, tcpServer.lua run tcpServer first by execute: lua tcpServer.luaand start a A10 instant mission, engage the auto pilot. the data will be recored to export.log, use GNU Octave script to plot the TAS data by execute plotA10Data("export.log") note: extract OctaveScriptsForPlotData_m.zip to YourOctavePath\share\octave\3.6.0\m\ The Kp, Ki, Kd is hardcoded in the tcpServer.lua script but you can change it on the fly by using script tcpClient.lua, usage: lua tcpClient.lua 5 2 1 5 2 1 is 3 numbers represent Kp Ki Kd Export.lua OctaveScriptsForPlotData_m.zip tcpServer.lua tcpClient.lua
  13. any idea?
  14. Hi ED Just wondering if BS2 uses starforce AAA just as DCS Warthog. thanks
  15. In my impression if steam release uses any 3rd party DRM like Starforce, then steam should mention "3rd party DRM: starforce" in the intro page, within the "Game details" section. but DCS A10-C is not the case: http://store.steampowered.com/app/61010/ But this game uses 3rd party DRM: Stalker - Clear sky : http://store.steampowered.com/app/20510/
  16. You can set to SPI ON by hold down "Delete" key on your keyboard (the DMS Left button, Long)
×
×
  • Create New...