1
0
Fork 0
Commit graph

737 commits

Author SHA1 Message Date
Torsten Dreyer
7132947d16 httpd: update mongoose and websockets
* mongoose updated to 5.3
* first stab at implementing websockets, here a property change listener
  websocket. This websocket is at ws://yourhost:yourport/PropertyListener
  see FGDATA/Docs/gui/radio.html for an example
2014-03-12 22:39:37 +01:00
Torsten Dreyer
64c393d022 http property browser: don't crash on invalid nodes
Don't expect users to always pass valid node names
or paths
2014-03-10 23:40:42 +01:00
Torsten Dreyer
7c2ce9acf7 allow binding of arguments for fg-commands thru run.cgi
to run a fg-command with args, POST run.cgi?value=my-command
and post the args node as JSON content like this:
{
   name: '',
   children: [
     {
       name: 'property',
       index: 0,
       value: 'first-value is here'
     },
     {
       name: 'property',
       index: 1,
       value: 'first-value is here'
     }
   ]
}
or whatever arguments the requested command takes
2014-03-10 22:58:52 +01:00
Torsten Dreyer
dac3b45892 Some fixes for the httpd
- Set encoding of the property browser to utf-8
- add the properties index to the json
2014-03-08 14:47:13 +01:00
Torsten Dreyer
ed8ec8f092 JSON: make the response configurable, set encoding
add request parameter 'i' and 'd'
if i=y, indent the output to make it human readable
if i is missing or anything else, send the output unformatted to save bandwith

'd' defines recursion depth with a default of 1 to show the requested node
and the immediate childs (if it has any)

call /json/?i=y&d=999 for a complete property tree backup (use with caution!)

Also set the encoding to UTF-8 as required per RFC 4627
2014-03-07 21:58:33 +01:00
Torsten Dreyer
b84026ce84 httpd: fix ignored port on --httpd=nnnn
also fix unconditional startup of the daemon
2014-03-06 21:19:49 +01:00
Torsten Dreyer
7602089460 Use the short xml name for properties in JSON 2014-03-06 18:00:11 +01:00
Torsten Dreyer
63e9cbed40 Initial commit for mongoose httpd 2014-03-06 13:19:15 +01:00
Torsten Dreyer
c519b9262d Add simple breadcrumb navigation to the httpd 2014-02-27 22:21:45 +01:00
Clément de l'Hamaide
d9e8abcc99 FGCom: change default silence threshold 2014-02-04 12:18:50 +01:00
James Turner
1a372d9366 Update image-server logic.
- no dependency on libJpeg or Simgear
- no duplicate rendering of the scene (uses a draw callback)
- supports other image types, eg PNG
- threaded so doesn't block the main loop ever
2014-01-27 09:08:34 +00:00
Clément de l'Hamaide
3254f54f9e FGCom: add silence threshold setting
Require commit 1396848dcf31d181ab740c8eb728cff02f06fd3d from fgdata
2014-01-26 16:38:48 +01:00
Clément de l'Hamaide
c0c8158ca1 FGCom: force 8.33KHz to be handled even if the frequency doesn't exist 2014-01-16 18:15:58 +01:00
Clément de l'Hamaide
606643a199 FGCom: update special_frq for built-in/standalone sync 2014-01-12 21:17:57 +01:00
Rebecca Palmer
617e638242 Stop --native-ctrls option from breaking JSBSim
Remove unused instance of FGControls from FGNativeCtrls, as it was
binding to the property tree in place of the globals->get_controls
that JSBSim reads input from, blocking all input
2013-12-15 21:32:40 +00:00
Clément de l'Hamaide
2d145e072e FGCom built-in: restore speaker volume settings 2013-11-17 23:37:37 +01:00
Torsten Dreyer
35dad8c4c4 generic binary protocol: add 'word' datatype
this patch adds support for binary datatype word (aka int16)
now we have int (32bit), word (16bit) and byte (8bit) integer types
2013-10-28 22:57:22 +01:00
Clément de l'Hamaide
1970a8e0a8 FGCom: allow ulaw codec too 2013-10-28 21:56:27 +01:00
Thomas Geymayer
8a582e6376 Update/refactor for simgear HTTP changes. 2013-10-27 19:39:22 +01:00
janodesbois
ecfdf354f1 considering u,v,wbody-fps are the ECEF velocity expressed in body axis, change in all functions/variables name dealing with them, wrongly named with wind, or even north, east, down. 2013-10-27 13:24:54 +01:00
Clément de l'Hamaide
d5b70e98e0 FGCom[-sa]: add IAX denoiser and auto gain + set silence threshold 2013-10-26 13:18:08 +02:00
Clément de l'Hamaide
3952ab6fe5 FGCom: remove unecessary assignation value 2013-10-26 01:48:31 +02:00
Clément de l'Hamaide
428f9031aa FGCom: make COM1 and COM2 switchable with Shift+Space 2013-10-26 01:28:05 +02:00
Clément de l'Hamaide
6332693ae5 FGCom: use Speex codec instead of GSM codec 2013-10-24 12:14:31 +02:00
James Turner
2f51052860 FGCom: initialise some variables.
Avoid a crash on re-init where _initialized member was never set.
2013-10-23 09:38:16 +01:00
Torsten Dreyer
60575c3b8c generic protocol: another attempt to make MSVC smile 2013-10-22 21:02:06 +02:00
Torsten Dreyer
6b75b23309 generic protocol: don't rely on GNU extension 2013-10-22 14:17:35 +02:00
Torsten Dreyer
baebc9b64c Add protocol wrappers to the generic protocol
This adds two wrappers to the generic protocol to help interfacing
small microcontrollers (arduino et. al.)
When receiving binary data over a sequential link, it's hard to tell where a packet
starts and where it ends. Two existing solutions gets implemented with this patch:
KISS (http://www.ka9q.net/papers/kiss.html) originally developed for ham radio
packet radio devices and STX/ETX byte stuffing.
This adds only the OUT direction, IN will be implemented over the next weeks.

For implementation details on the client (microcontroller's) side, check out
http://gitorious.org/flightgear-pmpt/cmpt/

This implementation is used in the c172fg project to be presented at FSweekend 2013.
2013-10-21 20:43:22 +02:00
ThorstenB
7ce2107336 Add support for IGC logging protocol.
Many light aircraft include GPS loggers capable of recording the flight
path using IGC records. Lots of third party utilities are available to
analyze, process and convert igc files.
Usage: "fgfs --igc=file,out,1,OutputFile.igc"
2013-10-14 22:13:31 +02:00
Clément de l'Hamaide
c022bb8d51 Move IAXClient library into 3rdparty directory
Remove ENABLE_IAX option
Add an improved FGCom standalone as part of FG in utils directory
2013-09-27 16:05:45 +02:00
Clément de l'Hamaide
639c7b82ee remove unused #define 2013-09-22 17:42:24 +02:00
Clément de l'Hamaide
d948e34af8 Implement IAX callerID feature 2013-09-22 17:38:47 +02:00
James Turner
fda64d840e Use helper to validate printf formats.
Simgear contains a new helper to validate format
strings for potentially dangerous replacements, use
it to fix the issues raised by Debian bug trackers.
2013-09-15 19:17:54 +01:00
James Turner
0c8d84aad1 Fix crash on re-position with FGCom.
Don't assume valueChanged firing means the value has actually
changed; various operations (eg, copyProperties) can also 
cause the signals to fire.
2013-08-29 22:12:00 +01:00
Clément de l'Hamaide
0eef683af5 FGCom: implement a callback function and handle IAX text event 2013-08-28 18:09:22 +02:00
Clément de l'Hamaide
2bf62464cf FGCom: Add a different max range for ground and tower frequencies 2013-08-27 20:32:31 +02:00
Clément de l'Hamaide
467783bd45 Clean FGCom logging and fix IAX input level 2013-08-24 17:51:03 +02:00
Clément de l'Hamaide
a215bc0625 Fix segFault on reset by checking IAX has been initialized 2013-08-22 14:12:06 +02:00
Clément de l'Hamaide
0e5b794a4a FGCom: Should fix continous mic ON by checking state in main loop instead of listener 2013-08-21 20:24:07 +02:00
James Turner
206053722e Fix crash on exit when FGCom is not being used. 2013-08-19 18:21:51 +01:00
Clément de l'Hamaide
7827e28ff3 Fix range calculation for special frequencies
Range for special freq was computed with previous freq, now they are always in range
Use a global variable (_currentFreqKhz) in order to avoid a <static_cast> in main loop; now it's only on frequency change
Fix a .size() > 0 for !.empty()
2013-08-19 16:08:29 +02:00
Tom Paoletti
81cd33e2fa Performance optimization: empty() instead of size()>0
empty() is guaranteed to be constant complexity for both vectors and lists, while size() has linear complexity for lists.
2013-08-19 09:01:59 +01:00
f-jjth
d03b44b662 FGCom integrated into FlightGear.
Disabled by default at build time.
2013-08-16 17:02:47 +01:00
James Turner
948aa70af7 Fix native protocol crashes.
As part of this, kill off the evil global FDM state, and avoid us
copying FGInterfaces (which is bad since it contains TiedProperties
and an FGGroundCache, neither of which are especially keen on being
copied). Will probably disable copy/assignment on TiedProperties in
a future commit.
2013-07-18 12:01:36 +01:00
James Turner
5d9faee463 More unused vars caught by Xcode. 2013-07-04 20:56:04 +01:00
James Turner
2ec4b6ecc2 Fix warnings identified by updated XCode.
Mostly unused private vars, for various reasons.
2013-06-21 18:39:24 +01:00
James Turner
acddd0b0cf Fix JPEG-factory build 2013-06-12 22:12:31 +02:00
Thomas Geymayer
dfa583c014 Use SGPath helpers and unescape from simgear 2013-06-10 21:42:53 +02:00
James Turner
0d6cd11dd4 Work with revised NetChannel poll() API. 2013-06-09 22:57:45 +01:00
James Turner
8551b010e9 Fix another compile fail.
No idea why I don't need this on Mac, hmm.
2013-02-09 16:38:34 +00:00
Christian Schmitt
2013f7149d Some headers missing... ;) 2013-02-07 19:00:54 +01:00
Michał Gawron
e27be6ee92 Return double precision float as requested in generic/binary protocol. 2013-01-28 17:08:31 +00:00
James Turner
379e7a2fd5 Make HTTPClient a proper subsystem.
Avoid some statics, and incidentally make the proxy host/port settings dynamic (re-init the subsystem to update proxy settings, woo).
2012-11-19 11:30:12 +00:00
ThorstenB
a784443a24 Remove static property dependencies
preventing us from wiping properties on reset/reinit/subsystem recreate.
(more work required for "native_gui" and "ATC-Outputs" protocols)
2012-11-18 16:35:54 +01:00
ThorstenB
adc95a4b55 #600, for Curt... ;-) allow speed-up value to use fractions
"speed-up" can now also be used for slow-motion (i.e. 0.5 / 0.25 / ...)
or fractional speeds (3.141...). This was already working for instruments
(for replay) before, now it's also considered by FDM simulation.
2012-11-17 20:01:19 +01:00
ThorstenB
7fa2aecc22 fgprotocol: delete io channel on shutdown 2012-11-15 20:20:40 +01:00
ThorstenB
e8fc85ef7e jpg-httpd: Add error messages when unable to open port etc.
Also move private code to cxx file.
2012-11-15 20:20:40 +01:00
ThorstenB
58158bf51f jpg-httpd: consistent indentation and white-spaces
(no content change)
2012-11-15 20:20:40 +01:00
Mathias Froehlich
354a1b3a0b hla: Use hla derived classes part 2 2012-11-11 16:30:55 +01:00
Mathias Froehlich
518cd00094 hla: Use HLADataElementIndices instead IndexPathPairs. 2012-11-11 16:30:49 +01:00
Mathias Froehlich
f4d344d44a hla: Replace the object class callback by it's object class. 2012-11-11 16:30:43 +01:00
Mathias Froehlich
c90d3429aa hla: Use hla derived classes part 1. 2012-11-11 16:30:36 +01:00
ThorstenB
4a535f67c0 Add error messages when unable to open HTTP port.
Also move private code to cxx file.
2012-11-01 19:34:27 +01:00
ThorstenB
51f16337c2 #903: generic protocol: fix a rare corner case
ASCII protocols consisting of a single chunk only (one variable per line)
would not work when no "separator" was defined.
Also add error message for protocols with more than one var per line which
are missing a separator...
2012-11-01 14:42:26 +01:00
ThorstenB
076bbb8487 Fix some compiler warnings.
Unused vars, loss of precision, bool type conversions.
2012-10-13 17:59:47 +02:00
Mathias Froehlich
fd23f5dee5 hla: Fix velocity units. 2012-10-07 22:23:04 +02:00
ThorstenB
9968888e45 FGProps: improve error messages
Lowlevel "simgear:NetChannel" only returns status infos, but doesn't
output log messages itself.
2012-09-21 15:33:13 +02:00
James Turner
39307d335c Avoid an 'overloaded-virtual' warning.
Clang reports an overloaded-virtual in FGGeneric (and it's correct). Rename the overload to avoid both the warning and confusion.
2012-09-18 00:59:36 +01:00
Mathias Froehlich
a131589a6c hla: Convert to the new callback system. 2012-07-29 17:30:24 +02:00
ThorstenB
39a7caae15 Proper error checks for generic protocol.
Drop FGGeneric instances which failed to initialize to avoid run-time
issues.
2012-07-13 20:33:36 +02:00
James Turner
9b4c2def75 Merge commit 'refs/merge-requests/28' of git://gitorious.org/fg/flightgear into merge-requests/28 2012-05-17 17:33:58 +01:00
James Turner
33dd4b3b92 Fix a Clang warning, checking signed char as if it was unsigned. 2012-05-12 10:26:15 +01:00
ThorstenB
0f462d4a6e Fix rpmlint/Linux packager complaints
about outdated/invalid FSF address in some license headers.
2012-05-05 01:42:41 +02:00
ThorstenB
b9260f543b Ganael Laplanche: fix include dependencies for FreeBSD support 2012-05-05 01:08:20 +02:00
ThorstenB
e59fabaf82 Clean-up some SGMath dependencies. 2012-05-05 00:56:29 +02:00
ThorstenB
89b41395d8 Move viewer-related sources to separate folder.
Simple source directory clean-up, so "Main" folder contains fewer stuff
and the list of files in the editors a lot shorter.
2012-04-25 23:28:00 +02:00
James Turner
2218a44ed7 Support loading PropertyList data remotely, as part of #450. Along the way, centralise the HTTPClient object so it can be used beyond the METAR download engine. 2012-04-18 10:25:27 +01:00
James Turner
a38362646d Don't create intermediate static libraries for build fgfs. (Speeds up rebuilds in Xcode dramatically, possible in other IDEs too) 2012-03-26 13:09:39 +01:00
Mathias Froehlich
5ca01925cd hla: Rename HLAVariantData* to HLAVariantRecordData*.
Rename the variant record data types and elements to something
more standard conformant. This catches up with recent changes
in simgear.
2012-02-25 18:01:17 +01:00
Mathias Froehlich
c5ddd7b1f3 hla: Avoid using deprecated readObjectModelTemplate.
Avoid using the now deprecated readObjectModelTemplate() method
in HLAFederate. Make more use of the available general
initialization functions in HLAFederate.
2012-02-25 18:01:09 +01:00
ThorstenB
632824e4d8 Fix MSVC build issue.
MSVC complained about ambiguous "floor" when T=<int>.
2012-02-19 20:30:15 +01:00
ThorstenB
511072f206 protocol module: minor clean-up 2012-02-19 14:57:25 +01:00
Thomas Geymayer
dd3afd4c4e Use simgear functions for clip and wrap around. 2012-02-19 14:53:04 +01:00
Thomas Geymayer
ccf15ac97e Remove unneeded function and add bool relative changes 2012-02-19 14:53:04 +01:00
Thomas Geymayer
4ec6810c29 Support relative changes and wrapping for generic protocol input. 2012-02-19 14:53:04 +01:00
ThorstenB
d47342a5a4 Add --log-class option, improve logging classes.
Replace SG_GENERAL by more specific log classes in many places.
Allow "," to separate logging classes (using "|" is odd on the
command-line).
Also add new option to make logging more useful for developers.
You can use:
  --log-level=debug --log-class=environment
to only get environment debug messages, or
  --log-level=debug --log-class=sound,ai
to only get debug messages related to the sound or AI subsystem.
2011-12-11 14:06:17 +01:00
ThorstenB
a756ad0f43 #513: netgui alignment mismatching on 32bit/64bit machines
netgui data structure now is identical for all platforms. Manually aligned
the fields, so compilers do not add (CPU architecture-specific) padding.
2011-12-09 19:01:15 +01:00
ThorstenB
4b2506d709 Add new performance monitoring subsystem.
Rename some subsystems for naming consistency.
2011-11-19 15:37:49 +01:00
James Turner
70b4f38ebc Goodbye automake. 2011-11-01 11:15:53 +00:00
James Turner
b1b4b7ecf4 Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +01:00
Mathias Froehlich
a486eebeef hla: Avoid explicit attribute update request. Is already done by simgear. 2011-10-04 20:58:46 +02:00
Mathias Froehlich
40d72b3ba7 hla: use the property based interface from the property data element. 2011-10-03 13:00:25 +02:00
Mathias Froehlich
761644c51d hla: use the new HLAFederate::processMessages() call. 2011-10-02 15:13:55 +02:00
Mathias Froehlich
7645dd3a1d hla: make use of createJoin/resignDestroy. 2011-10-01 18:37:55 +02:00
Mathias Froehlich
1c1722a2e9 Adapt to recent simgear hla/rti changes. 2011-08-31 20:02:00 +02:00
James Turner
51e307a742 Make errno dependency explicit, since raw_socket.hxx won't expose it, soon. 2011-08-23 10:25:17 +01:00
ThorstenB
f22a36c59c Fix replay NaN issue due to unrecorded/uninitialized data.
Replay was setting spoiler/speedbrake properties, however these were never
recorded/initialized, resulting in NaNs being introduced.
2011-08-13 16:53:47 +02:00
ThorstenB
5bd8828fe6 Allow bidirectional support for generic interfaces. 2011-08-10 00:05:10 +02:00
James Turner
1c8d8e7908 More CMake headers support 2011-07-19 07:58:03 +01:00
Torsten Dreyer
c1d150a8e5 Ray protocol: don't use hardcoded gravity 9.81 2011-07-17 19:32:16 +02:00
James Turner
b0566a3ed0 Fix make dist rule for removed files. (will pick to 2.4) 2011-07-17 11:58:46 +01:00
ThorstenB
cd20c6073c #346 related: missing status message for property server
Provide same start-up status message as for other protocols.
2011-06-20 22:50:07 +02:00
Mathias Froehlich
d21924770f Avoid crashing in hla initialization failure. 2011-06-05 13:45:40 +02:00
James Turner
9c983359aa Move all MP code in src/MultiPlayer.
Allow the subsystem to be (re-)inited at runtime.
2011-05-29 00:04:30 +01:00
Curtis L. Olson
11686cfb49 Hopefully add AV400WSim.cxx to the cmake system (not tested) since I use
autoconf/make.
2011-05-03 12:27:25 -05:00
Curtis L. Olson
e81479d857 Bruce Hellstrom @ ATC Flight Sim.
New module contributed: AV400WSim.
Supports communication with external (aka real) Garmin 400/500 WAAS flight
sim units.  Includes changes to options.cxx and fg_io.cxx to support
invoking and configuring the new module.
2011-05-03 11:12:55 -05:00
Torsten Dreyer
0114fd962e Fix broken tank properties. More verbose generic protocol error messages 2011-03-22 18:00:55 +01:00
Csaba Halasz
ae8438333c Quick fix for ascii generic input line separator problem 2011-03-06 02:38:39 +01:00
ThorstenB
8962477cfa Fix huge multiplayer memory leak.
Almost all FGPropertyData elements received via MP were leaked.
Property data is now cleanly deallocated in the FGExternalMotionData destructor.
Thanks to Jester for reporting rising mem consumption in MP mode.
2011-02-16 00:49:00 +01:00
Mathias Froehlich
3134acca83 Add the hla stuff to the cmake build system. 2011-01-17 21:35:12 +01:00
Mathias Froehlich
70dd6279a7 Add an initial implementation of a hla module. 2011-01-17 21:35:03 +01:00
James Turner
a91ec5f9f9 Initial work on CMake build files, with considerable help from Olaf Flebbe. 2010-12-19 15:06:04 +00:00
Christian Schmitt
0a5e86f4e6 remove old .cvsignore files 2010-11-11 01:16:29 +01:00
Anders Gidenstam
d7440d8fc5 src/Network/jpg-httpd.cxx: Include C++ C headers instead of plain C headers. 2010-10-24 15:22:06 +02:00
James Turner
987c1bdfda Automake build fixes for PLIB net/ul removal. 2010-10-24 11:04:14 +01:00
James Turner
7ccba95b9c Remove direct uses of PLIB ulXXX functions 2010-10-24 07:10:51 +01:00
James Turner
0e53e2cbb1 PLIB net removed from FlightGear 2010-10-24 07:10:51 +01:00
James Turner
94a3471956 Merge commit 'refs/merge-requests/7' of git://gitorious.org/fg/flightgear into topics/merge7 2010-10-19 09:05:51 +01:00
James Turner
6251814604 Use a property listener on the root, to observe property creation, and thus lazily update the MP property map. Fixes bug 164, and probably many latent MP missing-property issues. 2010-10-18 00:58:35 +01:00
James Turner
0c342308eb Make MultiPlayer a well-behaved subsystem. 2010-10-05 23:17:32 +01:00
James Turner
84b45683fc Refactor exit code, so the osgViewer gets 'done'. 2010-09-30 23:13:11 +01:00
Thorsten Brehm
5a7f838ff2 Fixed all type-casts violating the strict-aliasing rule.
=> Removes compiler warnings and optimization problems.
2010-09-27 23:48:20 +02:00
James Turner
7f36caede6 Create TimeManager subsystem, and collect the time related code out of main.cxx and fg_init.cxx into it.
Remove the unfortunately named 'tmp.[cxx|hxx]', pushing the remaining code in FGLight.
(second try, with init bug fixed)
2010-08-04 09:16:37 +01:00
James Turner
47fd8a8a2a Revert "Create TimeManager subsystem" - not quite ready for prime-time yet!
This reverts commit 50eb95dcad.
2010-08-02 00:23:36 +01:00
James Turner
50eb95dcad Create TimeManager subsystem, and collect the time related code out of main.cxx and fg_init.cxx into it.
Remove the unfortunately named 'tmp.[cxx|hxx]', pushing the remaining code in FGLight.
2010-08-01 20:33:11 +01:00
James Turner
d1852430bf Make various implicit includes (via PLIB) explicit. 2010-07-28 10:25:42 +01:00
James Turner
d279c394d7 Clean fg_init.hxx 2010-07-01 22:43:28 +01:00
James Turner
01e0156b5d Remove current_aircraft global, fgAIRCRAFT struct, and dead code for reading aircraft dirs. 2010-07-01 22:33:51 +01:00
James Turner
c04d97b259 LFSGlass was accidently ommitted from the cur_fdm_state removal process. 2010-06-26 18:44:58 +01:00
James Turner
85be9be1e0 Initial work on FDM shell, and removal of cur_fdm_state 2010-06-26 10:31:22 +01:00
Tim Moore
ca346ebc9c Merge branch 'torsten/js64' into next 2010-03-16 15:13:32 +01:00
torsten
32f8d1a110 Compile again for MSVC 2010-03-16 15:13:24 +01:00
Tim Moore
c1e1e2f541 Merge branch 'torsten/js64' into next 2010-03-11 09:01:02 +01:00
torsten
91f0059c89 David Fries:
64bit fixes
2010-03-11 08:59:52 +01:00
ehofman
d0f6f748ed Improve handling of type DOUBLE in generic i/o protocol. 2010-02-10 15:02:49 +01:00
ehofman
6072e3d969 reorganize the code a bit to prevent an infinite loop in ascii mode 2010-02-10 15:02:42 +01:00
fredb
00e9ad3055 MINGW patch from Benot Laniel 2010-01-25 17:12:04 +01:00
torsten
949981a6d7 only complain about binary record length mismatch if mode is binary. 2009-09-18 10:38:34 +02:00
curt
606f9173b2 Avoid strtof() for portability reasons. 2009-09-12 15:47:52 +02:00
curt
bf423ef0ca Handle "double" type fields correctly for ascii input data. Previously double
data was being down-cast to float and the loss of precision impacted data types like lon/lat positions dramatically, preventing smooth replay of data.
2009-09-12 15:47:52 +02:00
ehofman
1fa48722b4 One last update; remember whether input or output is requested. This will make sure FlightGear isn't communicating in both directions all the time. 2009-09-09 08:56:31 +02:00
ehofman
aeefd12522 Don't forget to clear the previous configuration 2009-09-09 08:56:31 +02:00
ehofman
ea4a3ee1df Make FGIO a proper subsystem and add a reinit method for the generic protocol. This should allow for easy runtime reloading of the configuration file. 2009-09-09 08:56:31 +02:00
Tim Moore
be4b46b894 change back unsigned byte count to signed (multiplaymgr)
Also, small fixes to generic protocol from AndersG
2009-08-27 00:12:44 +02:00
Tim Moore
62620177aa Fix transmission of float and double values in generic protocol
gcc -Wall -Werror turned up some problems with the type-punning of pointers
used to write the message buffer; it turns out that truncated ints were being
written to the message buffer when values needed to be swapped to network byte
order.
2009-08-24 18:06:06 +02:00
torsten
cd89ce7d0a warning fixes 2009-08-23 21:43:10 +02:00
torsten
5a04b82dfc Tom P: magnetic-variation isn't boolean. 2009-08-23 21:43:09 +02:00
curt
0590333e53 Fix a bug that is screwing me! 2009-08-23 21:43:08 +02:00
Tim Moore
7d6c567fde Refer to property types using props:: namespace
BOOL, FLOAT etc. conflict with typedefs in windows.h.
2009-07-17 14:54:12 +02:00
timoore
4cc3084256 SGPropertyNode::Type moves to simgear::props namespace 2009-07-16 12:10:47 +02:00
ehofman
a4a593745e Hopefuly fix what might be a 64-bit OS problem 2009-07-12 00:55:33 +02:00
ehofman
f5ab3756a1 although the official name is 'bool' also support 'boolean' for backward compatibility. 2009-07-02 08:59:16 +02:00
ehofman
38d538cdb8 Add the statement about the wrong received-buffer size again which might be a useful debugging tool. 2009-07-02 08:59:16 +02:00
ehofman
0dfd7b8024 If more than one packet has arrived in the mean time, process them all. 2009-07-02 08:59:16 +02:00
fredb
00d7c1865f Suppress warnings 2009-07-02 08:59:15 +02:00
ehofman
a9c47a7b78 split up binary and ascii message handling functions, mostly for readability 2009-07-02 08:59:15 +02:00
ehofman
36f8519973 * Add proper support for float and double values
* properly honour network byte order on little-endian and big-endian systems
* various cleanups and bug-fixes
2009-06-23 10:54:09 +02:00
ehofman
30e925bb38 Anders Gidenstam:
Add support for generic binary input.
This patch has been sitting in my source tree since 2007.
2009-06-23 10:54:09 +02:00
curt
12c5a631f6 Better handling of glide slope and in range flags when slaved to external
GPS.
2009-04-15 23:19:30 +02:00
curt
f3b750fbc9 Read remote gps messages back and drive panel CDI and to/from flag. 2009-03-05 10:52:02 +01:00
curt
67c4eec677 Add analog output support to the ATC hardware interface. 2009-02-04 23:51:22 +01:00
durk
7ad2bee1a8 Brian Schack: Patch to the atlas protocol that allows nav1 &2 frequencies
and radials, as well the selected ADF frequency to be transmitted to Atlas
DT: Two minor modifications to the adf part to make it work, and some
testing.
2009-02-02 00:58:00 +01:00
curt
c76aca9a3d Add an additional option. Work around an inconsistency in hardware design. 2009-01-21 09:55:33 +01:00
curt
d95f541528 Add a variant of the ARNAV (AV400) protocol to drive a Garmin 400/430/530
series GPS from FlightGear.
2009-01-21 09:55:33 +01:00
Tim Moore
e108eddc22 FGMultiplayMgr: use binary search to find a property by id 2009-01-15 13:05:23 +01:00
curt
9ae7191590 Brian Schack:
Right now, atlas.cxx uses the following code, in
FGAtlas::gen_message(), to retrieve the ADF frequency:

static SGPropertyNode *adf_freq =
    fgGetNode("/instrumentation/kr-87/outputs/selected-khz", true);

I think it should be changed to:

static SGPropertyNode *adf_freq =
    fgGetNode("/instrumentation/adf/frequencies/selected-khz", true);
2008-12-01 13:58:04 +00:00
mfranz
292d1d52cf compile 2008-11-19 01:09:29 +00:00
mfranz
4516233b7b fix typo in warning message 2008-11-11 18:26:50 +00:00
curt
9b8aa717f5 Not finding a depricated config file shouldn't be a fatal error. 2008-10-30 18:33:28 +00:00
fredb
9ebb9128c8 MINGW patch by Csaba Halasz, reworked by me to avoid breaking MSVC or Cygwin build 2008-09-28 08:27:32 +00:00
timoore
0d0bd58268 Allow generic file protocol to terminate fg after a number of repetitions. 2008-08-07 22:24:47 +00:00
ehofman
14885374de header cleanups 2008-07-31 12:04:32 +00:00
ehofman
429f2530de James Turner:
* experimental clean-up / reduction on two of the FG headers:
   (I'm going to await feedback on the developers list before doing more of
    these, to avoiding going over files multiple times, but in principle it
    seems pretty straightforward.)

 * final fixes for SG_USING_STD removal
2008-07-29 08:27:48 +00:00
ehofman
667e64e1eb - remove the SG_GLxxxx_H #defines, since OSG provides its own versions
- this exposed a bizarre issue on Mac where dragging in <AGL/agl.h> in
   extensions.hxx was pulling in all of Carbon to the global namespace
   - very scary. As a result, I now need to explicitly include CoreFoundation
   in fg_init.cxx.
 - change SG_USING_STD(x) to using std::x
2008-07-27 16:25:13 +00:00
fredb
3db0cf1659 Remove unneeded inclusions of windows.h, GL.h and GLU.H 2008-07-27 15:18:34 +00:00
ehofman
d9bfd5a425 This should apply, and everything should build cleanly, in isolation from the
SimGear change. It changes all the SG_xxxx to be the 'real' includes, and gets
rid of many #ifdef SG_HAVE_STD_INCLUDES. As an added bonus, rather than
replacing 'SG_USING_NAMESPACE(std)' with 'using namespace std', I just fixed
the small number of places to use std:: explicitly. So we're no longer polluting
the global namespace with the entire contents of std, in many cases.

There is one more 'mechanical' change to come - getting rid of SG_USING_STD(X),
but I want to keep that separate from everything else. (There's another
mechnical change, replacing <math.h> with <cmath> and so on *everywhere*, but
one step at a time)
2008-07-25 18:38:29 +00:00
mfranz
0317d992b9 cosmetic changes *only*:
- fix mixed tab/space indentation (replace all tabs by 8 spaces)
- remove trailing spaces
- rename one local variable (ttt -> pwd)
2008-06-11 18:02:19 +00:00
mfranz
5cb6e43767 Anders GIDENSTAM: catch all exceptions to avoid aborting fgfs after
commands like "ls .."
2008-06-11 17:16:50 +00:00
timoore
a251fd35cb Include <iostream> and using declarations as needed.
SimGear no longer includes iostream and avoids using declarations in
header files, so various fixups are needed.
2008-06-02 21:07:35 +00:00
timoore
fd492a297a model paging patch from Till Busch
From Till:
i started the project at the end of february with a simple idea: move all
3d-model loading to the DatabasePager-thread. my first attempts looked
promising, though they were a little too optimistic (or naive?). the patch
has evolved a lot since.

currently it does the following things:
1. revive SGModelLib, move functions for xml-model-loading there

2. replace all calls to sgLoad3dModel with calls to either
SGModelLib::loadModel() or SGModelLib::loadPagedModel()
almost all models will be loaded by the DatabasePager. the few exceptions are:
your own plane, shared models in scenery, random objects, AIBallistic models.

3. simplify mode-loading functions (avoid passing around fg_root)

4. avoid supurious MatrixTransform nodes in loaded models

5. fix some memory leaks
2008-03-22 09:31:06 +00:00
durk
ecc6548d71 cygwin related fixes, and some minor future release related maintenance
work.
2008-02-04 20:03:52 +00:00
curt
98d940a790 Packet should be formated in network byte order. 2008-01-21 19:11:32 +00:00
fredb
63f471e394 Josh Babcock:
I got tired of watching all those http requests scroll over the screen, so I made them SG_LOG( SG_IO, SG_INFO, );

FB: adapt a bit
2008-01-12 17:13:57 +00:00
timoore
d5ba35dddb Remove references to SceneView and CameraView 2007-12-22 23:26:56 +00:00
mfranz
e69b633060 don't overwrite rudder position with nose wheel position 2007-11-07 17:41:31 +00:00
mfranz
d79ae7a819 sorting nodes -> don't use shared pointer 2007-11-03 17:04:04 +00:00
mfranz
f8d792e82d sort entries alphabetically (consistent with property browser) 2007-10-27 21:28:56 +00:00
mfranz
b303db13e3 re-active commented out "delete". Doesn't seem to crash anymore. 2007-10-27 19:13:42 +00:00
mfranz
306b818490 generic/output:
- support optional <preamble> and <postamble> which are written right
  after opening and before closing respectively. This can be used for a header
  line or an XML header.
- unescape <preamble>, <postamble>, <format>, <line_separator>, <var_separator>
  so that \t, \n, \r, \f, \v, \xnn, \nnn can be used directly (\a and \b are
  ignored; use \\ for the backslash) The long names ("carriagereturn") are still
  supported for <var_separator>, but one can just use \r, or \r\n too.
- don't abort when a chunk doesn't have a <node>. This is useful for adding
  constant chunks which consist only of a <format>, such as XML tags.
2007-07-29 13:58:58 +00:00
frohlich
7443b8b5e8 Modified Files:
configure.ac src/Main/Makefile.am src/Main/fg_os.cxx
	src/Main/fg_os.hxx src/Main/fg_os_sdl.cxx src/Main/main.cxx
	src/Main/renderer.cxx src/Main/renderer.hxx
	src/Network/jpg-httpd.cxx
Added Files:
	src/Main/FGManipulator.cxx src/Main/FGManipulator.hxx
	src/Main/fg_os_osgviewer.cxx:
	Tim Moore: Make use of osgViewer.
2007-05-21 17:50:02 +00:00
mfranz
b11196998e Csaba HALASZ: fix dme property name 2007-03-01 17:39:45 +00:00
mfranz
b6f98f91b9 remove "show" command from help screen (command can be removed later) 2007-02-20 21:12:56 +00:00
mfranz
6c95d65afa fix set command: allow strings to contain spaces 2007-02-19 20:52:55 +00:00
fredb
9ae7377c95 Fix the jpg http server 2007-02-10 16:32:21 +00:00
fredb
0bd6fa4bc0 Maik Justus : if the build is configured without FG_JPEG_SERVER, the compilation fails. 2006-12-25 19:38:34 +00:00
fredb
240feb6961 Use SG_LOG instead of printf 2006-12-17 18:40:17 +00:00
fredb
2422747bcc Port jpg-httpd to OSG 2006-12-16 17:44:46 +00:00
fredb
f65abb8a61 Win32 compilation fix 2006-11-02 17:41:53 +00:00
fredb
9827a79987 Leidson Campos A. Ferreira improved the jpeg http server 2006-10-24 17:51:56 +00:00
frohlich
8a67faaf5a Modified Files:
src/AIModel/AIMultiplayer.cxx src/MultiPlayer/mpmessages.hxx
	src/MultiPlayer/multiplaymgr.cxx
	src/MultiPlayer/multiplaymgr.hxx src/Network/multiplay.cxx
	Apply Stuart Buchanan's multiplayer property/chat patch.
2006-10-10 05:17:07 +00:00
curt
03bba2a792 Clear up a line terminator issue between windows/unix. 2006-08-26 14:24:14 +00:00
curt
e1edf2366a Tested and working under Linux. I have no way to test this under windows.
If there is a windows problem, look very carefully at the line termination
with a serial port monitor.  It should be \r\n (CR-LF), not \n, not \r\r\n
or any other possible variant.
2006-08-22 00:58:25 +00:00
curt
2d6f291d4f Add an initial implementation of the Garmin 400 series "Aviation In" data
format.  I have a Garmin 295 to test with, but so far I haven't been able
to make this work (code should compile cleanly though.)  I don't know if
I've made a mistake in the protocol or if my 295 just doesn't support this.
More work on this to come.
2006-08-20 23:37:13 +00:00
mfranz
80bada55cd remove redundant vector::clear(). A just created vector *is* clear. 2006-07-05 09:39:46 +00:00
frohlich
c2d8dcc18b More use of SGGeo[dc]. 2006-06-15 08:29:43 +00:00
mfranz
e48967cb1d fix another crash on exit by finally converting the rest of unguarded
SGPropertyNode to guarded ones. This is also done for JSBSim/JSBSim.hxx,
for which JSB had given explicit permission a while ago. I postponed that
back then, but now is the time.
2006-06-11 10:21:10 +00:00
ehofman
f531203951 Add binary output support for the generic protocol. 2006-04-29 12:17:30 +00:00
frohlich
9e61446d12 Apply multiplayer crash on exit fix from Pigeon 2006-04-23 09:03:21 +00:00
curt
00efc0960f Add fuel pressure. 2006-03-21 18:51:57 +00:00
mfranz
e8c2b8c9f4 --warnings 2006-03-09 21:41:51 +00:00
curt
8676df6856 LFS Glass cockpit interface (allows development independent of the opengc
interface which is somewhat stagnant.)
2006-03-06 18:49:57 +00:00
mfranz
c9813d1b5d new FSF address 2006-02-21 01:16:04 +00:00
ehofman
5fe860750e Mathias Frhlich:
This patch makes use of the vectors now available in simgear with that past
patch. And using that it simplyfies the carrier code somehow.

- Small additional factory's to the quaternion code are done in the simgear
  part. Also more explicit unit names in the factory functions.
- The flightgear part makes use of them and simplyfies some computations
  especially in the carrier code.
- The data part fixes the coordinate frames I used for the park positions in
  the carrier to match the usual ones. I believed that I had done so, but it
  was definitly different. Also there are more parking positions avaliable now.
2006-02-19 17:28:31 +00:00
fredb
36e4045810 Add missing include files needed by the new math code under windows 2006-02-18 13:58:09 +00:00
ehofman
da6568ad50 Mathias Frhlich:
The new multiplayer patch with an extension to transmit some properties with
the base package. The properties are transmitted in a way that will not
immediately brake the packet format if we need new ones.
Even if the maxmimum number needs to be limited somehow, that format might
work well until we have an improoved packet format which is even more compact
and that does not require to retransmit redundant information with each
packet.

That part is relatively fresh and based on that what Oliver provides on his
multiplayer server web page.

The properties are transferred to the client and I have modified the seahawks
rudder animation property to use a relative property path to verify that it
works appart from the fact that you can see it changing in the property
browser.

The movement is still a bit jerky, but that can be fixed/tuned later without
again braking the packet format.
2006-02-17 09:43:33 +00:00
ehofman
5bd2ef1edb Vivian Meazza:
This patch is a combined effort by Gregor Richards, Oliver Schroeder, and
Vivian Meazza (and code cleanups and improvements by Erik Hofman). It corrects
the bug in which a Multiplayer model responds to local inputs, and the view
number bug which caused certain aircraft to appear as cockpit only models. It
passes remote properties over the net, and all major control surfaces and gear
are now animated correctly, providing that the local ~model.xml file contains
no leading "/" in the <property></property> data entries. MP objects
are now extrapolated using 1st and 2nd derivatives to make their movement
appear more smooth. The sim is now halted while a new client joins the net.

Known problems with MP are non-display of the remote client under certain
circumstances of starting/resetting, and a freeze on starting. These bugs are
long standing, and are not addressed by this patch.

Special thanks must go to AJ Macleod for his patient testing of this patch over many evenings.

We have also moved part of multiplayer into AIModels as part of the ongoing
development of MP.
2006-02-09 12:29:05 +00:00
ehofman
619226e9d0 Integrate a large part of John Wojnaroski's 747 cockpit project.
Erik Hofman:
This patch contains an update to net_ctrls.hxx that adds an extra 100 bytes
(or an equivalent of 25 (u)int32_t types) of reserved space. This could be
used to make the protocol forward and backward compatibel within a certain
scope. Be sure to read the instructions at the begining of the header file
when addinf new variables.
2006-01-20 17:19:01 +00:00
curt
e475a50ead Expose the "play-audio-command" through the props/telnet interface. 2006-01-09 02:23:50 +00:00
curt
ff0d55fd4a Update 'magic' for more consistant cross platform padding. 2005-11-15 19:15:13 +00:00
curt
276f3faf5a White space fix. 2005-11-05 20:03:36 +00:00
ehofman
029dda3297 In the process of changing, adding and removing files the last few years
there was the situation where four directories contained jst two files,
of which three directories were aircraft related, and one directory contained
test code from Curt that might be better of in SimGear anyhow.

This is just a patch to move a bunch of files to new locations. In case of
local changes to any of them you can do the following:

move replay.[ch]xx from src/Replay to src/Aircraft
move control.[ch]xx from src/Control to src/Aircraft
move ssgEntityArray.[ch]xx from src/Objects to simgear/screen

In addition it has been decided only to use .[ch]xx files in all directories
unless it's contained within an FDM specific directory, in which case the
author is free to do whatever (s)he wants.

In this repspect the following files have been renamed in src/Multiplayer:

tiny_xdr.[ch]pp has become tiny_xdr.[ch]xx
multiplaymgr.[ch]pp has become multiplaymgr.[ch]xx
2005-11-01 13:41:49 +00:00
ehofman
eed55b48b7 Oliver Schroeder:
This is mainly an intermediate patch. I've restructured the network code.
2005-10-30 18:01:51 +00:00
ehofman
62a359cc4a Alex Romosan:
* Use "const string&" rather than "string" in function calls when appropriate.
* Use "const Point3D&" instead of "Pint3D" in function calls when appropriate.
* Improved course calculation in calc_gc_course_dist()
* Safer thread handling code.

Vassilii Khachaturov:

Dont use "const Point3D&" for return types unless you're absolutely sure.

Erik Hofman:

* Use SGD_(2)PI(_[24]) as defined in simgear/constants.h rather than
  calculating it by hand every time.
2005-10-25 13:49:55 +00:00
ehofman
12fc19080b Ima Sudonim:
CygWin/gcc-3.4.4 updates.

I replaced my cygwin compiler with 3.4.4, did a make clean of plib, simgear,
and flightgear, then did a make install of all three. With the included changes,
everything builds fine, and runs fine.
2005-10-22 11:22:05 +00:00
ehofman
22423d0bab Use our own stdint.hxx implementation. 2005-09-22 11:47:58 +00:00
ehofman
fad67bda10 Mathias Frhlihlich:
There was a patch from Manuel Masing a few months ago which cleaned up
SGLocation's way depending on input values. That means that with that patch
SGLocation does no longer have calls with unneeded input arguments.
I took his patch and integrated that into flightgear and made maximum use of
that changes.


Erik Hofman:
Remove some duplicate code that was moved to simgear/compiler.h
2005-09-05 13:25:09 +00:00
curt
2584ecaaf9 Fix a small oops. We need to convert values from network byte order before
trying to use them.
2005-08-23 21:38:49 +00:00
ehofman
7b824755ee Mathias Frhlich:
I have prepared a patch that:
- Introduces a FGTileMgr::scenery_available method which asks the tilemanager
  if scenery for a given range around a lat/lon pair is already loaded and make
  use of that method at some -9999 meter checks.
- Introduces a FGScenery::get_elevation_m method which queries the altitude at
  a given position. In constrast to the groundcache functions this is the best
  choice if you ask for one *single* altitude value. Make use of that thing in
  AI/ATC classes and for the current views ground level. At the current views
  part the groundcache is reused if possible.
- The computation of the 'current groundlevel' is no longer done on the
  tilemanagers update since the required functions are now better seperated.

Alltogether it eliminates somehow redundant terrain level computations which
are now superseeded by that more finegrained functions and the existence of
the groundcache. Additionally it introduces an api to commonly required
functions which was very complex to do prevously.
2005-08-14 12:57:12 +00:00
ehofman
ee73d9fbff Mathias Frhlich:
I have now included a patch to the multiplyer protocoll which does:

1. place the 3d model into the scenery using a placement transform which can
dynamically change its scenry center.
2. Transmits unique position and orientation data for the 3d model.
3. Thus breaks protocol compatibility.

Oliver Schroeder:
With help from Norman I fixed the alignment in the used headers.

But this patch again fixes only symtoms, not the problems. I suggest to
put it into cvs anyway, as it will enable the majority to get experience
with the multiplayer mode.
2005-07-28 08:40:03 +00:00
curt
36929535d7 Fix some more of my own stupidity. 2005-06-03 15:25:19 +00:00
curt
00337c6c64 Fix some stupidity (mine). 2005-06-03 15:23:10 +00:00
ehofman
408dcc38b1 Solaris fixes 2005-05-07 08:56:42 +00:00
curt
5b9bd7ae4d Oops, forgot to update the network byte order conversion functions when I
updated the structures.
2005-05-04 21:07:03 +00:00
curt
927cb78aba 32 bit integers are somewhat magical and handled pretty well across platforms
in terms of predictable packing and byte ordering.  So rather than trying to
get fancy and shave a few bits off the structure sizes, just go with 32 bit
ints for everthing which saves a lot of potential headaches in the cross
platform and cross architecture arenas.
2005-05-03 20:34:21 +00:00
curt
a69bc500ef Fix a couple typos. 2005-04-19 01:41:17 +00:00
curt
babb51ba02 Update nasal function name. 2005-03-25 01:37:58 +00:00
curt
f55f96c44a Use standard length types (stdint.h where available) to make the FGNetCTRLS,
FGNetFDM, and FGNetGUI structures more cross platform/architecture portable.
2005-03-24 19:56:57 +00:00
curt
ebfaccd95b Add support for "offset" tag ... (value = raw * factor + offset) 2005-03-10 19:06:30 +00:00
ehofman
c1f250fd33 IRIX fixes. 2005-03-08 19:47:51 +00:00
curt
fa2a9854a4 Revert last change. 2005-03-03 23:33:29 +00:00
curt
85509fff03 Change fuel selector data type from bool to int. 2005-03-03 23:14:57 +00:00
curt
076aa3b402 Fix a small oops. 2005-03-03 18:25:25 +00:00
curt
61ed285d06 Add support for a simple deadband. 2005-03-03 18:22:48 +00:00
curt
40170cb722 The view frustum is defined in plib apps using calls to ssgSetFOV() and
ssgSetNearFar().  This by default creates a symmetric view frustum which is
typically what an application wants.

However, to get control of the view frustum in order to build support for
asymmetric view frustums, we need to wrap these calls with a bit of our own
logic.

This set of changes wraps all calls to ssgSetFOV() and ssgSetNearFar() with
FGRenderer methods.

I also standardized how the FGRenderer class is handled in globals.[ch]xx.
This led to some cascading changes in a variety of source files.

As I was working my way through the changes, I fixed a few warnings along
the way.
2005-02-25 19:41:53 +00:00
curt
9d8b687fc5 Add support for aileron and rudder trims. 2005-02-15 18:11:03 +00:00
curt
cdfb43f94d Tweak ... 2005-02-15 18:09:52 +00:00
curt
bf4aa941be Add an "additive-switch" type. 2005-02-15 18:09:20 +00:00
curt
8191d6b00e Fix my contact info. 2005-01-21 01:59:30 +00:00
curt
8512984da5 Add cht (cylinder head temp) and tit (turbine inlet temp) to net_fdm.hxx 2005-01-05 03:43:05 +00:00
curt
e7fa493b0d A quick fix to avoid breaking non-unix-ish platforms. 2005-01-04 22:45:08 +00:00