mirror of https://github.com/ArduPilot/ardupilot
AP_Scripting: added ability to expand heap at runtime if armed
This commit is contained in:
parent
66752996e4
commit
a5ff7f83d1
|
@ -94,6 +94,7 @@ const AP_Param::GroupInfo AP_Scripting::var_info[] = {
|
||||||
// @Bitmask: 3: log runtime memory usage and execution time
|
// @Bitmask: 3: log runtime memory usage and execution time
|
||||||
// @Bitmask: 4: Disable pre-arm check
|
// @Bitmask: 4: Disable pre-arm check
|
||||||
// @Bitmask: 5: Save CRC of current scripts to loaded and running checksum parameters enabling pre-arm
|
// @Bitmask: 5: Save CRC of current scripts to loaded and running checksum parameters enabling pre-arm
|
||||||
|
// @Bitmask: 6: Disable heap expansion on allocation failure
|
||||||
// @User: Advanced
|
// @User: Advanced
|
||||||
AP_GROUPINFO("DEBUG_OPTS", 4, AP_Scripting, _debug_options, 0),
|
AP_GROUPINFO("DEBUG_OPTS", 4, AP_Scripting, _debug_options, 0),
|
||||||
|
|
||||||
|
|
|
@ -159,6 +159,7 @@ public:
|
||||||
LOG_RUNTIME = 1U << 3,
|
LOG_RUNTIME = 1U << 3,
|
||||||
DISABLE_PRE_ARM = 1U << 4,
|
DISABLE_PRE_ARM = 1U << 4,
|
||||||
SAVE_CHECKSUM = 1U << 5,
|
SAVE_CHECKSUM = 1U << 5,
|
||||||
|
DISABLE_HEAP_EXPANSION = 1U << 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -44,7 +44,8 @@ lua_scripts::lua_scripts(const AP_Int32 &vm_steps, const AP_Int32 &heap_size, AP
|
||||||
: _vm_steps(vm_steps),
|
: _vm_steps(vm_steps),
|
||||||
_debug_options(debug_options)
|
_debug_options(debug_options)
|
||||||
{
|
{
|
||||||
_heap.create(heap_size, 4);
|
const bool allow_heap_expansion = !option_is_set(AP_Scripting::DebugOption::DISABLE_HEAP_EXPANSION);
|
||||||
|
_heap.create(heap_size, 10, allow_heap_expansion, 20*1024);
|
||||||
}
|
}
|
||||||
|
|
||||||
lua_scripts::~lua_scripts() {
|
lua_scripts::~lua_scripts() {
|
||||||
|
|
Loading…
Reference in New Issue