diff --git a/radio/src/lua.cpp b/radio/src/lua.cpp index f10a60e10..2aacda979 100644 --- a/radio/src/lua.cpp +++ b/radio/src/lua.cpp @@ -93,41 +93,21 @@ static int luaGetTime(lua_State *L) static void luaGetValueAndPush(int src) { /* - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_RPM) return frskyData.hub.rpm; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_FUEL) return frskyData.hub.fuelLevel; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_T1) return frskyData.hub.temperature1; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_T2) return frskyData.hub.temperature2; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_SPEED) return TELEMETRY_GPS_SPEED_BP; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_DIST) return frskyData.hub.gpsDistance; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_GPSALT) return TELEMETRY_RELATIVE_GPS_ALT_BP; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_CELL) return (int16_t)TELEMETRY_MIN_CELL_VOLTAGE; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_CELLS_SUM) return (int16_t)frskyData.hub.cellsSum; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_VFAS) return (int16_t)frskyData.hub.vfas; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_CURRENT) return (int16_t)frskyData.hub.current; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_CONSUMPTION) return frskyData.hub.currentConsumption; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_POWER) return frskyData.hub.power; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_ACCx) return frskyData.hub.accelX; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_ACCy) return frskyData.hub.accelY; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_ACCz) return frskyData.hub.accelZ; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_HDG) return frskyData.hub.gpsCourse_bp; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_VSPEED) return frskyData.hub.varioSpeed; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_ASPEED) return frskyData.hub.airSpeed; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_DTE) return frskyData.hub.dTE; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_MIN_A1) return frskyData.analog[0].min; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_MIN_A2) return frskyData.analog[1].min; - else if (i<=MIXSRC_FIRST_TELEM-1+TELEM_CSW_MAX) return *(((int16_t*)(&frskyData.hub.minAltitude))+i-(MIXSRC_FIRST_TELEM-1+TELEM_MIN_ALT)); - + Hint about dividers are taken from putsTelemetryChannel() */ if (!TELEMETRY_STREAMING() && src>=MIXSRC_FIRST_TELEM && src<=MIXSRC_LAST_TELEM) { - //telemetry not working, return zero + //telemetry not working, return zero for telemetry sources lua_pushinteger(L, (int)0); return; } switch (src) { case MIXSRC_FIRST_TELEM-1+TELEM_TX_VOLTAGE: case MIXSRC_FIRST_TELEM-1+TELEM_VFAS: + case MIXSRC_FIRST_TELEM-1+TELEM_MIN_VFAS: case MIXSRC_FIRST_TELEM-1+TELEM_CELLS_SUM: + case MIXSRC_FIRST_TELEM-1+TELEM_MIN_CELLS_SUM: case MIXSRC_FIRST_TELEM-1+TELEM_CURRENT: + case MIXSRC_FIRST_TELEM-1+TELEM_MAX_CURRENT: case MIXSRC_FIRST_TELEM-1+TELEM_VSPEED: //theese need to be divided by 10 lua_pushnumber(L, getValue(src)/10.0); @@ -146,12 +126,16 @@ static void luaGetValueAndPush(int src) break; case MIXSRC_FIRST_TELEM-1+TELEM_CELL: + case MIXSRC_FIRST_TELEM-1+TELEM_MIN_CELL: case MIXSRC_FIRST_TELEM-1+TELEM_ALT: + case MIXSRC_FIRST_TELEM-1+TELEM_ACCx: + case MIXSRC_FIRST_TELEM-1+TELEM_ACCy: + case MIXSRC_FIRST_TELEM-1+TELEM_ACCz: //theese need to be divided by 100 lua_pushnumber(L, getValue(src)/100.0); break; - //TODO other values that neeed special treatment like maxAlititude,... + //TODO: add other values that need special treatment default: lua_pushinteger(L, getValue(src));