Giter Site home page Giter Site logo

pilot-assistant's People

Contributors

bssthu avatar crzyrndm avatar kerbas-ad-astra avatar olympic1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pilot-assistant's Issues

Hold Heading through 0/360* gets confused.

I think there was an issue like this before, if you are flying heading 10* and set PA to fly 350* the plane will turn the right and attempt to do a 340* turn to the target heading.

Only difference now is that the plane will start the wrong turn and then change its mind after about 10 seconds and slam the controls in the opposite direction to turn the right way.

I've also noticed that the 'Alt Hold' autopilot will first react by diving/climbing the plane in the opposite direction to what the plane was already doing. Meaning that if the plane is climbing and you set a higher altitude, PA will immediately put the plane into a dive (disregarding any limits you set) and then very slowly levels out and starts to climb. For obvious reasons, it means I cant use it during take off.

PA window no longer opens when i press the button in flight

I have no earthly idea what i did, but suddenly i can't open the window with controls, but i can still see the button, it just does nothing..

To the best of my knowledge i've not installed any mods or done anything.. Not sure what to do, but i tried reinstalling to no avail..

Adaptive Control System

Hi Cryzrndm,

      First off, I want to thank you for creating this add-on.  The accuracy of the assistant  is unbelievable for me in comparison to mechjeb and the stock SAS.

       Secondly, this isn't an issue more like a suggestion, I wanted to message you directly but there is no mechanism for direct messaging.  Have you ever considered implementing an adaptive control system?  If so, I would like to be involved in that feature.

Cheers,

Supereaglecoder

Broken version file

With the update for 1.3 you accidently removed the end closing bracket in the version file, which makes it an invalid json.

Vessel launch w/ command seat + Take Command mod disables Pilot Assistant

If a vehicle has only a command seat attached and is launched with the Take Command mod (so Kerbal spawns inside a "cockpit" in the command seat and then is auto-transfered to be in the seat itself) Pilot Assistant loses track of the vessel and cannot control it. This does not affect vehicles that only have control via a Kerbal in a command seat that are loaded with the Kerbal already sitting in the seat.

Reproduction steps:

  1. Install Take Command + Pilot Assistant 1.12.1 (no other mods necessary)
  2. Create vehicle with command seat (no other parts necessary)
  3. Use crew section of editor to ensure that Kerbal is placed in command seat
  4. Launch.
  5. Vehicle will have active Pilot Assistant until Kerbal is shifted by Take Command into command seat. After that, vehicle requires save -> reload to have active Pilot Assistant

Note: this was not an issue under Pilot Assistant 1.11.7.

MM can no longer reload database.

I'm not entirely sure if this is Pilot Assistants fault but I have never had this problem until I installed it into KSP 1.1.
When pressing 'Quick Reload database', MM will start reloading the database but get stuck around 77%, at which point the log is full of:
[LOG 10:12:03.347] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.399] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.453] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.500] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.554] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.605] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.658] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.710] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.759] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.807] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.851] [ModuleManager] Ran in 5.806s
[LOG 10:12:03.899] [ModuleManager] Ran in 5.806s

It never finishes reloading database :(

Other than that, it seems to work ok.

Move config cfg files to PluginData

ModuleManger builds up a new cache file on every start when changing config cfg files are not stored in a PluginData folder.

GameData\Pilot Assistant\Presets.cfg

-> GameData\Pilot Assistant\PluginData\Presets.cfg

Game crash : NullReferenceException

Hello,
Thank you for this great mod, I love it !
I installed your release 1.13.3.
However after installing it, my game sometimes crashes when I switch to/from the map. I've noticed this problem when i am not using pilot assistant on the mission.
I do have other mods installed but I think the logs points to this one.
Below is the error from the log.
See attached KSP.log for details.
Cheers !

[ERR 02:57:02.025] Exception handling event onTimeWarpRateChanged in class AsstVesselModule:System.NullReferenceException: 
  at (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto (System.Collections.IEnumerator)
  at UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.WarpHandler () [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.AsstVesselModule.WarpHandler () [0x00000] in <filename unknown>:0 
  at EventVoid.Fire () [0x00000] in <filename unknown>:0 

[EXC 02:57:02.025] NullReferenceException
	UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget)
	PilotAssistant.FlightModules.PilotAssistant.WarpHandler ()
	PilotAssistant.FlightModules.AsstVesselModule.WarpHandler ()
	EventVoid.Fire ()
	UnityEngine.Debug:LogException(Exception)
	EventVoid:Fire()
	TimeWarp:assumeWarpRate(Single, Boolean, Boolean)
	TimeWarp:setRate(Int32, Boolean, Boolean, Boolean, Boolean)
	TimeWarp:Update()
[ERR 02:57:02.025] Exception handling event onTimeWarpRateChanged in class AsstVesselModule:System.NullReferenceException: 
  at (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto (System.Collections.IEnumerator)
  at UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.WarpHandler () [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.AsstVesselModule.WarpHandler () [0x00000] in <filename unknown>:0 
  at EventVoid.Fire () [0x00000] in <filename unknown>:0 

[EXC 02:57:02.025] NullReferenceException
	UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget)
	PilotAssistant.FlightModules.PilotAssistant.WarpHandler ()
	PilotAssistant.FlightModules.AsstVesselModule.WarpHandler ()
	EventVoid.Fire ()
	UnityEngine.Debug:LogException(Exception)
	EventVoid:Fire()
	TimeWarp:assumeWarpRate(Single, Boolean, Boolean)
	TimeWarp:setRate(Int32, Boolean, Boolean, Boolean, Boolean)
	TimeWarp:Update()
[ERR 02:57:02.025] Exception handling event onTimeWarpRateChanged in class AsstVesselModule:System.NullReferenceException: 
  at (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto (System.Collections.IEnumerator)
  at UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.WarpHandler () [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.AsstVesselModule.WarpHandler () [0x00000] in <filename unknown>:0 
  at EventVoid.Fire () [0x00000] in <filename unknown>:0 

[EXC 02:57:02.026] NullReferenceException
	UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget)
	PilotAssistant.FlightModules.PilotAssistant.WarpHandler ()
	PilotAssistant.FlightModules.AsstVesselModule.WarpHandler ()
	EventVoid.Fire ()
	UnityEngine.Debug:LogException(Exception)
	EventVoid:Fire()
	TimeWarp:assumeWarpRate(Single, Boolean, Boolean)
	TimeWarp:setRate(Int32, Boolean, Boolean, Boolean, Boolean)
	TimeWarp:Update()
[ERR 02:57:02.290] Exception handling event onTimeWarpRateChanged in class AsstVesselModule:System.NullReferenceException: 
  at (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto (System.Collections.IEnumerator)
  at UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.WarpHandler () [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.AsstVesselModule.WarpHandler () [0x00000] in <filename unknown>:0 
  at EventVoid.Fire () [0x00000] in <filename unknown>:0 

[EXC 02:57:02.291] NullReferenceException
	UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget)
	PilotAssistant.FlightModules.PilotAssistant.WarpHandler ()
	PilotAssistant.FlightModules.AsstVesselModule.WarpHandler ()
	EventVoid.Fire ()
	UnityEngine.Debug:LogException(Exception)
	EventVoid:Fire()
	TimeWarp:assumeWarpRate(Single, Boolean, Boolean)
	TimeWarp:setRate(Int32, Boolean, Boolean, Boolean, Boolean)
	TimeWarp:Update()
[ERR 02:57:02.291] Exception handling event onTimeWarpRateChanged in class AsstVesselModule:System.NullReferenceException: 
  at (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto (System.Collections.IEnumerator)
  at UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.WarpHandler () [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.AsstVesselModule.WarpHandler () [0x00000] in <filename unknown>:0 
  at EventVoid.Fire () [0x00000] in <filename unknown>:0 

[EXC 02:57:02.291] NullReferenceException
	UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget)
	PilotAssistant.FlightModules.PilotAssistant.WarpHandler ()
	PilotAssistant.FlightModules.AsstVesselModule.WarpHandler ()
	EventVoid.Fire ()
	UnityEngine.Debug:LogException(Exception)
	EventVoid:Fire()
	TimeWarp:assumeWarpRate(Single, Boolean, Boolean)
	TimeWarp:setRate(Int32, Boolean, Boolean, Boolean, Boolean)
	TimeWarp:Update()
[ERR 02:57:02.291] Exception handling event onTimeWarpRateChanged in class AsstVesselModule:System.NullReferenceException: 
  at (wrapper managed-to-native) UnityEngine.MonoBehaviour:StartCoroutine_Auto (System.Collections.IEnumerator)
  at UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget) [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.PilotAssistant.WarpHandler () [0x00000] in <filename unknown>:0 
  at PilotAssistant.FlightModules.AsstVesselModule.WarpHandler () [0x00000] in <filename unknown>:0 
  at EventVoid.Fire () [0x00000] in <filename unknown>:0 

[EXC 02:57:02.291] NullReferenceException
	UnityEngine.MonoBehaviour.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.StartCoroutine (IEnumerator routine)
	PilotAssistant.FlightModules.PilotAssistant.VertModeChanged (VertMode newMode, Boolean active, Boolean setTarget)
	PilotAssistant.FlightModules.PilotAssistant.WarpHandler ()
	PilotAssistant.FlightModules.AsstVesselModule.WarpHandler ()
	EventVoid.Fire ()
	UnityEngine.Debug:LogException(Exception)
	EventVoid:Fire()
	TimeWarp:assumeWarpRate(Single, Boolean, Boolean)
	TimeWarp:setRate(Int32, Boolean, Boolean, Boolean, Boolean)
	TimeWarp:Update()

KSP.log.txt

PID controller derivative

derivative reacts badly to changes in setpoint even when the change is actually nothing, causing unwanted jerking.

AoA hold mode

Should be a thing, but mode UI is right out of space. Not sure what I'm going to do here

AVC data is blocking CKAN distribution

NetKAN crawler uses the AVC version compatibility in the latest release to determine which versions of KSP the mod is compatible with. PilotAssistant.version marks this mod as only 1.1.0 compatible.
Would you mind bumping the version at some point? I'll submit a PR if you want it.

Pitch Control with Speed as input

Hey Crzyrndm! I love your mods. I put a lot of mileage on them and I make sure PA is always in my screencaps (instructions to viewers and shout out to you.)

https://www.facebook.com/groups/KerbalSpaceProgram/permalink/1572714352785893/
https://imgur.com/gallery/Fxdrh
https://imgur.com/a/kANTz
https://imgur.com/a/QDPpb
https://www.facebook.com/groups/KerbalSpaceProgram/permalink/1552253851498610/
https://www.facebook.com/groups/KerbalSpaceProgram/permalink/1508687519188577/
https://www.facebook.com/groups/KerbalSpaceProgram/permalink/1547911085266220/
https://www.facebook.com/groups/KerbalSpaceProgram/permalink/1548410938549568/
https://www.facebook.com/groups/KerbalSpaceProgram/permalink/1551585144898814/

I make a lot of endurance planes and I often tax engines at the limits of their speed. For instance, my first link at the top, my KU-95, I have the speed fixed to 205m/s because any faster and the turboprops go in to a flameout condition.

However, this sacrifices performance especially in regards to altitude, which might give me a better range. Basically, I am losing TWR and altitude, or I have to constantly babysit the flight.

If I could adjust pitch based on speed, I could assure that TWR is always at peak.

Would this be a difficult request?

Thanks!

PA speed control

I think it would be useful for PA to remember your speed settings when you load a craft. I know its a little thing but it would be very handy. Maybe just make it so that speed setting can be saved in presets.
By speed settings I mean IAS, EAS, TAS and knots, m/s, etc...

Also, I noticed that PAs speed control stopped working with RPM after the speed update.
Is that RPMs problem?

Lastly, there is an inconsistency between the 3 mods that I use that show me airspeed
(PA, FAR, RPM). I know that's not PAs fault but I was wondering if there would be an easy way to match the IAS in PA with the IAS in RPM and FAR (both in knots). If no then that's fine, ill try and figure a way round it.

Binds to tab key.

Which means that switching focus becomes difficult without re-binding KSP default keybindings.

OS: Linux x64

Remove right click hiding the window in IVA.

I like the concept of being able to hide the display, but then its a nightmare trying to find it again. You end up right clicking everywhere before it actually appears again. If there is some method I'm missing then please let me know what it is.

Toggle keyboard control

I find that turning off PA in an emergency isn't really that easy and I try and use it with RPM so that I don't have the window covering half the screen.(and I use RPM inputs to change PA settings so I have no need for changing with keyboard)
If PA automatically turned off when a keyboard input is made, it could allow for quick intervention when the plane is in trouble.
There should be an option to toggle the usage of the keyboard with PA.
Making pitch or roll changes would affect the throttle control. And making throttle changes wouldn't affect the pitch and heading control.

Release for KSP 1.2.2

I noticed you already made the changes for KSP 1.2.2, but it would be very helpful if you would post a new release containing this commit.

Control Freezing

Loss of window & PA control when vehicle grabs another command part with a claw

Haven't seen this with KAS, so an interesting one.

  • Have a plane with an armed claw (klaw? the stock grabber thing) in a cargo bay
  • Have a pod floating
  • Land plane, scoop pod into cargo bay
  • When the claw grabs the pod, the camera resets * the PA window disappears & can't be reopened.
  • Nothing in the log.
  • Going to the space centre & back to the vessel resets PA ( awkward as hell for something floating, takes forever to slow down enough... )

This isn't something that we do a lot so not really surprised it's not happened before, but what a wierd bug. Will try it on the runway, PA does take it's time resetting after splashdown sometimes.

Pilot Assist working with other mods?

Hi, not sure if this is the place for requests but I couldn't get on the forums for some reason.
Sorry if it isn't.

First off. Pilot Assistant = Amazing!

Have you considered making PA compatible with other mods? There are other mods out there that your mod could work with, there would be unlimited potential.

RPM has updated to allow it to both get and set numeric data from a plugin to a persistent variable and from the persistent variable to a plugin. This means you could control PA from IVA without needing to go through menus. I currently have this set up for MJ, I can hold a specific heading and altitude without needing to go through any menus, unfortunately its MJ so it immediately spazzes out and rips my plane apart. If PA exposes its variable to RPM, it would be possible to build a very advanced autopilot.

NAV Utilities gives you directions to a runway and helps you line up, it also lets you set glide slope and runway. MJs autoland system either works badly or crashes the plane, even though you can set a glide slope, MJ will just nose dive to about 100m and then level off, only descending when it reaches the glide slope. Half the time MJ cant or wont level at 100 and just crashes. If PA had an autoland or approach function, it would be a great addition. PA has much more precision than MJ making less likely to crash.

Lastly, not really a mod but a feature. A Flight Director (FD). Basically, PA shows where it would be steering the plane but isn't in control. This leaves the pilot to fly and PA shows them where to go.

Once again, thank you for the impressive mod. I hope you consider my request and please let me know what you think. If you don't want to change it then that's fine, I understand.
Thanks again.

PA / RasterPropMonitor API request

I've had an outstanding request to expose Pilot Assistant capabilities in RasterPropMonitor. I've looked at the PA source, and it looks like the methods I'd most likely need aren't all directly exposed.

It looks like I can query the PilotAssistant class to determine which control modes are enabled, and what mode they're in, so that part's easy.

What wasn't immediately obvious was how to query the current value (eg, if I determine VertActive == true && CurrentVerMode == VertMode.Altitude, how do I query the target hold altitude?). It would be nice if I could call a method like GetCurrentVertSetPoint(VertMode.Altitude) and get a double in response.

The other API methods that would be nice are a method to disengage the pilots (unless setting the appropriate *Active Boolean directly is benign), and a method to engage a pilot / mode with a supplied set point (eg, SetVertPilot(VertMode.Altitude, 14000) ) that would enable the pilot, switch the mode, and set the altitude as requested.

I don't know how many of those changes are practical, so please let me know.

PA "set value" usability request

One thing I've noticed with PA is that I can't set a target value (say, altitude), and then press the button to hold altitude. In this instance, when I activate the control, the current altitude is selected, and then I have to re-enter the hold altitude. This can be dicey if I have just cleared the runway. Is it possible to read the current value in the input field, and use it if it makes sense? Or, have a button / checkbox that tells PA "use the value in the input field, do not load the current setting"?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.