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! 

icon
Avatar
giocc
Posts: 7
Hello,
I tried writing directly to Sebastian some time ago, but I never got a reply, so I thought I would also post on the forum in order to get in contact with him or someone else engaged in development.

I have always liked the power and simplicity of the Mobiflight system, however I have a hard time accepting a few of its limits that, in my opinion, may not be so difficult to overcome. I understand that Sebastian's time is obviously valuable, and the job done so far is great, so I think that just endlessly begging for changes and new features is not fair and it's simply not an option.

I have some experience in cockpit building by developing both hardware and software (which is also may day job, although not in the same field); once I finally got hold of the sources, I had a look at them and decided that maybe I could contribute to obtain a few improvements and extensions.

While waiting for a feedback, I already added a few new features to the Arduino code, most of which reguraly requested by users in the forum; however, please be advised that, as of now, nothing is yet tested (I just wanted a proof of concept to see that everything could be implemented and how).

Added features are:
- support for external digital I/O "blocks", accessible through up to 256 "pins" (handled as Buttons and Outputs exactly like on-board pins). I/O blocks are modular; currently implemented are HC165-type inputs, HC595-type outputs, MCP23017/23S17 I/Os, TLC5926/DM13/SM16126 LED drivers, key Matrix
- optimization of Arduino I/O access speed (digitalRead/Write)
- general optimization to remove unneeded memory usage (currently, with all the above features I have under 50% memory occupation on the Mega)
- Analog inputs not implemented yet, but quite doable later

All the modifications maintain the compatibility with current system as far as possible, and to a very high degree; of course the PC application will have to be extended at least to account for the higher number of pins and to implement the "plug-ins" for the I/O module parameter setting. As soon as I'm done with the Arduino code I intend to carry out these modifications too.

My only worry at this point is that I'd like these changes, once proven effective, to become a consistent contribution to the "official" software, rather than a custom-built dead-end fork. It would be great if I could discuss with some mainstream developer the solutions I adopted and make sure that they can nicely fit the existing structure and current development plans.

BTw, as I already wrote to Sebastian, I understand and speak German, but it's quicker for me (and understandable to a larger amount of people) if I write in English. Apart from that, I gladly take replies in German.

Looking forward to a positive reply!

GiorgioCC
2018-01-24 21:05
Avatar
albeagle
From: Kosovo
Posts: 118
Hi there Giorgio

Great to hear all these news. I have a question though. After setting all up, mobiflight creates an arduino sketch and uploads it to the mega I assume. If that's correct, is it possible to get this arduino (.ino or .hex) file and upload it directly to the mega so mobiflight is not required to run. I mean could I for example use mobiflight just to make desired changes and then
just grab the arduino sketch created from mobiflight and upload it to the mega. Is this Possible. I need this for a project I'm working on.

AlbEagle
Regards
AlbEagle

http://flyingforfun.weebly.com/cessna-172-cockpit.html
2018-01-25 14:56
Avatar
giocc
Posts: 7
Hi AlbEagle,
I'm afraid that what you explain isn't possible, at least as you intend to do.
For the record, this is what happens:
- Connector doesn't actually "create" a (compiled) sketch. It uses a standard sketch (always the same for any given version), which it just downloads to the Arduino; once it's up and running, it then downloads the information about the configuration that the user has set. This standard sketch is available, in the compiled form, in the Mobiflight/Firmware directory, and also as source on the BitBucket repository;
- the running sketch takes and sends back "messages" corresponding to input events or output requests; however, these need to be processed by the connector which acts as a bridge to the simulator. This is why the Connector is required; it's not just a configurator that produces a "ready-to-go", "all-inclusive" Arduino sketch, but also an important component for the communication and processing of informations between sim and hardware. Running the sketch without the Connector definitely does something, but it's still a long way to a working setup.
That said, you could still think of using the standard sketch somehow, but you would still need to figure out:
  • how to send to it the configuration info
  • what commands it takes (and how to generate them)
  • what responses it returns (and how to forward them to the sim).

I hope I was clear enough to be helpful.

GioCC
[Last edited by giocc, 2018-01-25 16:16]
2018-01-25 16:07
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 3709
Supporter
Hi !

Nice to hear we maby get a new supporter in the programming part !

I think i can speak for Stephan, too that WE BOTH are the wrong persons for this call !
We only make the forum support and are basicly users like all others here. So we are not implement in the programming part.... we just make suggestions to sebastian !

What i think about your plans.....

Thats wonderfull.... BUT i realy hope you and Sebastian find a way to get finaly ONE Mobiflight !
I´m a little scared that HE for example not want some parts and not implement it.... and then some users request to YOU for your personal Version to have acces to this parts !
In THAT case we get in real trouble....
Then some Users work with "Mobiflight original" and some others work with "Mobifligh Giocc edition" ....
Supporting helprequests in 2 Systems ( without knowing what system is installed by the user) is verry confusing..... And if there are technical problems.... Do you or sebastian solve it? Is the problem in Your or in the Main Mobiflight System ??

Summary..... New features are good and mobiflight must get in the next level..... But PLEASE make this in consultation with Sebastian ! Not startup 2 paralell Systems !

****
About Sebastian....
Myself i see he is verry rare in the last weeks.... Nearly no forum postings since patch 7.4. In December his EMail Account was broke also and he not get mails for some weeks.
So please make a new contact request to his Email ! You can talk English.... he lives in the states and speak english pretty shure perfect !
Good Luck !
2018-01-25 19:16
Avatar
giocc
Posts: 7
Hi Pizman,

thanks for chiming in... yes, that's exactly my thought. I'm not looking to fork the code; beside creating confusion in support it would also disrupt the clarity and simplicity of the project.
What I really look forward to would be, well, not as much as a "Mobiflight 2.0", but let's say at least a "Mobiflight++" :)

So, there won't ever be a "Mobiflight Giocc edition" (except maybe in my own home only :lol: ); that's why I wanted to put the emphasis on achieving coordination and consistency with the project organization right from the start.

I'm certainly able to proceed on my own legs along the way, but at least an initial exchange and some milestone checks will be necessary.
I will try and contact Sebastian again (though I don't want to risk to appear harassing), but if anyone had the chance to draw his attention about this matter, I would really appreciate it.

Thanks for your support
GioCC
2018-01-25 21:14
Avatar
albeagle
From: Kosovo
Posts: 118
icongiocc:

Hi AlbEagle,
I'm afraid that what you explain isn't possible, at least as you intend to do.
For the record, this is what happens:
- Connector doesn't actually "create" a (compiled) sketch. It uses a standard sketch (always the same for any given version), which it just downloads to the Arduino; once it's up and running, it then downloads the information about the configuration that the user has set. This standard sketch is available, in the compiled form, in the Mobiflight/Firmware directory, and also as source on the BitBucket repository;
- the running sketch takes and sends back "messages" corresponding to input events or output requests; however, these need to be processed by the connector which acts as a bridge to the simulator. This is why the Connector is required; it's not just a configurator that produces a "ready-to-go", "all-inclusive" Arduino sketch, but also an important component for the communication and processing of informations between sim and hardware. Running the sketch without the Connector definitely does something, but it's still a long way to a working setup.
That said, you could still think of using the standard sketch somehow, but you would still need to figure out:

  • how to send to it the configuration info
  • what commands it takes (and how to generate them)
  • what responses it returns (and how to forward them to the sim).

I hope I was clear enough to be helpful.

GioCC




Thanks for explaining it. Well such a configurator would be perfect for making thinks working standalone. I too appreciate your contribution and hope we get to Mobiflight 2.0 some day :)

Thanks again

AlbEagle
Regards
AlbEagle

http://flyingforfun.weebly.com/cessna-172-cockpit.html
2018-01-26 03:14
icon