From 330234df01dc2c020e3be1a4381500f95c12dd85 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 15 Jan 2014 17:24:13 +0100 Subject: [PATCH] Lua interpreter now running inside companion! --- companion/src/CMakeLists.txt | 7 +++- .../opentx/opentxTaranisSimulator.cpp | 33 ++++++++++++++++++- radio/src/Makefile | 2 +- radio/src/lua/src/luaconf.h | 12 ++++--- 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 3a8dd26b7..de5e6d1d0 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -80,7 +80,12 @@ IF( Subversion_FOUND ) # Subversion_WC_INFO( ${PROJECT_SOURCE_DIR} C9X ) ENDIF( ) -INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/../.. ${PROJECT_SOURCE_DIR}/../../radio/src/fonts/std ) +include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${PROJECT_SOURCE_DIR}/../.. + ${PROJECT_SOURCE_DIR}/../../radio/src/fonts/std + ${PROJECT_SOURCE_DIR}/../../radio/src/lua/src +) set(TH9X_CHECKOUT_DIRECTORY ${PROJECT_BINARY_DIR}/firmwares/th9x) add_custom_command( diff --git a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp index fbd65c564..266dd8c7f 100644 --- a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp +++ b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp @@ -49,7 +49,8 @@ #define PPM_CENTER_ADJUSTABLE #define PPM_LIMITS_SYMETRICAL #define FAI_CHOICE - +#define LUA +#define LUA_MODEL_SCRIPTS #define EEPROM_VARIANT 3 #undef min @@ -115,6 +116,36 @@ inline int geteepromsize() { #include "radio/src/translations/tts_pt.cpp" #include "radio/src/translations/tts_sk.cpp" #include "radio/src/translations/tts_pl.cpp" + +#include "radio/src/lua.cpp" +#include "radio/src/lua/src/lapi.c" +#include "radio/src/lua/src/lcode.c" +#include "radio/src/lua/src/lctype.c" +#include "radio/src/lua/src/ldebug.c" +#include "radio/src/lua/src/ldo.c" +#include "radio/src/lua/src/ldump.c" +#include "radio/src/lua/src/lfunc.c" +#include "radio/src/lua/src/lgc.c" +#include "radio/src/lua/src/llex.c" +#include "radio/src/lua/src/lmem.c" +#include "radio/src/lua/src/lobject.c" +#include "radio/src/lua/src/lopcodes.c" +#include "radio/src/lua/src/lparser.c" +#include "radio/src/lua/src/lstate.c" +#include "radio/src/lua/src/lstring.c" +#include "radio/src/lua/src/ltable.c" +#include "radio/src/lua/src/ltm.c" +#include "radio/src/lua/src/lundump.c" +#include "radio/src/lua/src/lvm.c" +#include "radio/src/lua/src/lzio.c" +#include "radio/src/lua/src/lbaselib.c" +#include "radio/src/lua/src/linit.c" +#include "radio/src/lua/src/lmathlib.c" +#include "radio/src/lua/src/loadlib.c" +#include "radio/src/lua/src/lauxlib.c" +#include "radio/src/lua/src/ltablib.c" +#include "radio/src/lua/src/lcorolib.c" + int16_t g_anas[NUM_STICKS+BOARD_X9D_NUM_POTS]; diff --git a/radio/src/Makefile b/radio/src/Makefile index d21c55513..16dfb8b04 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -252,7 +252,7 @@ GVARS = NO # Lua interpreter embedded # Values = NO, NO_MODEL_SCRIPTS, YES -# LUA = NO +LUA = NO # Menu Lock modes # Values = NO, READONLY, NOMENUS diff --git a/radio/src/lua/src/luaconf.h b/radio/src/lua/src/luaconf.h index 87e04e8b8..742295325 100644 --- a/radio/src/lua/src/luaconf.h +++ b/radio/src/lua/src/luaconf.h @@ -12,7 +12,9 @@ #include // #define LUA_LIB -#define USE_FATFS +#if !defined(SIMU) + #define USE_FATFS +#endif /* ** ================================================================== @@ -443,14 +445,14 @@ */ /* the following operations need the math library */ -#if defined(lobject_c) || defined(lvm_c) +//#if defined(lobject_c) || defined(lvm_c) #include #define luai_nummod(L,a,b) ((a) - l_mathop(floor)((a)/(b))*(b)) #define luai_numpow(L,a,b) (l_mathop(pow)(a,b)) -#endif +//#endif /* these are quite standard operations */ -#if defined(LUA_CORE) +// #if defined(LUA_CORE) #define luai_numadd(L,a,b) ((a)+(b)) #define luai_numsub(L,a,b) ((a)-(b)) #define luai_nummul(L,a,b) ((a)*(b)) @@ -460,7 +462,7 @@ #define luai_numlt(L,a,b) ((a)<(b)) #define luai_numle(L,a,b) ((a)<=(b)) #define luai_numisnan(L,a) (!luai_numeq((a), (a))) -#endif +// #endif