MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

05/03/2024 - This forum is read-only

The community support for MobiFlight has moved exclusively over to our Discord server. Register for free and enjoy more interactive functions like image and video upload, voice chat. More than 7,000 registered users around the world make it a great experience!

See you on our MobiFlight Community Discord server.

A HUGE Thank You to everyone who participated in the forum, especially obviously to Pizman and Stephan who did an outstanding job over so many years providing an incredible service to the MobiFlight community.

The forum is still providing a lot of good content, hence we keep this information accessible.

icon
Avatar
Julesta
Posts: 129
Hi!.

I´ve 2 LCD (20x4) (8 values each one) and several encoders and Buttons. When I start MB always one or two, LCD start with the test values. I need to touch one encoder for the LCD will show the values that receive from FS2020. Or, at 1-2 minutes the LCD start...

As I told you, the values of the LCD have a big delay to change, and the problem is not , I think, the comnunication between MB and FS2020, because when I change the values in MB they changed in FS2020, but NOT will change in the LCD. They have a big delay...always. More than 15 seconds normally.

Merry Christmas
2020-12-25 12:16
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Thats not logical.

If you change a Value ( e.g. COM1 ) and the Change occure in the Sim ( Virtual COM1 Display)..... Then also your LCD must show nearly in same moment ( just milliseconds later) the new Frequency.

Basicly there is NO COMBINATION between a Input and a Output !

The INPUT send a signal from Encoder into the Sim.... It not know or care about if you use a Display to show that value.... It JUST send the Command.

Otherway..... The Display not know or care about the Encoder.... It simply READ the Value from the current SIM Situation and show it on the Display.
So it´s no matter if you change the Frequency by a real encoder.... or by a Mouseaction in the Virtual Cockpit or if it´s change by the Autopilot e.g.....
Mobiflight simply show the current Value in the Sim ! .

So for me at this point there is no logic why it should take 15 seconds or so.

1. Can you give us a example we can rebuild this situation ?
2. Does the Problem also occure in a BASIC Situation.( Only one LCD active.... Only ONE Value in Use.... Just for testing)
Good Luck !
2020-12-27 13:55
Avatar
Julesta
Posts: 129
HI. Is difficult to explain the issues only by word. I´m thinking that I´m a rare man with rares issues... w00t: :w00t: :w00t: :w00t:

I start MB and I get in one LCD (16x2) only the text that I use to program the MB. Look. Example:

Nav1 : ###.##
Stby : ççç.çç

The other LCD only show MOBIFLIGHT ROCKS!...

If I want to see the dates I need to swich to any different value that the LCD show. Example: COM1, COM2, NAV2, ADF, DEM, ZPDR... Then all works fine. Perhaps I wrote an error with the encoder. NO encoder: is the rotate swich (7 values). Also with the other LCD. ALWAYS.

It´s not important, because I can live with it, but is ugly:w00t: :w00t: :w00t: as how I can´t read the program I only can to write to you...

With the LCD I get some issues. When I try to use the TEST I change Test, Stop... If I change Test...Ok, after this STOP, and the LCD not display nothing and If I change to TEST, is the same. I´ve have to change several times and normally I come back to any positive display.

I think, that all about LCD is a little crude yet. Too new??? B) B) B)

Thanks for your help.
2021-01-04 14:54
Avatar
Hortax
From: LFST, France
Posts: 19
Supporter
Hi Julesta,

Just a stupid question : Are your LCD's on different adress ? 0x27 and 0x26 for example ?
That could explain your problems if you haven't changed it. (see https://www.mobiflight.com/forum/message/5834.html )
2021-01-04 15:06
Avatar
Julesta
Posts: 129
Of course it is. ALL my LCD have a different adress. My problem is different The LCD work fine but at start no. Thanks.
2021-01-06 10:43
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
This sound like a Precondition problem !

At Startup of the MEGA Both Displays should show "Mobiflight Rocks" ( When Mobiflight Connector is not loaded or not already in RUN mode)

If you RUN Mobiflight the "Mobiflight Rocks" should disapere and the Configs will feed them with the Data you like to show.

If you select for example in your Config only the first Display ( and the second have NO config) then in theory the first will show the Values.... The Second remain in "Mobiflight Rocks" cause it not recive Data from the Software ( cause not in use currently)

So for me it sounds like you have a wrong PRecondition system or maybe a Double Config that controll the same Display twice.
We need to see the Config File or a detailed guide what you doing here.

Basicly i wondering..... You use 2 Displays same time.... Why do you need a selector switch then. 2 Displays show 8-16 Values. No need to switching right ?
Good Luck !
2021-01-07 15:55
Avatar
Julesta
Posts: 129
Sorry the delay to answer.

With the 2 LCD I´ve:

in one LCD: NAV1, STBY, NAV2, STBY, COM1, STBY, COM2 ,STBY, ADF,STBY, DEM1, DEM2, XPDR

LIke this example:

Nav1 : 110,50
Stby : 113,90 When I start I get:

Nav1 : ###,##
Stby : xxx,xx and when I change the switch all works fine. similar with the other LCD Uhmmm....

And so on.

in the other LCD: ELEVATION AUTOPILOT (AP), ELEVATION ACTUAL, VSP (AP), VSP ACTUAL, COURSE VOR1, COURSE VOR2, SPD (AP), SPEED ACTUAL, WIND force, WIND direction, TEMPERATURE, MB, HPA...

I use the selector SW to change it

I was thinking that when I use the TEST something is wrong, because when I return to TEST to normal, the display goes empty... And I nedd to change several times to get the values.

It´s a pity do not can send images here or videos You will could see my COCKPIT working...

With MB I have programed exactly that I programed with LINKS2FS and I´m very happy with it. My cockpit is in 195x95x50 It has 2 LCD (20x2), 2 encoders, 1 button (swapping) and 2 switches and 1 arduino 2560 of course.

Thank you very much for your effort to help me.
2021-01-14 23:03
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Badly without pictures or Video i still not understand the master problem.....

But if i undertand right and your problem only occure when you use the TEST Button in the Main Panel of Mobiflight ( Next to Start and Stop)
Simply not use it..... If all work fine there is no need to use this button.

Let me say.... I work over years with Mobiflight but i can not remember when i use the TEST Button last time. Pretty sure years ago.
If you connect a new elemnt it make sense to test it a single time. But then you will not need this button for the neyt 100 Years !
Good Luck !
2021-01-15 13:29
Avatar
Julesta
Posts: 129
Hello

I only use TEST only when I connect a new LCD to see how the display is. The problem is that I do not know why, MB remember only at start the test display. It´s not important for me, but I thought that Sebastian could know.

Ok, my friend. It was a pleasure to be helped by you. You are a good partner and I´ve learned a lot with you.

Sincerely,
2021-01-17 11:33
Avatar
Ghrim40
Posts: 5
I think I understand what he is saying. I just had a similar problem yesterday. My 20x4 I2C display that I wanted to show fuel tank data on. When starting mobiflight, instead of showing an actual value such as "Remaining: 54 gal." it would show "Remaining: ## Gal." and would stay like that until the "value" changed, then it would display correctly. Same thing happened when swapping between "pages" on a single display. On starting mobiflight, page 1 would not display correctly, but switching to page 2 then back to page 1 and it would display correctly.

I think the problem is in the Config List. If the config for the I2C display is listed BEFORE the config of the value you want displayed, it wont display it until that value changes. If the config for the I2C display is listed AFTER the value to be displayed, it works fine. I solved this by naming my configs something like "10FuelRem"...."11FuelUsed" and the I2C display "FuelDisplay" then clicked the top so all of the configs are listed in alphabetical order, with the I2C display UNDER the values I wanted the display to show. Ill add pics if I can to help understand better.
2021-05-12 04:35
Avatar
Ghrim40
Posts: 5
Here I wanted mobiflight to start with a BLANK display. I dont know how to embed images, but heres the link to the image when the display is NOT working and the config for the Blank Page is UNDER the other "pages" for the display.

https://www.flickr.com/photos/12586394@N04/51173428136/

And the next images shows that simply moving the config ABOVE the other "pages" makes it work correctly

https://www.flickr.com/photos/12586394@N04/51174226304/

I think this is an old problem, as I read a post here that referenced it a few years ago, but I don't think it was ever solved. With Pages, If the "display config" for "page1" comes AFER "page2", it will not be correct when first starting mobiflight...... For "values" on a single page, The configs for the values must come BEFORE the display config. This is the only way I could make it work when first starting mobiflight....

https://www.flickr.com/photos/12586394@N04/51174267884
2021-05-12 05:14
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 6010
Supporter
Hi
Now we talk about multiple things.... So lets try to split up. Sorry for the long text!

1. The "master" issue from Julesta
Meanwhile we explore a "bug" in the system.... If users work with only one Display 16*2 (Per Mega) this not happen.... But if you use 2 Displays ( And specialy if you use the 20x4 big ones) then this "can" occure in a Data cache overflow maybe some times. Realy problematic is if 2 Displays must be written in a verry short sequence.
This happen e.g. if one Display show a non static value that is fully unstable.... For example the "current Altitude in feet" .... Whatever you fly on 10.000ft it will always be variable and you are somewhere between 9990 and 10010 feet.... So Value change 5-10 times per second !
If you now also have a change on the second display then the bandwich of our current system is not strong enough to handle both packages ( Cause they use the same IC2 channel)
Result.... The second Display Freeze.
Same happen if you change 2 Displays same time with a Precondition system ( as Julesta do) . Means within a short moment 2 Commands come to the Mega to change BOTH Displays..... But only one can be done and the other is lost.

We work on that behavour and try to fix it as soon as possible.

2. The showed Symbols instead of a Value ..... Like... XPDR: #### instead of XPDR: 1234
This is a "Null" Issue.... But basicly OK.
Whatever a Offset show "0" or e.g. "1" we can read it. BUT If a Offset is "empty" ( NIL) then there is nothing to read. For example a String that is terminated on Byte 1.
Also a Variable in MF ( that is not already read) is at this moment "nil" .... And in that case a Display can not show a number.... So it show the Symbols you choose for that placeholder like normal TEXT.
This bring us to Point 3.

3. Issue in MF by wrong config sequence.
This "was" a Issue in the past.... But we solve it. ( Maybe the issue come back with the last patch.... we need to check)
The trick is....
MF in the past STOP and report a Error if we get in a situation to use a Placeholder that is not read yet ( Cause Read Config is behind the Output that use it)
BUT
This only occure in the verry first Loop.... So we simply remove this issue warning and ignore the "null" for that moment.
After the first loop..... Some milliseconds later the second loop beginn. Also here the Config try to use a Placeholder that is behind.... BUT It now can use the stored value from the last loop (Cause here the Read config already do its work) ......
Means.... Your Display from now show always the value that was read 1 loop before..... But thats no problem. Its no mater if we show the current value or the value we read 0,2 seconds before. This delay is not relevant.

Summary: This SHOULD work.... But we will check it once again if tha last feature Patches maybe kill that logic again !


LAST NOTE:
Your idea to change the sequence is right.... Basically bring the READ Config prior the Config that use this Placeholder is the perfect solution.
But your way is wrong and can not work.

If you rename the Configs and sort alphabetical..... This NOT change the sequence how Mobiflight work. This sort is just Optical in the GUI.
To bring a config "up" or "down" in the sequence you must change its position in the *.mcc Code..... In the GUI you would need to Duplicate lines and delete lines to change the sequence OR you edit the MCC with a Text Editor and copy/paste the config segements to other spots!

You can check this..... On Next Startup the List is sort related to the original Code Positions again ( not alphabetic).
THATS the real sequence we need to think about ! So the alphabetical Sort do "nothing" !

Why your workflow looks sucessfull..... Cause you pretty sure RUN the Code at first before you change the sort to Alphabetical.
This First Run already occure in a Single Read from the Value .
Means in the second Run ( after you sort alphabetical) the sequence is still bad..... BUT It now work in case MF have stored the Value from the last "Run" . Means NOW the Placeholder still got a Value in the first Loop ( Whatever it is maybe 20 minutes outdated from your first attempt) ..... BUT its still there !
Good Luck !
2021-05-12 12:57
Avatar
Ghrim40
Posts: 5
This explanation makes so much sense!! I was wrongly thinking the program read the config list once at startup, and just referenced them in other sections later. I never considered that it read the configs as a loop. I also didn't even think about editing the .MCC file its-self, as sorting the configs was seeming to work. But you are very right, a solution that "looks" right on the surface is still wrong at its core. So now I'm going to go back and fix the core (.mcc file) of the problem. I never got an error message and the program never stopped working, just the symbols instead of the values. Here I thought I was helping to solve a problem, only to find out I had a problem that I thought I had already fixed, :D :w00t: Thank you for the awesome explanation, and the education. This forum, you guys, and Mobiflight Rocks!!
2021-05-15 07:21
icon