Commit Graph
18 Commits
Author SHA1 Message Date
3djcandBertrand Songis 656daa75fa Fix SDcard size and format issue (#5004)
* - fix overflow in SDcard size computation
- fix format function
- implement more informative format error handling

* Move to a function
2017-06-14 23:33:31 +02:00
Arne SchwabeandBertrand Songis d609d37798 Ignore UNIX dotfiles (#4973)
* Ignore UNIX dotfiles

This has the advantage of hiding all the stupid .DS_STORE and ._foo.lua attributes files from Mac OS X

* Do not ignore ..
2017-06-02 16:37:35 +02:00
Damjan AdamicandBertrand Songis 7081f924de Some memory leaks and out of bounds array access fixed (#4498) 2017-02-26 12:39:26 +01:00
Bertrand SongisandAndre Bernet b9bb831b7f Bsongis/horus flash external device (#4446)
* CMake options changed to UNEXPECTED_SHUTDOWN=YES/NO and  PWR_BUTTON=PRESS/SWITCH

* [X12S / X10] Flash an external device is now OK
2017-02-12 21:04:46 +01:00
Bertrand SongisandGitHub b0eeeb4dbc Fixes #4315 (#4406) 2017-02-05 22:01:44 +01:00
Damjan AdamicandBertrand Songis 82dce3ee60 Projectkk2glider/flash savings (#4199)
* Flash savings: getFileExtension() de-templated, saves 160 bytes

* Flash savings: several variables moved to rodata, RGB macro optimization (speed and can now be used to initialize rodata)

Result for Horus:
   text	   data	    bss	    dec
1261182	 808603	  42020	2111805   before
1267149	 803335	  42124	2112608   after (data size also counts .sram section)

5kB saved in .data section (RAM and FLASH)

* Removed compiler warnings

* RGB() and ARGB() gtests added

* ARGB() optimized
2017-01-05 21:44:59 +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
Damjan Adamic 258b8adfb9 Fixes #3912: Deleting file in SD manager updates the list wrongly (Horus) 2016-10-31 11:07:44 +01:00
Damjan AdamicandBertrand Songis 4513cf89f2 Projectkk2glider/fatfs 0.12 (#3925)
* Re #3815: Disk cache: Write statistic added. Bigger disk cache. Show disk cache misses in CLI.

* Update to the latest FatFS R0.12b (all existing OpenTX patches have been already applied in upstream, only few ff.h modifications needed for simulator)

* Missing file

* SD card manager: do not show parent dir [..] for root directory
2016-10-18 18:14:17 +02:00
Bertrand Songis 85273d07c1 #3817 fixes 2016-10-12 18:12:12 +02:00
Andre BernetandBertrand Songis ed2a232bda Allow selecting a model image from the SD manager (#3817) 2016-10-12 17:42:34 +02:00
Damjan Adamic e229c8f8e7 Log file moved to RAM and aligned for proper DMA access. Log functions renamed. 2016-09-11 21:37:54 +02:00
Bertrand Songis cc2c2b094e [Horus] S.PORT devices update should work (not tested)
[Horus] SD Manager files renaming fixed (quick & dirty, I would prefer a popup)
2016-09-05 19:33:06 +02:00
Bertrand Songis 5b9bd52737 [Horus] Warnings removed 2016-08-29 13:51:09 +02:00
Andre Bernet 30eb2baed9 [Horus] Bitmaps now scaled to fit both dimensions and centered in desired zone 2016-08-28 11:28:29 +02:00
Bertrand Songis b69c2aa41c Cosmetics again ... 2016-08-24 20:39:22 +02:00
Bertrand Songis 7fbd963b3f Another big refactoring 2016-08-02 22:15:29 +02:00
Bertrand SongisandGitHub 83cdd67e6a Bsongis/move everything (#3669)
* Directories moved

* Directories moved

* Directories moved

* Directories moved

* Directories moved

* rename horus directories in gui to 480x272

* Directories moved

* Rename taranis to 212x64

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Fix x9e compile

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Directories moved - TARANIS target removed, it's now X9E / X9D+ / X9D

* Minor improvement of path handling

* Another bunch of files renamed :)

* Another bunch of files renamed :)

* Another bunch of files renamed :)

* Another bunch of files renamed :)

* Another bunch of files renamed :)

* Rename 9x to 128x64

* Compilation fixes

* Compilation fixes

* Compilation fixes

* Compilation fixes

* Compilation fixes

* Compilation fixes
2016-07-29 12:47:20 +02:00