xpl_sasl
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| xpl_sasl [2015/12/14 23:44] – [links] djbuldog | xpl_sasl [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| ====== Sasl ====== | ====== Sasl ====== | ||
| - | |||
| - | |||
| - | ===== Vize autora ===== | ||
| - | |||
| - | http:// | ||
| - | |||
| - | Everybody who tried to make own aircraft model discovered that real avionics often can't be simulated by default X-Plane gauges. Generic gauges was a great step to avionics simulation but it lacks most important thing: ability to specify custom logic. For example it is not possible to simulate Boeing FMC with generics and it is not possible to make Tu-16 autopilot AP-5 (I believe it is weirdest autopilot in the world) by using default features. | ||
| - | |||
| - | Some day I decided to solve this problem. Actually there was a lot of more problems those days because of generics doesn' | ||
| - | |||
| - | - Simulate virtually any avionics | ||
| - | - Avionics should work in 3D cockpit, 2D panels and 2D popup panels | ||
| - | - Avionics should work over network (internet) on remote computers to allow creation of complex training devices | ||
| - | - Avionics development should to be easy and fast | ||
| - | |||
| - | After few years of development I've finished with SASL toolkit. While it is in active development phase it is already can do everything from list above. | ||
| - | |||
| - | SASL approach to avionics can be described as " | ||
| - | |||
| - | Developing new avionics is relative fast. First of all easiest way is to find completed required gauge. While number of aircrafts increasing more and more gauges sees light. If you are no lucky you have to create your own one. It is fast because you haven' | ||
| - | |||
| - | SASL is open source project and can be used in any simulator, not just X-Plane. For now it is employed in following X-Plane models: | ||
| - | |||
| - | - Tu-104B (http:// | ||
| - | - IL-14 (http:// | ||
| - | - Yak-40 (http:// | ||
| - | |||
| - | SASL source codes and snapshot builds available here: http:// | ||
| - | |||
| - | You can download Tu-104 example aircraft (just unpack it to your X-Plane directory; everything required is inside of archive; no additional installation steps required). Also you can download stand-alone avionics application (slava) which allows to run gauges over network. Generic soviet stile navigator panel included in slava archive. In order to run it you have to open Tu-104 (or other sasl enabled aircraft) in X-Plane, specify network password in plugins menu and start server. Next you have to edit slava.bat (or slava.sh depending on your OS) end set the same password and X-Plane computer IP address. Run slava.bat (slava.sh) after that and you'll see navigator panel working over network. | ||
| - | |||
| - | For now I'm going to stop adding new features for a while and write documentation for avionics developers. I'm highly very interested in your thoughts about future of this project. Don't hesitate to ask any questions. | ||
| ===== Obecně ===== | ===== Obecně ===== | ||
| Řádek 41: | Řádek 9: | ||
| * existuje více verzí sasl | * existuje více verzí sasl | ||
| - | | + | |
| - | * pak nějaký | + | * nejspíš úplně |
| - | * komerční verze s .sec soubory | + | * vývoj byl ukončen, poslední verze 2.0.3 |
| + | * vývoj byl převeden na [[http:// | ||
| + | * https:// | ||
| + | | ||
| + | * obsahuje chyby, mrtvý projekt | ||
| + | * https:// | ||
| + | * aktuální oficiální větev pod vedením [[http:// | ||
| + | * [[https:// | ||
| + | * změny kódu se musí vracet 1-sim | ||
| + | * autor modifikace se zříká práv na modifikovaný kód.. tj. například sdílení dalším lidem | ||
| + | * použití pluginu v komerčním projektu vyžaduje souhlas | ||
| + | * použití pluginu ve free projektu je bez omezení | ||
| + | * součástí pluginu musí být ta proprietární licence | ||
| + | * ze zdrojových kódů je odstraněn Slava | ||
| + | * plánují úplně odstranit podporu pro Slava (remote connection), | ||
| ===== Kompilace Slava ===== | ===== Kompilace Slava ===== | ||
| - | * svn http:// | + | * stáhnout |
| - | * na webu se mluví o verzi 0.8 a 1.0 RC, v svn je ale verze kompatibilní s 2.0 (aktuálně 2.0.3) | + | |
| - | * kompilace se spouští pomocí // | + | |
| - | * soubor je potřeba upravit :) | + | |
| - | * není tam žádný configure, takže se musí upravit cesty a doinstalovat závislosti | + | |
| - | * pro kompilaci slava není potřeba kompilovat xap, který závisí na X-Plane SDK od XSquawkBox | + | |
| - | + | ||
| - | * já jsem řešil tyto problémy při kompilaci | + | |
| < | < | ||
| - | luna.h:10:17: fatal error: lua.h: Adresář nebo soubor neexistuje | + | svn co http://sasl.googlecode.com/ |
| - | # | + | |
| - | ^ | + | |
| </ | </ | ||
| + | * projekt neobsahuje žádný configure, takže se musí upravit cesty a doinstalovat závislosti | ||
| + | * pro kompilaci slava není potřeba kompilovat xap, který závisí na X-Plane [[http:// | ||
| + | * minimálně budou potřeba balíčky | ||
| < | < | ||
| - | locate lua.h | + | apt-get install libluajit-5.1-dev libsoil-dev libsdl2-dev libopenal-dev |
| </ | </ | ||
| + | * upravit konfigurační soubor - zohlednit cesty knihoven a vypnout xap | ||
| < | < | ||
| - | fps.h:5:17: fatal error: SDL.h: Adresář nebo soubor neexistuje | + | cp conf.mk-dist conf.mk |
| - | # | + | |
| </ | </ | ||
| < | < | ||
| - | apt-get install libsdl2-dev | + | +BUILD_XAP ?= no |
| - | </ | + | -BUILD_XAP ?= yes |
| - | < | + | +LUAJIT ?= /usr/ |
| - | #include | + | -LUAJIT ?= / |
| - | ^ | + | |
| + | +SOIL ?= /usr/ | ||
| + | -SOIL ?= / | ||
| + | |||
| + | +EXTRA_CXXFLAGS ?= -I/usr/include/SOIL | ||
| + | -EXTRA_CXXFLAGS ?= | ||
| </ | </ | ||
| - | < | + | * spustit kompilaci |
| - | locate SOIL.h | + | * lze použít přímo make, ale lepší je ./mkdisr, který navíc vytváří rovnou výstupní archív s binárkama |
| - | < | + | * mkdistr ale ignoruje conf.mk a snaží se buildovat i xap, lze upravit takto |
| < | < | ||
| - | apt-get install libsoil-dev | + | # build x-plane plugin |
| + | cd ../xap | ||
| + | -make clean | ||
| + | -make | ||
| + | +#make clean | ||
| + | +# | ||
| </ | </ | ||
| - | EXTRA_CXXFLAGS = -I/ | + | * výsledek je ve složce distr |
| - | ln -s / | + | ==== Řešené problémy ==== |
| - | -I/ | + | * obecně jsem postupoval takto |
| - | ./ | + | |
| - | / | + | < |
| - | /usr/bin/ld: cannot find -lluajit-5.1 | + | luna.h:10:17: fatal error: lua.h: Adresář nebo soubor neexistuje |
| - | /usr/bin/ld: cannot find -lopenal | + | #include < |
| + | ^ | ||
| + | </code> | ||
| - | -L./ -L../ | + | < |
| + | $ locate lua.h | ||
| + | </code> | ||
| - | ln -s / | + | * pak jsem kouknul na web debian, který balíček soubor poskytuje a v jaké cestě |
| - | n.cpp | + | * další zajímavý problém byl s kompilací lokálních adresářů |
| - | g++ -o slava -L/ | + | |
| - | / | + | |
| - | collect2: error: ld returned 1 exit status | + | |
| - | Makefile: | + | |
| - | make: *** [slava] Chyba 1 | + | |
| + | < | ||
| + | make: *** Žádné pravidlo jak vyrobit cíl „../ | ||
| + | </ | ||
| - | ten alsound se musi zkompilovat :) | + | * oprava jednoduchá, |
| - | je to adresar... a vyzdauje | + | |
| - | alsound.cpp: | + | < |
| - | # | + | make -C libaccgl |
| + | </code> | ||
| - | install libopenal-dev | + | * lze vyřešit i úpravou mkdistr, například pro alsound následovně |
| - | a pozooor.. nasel jsem ten divnej build :)) | + | < |
| - | https:// | + | --- mkdistr.sh (revision 224) |
| + | +++ mkdistr.sh (working copy) | ||
| - | uprava default conf.mk | + | +# build alsound |
| + | +cd alsound | ||
| + | +make clean | ||
| + | +make | ||
| + | +if [ $? != 0 ] ; then | ||
| + | + echo " | ||
| + | + exit -1 | ||
| + | +fi | ||
| + | +cd .. | ||
| + | </ | ||
| + | |||
| + | ===== Testování slava-Sasl ===== | ||
| + | |||
| + | * po zbuildování Slava jsem přišel na to, že s aplikaci nelze spojit Carenado SASL pluginem | ||
| + | * používají nejspíš verzi s bugem v handshake (jako [[https:// | ||
| < | < | ||
| - | # extra CXXFLAGS | + | server: |
| - | EXTRA_CXXFLAGS = -I/ | + | con.send((unsigned char*)" |
| + | con.send(seed, | ||
| - | # extra LNFLAGS | + | client: |
| - | EXTRA_LNFLAGS = -L/ | + | md5_append(& |
| + | md5_append(& | ||
| + | md5_byte_t digest[16]; | ||
| + | md5_finish(& | ||
| + | con.send(digest, | ||
| + | |||
| + | server: | ||
| + | md5_append(& | ||
| + | md5_append(& | ||
| + | md5_append(& | ||
| + | unsigned char digest[16]; | ||
| </ | </ | ||
| + | |||
| + | * vymyslel jsem opravu ve tvaru | ||
| < | < | ||
| Řádek 151: | Řádek 167: | ||
| </ | </ | ||
| - | | + | |
| + | * nebylo to ale stabilní. Pokud jsem ve Slava na něco klikl, tak se to nějak rozpojilo | ||
| + | |||
| + | ===== Zprovoznění Sasl u letadel ===== | ||
| + | |||
| + | * měl jsem letadla, u kterých měl běžet sasl plugin, ale neběžel | ||
| + | * zjistil jsem, že tam někdy chybí 64 bit verze nebo verze pro Linux | ||
| + | * dále jsem zjistil, že ldd na lin.xpl má někdy problémy najít knihovny a tak se modul nezavede | ||
| + | * důvod přeskočení pluginu by to mělo vypsat do x-plane Log.txt | ||
| + | |||
| + | ===== Kompilace SASL ===== | ||
| + | |||
| + | * odstraněno zakomentování | ||
| + | * přidáno x-plane SDK | ||
| + | * kompilace proběhla v pohodě, ale x-plane při pokusu načíst letadlo spadne | ||
| < | < | ||
| - | --- mkdistr.sh (revision 224) | + | SASL: Starting... |
| - | +++ mkdistr.sh (working copy) | + | X-Plane scriptable avionics library plugin v2.0.3 |
| + | Loaded: / | ||
| - | +# build alsound | + | SASL: Path to panel: /opt/X-Plane 10/ |
| - | +cd alsound | + | SASL: Loading avionics... |
| - | +make clean | + | --=={This application has crashed because of the plugin: SASL}==-- |
| - | +make | + | |
| - | +if [ $? != 0 ] ; then | + | |
| - | + echo " | + | |
| - | + exit -1 | + | |
| - | +fi | + | |
| - | +cd .. | + | |
| </ | </ | ||
| - | ===== Testování slava-Sasl ===== | + | * do terminálu vypisuje |
| - | build mam hotov.. | + | < |
| - | proc to nekomunikuje??? | + | Got allocator: 0x41e1c010 |
| + | Must use luaL_newstate() for 64 bit target | ||
| + | Got Lua: (nil) | ||
| + | error creating Lua virtual machine | ||
| + | Neúspěšně ukončen (SIGABRT) | ||
| + | </ | ||
| - | v saas2.0.zip je navod, co se posila v packetech.. je tam vlastne popis celeho komunikacnicho protokolu | + | * je to prý způsobeno nepovolenou custom alokaci |
| - | (ten zip mas v aircrafts u toho hangaru pc12) | + | * diskuze o problému například [[http:// |
| + | * řešením je nejspíš použití toho [https:// | ||
| + | * já jsem problém zkoušel vyřešit takto: | ||
| - | vlastten tady | + | < |
| - | less /opt/X-Plane\ 10/Aircraft/ | + | vim xap/xplua.cpp |
| + | - lua = lua_newstate(lj_alloc_f, | ||
| + | + lua = luaL_newstate(); | ||
| + | </code> | ||
| - | kdyz poslu NP1 na eclipse, tak on nereaguje | + | * funguje to, ale nevím jestli je to stabilní |
| - | kdyz poslu NP2, tak on odpovi NP1+16B ... podle zdrojaku co mam, by mel ale odepsat NP2 :) | + | ===== Historie ===== |
| - | takze to vypada, ze tam je nejaka jina verze :) ale jaka? | + | ==== Původní vize autora ==== |
| - | u toho eclipse se pise neco o verzi 2.0.0... z svn mam cosi jako 2.0.3 :) | + | http:// |
| - | vzal jsem sasl plugin z eclipse a hodil to do TU letounu... no a funguje | + | Everybody who tried to make own aircraft model discovered that real avionics often can't be simulated by default X-Plane gauges. Generic gauges was a great step to avionics simulation but it lacks most important thing: ability to specify custom logic. For example it is not possible to simulate Boeing FMC with generics and it is not possible to make Tu-16 autopilot AP-5 (I believe it is weirdest autopilot in the world) by using default features. |
| - | teoreticky, kdyz si udelam vlastni build sasl, tak by to pak mohlo frcet :) no ne? | + | |
| - | jinak.. ten sasl plugin by nemel vesmes delat tak nejak nic.. vsechno by melo byt v custom cocpit!! | + | Some day I decided to solve this problem. Actually there was a lot of more problems those days because of generics doesn' |
| + | - Simulate virtually any avionics | ||
| + | - Avionics should work in 3D cockpit, 2D panels and 2D popup panels | ||
| + | - Avionics should work over network (internet) on remote computers to allow creation of complex training devices | ||
| + | - Avionics development should to be easy and fast | ||
| - | ===== Zprovoznění Sasl u letadel ===== | + | After few years of development I've finished with SASL toolkit. While it is in active development phase it is already can do everything from list above. |
| - | * je tam 64 bit verze? | + | SASL approach to avionics can be described as " |
| - | * ldd na lin.xpl - not found knihovny?? //tohle většinou způsobilo nezobrazení pluginu v menu | + | |
| - | * zkoumáním log.txt | + | |
| - | * typicky tam je problém s velikosti písmen v názvu souboru // tohle plugin zobrazilo v plugin info, ale nebyla tma položka v menu | + | |
| - | < | + | Developing new avionics is relative fast. First of all easiest way is to find completed required gauge. While number of aircrafts increasing more and more gauges sees light. If you are no lucky you have to create your own one. It is fast because you haven' |
| - | SASL INFO: including | + | |
| - | SASL ERROR: Can' | + | |
| - | SASL ERROR: Can't find sound sounds/ | + | |
| - | SASL ERROR: Can't find sound sounds/BEE.wav | + | |
| - | SASL ERROR: Can' | + | |
| - | SASL ERROR: Can't find sound sounds/ | + | |
| - | SASL ERROR: Can't find sound sounds/ | + | |
| - | </ | + | |
| - | ===== TODO ===== | + | SASL is open source project and can be used in any simulator, not just X-Plane. For now it is employed in following X-Plane models: |
| - | | + | |
| - | | + | |
| - | * proč spadne xpl, když dám stop serveru u sasl, když jsem připojen slava klientem? | + | |
| - | * co zkompilovat sasl 2.0.3 a dát ho do caranado letadel?? bude to pořád padat v xpl? | + | |
| - | * co ten fork sasl?? nebude | + | SASL source codes and snapshot builds available here: http://code.google.com/p/sasl/ |
| - | * udělat si vlastní | + | |
| - | * ve v35 je nejaky xpscrollwell plugin :) nehodil by se i do jiných letadel? | + | You can download Tu-104 example aircraft (just unpack it to your X-Plane directory; everything required is inside of archive; no additional installation steps required). Also you can download stand-alone avionics application (slava) which allows to run gauges over network. Generic soviet stile navigator |
| - | | + | |
| - | * http:// | + | For now I'm going to stop adding new features for a while and write documentation for avionics developers. I'm highly very interested in your thoughts about future of this project. Don't hesitate to ask any questions. |
| - | * http:// | + | |
| - | * home/djbuldog/tmp/slava-0.8.0 .. tady mas testovaci buuild | + | ==== Změna GPL na proprietární ==== |
| - | ===== links ===== | + | |
| + | http:// | ||
| + | |||
| + | Hi guys. | ||
| + | |||
| + | People have asked me to give a short explanation to what is going on with sasl, so here it is. SASL has two types of users: regular users (designers that make planes with sasl) and contributes (people who compile sasl and add functionality). SASL also has two versions: open and commercial (with key protection and/or code scrambling). | ||
| + | |||
| + | As you all know, for the last few years sasl has been stagnating due to lack of development and contribution from 3rd party programmers. About a year ago we have taken over commercial sasl and with it its main free branch. In order to add functionality to the commercial version we much add the same functionality to the open one, otherwise designers won't be able to develop their planes. | ||
| + | |||
| + | In the past SASL was GPL, which meant that you were free to compile your own version but had to make your code open source as well. There were only five such contributors. If you have compiled your version without making your code open source, oh well.... What has changed now is that it is a copyrighted plugin however, its copyright is very open. As regular users you are still free to use the open sasl binaries for whatever projects you like, all that we ask is for you to place the copyright notice in your product to promote our work on sasl, We also urge you to use the commercial sasl for your commercial products, it is safer for your code as it can't be copied by others without permission, it helps keep your product off torrent sites by providing key protection and your small (actually very small) contribution to the project helps us fund future development of sasl. | ||
| + | |||
| + | If you would like to be a contributer to the code, you can find the sources of SASL on gitHub https://github.com/temk/sasl-2.x. If you add code we will review it and if it doesn' | ||
| + | |||
| + | SASL 3.0 is being developed in parallel with 2.x updates which you see. It is mostly a refactoring project where we will move to fully C++ object oriented code. We also plan many additions and new functionality including the ability to integrate C++ code right into sasl script. If you have suggestions, | ||
| + | |||
| + | ===== TODO ===== | ||
| - | * [[http:// | + | * co zkompilovat sasl 2.0.3 a dát ho do Caranado letadel?? |
| + | * bude Slava fungovat bez zaseknutí? | ||
| + | * a letadlo bez problémů (zvuk motoru, menu, pilot, | ||
| + | * a kruci.. s tím starým mým buildem je to ok, ale s tím novým to padá ihned :/ | ||
| - | * https:// | + | * udělat si vlastní panel s pár přístroji... |
| - | * docela zive vlakno | + | * například pro cesnu 152, přístroje se dají vytahat z textur |
| - | * | + | * zkusit namergovat (zkompilovat) Slave se zdrojaky 2.4 a používat tuhle novou verzi :) |
| + | * zapřemýšlet, | ||
| + | * nevýhoda SASL je v tom, že každý letadlo může mít jinou verzi | ||
| + | * některá letadla mohou používat tu DRM nebo šifrování a tam bych to tou free verzi popsul | ||
xpl_sasl.1450133065.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
