rlam1 / udp-cockpit Goto Github PK
View Code? Open in Web Editor NEWProgram designed for X-Plane 10 that provides an external cockpit instrument panel on a remote or local display.
License: BSD 3-Clause "New" or "Revised" License
Program designed for X-Plane 10 that provides an external cockpit instrument panel on a remote or local display.
License: BSD 3-Clause "New" or "Revised" License
A glass cockpit still needs bitmaps to help drawing the different elements onscreen.
MessageParser.cpp
on Network\
has a function ParsePacket(...)
which is responsible for the correct parsing of all incoming UDP packets directly from the buffer.
The first check it does is to determine that the buffer contains at least one segment of data:
int rows_received = (bytesReceived - headerSize) / structSize;
if (rows_received < 1) {
status = 1;
return;
}
This check can successfully bail out of processing when a packet too small is received.
However there is no check in place when an impossibly huge packet is received. X-Plane has a finite amount of data that can be sent at a time from a single packet. This size could be determined and added to the code as an additional check.
The program will then bail out of processing a too big packet.
Currently at d39f727 the program is able to display the entire rows of data, but there is no way to automatically append a named value to them.
Will need to make a list of the names available as std::strings
or something like that.
A graphics window of 800x480 will be the one used during tests
Might use the built-in font.
Make a formatted and human-readable list of all the fields.
Should be updated as soon as a new packet arrives with fresh information
Currently #1 is almost done, but 1d80310 had to be done so that the code could flow for tests. Header string is not equal to received string even though they are actually the same.
Might try to manually add the \0
at the end of the UDP packet header. It probably is sendind a @
(code 64 I think). That might be the cause.
Make program accept command-line options to see general information, status of running instance, set configuration options, etc.
Change implementation to allow more than one single data source from X-Plane's network tab be parsed and stored inside the program for retrieval by the graphics subset.
At least a Label or textbox with formatting capabilities
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.