diff --git a/libraries/AP_Scripting/generator/description/bindings.desc b/libraries/AP_Scripting/generator/description/bindings.desc index b3827b054a..88c0206e12 100644 --- a/libraries/AP_Scripting/generator/description/bindings.desc +++ b/libraries/AP_Scripting/generator/description/bindings.desc @@ -134,3 +134,4 @@ singleton AP_Relay method toggle void uint8_t 0 AP_RELAY_NUM_RELAYS include GCS_MAVLink/GCS.h singleton GCS alias gcs singleton GCS method send_text void MAV_SEVERITY'enum MAV_SEVERITY_EMERGENCY MAV_SEVERITY_DEBUG "%s"'literal string +singleton GCS method set_message_interval MAV_RESULT uint8_t 0 MAVLINK_COMM_NUM_BUFFERS uint32_t 0 UINT32_MAX int32_t -1 INT32_MAX diff --git a/libraries/AP_Scripting/lua_generated_bindings.cpp b/libraries/AP_Scripting/lua_generated_bindings.cpp index 3fb25f57ff..66e8738ee5 100644 --- a/libraries/AP_Scripting/lua_generated_bindings.cpp +++ b/libraries/AP_Scripting/lua_generated_bindings.cpp @@ -491,6 +491,32 @@ static int GCS_send_text(lua_State *L) { return 0; } +static int GCS_set_message_interval(lua_State *L) { + GCS * ud = GCS::get_singleton(); + if (ud == nullptr) { + return luaL_argerror(L, 1, "gcs not supported on this firmware"); + } + + binding_argcheck(L, 4); + const lua_Integer raw_data_2 = luaL_checkinteger(L, 2); + luaL_argcheck(L, ((raw_data_2 >= MAX(0, 0)) && raw_data_2 <= MIN(MAVLINK_COMM_NUM_BUFFERS, UINT8_MAX)), 2, "argument out of range"); + const uint32_t data_2 = static_cast(raw_data_2); + const lua_Unsigned raw_data_3 = luaL_checkinteger(L, 3); + luaL_argcheck(L, (raw_data_3 <= UINT32_MAX), 3, "argument out of range"); + const uint32_t data_3 = static_cast(raw_data_3); + const lua_Integer raw_data_4 = luaL_checkinteger(L, 4); + luaL_argcheck(L, ((raw_data_4 >= -1) && (raw_data_4 <= INT32_MAX)), 4, "argument out of range"); + const int32_t data_4 = static_cast(raw_data_4); + const MAV_RESULT data = ud->set_message_interval( + data_2, + data_3, + data_4); + + lua_pushinteger(L, data); + + return 1; +} + static int AP_Relay_toggle(lua_State *L) { AP_Relay * ud = AP_Relay::get_singleton(); if (ud == nullptr) { @@ -1519,6 +1545,7 @@ static int AP_AHRS_get_roll(lua_State *L) { const luaL_Reg GCS_meta[] = { {"send_text", GCS_send_text}, + {"set_message_interval", GCS_set_message_interval}, {NULL, NULL} };