Commit Graph
176 Commits
Author SHA1 Message Date
Bertrand Songis 3bc75c1d55 S.PORT Push now working on internal module 2019-04-01 17:48:30 +02:00
Bertrand Songis 95fe5c59bb S.PORT Push reworking 2019-03-28 18:43:07 +01:00
Bertrand Songis 0feceff635 S.PORT Push from Lua was not working 2019-03-28 11:23:54 +01:00
Bertrand Songis 471d1c6f53 [PXX2] Telemetry push fix 2019-03-21 10:00:52 +01:00
Bertrand Songis fa36f7e0a1 Compilation fix 2019-03-20 19:11:24 +01:00
Bertrand Songis a1e80c4fd7 Compilation fix 2019-03-20 18:14:54 +01:00
Bertrand Songis 7d2f3dff5a S.PORT Push with PXX2 (still not tested) 2019-03-20 17:04:23 +01:00
3djc 45df511b26 Add telem1-32 and lua mixer outputs to lua fields 2019-02-18 17:32:38 +01:00
Bertrand Songis decfa57149 FrSky X3 fixes 2019-02-18 15:37:00 +01:00
Bertrand Songis 269365fd75 Preparation for custom popups 2019-02-13 19:00:17 +01:00
Bertrand Songis f17212f9b7 Possibility to disable PXX1 / PXX2 / CROSSFIRE 2019-02-09 12:43:05 +01:00
3djc e97cdd00a8 Merge fixes 2018-08-30 13:34:13 +02:00
Raphael Coeffic 25c02b96f3 add LUA access to serial port (serial2 and USB) 2018-07-06 10:01:09 +02:00
Kilrah b8e9d5542d Xlite LRUD key REPT events were missing in lua 2018-05-27 12:01:28 +02:00
3djc 535e41d43e Add required keyword for xlite. Fix #5909 2018-05-26 08:51:08 +02:00
Bertrand SongisandGitHub 99604dccc9 XLite support (#5806) 2018-04-25 23:07:04 +02:00
3djc af7183151c Restore access from LUA since values are controled 2018-02-28 12:32:47 +01:00
3djc fdf4d4926f POC for review and discussion 2018-02-28 11:34:32 +01:00
tgreerandArne Schwabe 4b7f822848 added case for UNIT_TEXT used by crossfire FM Sensor (#5724) 2018-02-25 01:18:23 +01:00
3djcandAndre Bernet d3951235bd Add gtimer support to LUA (#5669)
* Add gtimer support to LUA

* Copy/paste issue
2018-02-11 23:25:04 +01:00
3djcandBertrand Songis 87eec92c5d Expose more internal GPS data to lua (#5628) 2018-01-26 18:54:22 +01:00
3djcandAndre Bernet 45d1755e19 X12S : give internal GPS access to LUA (#5610)
* Initial test

* Tested version

* Cosmetics
2018-01-08 15:12:28 +01:00
Bertrand SongisandGitHub 269831e0c4 Fixes #5502 (#5575)
* Fixes #5502

* RAS renamed to SWR
2018-01-02 10:41:15 +01:00
Raphael CoefficandBertrand Songis e63a877ed6 added getRtcTime() LUA function (#5524)
This allows for retrieving the UNIX timestamp kept internally.
2017-12-18 21:04:02 +01:00
3djcandBertrand Songis 394bc1689f Massive cleaning (#5538) 2017-12-18 20:54:22 +01:00
3djcandBertrand Songis 13f364d96a Add American time format to lua getDateTime() (#5431)
Add American time format to lua getDateTime()
2017-11-29 09:18:50 +01:00
Damjan AdamicandAndre Bernet 955d5775cb Add Lua getUsage() function that returns percent of already used up i… (#5313)
* Add Lua getUsage() function that returns percent of already used up instructions in current script execution cycle. It can be used to avoid script being killed when doing long lasting tasks (like telemetry logs loading and parsing)

* Compilation fixes

* Doc fix

* Disable Lua script instructions limit in DEBUG mode
2017-11-10 17:23:37 +01:00
Damjan Adamic b153cdec93 Fixes #5266: Lua docs updated: radio type has different names for the various radios in 2.2.0 2017-10-31 18:04:21 +01:00
Florent MartelandAndre Bernet 1962336316 Add access to vBatWarn from luaGetGeneralSettings() (#5293) 2017-10-29 08:38:50 +01:00
3djcandBertrand Songis da71f4cbbc Make Horus widgets 'shadow' effect an option (#5203)
* Add shadows to c++ widgets

* Add BOOL zone option to Horus LUA

* LUA widgets too
2017-09-11 07:34:49 +02:00
Damjan Adamic 6cc40c65b2 Lua docs update (CrossfireTelemetryPush and crossfireTelemetryPop and some small spelling fixes) 2017-08-27 16:45:56 +02:00
Arne SchwabeandBertrand Songis 8e07f9b0f4 Allow to disable telemetry alarams (#4981)
* Allow to disable telemetry alarams

This mainly useful for cheap transceivers that have telemetry but no power amplifier and very limited range of often 10-20 meters. This includes fishpepper's tinyFISH FC (and its legal/illegal clones) and also Spektrum BNF models.

* Always disable a warning when RSSI Warnings are disabled

* Compile fix

* Fix typos, also mute sensor lost

Refactor the FrskyRSSIAlarm[2] into a EEPROM compatible RssiAlarm struct

* Compile fixes

* Also refactor Companion

* Cleanup unused datastruct on ARM

* Compile fix for AVR

* Change int to uin8_t for avr

* Fix strings
2017-06-14 23:34:27 +02:00
3djcandBertrand Songis 726b989f6c Horus Shadowed (#4979)
* Introduce SHADOWED and use it for BattCheck

* numbers too

* For drawTimer too

* Compilation fix
2017-06-02 16:36:27 +02:00
Arne Schwabe 2ae0472f76 Minor fixes to lua dua 2017-05-28 09:48:34 +02:00
3djcandBertrand Songis b291faf7a7 Add unit to lua getFieldInfo (#4750)
* Create getUnit lua function

* Cosmetics

* Expend getFieldInfo instead of creating a new function

* Streamline units table

* @projeckk2glider comments

* Cosmetics

* Use simple division
2017-04-06 22:31:17 +02:00
Max PapernoandBertrand Songis 5dabe53af4 Minor misc. fixes (#4729)
* [Simulator] Remove extraneous format value in microsTimer; Better way to delete SimulatorStartupDialog (in case no event loop starts).

* [Simulator] No helpers dependency for SimulatorStartupDialog.

* [simpgmspace] Rename micros timer function and make externally available.

* [Companion] Fix possible uninitialized value in TreeModel (compiler warning).

* [multi_arm] Fix minor compiler warning (MSVC: "unsafe mix of type 'uint8_t' and type 'bool' in operation").

* [lua] Fix compiler warning ("'data' may be used uninitialized in this function").

* [OpenTxSimulator] Fix analogs array range.

* [Simulator] Auto-start simulator when SimulatorMainWindow is first shown (vs. before it was shown).

* [Simulator] DebugOutput: prevent possible mutex deadlock on buffer overflow (force queued connection for Qt < 5.3).

* [Companion] Display calibration data for Horus joysticks (MOUSE1/MOUSE2)
2017-04-01 08:13:24 +02:00
Damjan Adamic 5e55a3f5d3 Lua killEvents() docs update 2017-03-25 20:37:05 +01:00
Damjan Adamic 1f1098e270 Lua getValue() docs updated (fixed source links for 2.2 added) 2017-03-20 17:51:02 +01:00
Damjan Adamic 7aae618ff8 Lua docs fix: playNumber() units table correction 2017-03-13 20:16:58 +01:00
Damjan Adamic acfeb7b47a Closes #4560: Lua uses double (again) for numbers. The float usage was not good for bit32 library where only ~24bits (out of 32) were correct, others were lost. This is supposed to be a temporary solution. 2017-03-06 18:21:41 +01:00
Max Paperno 8563ed8eac [lua-api] Prettify loadScript() API docs. [ci skip] 2017-03-04 04:25:06 -05:00
Damjan AdamicandBertrand Songis a1a58ad8f8 Lua: All usage of double converted to float (#4502)
* Lua: All usage of double converted to float. printf("%f") still uses promotion to double, (floating point va_args are always promoted to double)
Speed improvements:
 * reordering of rotable to put most used tables at the top
 * caching of last found global table
Use real pointer to rotable instead of misusing void* to pass integer value
Lua internal traces now turned on by TRACE_LUA_INTERNALS cmake option

* Replaced floating point division with multiplication (where possible), the hardware FPU is much faster at multiplication vs division.
stb_image: enabled STBI_NO_HDR and STBI_NO_LINEAR (removes code that we don't need)
2017-02-26 12:59:39 +01:00
Damjan AdamicandBertrand Songis f36d01d560 Fixes #4438: wrong cast used when setting Lua mixer script input source (#4470)
* Fixes #4438: wrong cast used when setting Lua mixer script input source
Improved parsing of Lua mixer script inputs

* Additional type check

* ScriptDataInput union introduced.
Fixed: when using SOURCE input, do not use default value
Fixed: when using SOURCE input, min-max range is fixed
2017-02-21 10:59:47 +01:00
Damjan AdamicandBertrand Songis b493973d7d Lua: Use incremental GC and also call it for Widgets (#4369)
Fixes #3885: Error in Lua Widget options handled better (does not disable entire Lua state)
Disable Lua Widget if any of its functions has error.
2017-02-04 10:58:06 +01:00
Bertrand SongisandGitHub 40ece81de2 X10 (#4377)
[X10] New radio supported!
2017-02-04 10:42:50 +01:00
Damjan Adamic dcbfa92b03 Lua docs update: playNumber units updated 2017-01-30 21:53:06 +01:00
Florent MartelandBertrand Songis 4a76c023e6 Update the luadoc for sportTelemetryPop() (#4287)
Followup on #4232: DIY ID range changed to 0x5000 - 0x52FF
2017-01-25 18:16:30 +01:00
Raphael CoefficandDamjan Adamic 1666fd7355 lua: added EVT_MENU_LONG on Taranis (#3991) 2016-12-28 22:39:59 +01:00
3djcandDamjan Adamic bab5fc339e Lua setTelemetryValue() function fixes (#4158)
* Protect subId, prevent endless loop in sensor discovery if more than 7 is passed.
* Documentation updated
* Add additional parameter checks
2016-12-23 19:32:39 +01:00
Max PapernoandBertrand Songis 5d5dc67605 Add runtime Lua script pre-compilation and general .luac file support (#3318) (#4119)
* [simu] simpgmspace: Populate file date/time/size  in f_stat(); Add f_utime(); Fix f_getcwd() on Windows; Fix f_mkdir() build error on Windows.

* [Lua] Add runtime support for script pre-compilation. Changes behavior with LUA_COMPILER (Re: https://github.com/opentx/opentx/issues/3318):
  All .lua scripts are now compiled and saved to binary "bytecode" file (.luac extension) upon first execution;
  Scripts are also automatically re-compiled if .lua source file is newer than existing .luac file;
  The pre-compiled .luac version is loaded if modification time is newer or equivalent to .lua source file;
  If a .luac version of a script exists, then the .lua version does not need to be present;
  Guards against bytecode compatibility issues (binaries from 64-bit sim will not run on 32-bit sim/radio);
  In SIMU and DEBUG builds, the source .lua file is always preferred in order to preserve full debug info (this is is controlled with new LUA_SCRIPT_LOAD_MODE macro, see lua_api.h);
  GC is now run after each script is loaded.

* [Lua] Add loadScript() API function as alternative to loadfile() from Lua base. This can take advantage of the new OTx script pre-compilation features to reduce memory footprint when loading functions dynamically. This is an interface to luaLoadScriptFileToState(). Fully documented.

* [SD][Lua] Flexible file extensions support:
  Allow for variable length file extensions throughout system (no longer hard-coded in LEN_FILE_EXTENSION);
  Fixes issues with renaming files in SD manager which have file extensions longer than ".ext";
  Expand general support for multiple file extensions per file type in sdListFiles() (eg. .lua and .luac for scripts);
  Lua scripts with .luac extensions can now be selected in custom/telemetry/function menus even if no .lua version exists (duplicates are not shown);
  .luac files can now also be executed from SD file manager UI.

* [Build] Added CMake options for LUA_COMPILER and LUA_SCRIPT_LOAD_MODE.

* Cosmetics.

* [SD][gui] Improve efficiency of some file name handling routines in sdmanager GUI and sdListFiles() by extending getFileExtension() function. Use shared isExtensionMatching() in place of isImageFileExtension(). Only allow executing .luac files when LUA_COMPILER defined (as per request).

* [simpgmspace] Fix f_mkdir() for MSVC build and misc. cleanup.

* [Lua] Use getFileExtension() in script loader to determine file type and check for buffer overflow.
2016-12-17 10:56:40 +01:00