Working-Title-MSFS-Mods / fspackages

Working Title FS Packages
MIT License
1.16k stars 109 forks source link

G1000 autopilot FLC mode Nose Up/Nose Down reversed #89

Closed jonasbeaver closed 3 years ago

jonasbeaver commented 3 years ago

I didn't know if it was going to be fixed in the patch (I reported it more than once to MSFS Zendesk - with acknowledgement) or if its in the scope of what y'all are doing with the G1000 but...

Exactly as the title says!

To reproduce: Climb out in any G1000 aircraft. Pre-select an altitude higher than you are. Hit FLC (it will capture FLC with your current airspeed, this is accurate). Press Nose Up. In the real aircraft, nose up means your airspeed goes down, because the nose of the airplane goes up. In the sim, Nose Up increases the airspeed lowering the nose. This is reverse of reality. Using VS, nose up will increase positive vertical speed raising the nose, FLC does the same (except in the sim where its backwards!).

Also regarding FLC, it cannot be set below the lowest operating airspeed of the GFC700 configuration for that aircraft. For example, in the G36 if you aren't moving and hit FLC it will set 80kts and cannot be set lower. If I remember its 70kts for the DA40NG, either way its in the POH under the minimum airspeed for autopilot operation listed with the specific airspeed. with FLC, you can't set the speed below minimum, even if you are currently stationary.

Last, would a curator of all these suggestions and organizing them into one space be a good idea? I liked how we had just one thread where people would add to the list. Perhaps we can have an organized master list of everyone's suggestions which y'all can triage into what's easy/important, what's specific to only 1 or 2 G1000 flavours (meaning the G1000s from different airframe manufacturers... like everything beechcraft being in Celcius). I can see a challenge in trying to sort through the mud of all this, people adding suggestions that only exist in the nxi version (which isn't modeled at all in the sim, or from what I understand you guys are doing), or specific to one model, etc.

kaosfere commented 3 years ago

Hey, thanks for the report! I think I'd read someone else in passing outside the context of this mod mention that same behavior. It feels like it should be an easy fix, but that's always a risky thing to say. I've added it tentatively to the project board for our next release.

As for curating, yes, that's definitely a bit of a challenge. :) I was playing with milestones and projects on Github today to try to figure out a way to keep it somewhat more managable and decided I like the projects feature. I have all of our standalone issues imported into either the current project or a v.Next project and I started diving into the handful of posts we have which are a dump of multiple issues and got one (a whole one!) converted to individual issues we can workflow.

There are two things that could be really helpful:

a) Someone with the patience to go into the remaining mega-issues, see what's there, pull out any redundancies, and open tidy single issues for the things which seem in-scope and actually doable. Or,

b) Someone with the time and knowledge to make a triage pass on issues we already have but haven't yet handled to confirm that they exist and -- in particular for things which aren't obvious errors like FLC working wrong -- make sure that the suggested fix is appropriate.

For this latter one someone who has working knowledge of the G1000 in the real world (or at least, the Garmin trainer and a willingness to experiment and read some docs) would clearly be the most helpful, but really, any help is appreciated. If either of those sound like something you'd be up for, let's talk. :)

jonasbeaver commented 3 years ago

I've been trying my best to add the bugs and features to the list of every day things I do with the plane. I'm a bit lucky, I'm the concierge pilot at a resort airport who gets to fly a number of really interesting things, so far this year I've got time in 4 different G1000s, 2 G3000s, and next week I get to play with a G3X in a brand new american champion scout. It also means my schedule is weird (I should be in chicago in three weeks with an M20R , I need to find a coat), usually my weekends are busier than my weekdays, I actually have tomorrow free.

For the a) part, I don't even know how to tag things in github yet, I'd be pretty useless until I've learned more (1st timer) For the b) part, I can go through what's on their now and try to make an organized master list separating bugs/features in the way I'd see fit, giving values to what I think are of most importance and try to guess at what you and the magicians would think is the most difficult.

I'd be happy to discuss how I can help further, I'm impressed with this project and I like the teamwork.

jonasbeaver commented 3 years ago

https://github.com/Working-Title-MSFS-Mods/fspackages/projects/3#card-45923486

This is the project feature you are talking about I believe? A) its really cool B) my name is on there quite a bit, lol C) can I try a track up build?

kaosfere commented 3 years ago

It's awesome that you're interested in helping, I really appreciate it. I just looked and, unfortunately, it seems like only organization members can edit tags at the moment. :( Give us a little bit to figure out how we could best run that role and I'll let you know. Even if it ends up just being a wiki page that can be edited with lists of issues that alone would be really helpfull. I'll follow up on that ASAP.

And yep, that's the project I was talking about. The guys working focused on the CJ4 are using a Trello board to organize their work, but I wanted to try using Projects here, since they're integrated with the entire github workflow. If there's a PR on the board it automatically goes into in progress / review / done as people interact with it which could be a real timesaver.

Anyway! I really appreciate the offer. Let's see how we can best provide a way for you to give us a hand. Your contributions so far are definitely very much appreciated.

kaosfere commented 3 years ago

Oh, and I missed answering C. :D I want us to finish implementing the data-saving logic on top of the recent contribution we got from @tavip for using the data storage API and then I think I'd be comfortable sharing a pre-release with a few knowledgeable folks for early feedback. Hopefully it'll be within the next day or three.

jonasbeaver commented 3 years ago

Sweet news on the test! The work done on the CJ4 is impressive. My experience ends at a cj1+ but I have a friend who that is his main ride and I'm curious to get him to try. What I can do for fun right now is go through what is there is so far, get all the info in one place and then start organizing it. I'm not afraid to use notepad.exe for the job

kaosfere commented 3 years ago

What I can do for fun right now is go through what is there is so far, get all the info in one place and then start organizing it. I'm not afraid to use notepad.exe for the job

That would be amazing if you would. I have been obsessed for the past 3 days with getting the final major feature before 0.3 is ready (persisting settings between sessions) done, but I now have a final PR out for review on that. I'll have the brainpower now to spare on the last details 0.3 release and working with you to do some roadmap planning. :)

If when you go through things you find any that seem like they might be easy fixes -- graphical tweaks, values which look slightly wrong, that sort of thing -- flag them and we'll see about adding them into the 0.3 project before release.

And I'll catch up with you more tomorrow... er. Today. It's after midnight here. :D

jonasbeaver commented 3 years ago

Hey, its early! I'm all proud of myself, I got into the xmlenginedisplay.js and managed to switch the DA62 from load% in the 10s and rpm to the single rpm and reversed it to be true to the plane, now load is in 1% and rpm is in 10s.

I will weed through the to-do list on the project file, then go through each G1000 item mentioned in issues, just 'getting it on paper' and I will organize from there.

There are a lot of FLP direct-to and messing with the flight plan function requests that I will separate from the g1000 graphical display stuff for example.

I didn't like any of the DA62 adjustments, so I did it myself. I've never flown the thing but it goes by book #s pretty well

kaosfere commented 3 years ago

I'm all proud of myself, I got into the xmlenginedisplay.js and managed to switch the DA62 from load% in the 10s and rpm to the single rpm and reversed it to be true to the plane, now load is in 1% and rpm is in 10s.

Nice! Careful, next you'll be rewriting the autopilot logic and wondering why that's what you're doing with your free time. 😀

Thanks for weeding through things, I'll chat with the guys today about putting up a wiki or something to house it.

jonasbeaver commented 3 years ago

Smart. I'm awake! I had a trip to oklahoma cancel today (hopefully just postpone until tomorrow) so I'm getting back on it now.

I was so surprised my changes worked:

class XMLVerticalDoubleGauge extends XMLGauge { constructor() { super(...arguments); this.endY = 15; this.beginY = 95; this.height = 100; this.textIncrement = 10; this.textPrecision = 1;

I changed the second last line from 1 to 10 and added the last line and made it = 1. It seems to me that this was on the list of things to be checked/fixed and never made the final cut (since there was a call for textPrecision in the gauge with no definition?). Warnings come on at 95% Load, the gauge was only able to display 90% or 100%, c'mon asobo! I haven't done any programing since I made a C+ inventory tagging system for a warehouse robot in the late 1990s, I don't miss it a whole lot, lol.

I was inspired by the work by Carbonprop https://forums.flightsimulator.com/t/garmin-vfr-map-mod-updated-to-1-8-3/256099/47 It took twice as long to figure out what he did than it did for me to extrapolate that and add it to the double vertical gauge.

jonasbeaver commented 3 years ago

G1000 MSFS2020 Squawk list.docx

jonasbeaver commented 3 years ago

I should have put that as v0.1 or something, I'm not entirely sure what's finished and what's not so I didn't organize based on that. I tried to organize bugs/partially implimented but needs help/new features based on what I guess will be simple and what I know is important.

kaosfere commented 3 years ago

Yeah, there seem to be a fair few things that were only partially implemented, or that have logic implemented but no code actually using it.

This list is amazing, thanks! I'm going to go through this to cross out the things that we've already taken care of (you may have noticed some issues moving to the right on the project board. :D) then anything else that might make sense to pull in as a quickie before 0.3 goes out. Then this is absolutely going to be the basis of the planning for the next version along with fixing some more of the broken AP logic.

kaosfere commented 3 years ago

G1000.MSFS2020.Squawk.list-rcj.docx

Here you go, just for fun a copy of this with the things already take care of (or mostly taken care of) crossed out. We don't yet have all the saveable preferences saved, so it's great to have a list of the things that are. Track up is the actual default? I didn't know that... I can tweak the default value that the new preference loading code uses for that.

@knighty has been getting a head start on drawing preview maps of waypoints. Won't be ready for 0.3 as there are some real difficulties there to handle, but we're working on it. :D

edit: I forgot to srcatch out the ENGINE pages, that will be in the release coming out soon!

jonasbeaver commented 3 years ago

Engine info will have to be individualized for each plane, the 172 looks way different from the bonanza from the da40ng, that will be interesting. A generic placeholder would work though, it may have to. The bonanza guys are having to use 4 cylinder representation to get performance specs close, I wonder how that will show up. Awesome news, I'm just amazed at the skill level.

Most of the "incomplete" features dive into msfs's flight plan it seems, I wonder if there is a way to make that more active and living and modifiable in game?

kaosfere commented 3 years ago

Yeah, I should say we have a set of 3 engine pages templated out, they've been completed for the G36. I would like to be able to ship with ones for all the default planes, but I'm thinking it'll come as an additional package so it's optional for folks. It will fail gracefully though, sot hat if an advanced XML config isn't present it'll show the stock gauges.

And, you're right, some of the ugliest bits are in the "core" sim flight plan code which is... not great, at this point. We can fix some of them, but I think that implementing OBS/SUSP, for example, might be a real challenge.

Challenge is fun, though...

jonasbeaver commented 3 years ago

Also, is there an agreed standard people are working toward? It seems like Asobo have basic functionality on a circa 2010-2017 G1000 system for all their aircraft. Modders could theoretically turn off WAAS capability and synthetic vision and represent a 2004-2010 aircraft. The NXi version (2018-present) in its background logic is closer to the G3000 and I vote hard against adding that to what y'all are doing to this G1000, its not much different (compared to say the 530 ) but it would muddy the waters quite a bit.

jonasbeaver commented 3 years ago

I also tried to add you on xbox and sent a message. I've only used steam before this so I'm not sure if it worked, but it lists you in my list of friends flying!

CkovMk commented 3 years ago

Also regarding FLC, it cannot be set below the lowest operating airspeed of the GFC700 configuration for that aircraft

This setting is in system.cfg file, [Autopilot] part, I believe.

kaosfere commented 3 years ago

Oof, I missed those comments, sorry! I don't really use my xbox account for anything other than MSFS, I'm not even sure how to see my friends list. I'm mostly a steam guy, too. I'll see if I can figure that out.

@CkovMk , that is really useful to know! Since I'm now able to read the configuration files from within the gauges themselves I should be able to parse that one startup to set a lower limit for engaging FLC fairly easily.

jonasbeaver commented 3 years ago

lol, I'm a steam guy, but not for flightsim. I didn't want either to have much control so I have everything on its own drive, virtual links to things that need it. I had a hell of a time figuring friends out (a buddy and I were doing some back country tours during the first week), apparently if you get the xbox game bar to work (win-G) in game, it'll pop up your friends. I hate cortana, I hate anything extra so I had blocked all the forced xbox services long ago. I had to re-enable it and make sure the terendo crap worked to get the xbox game bar to work. From there its easy.

Track up is amazing. The issue I am having is the plane in track up is perfectly in the center of the screen when in real life track up is about 2/3 of the way down the screen. One of the two big advantages of track up is that you get quite a bit more forward view of what's coming up, it helps for picturing where you are and having it make sense in your mind, but the further ahead you can see with the same detail with track up is equally important. I don't know if that's an easy fix, maybe have a map larger and then have it off centre with the bottom cut off?

The picture demonstrates what I mean. Its not in any book that I know of, but I measured the ratio from plane centre to top and then bottom. It comes out at 2.5 above to 1 below. I used my thumb, feel free to be more accurate. image