odwdinc / Python-SimConnect

Python interface for MSFS2020 SimConnect.dll
GNU Affero General Public License v3.0
270 stars 107 forks source link

Status #1

Closed Heiss closed 3 years ago

Heiss commented 3 years ago

hey,

i want to contribute to a python module for simconnect, to build new applications on top of it. But i am not familiar with simconnect.

After some searching, i found your module and the simscript(abandoned). Can you name differences between this two implementations for simconnect? (I did not work with ctypes previously.)

After take a small look into your test.py, i think that your module would benefit of a new abstract layer on top of it and an async implementation to get it more pythonic.

Additionally, i would like to know some things to contribute to your project:

Thank you and have a nice day, Peter

odwdinc commented 3 years ago

I had searched for may hours to try to find someone else that had done work with simconnect and python. Thanks so much for the link to simscript! On a quick look over, simscript seems to be a good mapping for data in/out. I have added the rest of the SimConnect.dll functions as described in the simconnect.h form MSFS2020 SDK. Note: There is comments suggesting the data is form the FSX SDK from 2008. I have only tested the data in/out like simscript. There is a lot more that may be working with more testing.

Trying to abstract as much as I can, any suggestions are welcome as I don't have much work with async Python. This is my 3rd ctypes project so I may not know 100% but welcome all input and pull requests :)

Status of implementation is IDK. I know the test works but I don't know flight slimming yet and trying to learn as I go. I hopping in time to be feature complete, my be close my not be, more testing is needed.

Plans for the near future: Working on corresponding Arduino lib to support data in/out of system. Then working on mapping data to in game objects. with the intent to open source and provide low price kits to people waning to setup there own flight sim.

Heiss commented 3 years ago

Hey,

i could provide my knowledge with github workflows to publish this module on pypi. And i could try to implement a test suite to cover a lot more use cases. I will try to find time in the next few days to make a first pull request.

Thank you for your reply.

HH0718 commented 3 years ago

I am interested in contributing as well. I am familiar with Python 3 - flask, and angular 8+.

I am hoping to 3d print my own panels and implement RPi, arduino, esp32, etc... using this module.

Well done.

odwdinc commented 3 years ago

@HH0718 Thank you and welcome! My hope is to start simple/small with DIY my own panels. Looking for suggestions on where to start, the Primary Flight Display (PFD) looks cool but maybe a but much to start. Maybe the Radio Panel? I would like to know what your interested panels are. My hope is to provide open source 3D models, plans, kits or fully tested units. With the hope the people like you can take the plans and build there own setup! Welcome!! If your willing to share your 3D models or have any blueprints (even a image with ruff demotions), I would love the opportunity to model case(3D printer, or laser cutter), PCB and source BOM's. Maybe even provide sample hardware to beta/alpha testers.

odwdinc commented 3 years ago

@Heiss Thanks for the support!, I'm 100% open for pypi, don't have any clue how to do a test suite, if i can provide any helpful input let me know, I do work a 9-5 M-F. Trying to get to this in my free time as much as I can.

HH0718 commented 3 years ago

@HH0718 Thank you and welcome! My hope is to start simple/small with DIY my own panels. Looking for suggestions on where to start, the Primary Flight Display (PFD) looks cool but maybe a but much to start. Maybe the Radio Panel? I would like to know what your interested panels are. My hope is to provide open source 3D models, plans, kits or fully tested units. With the hope the people like you can take the plans and build there own setup! Welcome!! If your willing to share your 3D models or have any blueprints (even a image with ruff demotions), I would love the opportunity to model case(3D printer, or laser cutter), PCB and source BOM's. Maybe even provide sample hardware to beta/alpha testers.

@odwdinc I haven't started anything just yet. I was just researching and came across your repo.

I think the first place to start is with the most common aircraft being used, AKA Cessna 172 Skyhawk (G1000) and recreate the flight deck. Probably best to leave the displays for last.

In terms of 3d printing, I'd be using fusion 360 and will print out the faceplates (not sure what it's technically called) to install the switches, buttons, rheostats, etc...

I'll start with the most left panel which includes, STBY BATT, master and avionics switches, internal lights,external lights, fuel pump, pitot heat, and cabin power. or at least the ones that opperate.

I would personally prefer using ESP32 as I am more familiar with it, but arduino would work too. It really comes down to using python as my primary language.

I'll start planning for it.

Heiss commented 3 years ago

@odwdinc I am working on a pull request to make a test suite (currently it is running, but no meaningful tests in it. maybe i should create pull request to show you my progress and you can contribute meaningful tests :)) and pypi integration. I am working from 9-5, too :)

Heiss commented 3 years ago

@HH0718 Hey, This sounds great. You should open an own issue to show us your progress and ideas. It would be easier for new developer to find your contributions and your current progress.