From a33a4c57ef00834b60557879d30f92a370fb076f Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 13 Dec 2023 18:06:03 +1100 Subject: [PATCH 01/20] Add vitepress folder - with basic config. No algolia --- .vitepress/config.mjs | 127 ++++++++++++++++++ .vitepress/get_sidebar.js | 268 +++++++++++++++++++++++++++++++++++++ .vitepress/theme/index.js | 39 ++++++ .vitepress/theme/style.css | 153 +++++++++++++++++++++ 4 files changed, 587 insertions(+) create mode 100644 .vitepress/config.mjs create mode 100644 .vitepress/get_sidebar.js create mode 100644 .vitepress/theme/index.js create mode 100644 .vitepress/theme/style.css diff --git a/.vitepress/config.mjs b/.vitepress/config.mjs new file mode 100644 index 000000000000..751bec981713 --- /dev/null +++ b/.vitepress/config.mjs @@ -0,0 +1,127 @@ +import { defineConfig } from "vitepress"; +const getSidebar = require("./get_sidebar.js"); +//import { getSidebar } from "./get_sidebar"; + +import markdownItVideo from "markdown-it-video"; + +// https://vitepress.dev/reference/site-config +export default defineConfig({ + title: "PX4 Guide (main)", + description: "PX4 User and Developer Guide", + base: process.env.BRANCH_NAME + ? "/" + process.env.BRANCH_NAME + "/" + : "/px4_user_guide/", + srcExclude: ["de/**/*.md", "ja/**/*.md", "ru/**/*.md"], + markdown: { + math: true, + + // container: { + // tipLabel: "Note", + // }, + + config: (md) => { + // use more markdown-it plugins! + md.use(markdownItVideo); + }, + }, + locales: { + en: { + label: "English", + // other locale specific properties... + themeConfig: { + sidebar: getSidebar.sidebar("en"), + }, + }, + zh: { + label: "中文 (Chinese)", + lang: "zh-CN", // optional, will be added as `lang` attribute on `html` tag + themeConfig: { + sidebar: getSidebar.sidebar("zh"), + }, + // other locale specific properties... + }, + ko: { + label: "한국어 (Korean)", + lang: "ko-KR", // optional, will be added as `lang` attribute on `html` tag + themeConfig: { + sidebar: getSidebar.sidebar("ko"), + }, + + // other locale specific properties... + }, + }, + + themeConfig: { + // https://vitepress.dev/reference/default-theme-config + logo: "/px4-logo.svg", + sidebar: getSidebar.sidebar("en"), + editLink: { + pattern: "https://github.com/PX4/PX4-user_guide/edit/main/:path", + text: "Edit on GitHub", + }, + + nav: [ + { + text: "PX4", + items: [ + { + text: "Website", + link: "https://px4.io/", + ariaLabel: "PX4 website link", + }, + { + text: "Autopilot Source Code", + link: "https://github.com/PX4/PX4-Autopilot", + }, + { + text: "Docs Source Code", + link: "https://github.com/PX4/PX4-user_guide", + }, + ], + }, + { + text: "Dronecode", + items: [ + { + text: "QGroundControl", + link: "http://qgroundcontrol.com/", + }, + { + text: "MAVSDK", + link: "https://mavsdk.mavlink.io/", + }, + { + text: "MAVLINK", + link: "https://mavlink.io/en/", + }, + { + text: "QGroundControl Guide", + link: "https://docs.qgroundcontrol.com/master/en/qgc-user-guide/", + }, + { + text: "Dronecode Camera Manager", + link: "https://camera-manager.dronecode.org/en/", + }, + ], + }, + { + text: "Support", + link: "https://docs.px4.io/main/en/contribute/support.html", + }, + { + text: "Version", + items: [ + { text: "main", link: "https://docs.px4.io/main/zh/" }, + { text: "v1.14", link: "https://docs.px4.io/v1.14/zh/" }, + { text: "v1.13", link: "https://docs.px4.io/v1.13/zh/" }, + { text: "v1.12", link: "https://docs.px4.io/v1.12/zh/" }, + { text: "v1.11", link: "https://docs.px4.io/v1.11/zh/" }, + ], + }, + ], + + socialLinks: [ + { icon: "github", link: "https://github.com/PX4/PX4-user_guide" }, + ], + }, +}); diff --git a/.vitepress/get_sidebar.js b/.vitepress/get_sidebar.js new file mode 100644 index 000000000000..f0f3103c0145 --- /dev/null +++ b/.vitepress/get_sidebar.js @@ -0,0 +1,268 @@ +// .vuepress/get_sidebar.js + +import path from "path"; +import fs from "fs"; +import readline from "readline"; + +function getEntryArray(parent) { + let returnEntryArray = null; + //console.log("getEntryArray(): parent"); + //console.log(parent); + //Gets returns the child array + //if (parent === "undefined") { + // return []; + //} + + if (Array.isArray(parent)) { + //This parent is an array, so return it (it is the sidebar top level) + returnEntryArray = parent; + //console.log("isArray"); + } + parent.items = parent?.items ? parent.items : []; + //console.log("isNotArray"); + //console.log("returnEntryArray:"); + returnEntryArray = parent.items; + //console.log(returnEntryArray); + return returnEntryArray; +} + +function parseGitbookSidebarToVuepress(sidebarContent, lang) { + const lines = sidebarContent.split("\n"); + + const newSidebar = []; + + let first_iteration = true; + let indent_divider = 0; + + const parents = []; + //console.log("parents - empty after creaton"); + //console.log(parents); + + const topLevelParent = { + title: "DUMMY", + path: "DUMMY", + //level: "0", + //items: [], + }; + topLevelParent.items = []; + //console.log("topLevelParent - empty after creaton"); + //console.log(topLevelParent); + + parents.push(topLevelParent); // So last item is always the sidebar + //console.log("parents after pushing topLevelParent:"); + //console.log(parents); + + let current_parent; + + let lastlevel = 0; + let last_item; + + //let currentSection; + //let currentLevel = 0; + + lines.forEach((line) => { + if (line.startsWith("#") || line.trim() === "") { + // Ignore lines that start with "#" or are empty + // Note, we should perhaps create sections for these. TBD. + return; + } + + //console.log("DEBUG: Line: " + line); + + let regex = /(\s*?)[\*-]\s\[(.*?)\]\((.*?)\)/g; + + let indent_level = ""; + let link_title = ""; + let link_url = ""; + let link_path = ""; + + try { + //console.log(`DEBUG: Lastitem at start: ${JSON.stringify(last_item)}`); + let match = regex.exec(line); + //console.log('0: '+ match[0]) + indent_level = match[1].length; + link_title = match[2]; + link_url = match[3].trim(); + link_path = link_url; + } catch (err) { + //Just skip empty lines that don't match + console.log(err); + console.log("DEBUG: Couldn't match line, skip line using return"); + return; + } + + try { + /* + if (link_url.endsWith("README.md")) { + link_url = link_url.replace("README.md", ""); + } + */ + if (link_url.endsWith(".md")) { + link_url = link_url.replace(".md", ".html"); + //link_path = link_path.replace(".md", ".html"); + } + + if (!link_url.startsWith("http")) { + if (lang) { + link_url = `/${lang}/${link_url}`; + } else { + link_url = `/${link_url}`; + } + } + + //Tidy up some of the title escaping that isn't used by VuePress + link_title = link_title.replace("\\(", "("); + link_title = link_title.replace("\\)", ")"); + link_title = link_title.replace("\\_", "_"); + + //set indent_divider level (easier to think in levels, numbers of zero prefixes) + if ((indent_divider == 0) & (indent_level > 0.0)) { + indent_divider = indent_level; + } + if (indent_divider > 0) { + indent_level = indent_level / indent_divider; + } + + let entry = { + text: link_title, + link: link_url, + //collapsed: true, + //link_path, + //level: indent_level, + //collapsible: true, + }; + //console.log("entry:"); + //console.log(entry); + + //console.log("parents:"); + //console.log(parents); + //console.log("current_parent - before pop"); + //console.log(current_parent); + current_parent = parents.pop(); + //console.log("current_parent - after pop"); + //console.log(current_parent); + + //console.log(`XX ST: indent: ${indent_level} lastlevel: ${lastlevel}`); + if (indent_level == lastlevel) { + //console.log(`XX EQ:`); + //console.log(current_parent); + const parentArray = getEntryArray(current_parent); + parentArray.push(entry); + //console.log("current_parent after pushing last entry"); + //console.log(current_parent); + + //console.log("eq parents before pushing back current parent"); + //console.log(parents); + parents.push(current_parent); + //console.log("EQ parents after pushing current parent"); + //console.log(parents); + + //console.log("XX EQ3"); + } else if (indent_level > lastlevel) { + //console.log("XX NEST"); + //console.log( + // ` DEBUG:NEST: lastlev: ${lastlevel}/indent lev: ${indent_level}` + // ); + // This is a child of the last element added to current parent + + //console.log(current_parent); + //console.log("NEST: current_parent - after pop"); + //console.log("NEST: parents before"); + //console.log(parents); + + const parentArray = getEntryArray(current_parent); + + //console.log( + // "parentArray - we want to add entry to last entry in this array." + //); + //console.log(parentArray); + + //Get the last element + //console.log(`how many elements in array ${parentArray.length}`); + // + const lastElement = parentArray.pop(); + lastElement.collapsed = true; + //console.log(`NEST: last element in array:`); + //console.log(lastElement); + const lastElementArray = getEntryArray(lastElement); + //console.log(`NEST: last element array:`); + lastElementArray.push(entry); + //console.log(`NEST: last element after pushing event:`); + //console.log(lastElement); + // Push the last element back on to the parentArray + parentArray.push(lastElement); + //push current parent onto the parents array + parents.push(current_parent); + // push the element we just edited back onto the array so it can be current parent. + parents.push(lastElement); + //console.log("NEST: parents after"); + //console.log(parents); + } else if (indent_level < lastlevel) { + // gone up a level + //console.log(`XX UP`); + while (indent_level < lastlevel--) { + //console.log(`pop ${lastlevel}`); + //Here we have no item. Group has finished (with a group) + //So add the current parent (finished) to its parent. + //console.log('DEBUG: Gone UP from level: '+ indent_level + ' TO: ' + lastlevel) + + current_parent = parents.pop(); + } + const parentArray = getEntryArray(current_parent); + parentArray.push(entry); + //console.log("current_parent after pushing last entry"); + //console.log(current_parent); + + //console.log("eq parents before pushing back current parent"); + //console.log(parents); + parents.push(current_parent); + } + + //console.log("AFTER ADDING Entry:"); + //console.log("entry:"); + //console.log(entry); + //console.log("parents:"); + //console.log(parents); + } catch (err) { + console.log(err); + console.log(` DEBUG SOME ACTUAL PROBLEMXX2: ${err}`); + } + + //last_item = entry; + + lastlevel = indent_level; //reset + //console.log(`END OF ONE LINE:${indent_level} lastlevel: ${lastlevel}`); + //console.log("PARENTS"); + //console.log(JSON.stringify(parents)); + }); + + //all lines done + //console.log("All lines done parents:"); + //console.log(JSON.stringify(parents)); + + //console.log("topLevelParent"); + //console.log(topLevelParent); + return topLevelParent.items; +} + +module.exports = { + sidebar: function (lang) { + const summaryfile_path = path.resolve(__dirname, "..", lang, "SUMMARY.md"); + console.log("DEBUG: summaryfile_path: " + summaryfile_path); + let data = ""; + + try { + // read contents of the file + data = fs.readFileSync(summaryfile_path, "UTF-8"); + } catch (err) { + console.log(`DEBUG: ${lang} - SIDEBAR DEFINITION NOT FOUND`); + } + + const module_sidebar = parseGitbookSidebarToVuepress(data, lang); + console.log(`DEBUG: Before`); + console.log(`DEBUG: ${JSON.stringify(module_sidebar)}`); + + console.log(`DEBUG: After`); + return module_sidebar; + }, +}; diff --git a/.vitepress/theme/index.js b/.vitepress/theme/index.js new file mode 100644 index 000000000000..2df647a16885 --- /dev/null +++ b/.vitepress/theme/index.js @@ -0,0 +1,39 @@ +// https://vitepress.dev/guide/custom-theme +import { h } from "vue"; +import DefaultTheme from "vitepress/theme"; +import "./style.css"; + +// To support medium-zoom - like setup() +import { onMounted, watch, nextTick } from "vue"; +import { useRoute } from "vitepress"; +import mediumZoom from "medium-zoom"; + +/** @type {import('vitepress').Theme} */ +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + }); + }, + enhanceApp({ app, router, siteData }) { + // ... + }, + + // to support medium zoom: https://github.com/vuejs/vitepress/issues/854 + setup() { + const route = useRoute(); + const initZoom = () => { + //mediumZoom("[data-zoomable]", { background: "var(--vp-c-bg)" }); + mediumZoom(".main img", { background: "var(--vp-c-bg)" }); + }; + onMounted(() => { + initZoom(); + }); + watch( + () => route.path, + () => nextTick(() => initZoom()) + ); + }, + //end to support medium zoom +}; diff --git a/.vitepress/theme/style.css b/.vitepress/theme/style.css new file mode 100644 index 000000000000..2b4915f91bea --- /dev/null +++ b/.vitepress/theme/style.css @@ -0,0 +1,153 @@ +/** + * Customize default theme styling by overriding CSS variables: + * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css + */ + +/** + * Colors + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * + * - `default`: The color used purely for subtle indication without any + * special meanings attched to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-default-1: var(--vp-c-gray-1); + --vp-c-default-2: var(--vp-c-gray-2); + --vp-c-default-3: var(--vp-c-gray-3); + --vp-c-default-soft: var(--vp-c-gray-soft); + + --vp-c-brand-1: var(--vp-c-indigo-1); + --vp-c-brand-2: var(--vp-c-indigo-2); + --vp-c-brand-3: var(--vp-c-indigo-3); + --vp-c-brand-soft: var(--vp-c-indigo-soft); + + --vp-c-tip-1: var(--vp-c-brand-1); + --vp-c-tip-2: var(--vp-c-brand-2); + --vp-c-tip-3: var(--vp-c-brand-3); + --vp-c-tip-soft: var(--vp-c-brand-soft); + + --vp-c-warning-1: var(--vp-c-yellow-1); + --vp-c-warning-2: var(--vp-c-yellow-2); + --vp-c-warning-3: var(--vp-c-yellow-3); + --vp-c-warning-soft: var(--vp-c-yellow-soft); + + --vp-c-danger-1: var(--vp-c-red-1); + --vp-c-danger-2: var(--vp-c-red-2); + --vp-c-danger-3: var(--vp-c-red-3); + --vp-c-danger-soft: var(--vp-c-red-soft); +} + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +:root { + --vp-button-brand-border: transparent; + --vp-button-brand-text: var(--vp-c-white); + --vp-button-brand-bg: var(--vp-c-brand-3); + --vp-button-brand-hover-border: transparent; + --vp-button-brand-hover-text: var(--vp-c-white); + --vp-button-brand-hover-bg: var(--vp-c-brand-2); + --vp-button-brand-active-border: transparent; + --vp-button-brand-active-text: var(--vp-c-white); + --vp-button-brand-active-bg: var(--vp-c-brand-1); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #bd34fe 30%, + #41d1ff + ); + + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #bd34fe 50%, + #47caff 50% + ); + --vp-home-hero-image-filter: blur(44px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(68px); + } +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-brand-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand-1) !important; +} + + + + +/** + * Component: Medium Zoom: https://github.com/vuejs/vitepress/issues/854 + * -------------------------------------------------------------------------- */ + +.medium-zoom-overlay { + z-index: 20; +} + +.medium-zoom-image { + z-index: 21; +} From 7b318887f4f6d38ac37bd4816e4c42929d0e5e23 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 13 Dec 2023 18:07:00 +1100 Subject: [PATCH 02/20] .gitigore: Add vitepress dist/etc. Adjust if move --- .gitignore | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 47b6bbd20b2d..803683658a47 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,12 @@ logs #Sublime Projects *.sublime-project -*.sublime-workspace \ No newline at end of file +*.sublime-workspace + + +# vitepress - user guide +node_modules/ +#docs/.vitepress/cache/ +#docs/.vitepress/dist/ +.vitepress/cache/ +.vitepress/dist/ From 564d16821da51272017fa650765c3ec928fc565f Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 13 Dec 2023 18:07:36 +1100 Subject: [PATCH 03/20] package.json: Add vitepress build stuff --- package.json | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index 97aedb07a8ee..3658b239032b 100644 --- a/package.json +++ b/package.json @@ -1,37 +1,21 @@ { "name": "px4_user_guide", - "version": "1.0.0", - "main": "index.js", + "version": "1.0.1", "repository": "https://github.com/PX4/px4_user_guide.git", "license": "CC-BY-4.0", + "devDependencies": { + "vitepress": "^1.0.0-rc.25" + }, "scripts": { - "ununtu_copyworker": "cp .vuepress/scripts/* node_modules/@vuepress/core/lib/node/build/", - "windows_copyworker": "xcopy /f /y \".vuepress/scripts/*\" \"node_modules/@vuepress/core/lib/node/build/\"", - "docs:buildwin": "set NODE_OPTIONS=--max_old_space_size=8192 && vuepress build .", - "docs:buildfast_windows": "yarn windows_copyworker && yarn docs:buildwin", - "docs:build_ubuntu": "NODE_OPTIONS='--max-old-space-size=8192' vuepress build .", - "docs:buildfast_ubuntu": "yarn ununtu_copyworker && yarn docs:build_ubuntu", - "docs:dev": "vuepress dev . ", - "docs:buildnorm": "vuepress build .", - "docs:sitemap": "python3 ./scripts/gen_sitemap.py", - "docs:build": "yarn docs:buildfast_ubuntu", + "docs:dev": "vitepress dev .", + "docs:build": "vitepress build .", + "docs:preview": "vitepress preview .", "start": "yarn docs:dev", "linkcheck": "markdown_link_checker_sc -d en -i assets" }, "dependencies": { - "@vuepress/plugin-back-to-top": "^1.8.2", - "@vuepress/plugin-google-analytics": "^1.8.2", - "@vuepress/plugin-medium-zoom": "^1.8.2", - "lodash.debounce": "^4.0.8", + "markdown-it-mathjax3": "^4.3.2", "markdown-it-video": "^0.6.3", - "vue-tabs-component": "^1.5.0", - "vuepress": "^1.8.2", - "vuepress-plugin-mathjax": "^1.2.8", - "vuepress-plugin-redirect": "^1.2.5", - "vuepress-plugin-right-anchor": "^0.4.9", - "vuepress-plugin-tabs": "^0.3.0" - }, - "devDependencies": { - "vuepress-plugin-check-md": "^0.0.2" + "medium-zoom": "^1.1.0" } } From f2309df73ee98816e765982305bdf53eda4e273b Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 13 Dec 2023 18:07:57 +1100 Subject: [PATCH 04/20] Add placeholder index in root --- index.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 index.md diff --git a/index.md b/index.md new file mode 100644 index 000000000000..a165b38e178e --- /dev/null +++ b/index.md @@ -0,0 +1,25 @@ +--- +# https://vitepress.dev/reference/default-theme-home-page +layout: home + +hero: + name: "PX4 User Guide" + text: "Vitepress text" + tagline: My great project tagline + actions: + - theme: brand + text: English Home page + link: /en/README.md + - theme: alt + text: API Examples + link: /api-examples + +features: + - title: Feature A + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit + - title: Feature B + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit + - title: Feature C + details: Lorem ipsum dolor sit amet, consectetur adipiscing elit +--- + From 8ec544ec146d50c80326300751f7852911a5839e Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 13 Dec 2023 18:08:31 +1100 Subject: [PATCH 05/20] public: copy into root --- public/en/config/failsafe/index.html | 1 + public/en/config/failsafe/index.js | 1 + public/en/config/failsafe/index.wasm | Bin 0 -> 162658 bytes public/en/config/failsafe/parameters.json | 1 + public/en/middleware/graph_full.json | 1 + .../en/middleware/graph_full_no_mavlink.json | 1 + public/en/middleware/graph_px4_fmu-v2.json | 1 + public/en/middleware/graph_px4_fmu-v4.json | 1 + public/en/middleware/graph_px4_fmu-v5.json | 1 + public/en/middleware/graph_px4_sitl.json | 1 + public/en/middleware/uorb_graph.js | 483 ++++++++++++++++++ public/logo_pro_small.png | Bin 0 -> 84864 bytes public/px4-logo.svg | 158 ++++++ public/px4-text.svg | 110 ++++ 14 files changed, 760 insertions(+) create mode 100644 public/en/config/failsafe/index.html create mode 100644 public/en/config/failsafe/index.js create mode 100644 public/en/config/failsafe/index.wasm create mode 100644 public/en/config/failsafe/parameters.json create mode 100644 public/en/middleware/graph_full.json create mode 100644 public/en/middleware/graph_full_no_mavlink.json create mode 100644 public/en/middleware/graph_px4_fmu-v2.json create mode 100644 public/en/middleware/graph_px4_fmu-v4.json create mode 100644 public/en/middleware/graph_px4_fmu-v5.json create mode 100644 public/en/middleware/graph_px4_sitl.json create mode 100644 public/en/middleware/uorb_graph.js create mode 100644 public/logo_pro_small.png create mode 100644 public/px4-logo.svg create mode 100644 public/px4-text.svg diff --git a/public/en/config/failsafe/index.html b/public/en/config/failsafe/index.html new file mode 100644 index 000000000000..261d288bef1a --- /dev/null +++ b/public/en/config/failsafe/index.html @@ -0,0 +1 @@ +Failsafe State Machine
emscripten
Downloading...

Failsafe State Machine Simulation

State

?For VTOLs the type switches between Multirotor and Fixed Wing

Parameters

Conditions

Mode requirements

Control links

Battery

Other

Failure detector

Output

Failsafe action: 

User takeover active: 

Console output (debug):

\ No newline at end of file diff --git a/public/en/config/failsafe/index.js b/public/en/config/failsafe/index.js new file mode 100644 index 000000000000..c1545b614242 --- /dev/null +++ b/public/en/config/failsafe/index.js @@ -0,0 +1 @@ +var Module=typeof Module!="undefined"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="index.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["A"];updateMemoryViews();wasmTable=wasmExports["Z"];addOnInit(wasmExports["B"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":function(pointer){return this["fromWireType"](HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredPointers={};var getInheritedInstanceCount=()=>Object.keys(registeredInstances).length;var getLiveInheritedInstances=()=>{var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var setDelayFunction=fn=>{delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}};var init_embind=()=>{Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=handle=>{if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{"isAliasOf"(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},"clone"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},"delete"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},"isDeleted"(){return!this.$$.ptr},"deleteLater"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}})};function ClassHandle(){}var createNamedFunction=(name,body)=>Object.defineProperty(body,"name",{value:name});var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":readPointer,"deleteObject"(handle){if(handle!==null){handle["delete"]()}},"fromWireType":RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args)=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn};var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i>2])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var validateThis=(this_,classType,humanName)=>{if(!(this_ instanceof Object)){throwBindingError(`${humanName} with invalid "this": ${this_}`)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(`${humanName} incompatible with "this" of type ${this_.constructor.name}`)}if(!this_.$$.ptr){throwBindingError(`cannot call emscripten binding method ${humanName} on deleted object`)}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)};var __embind_register_class_property=(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext)=>{fieldName=readLatin1String(fieldName);getter=embind__requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],function(classType){classType=classType[0];var humanName=`${classType.name}.${fieldName}`;var desc={get(){throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])},enumerable:true,configurable:true};if(setter){desc.set=()=>throwUnboundTypeError(`Cannot access ${humanName} due to unbound types`,[getterReturnType,setterArgumentType])}else{desc.set=v=>throwBindingError(humanName+" is a read-only property")}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],function(types){var getterReturnType=types[0];var desc={get(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))},enumerable:true};if(setter){setter=embind__requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)}}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]});return[]})};function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;var __emval_decref=handle=>{if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}};var count_emval_handles=()=>{var count=0;for(var i=emval_handles.reserved;i{emval_handles.allocated.push({value:undefined},{value:null},{value:true},{value:false});emval_handles.reserved=emval_handles.allocated.length;Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var __embind_register_emval=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":(destructors,value)=>Emval.toHandle(value),"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})};var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":value=>value,"toWireType":(destructors,value)=>value,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_function=(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync)=>{var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})};var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer>>0]:pointer=>HEAPU8[pointer>>0];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var __embind_register_std_string=(rawType,name)=>{name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType"(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":value=>{var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":()=>undefined,"toWireType":(destructors,o)=>undefined})};var __emval_incref=handle=>{if(handle>4){emval_handles.get(handle).refcount+=1}};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl};var __emval_take_value=(type,arg)=>{type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var abortOnCannotGrowMemory=requestedSize=>{abort("OOM")};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var SYSCALLS={varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var _fd_fdstat_get=(fd,pbuf)=>{var rightsBase=0;var rightsInheriting=0;var flags=0;{var type=2;if(fd==0){rightsBase=2}else if(fd==1||fd==2){rightsBase=64}flags=1}HEAP8[pbuf>>0]=type;HEAP16[pbuf+2>>1]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>2]=tempI64[0],HEAP32[pbuf+12>>2]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>2]=tempI64[0],HEAP32[pbuf+20>>2]=tempI64[1];return 0};var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};embind_init_charCodes();BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};InternalError=Module["InternalError"]=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");handleAllocatorInit();init_emval();var wasmImports={f:___cxa_throw,r:__embind_register_bigint,x:__embind_register_bool,n:__embind_register_class,k:__embind_register_class_constructor,e:__embind_register_class_function,a:__embind_register_class_property,w:__embind_register_emval,m:__embind_register_float,c:__embind_register_function,d:__embind_register_integer,b:__embind_register_memory_view,l:__embind_register_std_string,h:__embind_register_std_wstring,y:__embind_register_void,o:__emval_decref,p:__emval_incref,q:__emval_take_value,g:_abort,z:_emscripten_date_now,j:_emscripten_get_now,v:_emscripten_memcpy_js,s:_emscripten_resize_heap,u:_exit,t:_fd_fdstat_get,i:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["B"])();var _param_get=Module["_param_get"]=(a0,a1)=>(_param_get=Module["_param_get"]=wasmExports["C"])(a0,a1);var _iprintf=Module["_iprintf"]=(a0,a1)=>(_iprintf=Module["_iprintf"]=wasmExports["D"])(a0,a1);var _param_set_used=Module["_param_set_used"]=a0=>(_param_set_used=Module["_param_set_used"]=wasmExports["E"])(a0);var __Znwm=Module["__Znwm"]=a0=>(__Znwm=Module["__Znwm"]=wasmExports["F"])(a0);var _strlen=Module["_strlen"]=a0=>(_strlen=Module["_strlen"]=wasmExports["G"])(a0);var _memmove=Module["_memmove"]=(a0,a1,a2)=>(_memmove=Module["_memmove"]=wasmExports["H"])(a0,a1,a2);var __ZdlPv=Module["__ZdlPv"]=a0=>(__ZdlPv=Module["__ZdlPv"]=wasmExports["I"])(a0);var _memcmp=(a0,a1,a2)=>(_memcmp=wasmExports["memcmp"])(a0,a1,a2);var _puts=Module["_puts"]=a0=>(_puts=Module["_puts"]=wasmExports["J"])(a0);var _memcpy=(a0,a1,a2)=>(_memcpy=wasmExports["memcpy"])(a0,a1,a2);var _memset=Module["_memset"]=(a0,a1,a2)=>(_memset=Module["_memset"]=wasmExports["K"])(a0,a1,a2);var _malloc=a0=>(_malloc=wasmExports["L"])(a0);var __ZNSt12length_errorD1Ev=Module["__ZNSt12length_errorD1Ev"]=a0=>(__ZNSt12length_errorD1Ev=Module["__ZNSt12length_errorD1Ev"]=wasmExports["M"])(a0);var ___cxa_allocate_exception=Module["___cxa_allocate_exception"]=a0=>(___cxa_allocate_exception=Module["___cxa_allocate_exception"]=wasmExports["N"])(a0);var __ZNSt11logic_errorC2EPKc=Module["__ZNSt11logic_errorC2EPKc"]=(a0,a1)=>(__ZNSt11logic_errorC2EPKc=Module["__ZNSt11logic_errorC2EPKc"]=wasmExports["O"])(a0,a1);var __ZNSt20bad_array_new_lengthD1Ev=Module["__ZNSt20bad_array_new_lengthD1Ev"]=a0=>(__ZNSt20bad_array_new_lengthD1Ev=Module["__ZNSt20bad_array_new_lengthD1Ev"]=wasmExports["P"])(a0);var __ZNSt20bad_array_new_lengthC1Ev=Module["__ZNSt20bad_array_new_lengthC1Ev"]=a0=>(__ZNSt20bad_array_new_lengthC1Ev=Module["__ZNSt20bad_array_new_lengthC1Ev"]=wasmExports["Q"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE25__init_copy_ctor_externalEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE25__init_copy_ctor_externalEPKcm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE25__init_copy_ctor_externalEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE25__init_copy_ctor_externalEPKcm"]=wasmExports["R"])(a0,a1,a2);var _pthread_self=Module["_pthread_self"]=()=>(_pthread_self=Module["_pthread_self"]=wasmExports["S"])();var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_no_aliasILb1EEERS5_PKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_no_aliasILb1EEERS5_PKcm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_no_aliasILb1EEERS5_PKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_no_aliasILb1EEERS5_PKcm"]=wasmExports["T"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_no_aliasILb0EEERS5_PKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_no_aliasILb0EEERS5_PKcm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_no_aliasILb0EEERS5_PKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_no_aliasILb0EEERS5_PKcm"]=wasmExports["U"])(a0,a1,a2);var __ZNSt12out_of_rangeD1Ev=Module["__ZNSt12out_of_rangeD1Ev"]=a0=>(__ZNSt12out_of_rangeD1Ev=Module["__ZNSt12out_of_rangeD1Ev"]=wasmExports["V"])(a0);var ___cxa_atexit=Module["___cxa_atexit"]=(a0,a1,a2)=>(___cxa_atexit=Module["___cxa_atexit"]=wasmExports["W"])(a0,a1,a2);var __embind_register_bindings=Module["__embind_register_bindings"]=a0=>(__embind_register_bindings=Module["__embind_register_bindings"]=wasmExports["X"])(a0);var ___cxa_pure_virtual=Module["___cxa_pure_virtual"]=()=>(___cxa_pure_virtual=Module["___cxa_pure_virtual"]=wasmExports["Y"])();var ___getTypeName=a0=>(___getTypeName=wasmExports["_"])(a0);var _strdup=Module["_strdup"]=a0=>(_strdup=Module["_strdup"]=wasmExports["$"])(a0);var __embind_initialize_bindings=Module["__embind_initialize_bindings"]=()=>(__embind_initialize_bindings=Module["__embind_initialize_bindings"]=wasmExports["aa"])();var __emval_coro_resume=(a0,a1)=>(__emval_coro_resume=wasmExports["_emval_coro_resume"])(a0,a1);var __ZNSt9exceptionD2Ev=Module["__ZNSt9exceptionD2Ev"]=a0=>(__ZNSt9exceptionD2Ev=Module["__ZNSt9exceptionD2Ev"]=wasmExports["ba"])(a0);var ___syscall_uname=Module["___syscall_uname"]=a0=>(___syscall_uname=Module["___syscall_uname"]=wasmExports["ca"])(a0);var ___syscall_setpgid=Module["___syscall_setpgid"]=(a0,a1)=>(___syscall_setpgid=Module["___syscall_setpgid"]=wasmExports["da"])(a0,a1);var ___syscall_sync=Module["___syscall_sync"]=()=>(___syscall_sync=Module["___syscall_sync"]=wasmExports["ea"])();var ___syscall_getsid=Module["___syscall_getsid"]=a0=>(___syscall_getsid=Module["___syscall_getsid"]=wasmExports["fa"])(a0);var ___syscall_getpgid=Module["___syscall_getpgid"]=a0=>(___syscall_getpgid=Module["___syscall_getpgid"]=wasmExports["ga"])(a0);var ___syscall_getpid=Module["___syscall_getpid"]=()=>(___syscall_getpid=Module["___syscall_getpid"]=wasmExports["ha"])();var ___syscall_getppid=Module["___syscall_getppid"]=()=>(___syscall_getppid=Module["___syscall_getppid"]=wasmExports["ia"])();var ___syscall_linkat=Module["___syscall_linkat"]=(a0,a1,a2,a3,a4)=>(___syscall_linkat=Module["___syscall_linkat"]=wasmExports["ja"])(a0,a1,a2,a3,a4);var ___syscall_getgroups32=Module["___syscall_getgroups32"]=(a0,a1)=>(___syscall_getgroups32=Module["___syscall_getgroups32"]=wasmExports["ka"])(a0,a1);var ___syscall_setsid=Module["___syscall_setsid"]=()=>(___syscall_setsid=Module["___syscall_setsid"]=wasmExports["la"])();var ___syscall_umask=Module["___syscall_umask"]=a0=>(___syscall_umask=Module["___syscall_umask"]=wasmExports["ma"])(a0);var ___syscall_setrlimit=Module["___syscall_setrlimit"]=(a0,a1)=>(___syscall_setrlimit=Module["___syscall_setrlimit"]=wasmExports["na"])(a0,a1);var ___syscall_getrusage=Module["___syscall_getrusage"]=(a0,a1)=>(___syscall_getrusage=Module["___syscall_getrusage"]=wasmExports["oa"])(a0,a1);var ___syscall_getpriority=Module["___syscall_getpriority"]=(a0,a1)=>(___syscall_getpriority=Module["___syscall_getpriority"]=wasmExports["pa"])(a0,a1);var ___syscall_setpriority=Module["___syscall_setpriority"]=(a0,a1,a2)=>(___syscall_setpriority=Module["___syscall_setpriority"]=wasmExports["qa"])(a0,a1,a2);var ___syscall_setdomainname=Module["___syscall_setdomainname"]=(a0,a1)=>(___syscall_setdomainname=Module["___syscall_setdomainname"]=wasmExports["ra"])(a0,a1);var ___syscall_getuid32=Module["___syscall_getuid32"]=()=>(___syscall_getuid32=Module["___syscall_getuid32"]=wasmExports["sa"])();var ___syscall_getgid32=Module["___syscall_getgid32"]=()=>(___syscall_getgid32=Module["___syscall_getgid32"]=wasmExports["ta"])();var ___syscall_geteuid32=Module["___syscall_geteuid32"]=()=>(___syscall_geteuid32=Module["___syscall_geteuid32"]=wasmExports["ua"])();var ___syscall_getegid32=Module["___syscall_getegid32"]=()=>(___syscall_getegid32=Module["___syscall_getegid32"]=wasmExports["va"])();var ___syscall_getresuid32=Module["___syscall_getresuid32"]=(a0,a1,a2)=>(___syscall_getresuid32=Module["___syscall_getresuid32"]=wasmExports["wa"])(a0,a1,a2);var ___syscall_getresgid32=Module["___syscall_getresgid32"]=(a0,a1,a2)=>(___syscall_getresgid32=Module["___syscall_getresgid32"]=wasmExports["xa"])(a0,a1,a2);var ___syscall_pause=Module["___syscall_pause"]=()=>(___syscall_pause=Module["___syscall_pause"]=wasmExports["ya"])();var ___syscall_madvise=Module["___syscall_madvise"]=(a0,a1,a2)=>(___syscall_madvise=Module["___syscall_madvise"]=wasmExports["za"])(a0,a1,a2);var ___syscall_mlock=Module["___syscall_mlock"]=(a0,a1)=>(___syscall_mlock=Module["___syscall_mlock"]=wasmExports["Aa"])(a0,a1);var ___syscall_munlock=Module["___syscall_munlock"]=(a0,a1)=>(___syscall_munlock=Module["___syscall_munlock"]=wasmExports["Ba"])(a0,a1);var ___syscall_mprotect=Module["___syscall_mprotect"]=(a0,a1,a2)=>(___syscall_mprotect=Module["___syscall_mprotect"]=wasmExports["Ca"])(a0,a1,a2);var ___syscall_mremap=Module["___syscall_mremap"]=(a0,a1,a2,a3,a4)=>(___syscall_mremap=Module["___syscall_mremap"]=wasmExports["Da"])(a0,a1,a2,a3,a4);var ___syscall_mlockall=Module["___syscall_mlockall"]=a0=>(___syscall_mlockall=Module["___syscall_mlockall"]=wasmExports["Ea"])(a0);var ___syscall_munlockall=Module["___syscall_munlockall"]=()=>(___syscall_munlockall=Module["___syscall_munlockall"]=wasmExports["Fa"])();var ___syscall_prlimit64=Module["___syscall_prlimit64"]=(a0,a1,a2,a3)=>(___syscall_prlimit64=Module["___syscall_prlimit64"]=wasmExports["Ga"])(a0,a1,a2,a3);var ___syscall_ugetrlimit=Module["___syscall_ugetrlimit"]=(a0,a1)=>(___syscall_ugetrlimit=Module["___syscall_ugetrlimit"]=wasmExports["Ha"])(a0,a1);var ___syscall_setsockopt=Module["___syscall_setsockopt"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_setsockopt=Module["___syscall_setsockopt"]=wasmExports["Ia"])(a0,a1,a2,a3,a4,a5);var ___syscall_acct=Module["___syscall_acct"]=a0=>(___syscall_acct=Module["___syscall_acct"]=wasmExports["Ja"])(a0);var ___syscall_mincore=Module["___syscall_mincore"]=(a0,a1,a2)=>(___syscall_mincore=Module["___syscall_mincore"]=wasmExports["Ka"])(a0,a1,a2);var ___syscall_pipe2=Module["___syscall_pipe2"]=(a0,a1)=>(___syscall_pipe2=Module["___syscall_pipe2"]=wasmExports["La"])(a0,a1);var ___syscall_pselect6=Module["___syscall_pselect6"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_pselect6=Module["___syscall_pselect6"]=wasmExports["Ma"])(a0,a1,a2,a3,a4,a5);var ___syscall_recvmmsg=Module["___syscall_recvmmsg"]=(a0,a1,a2,a3,a4)=>(___syscall_recvmmsg=Module["___syscall_recvmmsg"]=wasmExports["Na"])(a0,a1,a2,a3,a4);var ___syscall_sendmmsg=Module["___syscall_sendmmsg"]=(a0,a1,a2,a3,a4)=>(___syscall_sendmmsg=Module["___syscall_sendmmsg"]=wasmExports["Oa"])(a0,a1,a2,a3,a4);var ___syscall_shutdown=Module["___syscall_shutdown"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_shutdown=Module["___syscall_shutdown"]=wasmExports["Pa"])(a0,a1,a2,a3,a4,a5);var ___syscall_socketpair=Module["___syscall_socketpair"]=(a0,a1,a2,a3,a4,a5)=>(___syscall_socketpair=Module["___syscall_socketpair"]=wasmExports["Qa"])(a0,a1,a2,a3,a4,a5);var ___syscall_wait4=Module["___syscall_wait4"]=(a0,a1,a2,a3)=>(___syscall_wait4=Module["___syscall_wait4"]=wasmExports["Ra"])(a0,a1,a2,a3);var _atexit=Module["_atexit"]=a0=>(_atexit=Module["_atexit"]=wasmExports["Sa"])(a0);var ___cxa_finalize=Module["___cxa_finalize"]=a0=>(___cxa_finalize=Module["___cxa_finalize"]=wasmExports["Ta"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var ___fpclassifyl=Module["___fpclassifyl"]=(a0,a1,a2,a3)=>(___fpclassifyl=Module["___fpclassifyl"]=wasmExports["Ua"])(a0,a1,a2,a3);var ___overflow=Module["___overflow"]=(a0,a1)=>(___overflow=Module["___overflow"]=wasmExports["Va"])(a0,a1);var ___uflow=Module["___uflow"]=a0=>(___uflow=Module["___uflow"]=wasmExports["Wa"])(a0);var _aligned_alloc=Module["_aligned_alloc"]=(a0,a1)=>(_aligned_alloc=Module["_aligned_alloc"]=wasmExports["Xa"])(a0,a1);var _btowc=Module["_btowc"]=a0=>(_btowc=Module["_btowc"]=wasmExports["Ya"])(a0);var _copysignl=Module["_copysignl"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_copysignl=Module["_copysignl"]=wasmExports["Za"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _emscripten_get_heap_size=Module["_emscripten_get_heap_size"]=()=>(_emscripten_get_heap_size=Module["_emscripten_get_heap_size"]=wasmExports["_a"])();var _emscripten_builtin_memcpy=Module["_emscripten_builtin_memcpy"]=(a0,a1,a2)=>(_emscripten_builtin_memcpy=Module["_emscripten_builtin_memcpy"]=wasmExports["$a"])(a0,a1,a2);var ___memset=Module["___memset"]=(a0,a1,a2)=>(___memset=Module["___memset"]=wasmExports["ab"])(a0,a1,a2);var _emscripten_builtin_memset=Module["_emscripten_builtin_memset"]=(a0,a1,a2)=>(_emscripten_builtin_memset=Module["_emscripten_builtin_memset"]=wasmExports["bb"])(a0,a1,a2);var _fabsl=Module["_fabsl"]=(a0,a1,a2,a3,a4)=>(_fabsl=Module["_fabsl"]=wasmExports["cb"])(a0,a1,a2,a3,a4);var _fmodl=Module["_fmodl"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(_fmodl=Module["_fmodl"]=wasmExports["db"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _fprintf=Module["_fprintf"]=(a0,a1,a2)=>(_fprintf=Module["_fprintf"]=wasmExports["eb"])(a0,a1,a2);var _fiprintf=Module["_fiprintf"]=(a0,a1,a2)=>(_fiprintf=Module["_fiprintf"]=wasmExports["fb"])(a0,a1,a2);var ___small_fprintf=Module["___small_fprintf"]=(a0,a1,a2)=>(___small_fprintf=Module["___small_fprintf"]=wasmExports["gb"])(a0,a1,a2);var _fputs=Module["_fputs"]=(a0,a1)=>(_fputs=Module["_fputs"]=wasmExports["hb"])(a0,a1);var _fputs_unlocked=Module["_fputs_unlocked"]=(a0,a1)=>(_fputs_unlocked=Module["_fputs_unlocked"]=wasmExports["ib"])(a0,a1);var ___fputwc_unlocked=Module["___fputwc_unlocked"]=(a0,a1)=>(___fputwc_unlocked=Module["___fputwc_unlocked"]=wasmExports["jb"])(a0,a1);var _fputwc=Module["_fputwc"]=(a0,a1)=>(_fputwc=Module["_fputwc"]=wasmExports["kb"])(a0,a1);var _fputwc_unlocked=Module["_fputwc_unlocked"]=(a0,a1)=>(_fputwc_unlocked=Module["_fputwc_unlocked"]=wasmExports["lb"])(a0,a1);var _putwc_unlocked=Module["_putwc_unlocked"]=(a0,a1)=>(_putwc_unlocked=Module["_putwc_unlocked"]=wasmExports["mb"])(a0,a1);var _frexp=Module["_frexp"]=(a0,a1)=>(_frexp=Module["_frexp"]=wasmExports["nb"])(a0,a1);var _fwide=Module["_fwide"]=(a0,a1)=>(_fwide=Module["_fwide"]=wasmExports["ob"])(a0,a1);var _fwrite=Module["_fwrite"]=(a0,a1,a2,a3)=>(_fwrite=Module["_fwrite"]=wasmExports["pb"])(a0,a1,a2,a3);var _fwrite_unlocked=Module["_fwrite_unlocked"]=(a0,a1,a2,a3)=>(_fwrite_unlocked=Module["_fwrite_unlocked"]=wasmExports["qb"])(a0,a1,a2,a3);var _getpid=Module["_getpid"]=()=>(_getpid=Module["_getpid"]=wasmExports["rb"])();var ___intscan=Module["___intscan"]=(a0,a1,a2,a3,a4)=>(___intscan=Module["___intscan"]=wasmExports["sb"])(a0,a1,a2,a3,a4);var _isdigit=Module["_isdigit"]=a0=>(_isdigit=Module["_isdigit"]=wasmExports["tb"])(a0);var ___isdigit_l=Module["___isdigit_l"]=(a0,a1)=>(___isdigit_l=Module["___isdigit_l"]=wasmExports["ub"])(a0,a1);var _isdigit_l=Module["_isdigit_l"]=(a0,a1)=>(_isdigit_l=Module["_isdigit_l"]=wasmExports["vb"])(a0,a1);var _isspace=Module["_isspace"]=a0=>(_isspace=Module["_isspace"]=wasmExports["wb"])(a0);var ___isspace_l=Module["___isspace_l"]=(a0,a1)=>(___isspace_l=Module["___isspace_l"]=wasmExports["xb"])(a0,a1);var _isspace_l=Module["_isspace_l"]=(a0,a1)=>(_isspace_l=Module["_isspace_l"]=wasmExports["yb"])(a0,a1);var _iswspace=Module["_iswspace"]=a0=>(_iswspace=Module["_iswspace"]=wasmExports["zb"])(a0);var ___iswspace_l=Module["___iswspace_l"]=(a0,a1)=>(___iswspace_l=Module["___iswspace_l"]=wasmExports["Ab"])(a0,a1);var _iswspace_l=Module["_iswspace_l"]=(a0,a1)=>(_iswspace_l=Module["_iswspace_l"]=wasmExports["Bb"])(a0,a1);var _emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=()=>(_emscripten_has_threading_support=Module["_emscripten_has_threading_support"]=wasmExports["Cb"])();var _emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=()=>(_emscripten_num_logical_cores=Module["_emscripten_num_logical_cores"]=wasmExports["Db"])();var _emscripten_force_num_logical_cores=Module["_emscripten_force_num_logical_cores"]=a0=>(_emscripten_force_num_logical_cores=Module["_emscripten_force_num_logical_cores"]=wasmExports["Eb"])(a0);var _emscripten_futex_wait=Module["_emscripten_futex_wait"]=(a0,a1,a2)=>(_emscripten_futex_wait=Module["_emscripten_futex_wait"]=wasmExports["Fb"])(a0,a1,a2);var _emscripten_futex_wake=Module["_emscripten_futex_wake"]=(a0,a1)=>(_emscripten_futex_wake=Module["_emscripten_futex_wake"]=wasmExports["Gb"])(a0,a1);var _emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=()=>(_emscripten_is_main_runtime_thread=Module["_emscripten_is_main_runtime_thread"]=wasmExports["Hb"])();var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=()=>(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=wasmExports["Ib"])();var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=()=>(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=wasmExports["Jb"])();var __emscripten_yield=Module["__emscripten_yield"]=a0=>(__emscripten_yield=Module["__emscripten_yield"]=wasmExports["Kb"])(a0);var __emscripten_check_timers=Module["__emscripten_check_timers"]=a0=>(__emscripten_check_timers=Module["__emscripten_check_timers"]=wasmExports["Lb"])(a0);var _pthread_mutex_init=Module["_pthread_mutex_init"]=(a0,a1)=>(_pthread_mutex_init=Module["_pthread_mutex_init"]=wasmExports["Mb"])(a0,a1);var _pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=a0=>(_pthread_mutex_destroy=Module["_pthread_mutex_destroy"]=wasmExports["Nb"])(a0);var _pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=a0=>(_pthread_mutex_consistent=Module["_pthread_mutex_consistent"]=wasmExports["Ob"])(a0);var _pthread_barrier_init=Module["_pthread_barrier_init"]=(a0,a1,a2)=>(_pthread_barrier_init=Module["_pthread_barrier_init"]=wasmExports["Pb"])(a0,a1,a2);var _pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=a0=>(_pthread_barrier_destroy=Module["_pthread_barrier_destroy"]=wasmExports["Qb"])(a0);var _pthread_barrier_wait=Module["_pthread_barrier_wait"]=a0=>(_pthread_barrier_wait=Module["_pthread_barrier_wait"]=wasmExports["Rb"])(a0);var _pthread_getspecific=Module["_pthread_getspecific"]=a0=>(_pthread_getspecific=Module["_pthread_getspecific"]=wasmExports["Sb"])(a0);var _pthread_setspecific=Module["_pthread_setspecific"]=(a0,a1)=>(_pthread_setspecific=Module["_pthread_setspecific"]=wasmExports["Tb"])(a0,a1);var _pthread_cond_wait=Module["_pthread_cond_wait"]=(a0,a1)=>(_pthread_cond_wait=Module["_pthread_cond_wait"]=wasmExports["Ub"])(a0,a1);var _pthread_cond_signal=Module["_pthread_cond_signal"]=a0=>(_pthread_cond_signal=Module["_pthread_cond_signal"]=wasmExports["Vb"])(a0);var _pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=a0=>(_pthread_cond_broadcast=Module["_pthread_cond_broadcast"]=wasmExports["Wb"])(a0);var _pthread_cond_init=Module["_pthread_cond_init"]=(a0,a1)=>(_pthread_cond_init=Module["_pthread_cond_init"]=wasmExports["Xb"])(a0,a1);var _pthread_cond_destroy=Module["_pthread_cond_destroy"]=a0=>(_pthread_cond_destroy=Module["_pthread_cond_destroy"]=wasmExports["Yb"])(a0);var _pthread_atfork=Module["_pthread_atfork"]=(a0,a1,a2)=>(_pthread_atfork=Module["_pthread_atfork"]=wasmExports["Zb"])(a0,a1,a2);var _pthread_cancel=Module["_pthread_cancel"]=a0=>(_pthread_cancel=Module["_pthread_cancel"]=wasmExports["_b"])(a0);var _pthread_testcancel=Module["_pthread_testcancel"]=()=>(_pthread_testcancel=Module["_pthread_testcancel"]=wasmExports["$b"])();var ___pthread_detach=Module["___pthread_detach"]=a0=>(___pthread_detach=Module["___pthread_detach"]=wasmExports["ac"])(a0);var _pthread_equal=Module["_pthread_equal"]=(a0,a1)=>(_pthread_equal=Module["_pthread_equal"]=wasmExports["bc"])(a0,a1);var _pthread_mutexattr_init=Module["_pthread_mutexattr_init"]=a0=>(_pthread_mutexattr_init=Module["_pthread_mutexattr_init"]=wasmExports["cc"])(a0);var _pthread_mutexattr_setprotocol=Module["_pthread_mutexattr_setprotocol"]=(a0,a1)=>(_pthread_mutexattr_setprotocol=Module["_pthread_mutexattr_setprotocol"]=wasmExports["dc"])(a0,a1);var _pthread_mutexattr_settype=Module["_pthread_mutexattr_settype"]=(a0,a1)=>(_pthread_mutexattr_settype=Module["_pthread_mutexattr_settype"]=wasmExports["ec"])(a0,a1);var _pthread_mutexattr_destroy=Module["_pthread_mutexattr_destroy"]=a0=>(_pthread_mutexattr_destroy=Module["_pthread_mutexattr_destroy"]=wasmExports["fc"])(a0);var _pthread_mutexattr_setpshared=Module["_pthread_mutexattr_setpshared"]=(a0,a1)=>(_pthread_mutexattr_setpshared=Module["_pthread_mutexattr_setpshared"]=wasmExports["gc"])(a0,a1);var _pthread_condattr_init=Module["_pthread_condattr_init"]=a0=>(_pthread_condattr_init=Module["_pthread_condattr_init"]=wasmExports["hc"])(a0);var _pthread_condattr_destroy=Module["_pthread_condattr_destroy"]=a0=>(_pthread_condattr_destroy=Module["_pthread_condattr_destroy"]=wasmExports["ic"])(a0);var _pthread_condattr_setclock=Module["_pthread_condattr_setclock"]=(a0,a1)=>(_pthread_condattr_setclock=Module["_pthread_condattr_setclock"]=wasmExports["jc"])(a0,a1);var _pthread_condattr_setpshared=Module["_pthread_condattr_setpshared"]=(a0,a1)=>(_pthread_condattr_setpshared=Module["_pthread_condattr_setpshared"]=wasmExports["kc"])(a0,a1);var _pthread_getattr_np=Module["_pthread_getattr_np"]=(a0,a1)=>(_pthread_getattr_np=Module["_pthread_getattr_np"]=wasmExports["lc"])(a0,a1);var _pthread_setcancelstate=Module["_pthread_setcancelstate"]=(a0,a1)=>(_pthread_setcancelstate=Module["_pthread_setcancelstate"]=wasmExports["mc"])(a0,a1);var _pthread_setcanceltype=Module["_pthread_setcanceltype"]=(a0,a1)=>(_pthread_setcanceltype=Module["_pthread_setcanceltype"]=wasmExports["nc"])(a0,a1);var _pthread_rwlock_init=Module["_pthread_rwlock_init"]=(a0,a1)=>(_pthread_rwlock_init=Module["_pthread_rwlock_init"]=wasmExports["oc"])(a0,a1);var _pthread_rwlock_destroy=Module["_pthread_rwlock_destroy"]=a0=>(_pthread_rwlock_destroy=Module["_pthread_rwlock_destroy"]=wasmExports["pc"])(a0);var _pthread_rwlock_rdlock=Module["_pthread_rwlock_rdlock"]=a0=>(_pthread_rwlock_rdlock=Module["_pthread_rwlock_rdlock"]=wasmExports["qc"])(a0);var _pthread_rwlock_tryrdlock=Module["_pthread_rwlock_tryrdlock"]=a0=>(_pthread_rwlock_tryrdlock=Module["_pthread_rwlock_tryrdlock"]=wasmExports["rc"])(a0);var _pthread_rwlock_timedrdlock=Module["_pthread_rwlock_timedrdlock"]=(a0,a1)=>(_pthread_rwlock_timedrdlock=Module["_pthread_rwlock_timedrdlock"]=wasmExports["sc"])(a0,a1);var _pthread_rwlock_wrlock=Module["_pthread_rwlock_wrlock"]=a0=>(_pthread_rwlock_wrlock=Module["_pthread_rwlock_wrlock"]=wasmExports["tc"])(a0);var _pthread_rwlock_trywrlock=Module["_pthread_rwlock_trywrlock"]=a0=>(_pthread_rwlock_trywrlock=Module["_pthread_rwlock_trywrlock"]=wasmExports["uc"])(a0);var _pthread_rwlock_timedwrlock=Module["_pthread_rwlock_timedwrlock"]=(a0,a1)=>(_pthread_rwlock_timedwrlock=Module["_pthread_rwlock_timedwrlock"]=wasmExports["vc"])(a0,a1);var _pthread_rwlock_unlock=Module["_pthread_rwlock_unlock"]=a0=>(_pthread_rwlock_unlock=Module["_pthread_rwlock_unlock"]=wasmExports["wc"])(a0);var _pthread_rwlockattr_init=Module["_pthread_rwlockattr_init"]=a0=>(_pthread_rwlockattr_init=Module["_pthread_rwlockattr_init"]=wasmExports["xc"])(a0);var _pthread_rwlockattr_destroy=Module["_pthread_rwlockattr_destroy"]=a0=>(_pthread_rwlockattr_destroy=Module["_pthread_rwlockattr_destroy"]=wasmExports["yc"])(a0);var _pthread_rwlockattr_setpshared=Module["_pthread_rwlockattr_setpshared"]=(a0,a1)=>(_pthread_rwlockattr_setpshared=Module["_pthread_rwlockattr_setpshared"]=wasmExports["zc"])(a0,a1);var _pthread_spin_init=Module["_pthread_spin_init"]=(a0,a1)=>(_pthread_spin_init=Module["_pthread_spin_init"]=wasmExports["Ac"])(a0,a1);var _pthread_spin_destroy=Module["_pthread_spin_destroy"]=a0=>(_pthread_spin_destroy=Module["_pthread_spin_destroy"]=wasmExports["Bc"])(a0);var _pthread_spin_lock=Module["_pthread_spin_lock"]=a0=>(_pthread_spin_lock=Module["_pthread_spin_lock"]=wasmExports["Cc"])(a0);var _pthread_spin_trylock=Module["_pthread_spin_trylock"]=a0=>(_pthread_spin_trylock=Module["_pthread_spin_trylock"]=wasmExports["Dc"])(a0);var _pthread_spin_unlock=Module["_pthread_spin_unlock"]=a0=>(_pthread_spin_unlock=Module["_pthread_spin_unlock"]=wasmExports["Ec"])(a0);var _sem_init=Module["_sem_init"]=(a0,a1,a2)=>(_sem_init=Module["_sem_init"]=wasmExports["Fc"])(a0,a1,a2);var _sem_post=Module["_sem_post"]=a0=>(_sem_post=Module["_sem_post"]=wasmExports["Gc"])(a0);var _sem_wait=Module["_sem_wait"]=a0=>(_sem_wait=Module["_sem_wait"]=wasmExports["Hc"])(a0);var _sem_trywait=Module["_sem_trywait"]=a0=>(_sem_trywait=Module["_sem_trywait"]=wasmExports["Ic"])(a0);var _sem_destroy=Module["_sem_destroy"]=a0=>(_sem_destroy=Module["_sem_destroy"]=wasmExports["Jc"])(a0);var ___lock=Module["___lock"]=a0=>(___lock=Module["___lock"]=wasmExports["Kc"])(a0);var ___unlock=Module["___unlock"]=a0=>(___unlock=Module["___unlock"]=wasmExports["Lc"])(a0);var _emscripten_thread_sleep=Module["_emscripten_thread_sleep"]=a0=>(_emscripten_thread_sleep=Module["_emscripten_thread_sleep"]=wasmExports["Mc"])(a0);var _pthread_mutex_lock=Module["_pthread_mutex_lock"]=a0=>(_pthread_mutex_lock=Module["_pthread_mutex_lock"]=wasmExports["Nc"])(a0);var _pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=a0=>(_pthread_mutex_unlock=Module["_pthread_mutex_unlock"]=wasmExports["Oc"])(a0);var _pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=a0=>(_pthread_mutex_trylock=Module["_pthread_mutex_trylock"]=wasmExports["Pc"])(a0);var _pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=(a0,a1)=>(_pthread_mutex_timedlock=Module["_pthread_mutex_timedlock"]=wasmExports["Qc"])(a0,a1);var _emscripten_builtin_pthread_create=Module["_emscripten_builtin_pthread_create"]=(a0,a1,a2,a3)=>(_emscripten_builtin_pthread_create=Module["_emscripten_builtin_pthread_create"]=wasmExports["Rc"])(a0,a1,a2,a3);var _pthread_create=Module["_pthread_create"]=(a0,a1,a2,a3)=>(_pthread_create=Module["_pthread_create"]=wasmExports["Sc"])(a0,a1,a2,a3);var _emscripten_builtin_pthread_join=Module["_emscripten_builtin_pthread_join"]=(a0,a1)=>(_emscripten_builtin_pthread_join=Module["_emscripten_builtin_pthread_join"]=wasmExports["Tc"])(a0,a1);var _pthread_join=Module["_pthread_join"]=(a0,a1)=>(_pthread_join=Module["_pthread_join"]=wasmExports["Uc"])(a0,a1);var _pthread_key_delete=Module["_pthread_key_delete"]=a0=>(_pthread_key_delete=Module["_pthread_key_delete"]=wasmExports["Vc"])(a0);var _pthread_key_create=Module["_pthread_key_create"]=(a0,a1)=>(_pthread_key_create=Module["_pthread_key_create"]=wasmExports["Wc"])(a0,a1);var _pthread_once=Module["_pthread_once"]=(a0,a1)=>(_pthread_once=Module["_pthread_once"]=wasmExports["Xc"])(a0,a1);var _pthread_cond_timedwait=Module["_pthread_cond_timedwait"]=(a0,a1,a2)=>(_pthread_cond_timedwait=Module["_pthread_cond_timedwait"]=wasmExports["Yc"])(a0,a1,a2);var _emscripten_builtin_pthread_exit=Module["_emscripten_builtin_pthread_exit"]=a0=>(_emscripten_builtin_pthread_exit=Module["_emscripten_builtin_pthread_exit"]=wasmExports["Zc"])(a0);var _pthread_exit=Module["_pthread_exit"]=a0=>(_pthread_exit=Module["_pthread_exit"]=wasmExports["_c"])(a0);var _thrd_exit=Module["_thrd_exit"]=a0=>(_thrd_exit=Module["_thrd_exit"]=wasmExports["$c"])(a0);var _emscripten_builtin_pthread_detach=Module["_emscripten_builtin_pthread_detach"]=a0=>(_emscripten_builtin_pthread_detach=Module["_emscripten_builtin_pthread_detach"]=wasmExports["ad"])(a0);var _pthread_detach=Module["_pthread_detach"]=a0=>(_pthread_detach=Module["_pthread_detach"]=wasmExports["bd"])(a0);var _thrd_detach=Module["_thrd_detach"]=a0=>(_thrd_detach=Module["_thrd_detach"]=wasmExports["cd"])(a0);var _mbtowc=Module["_mbtowc"]=(a0,a1,a2)=>(_mbtowc=Module["_mbtowc"]=wasmExports["dd"])(a0,a1,a2);var _memchr=Module["_memchr"]=(a0,a1,a2)=>(_memchr=Module["_memchr"]=wasmExports["ed"])(a0,a1,a2);var _printf=Module["_printf"]=(a0,a1)=>(_printf=Module["_printf"]=wasmExports["fd"])(a0,a1);var _vfprintf=Module["_vfprintf"]=(a0,a1,a2)=>(_vfprintf=Module["_vfprintf"]=wasmExports["gd"])(a0,a1,a2);var _vfiprintf=Module["_vfiprintf"]=(a0,a1,a2)=>(_vfiprintf=Module["_vfiprintf"]=wasmExports["hd"])(a0,a1,a2);var ___small_printf=Module["___small_printf"]=(a0,a1)=>(___small_printf=Module["___small_printf"]=wasmExports["id"])(a0,a1);var ___small_vfprintf=Module["___small_vfprintf"]=(a0,a1,a2)=>(___small_vfprintf=Module["___small_vfprintf"]=wasmExports["jd"])(a0,a1,a2);var ___get_tp=Module["___get_tp"]=()=>(___get_tp=Module["___get_tp"]=wasmExports["kd"])();var _thrd_current=Module["_thrd_current"]=()=>(_thrd_current=Module["_thrd_current"]=wasmExports["ld"])();var _emscripten_main_runtime_thread_id=Module["_emscripten_main_runtime_thread_id"]=()=>(_emscripten_main_runtime_thread_id=Module["_emscripten_main_runtime_thread_id"]=wasmExports["md"])();var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=()=>(_emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=wasmExports["nd"])();var _sbrk=Module["_sbrk"]=a0=>(_sbrk=Module["_sbrk"]=wasmExports["od"])(a0);var _brk=Module["_brk"]=a0=>(_brk=Module["_brk"]=wasmExports["pd"])(a0);var _scalbn=Module["_scalbn"]=(a0,a1)=>(_scalbn=Module["_scalbn"]=wasmExports["qd"])(a0,a1);var _scalbnl=Module["_scalbnl"]=(a0,a1,a2,a3,a4,a5)=>(_scalbnl=Module["_scalbnl"]=wasmExports["rd"])(a0,a1,a2,a3,a4,a5);var _snprintf=Module["_snprintf"]=(a0,a1,a2,a3)=>(_snprintf=Module["_snprintf"]=wasmExports["sd"])(a0,a1,a2,a3);var ___wasi_syscall_ret=Module["___wasi_syscall_ret"]=a0=>(___wasi_syscall_ret=Module["___wasi_syscall_ret"]=wasmExports["td"])(a0);var _strcmp=Module["_strcmp"]=(a0,a1)=>(_strcmp=Module["_strcmp"]=wasmExports["ud"])(a0,a1);var ___strerror_l=Module["___strerror_l"]=(a0,a1)=>(___strerror_l=Module["___strerror_l"]=wasmExports["vd"])(a0,a1);var _strerror=Module["_strerror"]=a0=>(_strerror=Module["_strerror"]=wasmExports["wd"])(a0);var _strerror_l=Module["_strerror_l"]=(a0,a1)=>(_strerror_l=Module["_strerror_l"]=wasmExports["xd"])(a0,a1);var _strnlen=Module["_strnlen"]=(a0,a1)=>(_strnlen=Module["_strnlen"]=wasmExports["yd"])(a0,a1);var _strtof=Module["_strtof"]=(a0,a1)=>(_strtof=Module["_strtof"]=wasmExports["zd"])(a0,a1);var _strtod=Module["_strtod"]=(a0,a1)=>(_strtod=Module["_strtod"]=wasmExports["Ad"])(a0,a1);var _strtold=Module["_strtold"]=(a0,a1,a2)=>(_strtold=Module["_strtold"]=wasmExports["Bd"])(a0,a1,a2);var _strtoull=Module["_strtoull"]=(a0,a1,a2)=>(_strtoull=Module["_strtoull"]=wasmExports["Cd"])(a0,a1,a2);var _strtoll=Module["_strtoll"]=(a0,a1,a2)=>(_strtoll=Module["_strtoll"]=wasmExports["Dd"])(a0,a1,a2);var _strtoul=Module["_strtoul"]=(a0,a1,a2)=>(_strtoul=Module["_strtoul"]=wasmExports["Ed"])(a0,a1,a2);var _strtol=Module["_strtol"]=(a0,a1,a2)=>(_strtol=Module["_strtol"]=wasmExports["Fd"])(a0,a1,a2);var _strtoimax=Module["_strtoimax"]=(a0,a1,a2)=>(_strtoimax=Module["_strtoimax"]=wasmExports["Gd"])(a0,a1,a2);var _strtoumax=Module["_strtoumax"]=(a0,a1,a2)=>(_strtoumax=Module["_strtoumax"]=wasmExports["Hd"])(a0,a1,a2);var ___strtol_internal=Module["___strtol_internal"]=(a0,a1,a2)=>(___strtol_internal=Module["___strtol_internal"]=wasmExports["Id"])(a0,a1,a2);var ___strtoul_internal=Module["___strtoul_internal"]=(a0,a1,a2)=>(___strtoul_internal=Module["___strtoul_internal"]=wasmExports["Jd"])(a0,a1,a2);var ___strtoll_internal=Module["___strtoll_internal"]=(a0,a1,a2)=>(___strtoll_internal=Module["___strtoll_internal"]=wasmExports["Kd"])(a0,a1,a2);var ___strtoull_internal=Module["___strtoull_internal"]=(a0,a1,a2)=>(___strtoull_internal=Module["___strtoull_internal"]=wasmExports["Ld"])(a0,a1,a2);var ___strtoimax_internal=Module["___strtoimax_internal"]=(a0,a1,a2)=>(___strtoimax_internal=Module["___strtoimax_internal"]=wasmExports["Md"])(a0,a1,a2);var ___strtoumax_internal=Module["___strtoumax_internal"]=(a0,a1,a2)=>(___strtoumax_internal=Module["___strtoumax_internal"]=wasmExports["Nd"])(a0,a1,a2);var _swprintf=Module["_swprintf"]=(a0,a1,a2,a3)=>(_swprintf=Module["_swprintf"]=wasmExports["Od"])(a0,a1,a2,a3);var ___vfprintf_internal=Module["___vfprintf_internal"]=(a0,a1,a2,a3,a4)=>(___vfprintf_internal=Module["___vfprintf_internal"]=wasmExports["Pd"])(a0,a1,a2,a3,a4);var _wctomb=Module["_wctomb"]=(a0,a1)=>(_wctomb=Module["_wctomb"]=wasmExports["Qd"])(a0,a1);var ___trunctfdf2=Module["___trunctfdf2"]=(a0,a1,a2,a3)=>(___trunctfdf2=Module["___trunctfdf2"]=wasmExports["Rd"])(a0,a1,a2,a3);var _vfwprintf=Module["_vfwprintf"]=(a0,a1,a2)=>(_vfwprintf=Module["_vfwprintf"]=wasmExports["Sd"])(a0,a1,a2);var _vsnprintf=Module["_vsnprintf"]=(a0,a1,a2,a3)=>(_vsnprintf=Module["_vsnprintf"]=wasmExports["Td"])(a0,a1,a2,a3);var _vsniprintf=Module["_vsniprintf"]=(a0,a1,a2,a3)=>(_vsniprintf=Module["_vsniprintf"]=wasmExports["Ud"])(a0,a1,a2,a3);var ___small_vsnprintf=Module["___small_vsnprintf"]=(a0,a1,a2,a3)=>(___small_vsnprintf=Module["___small_vsnprintf"]=wasmExports["Vd"])(a0,a1,a2,a3);var _vswprintf=Module["_vswprintf"]=(a0,a1,a2,a3)=>(_vswprintf=Module["_vswprintf"]=wasmExports["Wd"])(a0,a1,a2,a3);var ___wasi_fd_is_valid=Module["___wasi_fd_is_valid"]=a0=>(___wasi_fd_is_valid=Module["___wasi_fd_is_valid"]=wasmExports["Xd"])(a0);var _wcrtomb=Module["_wcrtomb"]=(a0,a1,a2)=>(_wcrtomb=Module["_wcrtomb"]=wasmExports["Yd"])(a0,a1,a2);var _wcschr=Module["_wcschr"]=(a0,a1)=>(_wcschr=Module["_wcschr"]=wasmExports["Zd"])(a0,a1);var _wcslen=Module["_wcslen"]=a0=>(_wcslen=Module["_wcslen"]=wasmExports["_d"])(a0);var _wcsnlen=Module["_wcsnlen"]=(a0,a1)=>(_wcsnlen=Module["_wcsnlen"]=wasmExports["$d"])(a0,a1);var _wcstof=Module["_wcstof"]=(a0,a1)=>(_wcstof=Module["_wcstof"]=wasmExports["ae"])(a0,a1);var _wcstod=Module["_wcstod"]=(a0,a1)=>(_wcstod=Module["_wcstod"]=wasmExports["be"])(a0,a1);var _wcstold=Module["_wcstold"]=(a0,a1,a2)=>(_wcstold=Module["_wcstold"]=wasmExports["ce"])(a0,a1,a2);var _wcstoull=Module["_wcstoull"]=(a0,a1,a2)=>(_wcstoull=Module["_wcstoull"]=wasmExports["de"])(a0,a1,a2);var _wcstoll=Module["_wcstoll"]=(a0,a1,a2)=>(_wcstoll=Module["_wcstoll"]=wasmExports["ee"])(a0,a1,a2);var _wcstoul=Module["_wcstoul"]=(a0,a1,a2)=>(_wcstoul=Module["_wcstoul"]=wasmExports["fe"])(a0,a1,a2);var _wcstol=Module["_wcstol"]=(a0,a1,a2)=>(_wcstol=Module["_wcstol"]=wasmExports["ge"])(a0,a1,a2);var _wcstoimax=Module["_wcstoimax"]=(a0,a1,a2)=>(_wcstoimax=Module["_wcstoimax"]=wasmExports["he"])(a0,a1,a2);var _wcstoumax=Module["_wcstoumax"]=(a0,a1,a2)=>(_wcstoumax=Module["_wcstoumax"]=wasmExports["ie"])(a0,a1,a2);var _wmemchr=Module["_wmemchr"]=(a0,a1,a2)=>(_wmemchr=Module["_wmemchr"]=wasmExports["je"])(a0,a1,a2);var _wmemcmp=Module["_wmemcmp"]=(a0,a1,a2)=>(_wmemcmp=Module["_wmemcmp"]=wasmExports["ke"])(a0,a1,a2);var ___libc_malloc=Module["___libc_malloc"]=a0=>(___libc_malloc=Module["___libc_malloc"]=wasmExports["le"])(a0);var ___libc_free=Module["___libc_free"]=a0=>(___libc_free=Module["___libc_free"]=wasmExports["me"])(a0);var ___libc_calloc=Module["___libc_calloc"]=(a0,a1)=>(___libc_calloc=Module["___libc_calloc"]=wasmExports["ne"])(a0,a1);var ___libc_realloc=Module["___libc_realloc"]=(a0,a1)=>(___libc_realloc=Module["___libc_realloc"]=wasmExports["oe"])(a0,a1);var _free=a0=>(_free=wasmExports["pe"])(a0);var _calloc=Module["_calloc"]=(a0,a1)=>(_calloc=Module["_calloc"]=wasmExports["qe"])(a0,a1);var _realloc=Module["_realloc"]=(a0,a1)=>(_realloc=Module["_realloc"]=wasmExports["re"])(a0,a1);var _realloc_in_place=Module["_realloc_in_place"]=(a0,a1)=>(_realloc_in_place=Module["_realloc_in_place"]=wasmExports["se"])(a0,a1);var _memalign=Module["_memalign"]=(a0,a1)=>(_memalign=Module["_memalign"]=wasmExports["te"])(a0,a1);var _posix_memalign=Module["_posix_memalign"]=(a0,a1,a2)=>(_posix_memalign=Module["_posix_memalign"]=wasmExports["ue"])(a0,a1,a2);var _valloc=Module["_valloc"]=a0=>(_valloc=Module["_valloc"]=wasmExports["ve"])(a0);var _pvalloc=Module["_pvalloc"]=a0=>(_pvalloc=Module["_pvalloc"]=wasmExports["we"])(a0);var _mallinfo=Module["_mallinfo"]=a0=>(_mallinfo=Module["_mallinfo"]=wasmExports["xe"])(a0);var _mallopt=Module["_mallopt"]=(a0,a1)=>(_mallopt=Module["_mallopt"]=wasmExports["ye"])(a0,a1);var _malloc_trim=Module["_malloc_trim"]=a0=>(_malloc_trim=Module["_malloc_trim"]=wasmExports["ze"])(a0);var _malloc_usable_size=Module["_malloc_usable_size"]=a0=>(_malloc_usable_size=Module["_malloc_usable_size"]=wasmExports["Ae"])(a0);var _malloc_footprint=Module["_malloc_footprint"]=()=>(_malloc_footprint=Module["_malloc_footprint"]=wasmExports["Be"])();var _malloc_max_footprint=Module["_malloc_max_footprint"]=()=>(_malloc_max_footprint=Module["_malloc_max_footprint"]=wasmExports["Ce"])();var _malloc_footprint_limit=Module["_malloc_footprint_limit"]=()=>(_malloc_footprint_limit=Module["_malloc_footprint_limit"]=wasmExports["De"])();var _malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=a0=>(_malloc_set_footprint_limit=Module["_malloc_set_footprint_limit"]=wasmExports["Ee"])(a0);var _independent_calloc=Module["_independent_calloc"]=(a0,a1,a2)=>(_independent_calloc=Module["_independent_calloc"]=wasmExports["Fe"])(a0,a1,a2);var _independent_comalloc=Module["_independent_comalloc"]=(a0,a1,a2)=>(_independent_comalloc=Module["_independent_comalloc"]=wasmExports["Ge"])(a0,a1,a2);var _bulk_free=Module["_bulk_free"]=(a0,a1)=>(_bulk_free=Module["_bulk_free"]=wasmExports["He"])(a0,a1);var _emscripten_builtin_malloc=Module["_emscripten_builtin_malloc"]=a0=>(_emscripten_builtin_malloc=Module["_emscripten_builtin_malloc"]=wasmExports["Ie"])(a0);var _emscripten_builtin_free=Module["_emscripten_builtin_free"]=a0=>(_emscripten_builtin_free=Module["_emscripten_builtin_free"]=wasmExports["Je"])(a0);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var ___addtf3=Module["___addtf3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___addtf3=Module["___addtf3"]=wasmExports["Ke"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var ___ashlti3=Module["___ashlti3"]=(a0,a1,a2,a3,a4,a5)=>(___ashlti3=Module["___ashlti3"]=wasmExports["Le"])(a0,a1,a2,a3,a4,a5);var ___letf2=Module["___letf2"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(___letf2=Module["___letf2"]=wasmExports["Me"])(a0,a1,a2,a3,a4,a5,a6,a7);var ___getf2=Module["___getf2"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(___getf2=Module["___getf2"]=wasmExports["Ne"])(a0,a1,a2,a3,a4,a5,a6,a7);var ___unordtf2=Module["___unordtf2"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(___unordtf2=Module["___unordtf2"]=wasmExports["Oe"])(a0,a1,a2,a3,a4,a5,a6,a7);var ___eqtf2=Module["___eqtf2"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(___eqtf2=Module["___eqtf2"]=wasmExports["Pe"])(a0,a1,a2,a3,a4,a5,a6,a7);var ___lttf2=Module["___lttf2"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(___lttf2=Module["___lttf2"]=wasmExports["Qe"])(a0,a1,a2,a3,a4,a5,a6,a7);var ___netf2=Module["___netf2"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(___netf2=Module["___netf2"]=wasmExports["Re"])(a0,a1,a2,a3,a4,a5,a6,a7);var ___gttf2=Module["___gttf2"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(___gttf2=Module["___gttf2"]=wasmExports["Se"])(a0,a1,a2,a3,a4,a5,a6,a7);var ___divtf3=Module["___divtf3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___divtf3=Module["___divtf3"]=wasmExports["Te"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var ___extenddftf2=Module["___extenddftf2"]=(a0,a1)=>(___extenddftf2=Module["___extenddftf2"]=wasmExports["Ue"])(a0,a1);var ___extendsftf2=Module["___extendsftf2"]=(a0,a1)=>(___extendsftf2=Module["___extendsftf2"]=wasmExports["Ve"])(a0,a1);var ___floatsitf=Module["___floatsitf"]=(a0,a1)=>(___floatsitf=Module["___floatsitf"]=wasmExports["We"])(a0,a1);var ___floatunsitf=Module["___floatunsitf"]=(a0,a1)=>(___floatunsitf=Module["___floatunsitf"]=wasmExports["Xe"])(a0,a1);var ___fe_getround=Module["___fe_getround"]=()=>(___fe_getround=Module["___fe_getround"]=wasmExports["Ye"])();var ___fe_raise_inexact=Module["___fe_raise_inexact"]=()=>(___fe_raise_inexact=Module["___fe_raise_inexact"]=wasmExports["Ze"])();var ___lshrti3=Module["___lshrti3"]=(a0,a1,a2,a3,a4,a5)=>(___lshrti3=Module["___lshrti3"]=wasmExports["_e"])(a0,a1,a2,a3,a4,a5);var ___multf3=Module["___multf3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___multf3=Module["___multf3"]=wasmExports["$e"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var ___multi3=Module["___multi3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___multi3=Module["___multi3"]=wasmExports["af"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var _emscripten_stack_get_current=Module["_emscripten_stack_get_current"]=()=>(_emscripten_stack_get_current=Module["_emscripten_stack_get_current"]=wasmExports["bf"])();var ___subtf3=Module["___subtf3"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(___subtf3=Module["___subtf3"]=wasmExports["cf"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var ___trunctfsf2=Module["___trunctfsf2"]=(a0,a1,a2,a3)=>(___trunctfsf2=Module["___trunctfsf2"]=wasmExports["df"])(a0,a1,a2,a3);var __ZNSt3__212__libcpp_clzB8un170004Ej=Module["__ZNSt3__212__libcpp_clzB8un170004Ej"]=a0=>(__ZNSt3__212__libcpp_clzB8un170004Ej=Module["__ZNSt3__212__libcpp_clzB8un170004Ej"]=wasmExports["ef"])(a0);var __ZNSt3__24swapB8un170004IiEENS_9enable_ifIXaasr21is_move_constructibleIT_EE5valuesr18is_move_assignableIS2_EE5valueEvE4typeERS2_S5_=Module["__ZNSt3__24swapB8un170004IiEENS_9enable_ifIXaasr21is_move_constructibleIT_EE5valuesr18is_move_assignableIS2_EE5valueEvE4typeERS2_S5_"]=(a0,a1)=>(__ZNSt3__24swapB8un170004IiEENS_9enable_ifIXaasr21is_move_constructibleIT_EE5valuesr18is_move_assignableIS2_EE5valueEvE4typeERS2_S5_=Module["__ZNSt3__24swapB8un170004IiEENS_9enable_ifIXaasr21is_move_constructibleIT_EE5valuesr18is_move_assignableIS2_EE5valueEvE4typeERS2_S5_"]=wasmExports["ff"])(a0,a1);var __ZNSt3__28to_charsB8un170004IjTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IjTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=(a0,a1,a2,a3)=>(__ZNSt3__28to_charsB8un170004IjTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IjTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=wasmExports["gf"])(a0,a1,a2,a3);var __ZNSt3__215__to_chars_itoaB8un170004IjEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__215__to_chars_itoaB8un170004IjEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE"]=(a0,a1,a2,a3)=>(__ZNSt3__215__to_chars_itoaB8un170004IjEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__215__to_chars_itoaB8un170004IjEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE"]=wasmExports["hf"])(a0,a1,a2,a3);var __ZNSt3__26__itoa13__traits_baseIjvE7__widthB8un170004Ej=Module["__ZNSt3__26__itoa13__traits_baseIjvE7__widthB8un170004Ej"]=a0=>(__ZNSt3__26__itoa13__traits_baseIjvE7__widthB8un170004Ej=Module["__ZNSt3__26__itoa13__traits_baseIjvE7__widthB8un170004Ej"]=wasmExports["jf"])(a0);var __ZNSt3__26__itoa13__traits_baseIjvE9__convertB8un170004EPcj=Module["__ZNSt3__26__itoa13__traits_baseIjvE9__convertB8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa13__traits_baseIjvE9__convertB8un170004EPcj=Module["__ZNSt3__26__itoa13__traits_baseIjvE9__convertB8un170004EPcj"]=wasmExports["kf"])(a0,a1);var __ZNSt3__26__itoa13__base_10_u32B8un170004EPcj=Module["__ZNSt3__26__itoa13__base_10_u32B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa13__base_10_u32B8un170004EPcj=Module["__ZNSt3__26__itoa13__base_10_u32B8un170004EPcj"]=wasmExports["lf"])(a0,a1);var __ZNSt3__26__itoa9__append1B8un170004EPcj=Module["__ZNSt3__26__itoa9__append1B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append1B8un170004EPcj=Module["__ZNSt3__26__itoa9__append1B8un170004EPcj"]=wasmExports["mf"])(a0,a1);var __ZNSt3__26__itoa9__append2B8un170004EPcj=Module["__ZNSt3__26__itoa9__append2B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append2B8un170004EPcj=Module["__ZNSt3__26__itoa9__append2B8un170004EPcj"]=wasmExports["nf"])(a0,a1);var __ZNSt3__26__itoa9__append3B8un170004EPcj=Module["__ZNSt3__26__itoa9__append3B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append3B8un170004EPcj=Module["__ZNSt3__26__itoa9__append3B8un170004EPcj"]=wasmExports["of"])(a0,a1);var __ZNSt3__26__itoa9__append4B8un170004EPcj=Module["__ZNSt3__26__itoa9__append4B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append4B8un170004EPcj=Module["__ZNSt3__26__itoa9__append4B8un170004EPcj"]=wasmExports["pf"])(a0,a1);var __ZNSt3__26__itoa9__append5B8un170004EPcj=Module["__ZNSt3__26__itoa9__append5B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append5B8un170004EPcj=Module["__ZNSt3__26__itoa9__append5B8un170004EPcj"]=wasmExports["qf"])(a0,a1);var __ZNSt3__26__itoa9__append6B8un170004EPcj=Module["__ZNSt3__26__itoa9__append6B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append6B8un170004EPcj=Module["__ZNSt3__26__itoa9__append6B8un170004EPcj"]=wasmExports["rf"])(a0,a1);var __ZNSt3__26__itoa9__append7B8un170004EPcj=Module["__ZNSt3__26__itoa9__append7B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append7B8un170004EPcj=Module["__ZNSt3__26__itoa9__append7B8un170004EPcj"]=wasmExports["sf"])(a0,a1);var __ZNSt3__26__itoa9__append8B8un170004EPcj=Module["__ZNSt3__26__itoa9__append8B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append8B8un170004EPcj=Module["__ZNSt3__26__itoa9__append8B8un170004EPcj"]=wasmExports["tf"])(a0,a1);var __ZNSt3__26__itoa9__append9B8un170004EPcj=Module["__ZNSt3__26__itoa9__append9B8un170004EPcj"]=(a0,a1)=>(__ZNSt3__26__itoa9__append9B8un170004EPcj=Module["__ZNSt3__26__itoa9__append9B8un170004EPcj"]=wasmExports["uf"])(a0,a1);var __ZNSt3__26__itoa10__append10B8un170004IjEEPcS2_T_=Module["__ZNSt3__26__itoa10__append10B8un170004IjEEPcS2_T_"]=(a0,a1)=>(__ZNSt3__26__itoa10__append10B8un170004IjEEPcS2_T_=Module["__ZNSt3__26__itoa10__append10B8un170004IjEEPcS2_T_"]=wasmExports["vf"])(a0,a1);var __ZNSt3__26copy_nB8un170004IPKciPcEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_=Module["__ZNSt3__26copy_nB8un170004IPKciPcEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_"]=(a0,a1,a2)=>(__ZNSt3__26copy_nB8un170004IPKciPcEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_=Module["__ZNSt3__26copy_nB8un170004IPKciPcEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_"]=wasmExports["wf"])(a0,a1,a2);var __ZNSt3__24copyB8un170004IPKcPcEET0_T_S5_S4_=Module["__ZNSt3__24copyB8un170004IPKcPcEET0_T_S5_S4_"]=(a0,a1,a2)=>(__ZNSt3__24copyB8un170004IPKcPcEET0_T_S5_S4_=Module["__ZNSt3__24copyB8un170004IPKcPcEET0_T_S5_S4_"]=wasmExports["xf"])(a0,a1,a2);var __ZNSt3__26__copyB8un170004INS_17_ClassicAlgPolicyEPKcS3_PcEENS_4pairIT0_T2_EES6_T1_S7_=Module["__ZNSt3__26__copyB8un170004INS_17_ClassicAlgPolicyEPKcS3_PcEENS_4pairIT0_T2_EES6_T1_S7_"]=(a0,a1,a2,a3)=>(__ZNSt3__26__copyB8un170004INS_17_ClassicAlgPolicyEPKcS3_PcEENS_4pairIT0_T2_EES6_T1_S7_=Module["__ZNSt3__26__copyB8un170004INS_17_ClassicAlgPolicyEPKcS3_PcEENS_4pairIT0_T2_EES6_T1_S7_"]=wasmExports["yf"])(a0,a1,a2,a3);var __ZNSt3__223__dispatch_copy_or_moveB8un170004INS_17_ClassicAlgPolicyENS_11__copy_loopIS1_EENS_14__copy_trivialEPKcS6_PcEENS_4pairIT2_T4_EES9_T3_SA_=Module["__ZNSt3__223__dispatch_copy_or_moveB8un170004INS_17_ClassicAlgPolicyENS_11__copy_loopIS1_EENS_14__copy_trivialEPKcS6_PcEENS_4pairIT2_T4_EES9_T3_SA_"]=(a0,a1,a2,a3)=>(__ZNSt3__223__dispatch_copy_or_moveB8un170004INS_17_ClassicAlgPolicyENS_11__copy_loopIS1_EENS_14__copy_trivialEPKcS6_PcEENS_4pairIT2_T4_EES9_T3_SA_=Module["__ZNSt3__223__dispatch_copy_or_moveB8un170004INS_17_ClassicAlgPolicyENS_11__copy_loopIS1_EENS_14__copy_trivialEPKcS6_PcEENS_4pairIT2_T4_EES9_T3_SA_"]=wasmExports["zf"])(a0,a1,a2,a3);var __ZNSt3__221__unwrap_and_dispatchB8un170004INS_10__overloadINS_11__copy_loopINS_17_ClassicAlgPolicyEEENS_14__copy_trivialEEEPKcS8_PcTnNS_9enable_ifIXsr12__can_rewrapIT0_T1_T2_EE5valueEiE4typeELi0EEENS_4pairISB_SD_EESB_SC_SD_=Module["__ZNSt3__221__unwrap_and_dispatchB8un170004INS_10__overloadINS_11__copy_loopINS_17_ClassicAlgPolicyEEENS_14__copy_trivialEEEPKcS8_PcTnNS_9enable_ifIXsr12__can_rewrapIT0_T1_T2_EE5valueEiE4typeELi0EEENS_4pairISB_SD_EESB_SC_SD_"]=(a0,a1,a2,a3)=>(__ZNSt3__221__unwrap_and_dispatchB8un170004INS_10__overloadINS_11__copy_loopINS_17_ClassicAlgPolicyEEENS_14__copy_trivialEEEPKcS8_PcTnNS_9enable_ifIXsr12__can_rewrapIT0_T1_T2_EE5valueEiE4typeELi0EEENS_4pairISB_SD_EESB_SC_SD_=Module["__ZNSt3__221__unwrap_and_dispatchB8un170004INS_10__overloadINS_11__copy_loopINS_17_ClassicAlgPolicyEEENS_14__copy_trivialEEEPKcS8_PcTnNS_9enable_ifIXsr12__can_rewrapIT0_T1_T2_EE5valueEiE4typeELi0EEENS_4pairISB_SD_EESB_SC_SD_"]=wasmExports["Af"])(a0,a1,a2,a3);var __ZNSt3__214__unwrap_rangeB8un170004IPKcS2_EEDaT_T0_=Module["__ZNSt3__214__unwrap_rangeB8un170004IPKcS2_EEDaT_T0_"]=(a0,a1,a2)=>(__ZNSt3__214__unwrap_rangeB8un170004IPKcS2_EEDaT_T0_=Module["__ZNSt3__214__unwrap_rangeB8un170004IPKcS2_EEDaT_T0_"]=wasmExports["Bf"])(a0,a1,a2);var __ZNSt3__213__unwrap_iterB8un170004IPcNS_18__unwrap_iter_implIS1_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS5_EEEES5_=Module["__ZNSt3__213__unwrap_iterB8un170004IPcNS_18__unwrap_iter_implIS1_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS5_EEEES5_"]=a0=>(__ZNSt3__213__unwrap_iterB8un170004IPcNS_18__unwrap_iter_implIS1_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS5_EEEES5_=Module["__ZNSt3__213__unwrap_iterB8un170004IPcNS_18__unwrap_iter_implIS1_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS5_EEEES5_"]=wasmExports["Cf"])(a0);var __ZNKSt3__214__copy_trivialclB8un170004IKccTnNS_9enable_ifIXsr38__can_lower_copy_assignment_to_memmoveIT_T0_EE5valueEiE4typeELi0EEENS_4pairIPS4_PS5_EES9_S9_SA_=Module["__ZNKSt3__214__copy_trivialclB8un170004IKccTnNS_9enable_ifIXsr38__can_lower_copy_assignment_to_memmoveIT_T0_EE5valueEiE4typeELi0EEENS_4pairIPS4_PS5_EES9_S9_SA_"]=(a0,a1,a2,a3,a4)=>(__ZNKSt3__214__copy_trivialclB8un170004IKccTnNS_9enable_ifIXsr38__can_lower_copy_assignment_to_memmoveIT_T0_EE5valueEiE4typeELi0EEENS_4pairIPS4_PS5_EES9_S9_SA_=Module["__ZNKSt3__214__copy_trivialclB8un170004IKccTnNS_9enable_ifIXsr38__can_lower_copy_assignment_to_memmoveIT_T0_EE5valueEiE4typeELi0EEENS_4pairIPS4_PS5_EES9_S9_SA_"]=wasmExports["Df"])(a0,a1,a2,a3,a4);var __ZNSt3__214__rewrap_rangeB8un170004IPKcS2_S2_EET0_S3_T1_=Module["__ZNSt3__214__rewrap_rangeB8un170004IPKcS2_S2_EET0_S3_T1_"]=(a0,a1)=>(__ZNSt3__214__rewrap_rangeB8un170004IPKcS2_S2_EET0_S3_T1_=Module["__ZNSt3__214__rewrap_rangeB8un170004IPKcS2_S2_EET0_S3_T1_"]=wasmExports["Ef"])(a0,a1);var __ZNSt3__213__rewrap_iterB8un170004IPcS1_NS_18__unwrap_iter_implIS1_Lb1EEEEET_S4_T0_=Module["__ZNSt3__213__rewrap_iterB8un170004IPcS1_NS_18__unwrap_iter_implIS1_Lb1EEEEET_S4_T0_"]=(a0,a1)=>(__ZNSt3__213__rewrap_iterB8un170004IPcS1_NS_18__unwrap_iter_implIS1_Lb1EEEEET_S4_T0_=Module["__ZNSt3__213__rewrap_iterB8un170004IPcS1_NS_18__unwrap_iter_implIS1_Lb1EEEEET_S4_T0_"]=wasmExports["Ff"])(a0,a1);var __ZNSt3__29make_pairB8un170004IPKcPcEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS5_IT0_E4typeEEEOS6_OS9_=Module["__ZNSt3__29make_pairB8un170004IPKcPcEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS5_IT0_E4typeEEEOS6_OS9_"]=(a0,a1,a2)=>(__ZNSt3__29make_pairB8un170004IPKcPcEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS5_IT0_E4typeEEEOS6_OS9_=Module["__ZNSt3__29make_pairB8un170004IPKcPcEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS5_IT0_E4typeEEEOS6_OS9_"]=wasmExports["Gf"])(a0,a1,a2);var __ZNSt3__219__unwrap_range_implIPKcS2_E8__unwrapB8un170004ES2_S2_=Module["__ZNSt3__219__unwrap_range_implIPKcS2_E8__unwrapB8un170004ES2_S2_"]=(a0,a1,a2)=>(__ZNSt3__219__unwrap_range_implIPKcS2_E8__unwrapB8un170004ES2_S2_=Module["__ZNSt3__219__unwrap_range_implIPKcS2_E8__unwrapB8un170004ES2_S2_"]=wasmExports["Hf"])(a0,a1,a2);var __ZNSt3__219__copy_trivial_implB8un170004IKccEENS_4pairIPT_PT0_EES4_S4_S6_=Module["__ZNSt3__219__copy_trivial_implB8un170004IKccEENS_4pairIPT_PT0_EES4_S4_S6_"]=(a0,a1,a2,a3)=>(__ZNSt3__219__copy_trivial_implB8un170004IKccEENS_4pairIPT_PT0_EES4_S4_S6_=Module["__ZNSt3__219__copy_trivial_implB8un170004IKccEENS_4pairIPT_PT0_EES4_S4_S6_"]=wasmExports["If"])(a0,a1,a2,a3);var __ZNSt3__218__unwrap_iter_implIPcLb1EE8__unwrapB8un170004ES1_=Module["__ZNSt3__218__unwrap_iter_implIPcLb1EE8__unwrapB8un170004ES1_"]=a0=>(__ZNSt3__218__unwrap_iter_implIPcLb1EE8__unwrapB8un170004ES1_=Module["__ZNSt3__218__unwrap_iter_implIPcLb1EE8__unwrapB8un170004ES1_"]=wasmExports["Jf"])(a0);var __ZNSt3__24pairIPKcPcEC2B8un170004IS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_=Module["__ZNSt3__24pairIPKcPcEC2B8un170004IS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_"]=(a0,a1,a2)=>(__ZNSt3__24pairIPKcPcEC2B8un170004IS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_=Module["__ZNSt3__24pairIPKcPcEC2B8un170004IS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_"]=wasmExports["Kf"])(a0,a1,a2);var __ZNSt3__219__unwrap_range_implIPKcS2_E8__rewrapB8un170004ES2_S2_=Module["__ZNSt3__219__unwrap_range_implIPKcS2_E8__rewrapB8un170004ES2_S2_"]=(a0,a1)=>(__ZNSt3__219__unwrap_range_implIPKcS2_E8__rewrapB8un170004ES2_S2_=Module["__ZNSt3__219__unwrap_range_implIPKcS2_E8__rewrapB8un170004ES2_S2_"]=wasmExports["Lf"])(a0,a1);var __ZNSt3__218__unwrap_iter_implIPcLb1EE8__rewrapB8un170004ES1_S1_=Module["__ZNSt3__218__unwrap_iter_implIPcLb1EE8__rewrapB8un170004ES1_S1_"]=(a0,a1)=>(__ZNSt3__218__unwrap_iter_implIPcLb1EE8__rewrapB8un170004ES1_S1_=Module["__ZNSt3__218__unwrap_iter_implIPcLb1EE8__rewrapB8un170004ES1_S1_"]=wasmExports["Mf"])(a0,a1);var __ZNSt3__213__unwrap_iterB8un170004IPKcNS_18__unwrap_iter_implIS2_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS6_EEEES6_=Module["__ZNSt3__213__unwrap_iterB8un170004IPKcNS_18__unwrap_iter_implIS2_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS6_EEEES6_"]=a0=>(__ZNSt3__213__unwrap_iterB8un170004IPKcNS_18__unwrap_iter_implIS2_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS6_EEEES6_=Module["__ZNSt3__213__unwrap_iterB8un170004IPKcNS_18__unwrap_iter_implIS2_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS6_EEEES6_"]=wasmExports["Nf"])(a0);var __ZNSt3__24pairIPKcS2_EC2B8un170004IS2_S2_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS6_OS7_=Module["__ZNSt3__24pairIPKcS2_EC2B8un170004IS2_S2_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS6_OS7_"]=(a0,a1,a2)=>(__ZNSt3__24pairIPKcS2_EC2B8un170004IS2_S2_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS6_OS7_=Module["__ZNSt3__24pairIPKcS2_EC2B8un170004IS2_S2_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS6_OS7_"]=wasmExports["Of"])(a0,a1,a2);var __ZNSt3__218__unwrap_iter_implIPKcLb1EE8__unwrapB8un170004ES2_=Module["__ZNSt3__218__unwrap_iter_implIPKcLb1EE8__unwrapB8un170004ES2_"]=a0=>(__ZNSt3__218__unwrap_iter_implIPKcLb1EE8__unwrapB8un170004ES2_=Module["__ZNSt3__218__unwrap_iter_implIPKcLb1EE8__unwrapB8un170004ES2_"]=wasmExports["Pf"])(a0);var __ZNSt3__212__to_addressB8un170004IKcEEPT_S3_=Module["__ZNSt3__212__to_addressB8un170004IKcEEPT_S3_"]=a0=>(__ZNSt3__212__to_addressB8un170004IKcEEPT_S3_=Module["__ZNSt3__212__to_addressB8un170004IKcEEPT_S3_"]=wasmExports["Qf"])(a0);var __ZNSt3__219__constexpr_memmoveB8un170004IcKcTnNS_9enable_ifIXsr23__is_always_bitcastableIT0_T_EE5valueEiE4typeELi0EEEPS4_S7_PS3_NS_15__element_countE=Module["__ZNSt3__219__constexpr_memmoveB8un170004IcKcTnNS_9enable_ifIXsr23__is_always_bitcastableIT0_T_EE5valueEiE4typeELi0EEEPS4_S7_PS3_NS_15__element_countE"]=(a0,a1,a2)=>(__ZNSt3__219__constexpr_memmoveB8un170004IcKcTnNS_9enable_ifIXsr23__is_always_bitcastableIT0_T_EE5valueEiE4typeELi0EEEPS4_S7_PS3_NS_15__element_countE=Module["__ZNSt3__219__constexpr_memmoveB8un170004IcKcTnNS_9enable_ifIXsr23__is_always_bitcastableIT0_T_EE5valueEiE4typeELi0EEEPS4_S7_PS3_NS_15__element_countE"]=wasmExports["Rf"])(a0,a1,a2);var __ZNSt3__29make_pairB8un170004IRPKcPcEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS6_IT0_E4typeEEEOS7_OSA_=Module["__ZNSt3__29make_pairB8un170004IRPKcPcEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS6_IT0_E4typeEEEOS7_OSA_"]=(a0,a1,a2)=>(__ZNSt3__29make_pairB8un170004IRPKcPcEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS6_IT0_E4typeEEEOS7_OSA_=Module["__ZNSt3__29make_pairB8un170004IRPKcPcEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS6_IT0_E4typeEEEOS7_OSA_"]=wasmExports["Sf"])(a0,a1,a2);var __ZNSt3__24pairIPKcPcEC2B8un170004IRS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS8_OS9_=Module["__ZNSt3__24pairIPKcPcEC2B8un170004IRS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS8_OS9_"]=(a0,a1,a2)=>(__ZNSt3__24pairIPKcPcEC2B8un170004IRS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS8_OS9_=Module["__ZNSt3__24pairIPKcPcEC2B8un170004IRS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS8_OS9_"]=wasmExports["Tf"])(a0,a1,a2);var __ZNSt3__212__to_addressB8un170004IcEEPT_S2_=Module["__ZNSt3__212__to_addressB8un170004IcEEPT_S2_"]=a0=>(__ZNSt3__212__to_addressB8un170004IcEEPT_S2_=Module["__ZNSt3__212__to_addressB8un170004IcEEPT_S2_"]=wasmExports["Uf"])(a0);var __ZNSt3__213__rewrap_iterB8un170004IPKcS2_NS_18__unwrap_iter_implIS2_Lb1EEEEET_S5_T0_=Module["__ZNSt3__213__rewrap_iterB8un170004IPKcS2_NS_18__unwrap_iter_implIS2_Lb1EEEEET_S5_T0_"]=(a0,a1)=>(__ZNSt3__213__rewrap_iterB8un170004IPKcS2_NS_18__unwrap_iter_implIS2_Lb1EEEEET_S5_T0_=Module["__ZNSt3__213__rewrap_iterB8un170004IPKcS2_NS_18__unwrap_iter_implIS2_Lb1EEEEET_S5_T0_"]=wasmExports["Vf"])(a0,a1);var __ZNSt3__218__unwrap_iter_implIPKcLb1EE8__rewrapB8un170004ES2_S2_=Module["__ZNSt3__218__unwrap_iter_implIPKcLb1EE8__rewrapB8un170004ES2_S2_"]=(a0,a1)=>(__ZNSt3__218__unwrap_iter_implIPKcLb1EE8__rewrapB8un170004ES2_S2_=Module["__ZNSt3__218__unwrap_iter_implIPKcLb1EE8__rewrapB8un170004ES2_S2_"]=wasmExports["Wf"])(a0,a1);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5c_strB8un170004Ev"]=wasmExports["Xf"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataB8un170004Ev"]=wasmExports["Yf"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerB8un170004Ev"]=wasmExports["Zf"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__is_longB8un170004Ev"]=wasmExports["_f"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerB8un170004Ev"]=wasmExports["$f"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerB8un170004Ev"]=wasmExports["ag"])(a0);var __ZNKSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E5firstB8un170004Ev=Module["__ZNKSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E5firstB8un170004Ev"]=a0=>(__ZNKSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E5firstB8un170004Ev=Module["__ZNKSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E5firstB8un170004Ev"]=wasmExports["bg"])(a0);var __ZNSt3__214pointer_traitsIPKcE10pointer_toB8un170004ERS1_=Module["__ZNSt3__214pointer_traitsIPKcE10pointer_toB8un170004ERS1_"]=a0=>(__ZNSt3__214pointer_traitsIPKcE10pointer_toB8un170004ERS1_=Module["__ZNSt3__214pointer_traitsIPKcE10pointer_toB8un170004ERS1_"]=wasmExports["cg"])(a0);var __ZNKSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EE5__getB8un170004Ev=Module["__ZNKSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EE5__getB8un170004Ev"]=a0=>(__ZNKSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EE5__getB8un170004Ev=Module["__ZNKSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EE5__getB8un170004Ev"]=wasmExports["dg"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004ILi0EEEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004ILi0EEEPKc"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004ILi0EEEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004ILi0EEEPKc"]=wasmExports["eg"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004EOS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004EOS5_"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004EOS5_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004EOS5_"]=wasmExports["fg"])(a0,a1);var __ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2B8un170004INS_18__default_init_tagESA_EEOT_OT0_=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2B8un170004INS_18__default_init_tagESA_EEOT_OT0_"]=(a0,a1,a2)=>(__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2B8un170004INS_18__default_init_tagESA_EEOT_OT0_=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2B8un170004INS_18__default_init_tagESA_EEOT_OT0_"]=wasmExports["gg"])(a0,a1,a2);var __ZNSt3__211char_traitsIcE6lengthB8un170004EPKc=Module["__ZNSt3__211char_traitsIcE6lengthB8un170004EPKc"]=a0=>(__ZNSt3__211char_traitsIcE6lengthB8un170004EPKc=Module["__ZNSt3__211char_traitsIcE6lengthB8un170004EPKc"]=wasmExports["hg"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004Ev"]=wasmExports["ig"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm"]=wasmExports["jg"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixB8un170004Em"]=wasmExports["kg"])(a0,a1);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4sizeB8un170004Ev"]=wasmExports["lg"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__default_initB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__default_initB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__default_initB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__default_initB8un170004Ev"]=wasmExports["mg"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__get_long_sizeB8un170004Ev"]=wasmExports["ng"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__get_short_sizeB8un170004Ev"]=wasmExports["og"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8capacityB8un170004Ev"]=wasmExports["pg"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__get_long_capB8un170004Ev"]=wasmExports["qg"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__get_pointerB8un170004Ev"]=wasmExports["rg"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__get_long_pointerB8un170004Ev"]=wasmExports["sg"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__get_short_pointerB8un170004Ev"]=wasmExports["tg"])(a0);var __ZNSt3__211char_traitsIcE4copyB8un170004EPcPKcm=Module["__ZNSt3__211char_traitsIcE4copyB8un170004EPcPKcm"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIcE4copyB8un170004EPcPKcm=Module["__ZNSt3__211char_traitsIcE4copyB8un170004EPcPKcm"]=wasmExports["ug"])(a0,a1,a2);var __ZNSt3__26copy_nB8un170004IPKcmPcEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_=Module["__ZNSt3__26copy_nB8un170004IPKcmPcEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_"]=(a0,a1,a2)=>(__ZNSt3__26copy_nB8un170004IPKcmPcEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_=Module["__ZNSt3__26copy_nB8un170004IPKcmPcEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_"]=wasmExports["vg"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__set_sizeB8un170004Em"]=wasmExports["wg"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__set_long_sizeB8un170004Em"]=wasmExports["xg"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__set_short_sizeB8un170004Em"]=wasmExports["yg"])(a0,a1);var __ZNSt3__211char_traitsIcE6assignB8un170004ERcRKc=Module["__ZNSt3__211char_traitsIcE6assignB8un170004ERcRKc"]=(a0,a1)=>(__ZNSt3__211char_traitsIcE6assignB8un170004ERcRKc=Module["__ZNSt3__211char_traitsIcE6assignB8un170004ERcRKc"]=wasmExports["zg"])(a0,a1);var __ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E5firstB8un170004Ev=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E5firstB8un170004Ev"]=a0=>(__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E5firstB8un170004Ev=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E5firstB8un170004Ev"]=wasmExports["Ag"])(a0);var __ZNSt3__214pointer_traitsIPcE10pointer_toB8un170004ERc=Module["__ZNSt3__214pointer_traitsIPcE10pointer_toB8un170004ERc"]=a0=>(__ZNSt3__214pointer_traitsIPcE10pointer_toB8un170004ERc=Module["__ZNSt3__214pointer_traitsIPcE10pointer_toB8un170004ERc"]=wasmExports["Bg"])(a0);var __ZNSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EE5__getB8un170004Ev=Module["__ZNSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EE5__getB8un170004Ev"]=a0=>(__ZNSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EE5__getB8un170004Ev=Module["__ZNSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EE5__getB8un170004Ev"]=wasmExports["Cg"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8max_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8max_sizeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8max_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE8max_sizeB8un170004Ev"]=wasmExports["Dg"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocB8un170004Ev"]=wasmExports["Eg"])(a0);var __ZNSt3__216allocator_traitsINS_9allocatorIcEEE8max_sizeB8un170004IS2_vvEEmRKS2_=Module["__ZNSt3__216allocator_traitsINS_9allocatorIcEEE8max_sizeB8un170004IS2_vvEEmRKS2_"]=a0=>(__ZNSt3__216allocator_traitsINS_9allocatorIcEEE8max_sizeB8un170004IS2_vvEEmRKS2_=Module["__ZNSt3__216allocator_traitsINS_9allocatorIcEEE8max_sizeB8un170004IS2_vvEEmRKS2_"]=wasmExports["Fg"])(a0);var __ZNSt3__214numeric_limitsImE3maxB8un170004Ev=Module["__ZNSt3__214numeric_limitsImE3maxB8un170004Ev"]=()=>(__ZNSt3__214numeric_limitsImE3maxB8un170004Ev=Module["__ZNSt3__214numeric_limitsImE3maxB8un170004Ev"]=wasmExports["Gg"])();var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_length_errorB8un170004Ev"]=wasmExports["Hg"])(a0);var __ZNSt3__220__throw_length_errorB8un170004EPKc=Module["__ZNSt3__220__throw_length_errorB8un170004EPKc"]=a0=>(__ZNSt3__220__throw_length_errorB8un170004EPKc=Module["__ZNSt3__220__throw_length_errorB8un170004EPKc"]=wasmExports["Ig"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE11__recommendB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE11__recommendB8un170004Em"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE11__recommendB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE11__recommendB8un170004Em"]=wasmExports["Jg"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__align_itB8un170004ILm16EEEmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__align_itB8un170004ILm16EEEmm"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__align_itB8un170004ILm16EEEmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE10__align_itB8un170004ILm16EEEmm"]=wasmExports["Kg"])(a0);var __ZNSt3__23maxB8un170004ImEERKT_S3_S3_=Module["__ZNSt3__23maxB8un170004ImEERKT_S3_S3_"]=(a0,a1)=>(__ZNSt3__23maxB8un170004ImEERKT_S3_S3_=Module["__ZNSt3__23maxB8un170004ImEERKT_S3_S3_"]=wasmExports["Lg"])(a0,a1);var __ZNSt3__23maxB8un170004ImNS_6__lessIvvEEEERKT_S5_S5_T0_=Module["__ZNSt3__23maxB8un170004ImNS_6__lessIvvEEEERKT_S5_S5_T0_"]=(a0,a1)=>(__ZNSt3__23maxB8un170004ImNS_6__lessIvvEEEERKT_S5_S5_T0_=Module["__ZNSt3__23maxB8un170004ImNS_6__lessIvvEEEERKT_S5_S5_T0_"]=wasmExports["Mg"])(a0,a1);var __ZNSt3__219__allocate_at_leastB8un170004INS_9allocatorIcEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m=Module["__ZNSt3__219__allocate_at_leastB8un170004INS_9allocatorIcEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m"]=(a0,a1,a2)=>(__ZNSt3__219__allocate_at_leastB8un170004INS_9allocatorIcEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m=Module["__ZNSt3__219__allocate_at_leastB8un170004INS_9allocatorIcEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m"]=wasmExports["Ng"])(a0,a1,a2);var __ZNSt3__29allocatorIcE8allocateB8un170004Em=Module["__ZNSt3__29allocatorIcE8allocateB8un170004Em"]=(a0,a1)=>(__ZNSt3__29allocatorIcE8allocateB8un170004Em=Module["__ZNSt3__29allocatorIcE8allocateB8un170004Em"]=wasmExports["Og"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7__allocB8un170004Ev"]=wasmExports["Pg"])(a0);var __ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E6secondB8un170004Ev=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E6secondB8un170004Ev"]=a0=>(__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E6secondB8un170004Ev=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E6secondB8un170004Ev"]=wasmExports["Qg"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__begin_lifetimeB8un170004EPcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__begin_lifetimeB8un170004EPcm"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__begin_lifetimeB8un170004EPcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__begin_lifetimeB8un170004EPcm"]=wasmExports["Rg"])(a0,a1);var __ZNSt3__216allocator_traitsINS_9allocatorIcEEE10deallocateB8un170004ERS2_Pcm=Module["__ZNSt3__216allocator_traitsINS_9allocatorIcEEE10deallocateB8un170004ERS2_Pcm"]=(a0,a1,a2)=>(__ZNSt3__216allocator_traitsINS_9allocatorIcEEE10deallocateB8un170004ERS2_Pcm=Module["__ZNSt3__216allocator_traitsINS_9allocatorIcEEE10deallocateB8un170004ERS2_Pcm"]=wasmExports["Sg"])(a0,a1,a2);var __ZNSt3__29allocatorIcE10deallocateB8un170004EPcm=Module["__ZNSt3__29allocatorIcE10deallocateB8un170004EPcm"]=(a0,a1,a2)=>(__ZNSt3__29allocatorIcE10deallocateB8un170004EPcm=Module["__ZNSt3__29allocatorIcE10deallocateB8un170004EPcm"]=wasmExports["Tg"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerB8un170004EPc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerB8un170004EPc"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerB8un170004EPc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__set_long_pointerB8un170004EPc"]=wasmExports["Ug"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__set_long_capB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__set_long_capB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__set_long_capB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__set_long_capB8un170004Em"]=wasmExports["Vg"])(a0,a1);var __ZNKSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E6secondB8un170004Ev=Module["__ZNKSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E6secondB8un170004Ev"]=a0=>(__ZNKSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E6secondB8un170004Ev=Module["__ZNKSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_E6secondB8un170004Ev"]=wasmExports["Wg"])(a0);var __ZNSt3__223__libcpp_numeric_limitsImLb1EE3maxB8un170004Ev=Module["__ZNSt3__223__libcpp_numeric_limitsImLb1EE3maxB8un170004Ev"]=()=>(__ZNSt3__223__libcpp_numeric_limitsImLb1EE3maxB8un170004Ev=Module["__ZNSt3__223__libcpp_numeric_limitsImLb1EE3maxB8un170004Ev"]=wasmExports["Xg"])();var __ZNKSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EE5__getB8un170004Ev=Module["__ZNKSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EE5__getB8un170004Ev"]=a0=>(__ZNKSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EE5__getB8un170004Ev=Module["__ZNKSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EE5__getB8un170004Ev"]=wasmExports["Yg"])(a0);var __ZNKSt3__26__lessIvvEclB8un170004ImmEEbRKT_RKT0_=Module["__ZNKSt3__26__lessIvvEclB8un170004ImmEEbRKT_RKT0_"]=(a0,a1,a2)=>(__ZNKSt3__26__lessIvvEclB8un170004ImmEEbRKT_RKT0_=Module["__ZNKSt3__26__lessIvvEclB8un170004ImmEEbRKT_RKT0_"]=wasmExports["Zg"])(a0,a1,a2);var __ZSt28__throw_bad_array_new_lengthB8un170004v=Module["__ZSt28__throw_bad_array_new_lengthB8un170004v"]=()=>(__ZSt28__throw_bad_array_new_lengthB8un170004v=Module["__ZSt28__throw_bad_array_new_lengthB8un170004v"]=wasmExports["_g"])();var __ZNSt3__217__libcpp_allocateB8un170004Emm=Module["__ZNSt3__217__libcpp_allocateB8un170004Emm"]=(a0,a1)=>(__ZNSt3__217__libcpp_allocateB8un170004Emm=Module["__ZNSt3__217__libcpp_allocateB8un170004Emm"]=wasmExports["$g"])(a0,a1);var __ZNSt3__224__is_overaligned_for_newB8un170004Em=Module["__ZNSt3__224__is_overaligned_for_newB8un170004Em"]=a0=>(__ZNSt3__224__is_overaligned_for_newB8un170004Em=Module["__ZNSt3__224__is_overaligned_for_newB8un170004Em"]=wasmExports["ah"])(a0);var __ZNSt3__221__libcpp_operator_newB8un170004IJmSt11align_val_tEEEPvDpT_=Module["__ZNSt3__221__libcpp_operator_newB8un170004IJmSt11align_val_tEEEPvDpT_"]=(a0,a1)=>(__ZNSt3__221__libcpp_operator_newB8un170004IJmSt11align_val_tEEEPvDpT_=Module["__ZNSt3__221__libcpp_operator_newB8un170004IJmSt11align_val_tEEEPvDpT_"]=wasmExports["bh"])(a0,a1);var __ZNSt3__221__libcpp_operator_newB8un170004IJmEEEPvDpT_=Module["__ZNSt3__221__libcpp_operator_newB8un170004IJmEEEPvDpT_"]=a0=>(__ZNSt3__221__libcpp_operator_newB8un170004IJmEEEPvDpT_=Module["__ZNSt3__221__libcpp_operator_newB8un170004IJmEEEPvDpT_"]=wasmExports["ch"])(a0);var __ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EE5__getB8un170004Ev=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EE5__getB8un170004Ev"]=a0=>(__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EE5__getB8un170004Ev=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EE5__getB8un170004Ev"]=wasmExports["dh"])(a0);var __ZNSt3__219__libcpp_deallocateB8un170004EPvmm=Module["__ZNSt3__219__libcpp_deallocateB8un170004EPvmm"]=(a0,a1,a2)=>(__ZNSt3__219__libcpp_deallocateB8un170004EPvmm=Module["__ZNSt3__219__libcpp_deallocateB8un170004EPvmm"]=wasmExports["eh"])(a0,a1,a2);var __ZNSt3__227__do_deallocate_handle_sizeB8un170004IJSt11align_val_tEEEvPvmDpT_=Module["__ZNSt3__227__do_deallocate_handle_sizeB8un170004IJSt11align_val_tEEEvPvmDpT_"]=(a0,a1,a2)=>(__ZNSt3__227__do_deallocate_handle_sizeB8un170004IJSt11align_val_tEEEvPvmDpT_=Module["__ZNSt3__227__do_deallocate_handle_sizeB8un170004IJSt11align_val_tEEEvPvmDpT_"]=wasmExports["fh"])(a0,a1,a2);var __ZNSt3__227__do_deallocate_handle_sizeB8un170004IJEEEvPvmDpT_=Module["__ZNSt3__227__do_deallocate_handle_sizeB8un170004IJEEEvPvmDpT_"]=(a0,a1)=>(__ZNSt3__227__do_deallocate_handle_sizeB8un170004IJEEEvPvmDpT_=Module["__ZNSt3__227__do_deallocate_handle_sizeB8un170004IJEEEvPvmDpT_"]=wasmExports["gh"])(a0,a1);var __ZNSt3__224__libcpp_operator_deleteB8un170004IJPvSt11align_val_tEEEvDpT_=Module["__ZNSt3__224__libcpp_operator_deleteB8un170004IJPvSt11align_val_tEEEvDpT_"]=(a0,a1)=>(__ZNSt3__224__libcpp_operator_deleteB8un170004IJPvSt11align_val_tEEEvDpT_=Module["__ZNSt3__224__libcpp_operator_deleteB8un170004IJPvSt11align_val_tEEEvDpT_"]=wasmExports["hh"])(a0,a1);var __ZNSt3__224__libcpp_operator_deleteB8un170004IJPvEEEvDpT_=Module["__ZNSt3__224__libcpp_operator_deleteB8un170004IJPvEEEvDpT_"]=a0=>(__ZNSt3__224__libcpp_operator_deleteB8un170004IJPvEEEvDpT_=Module["__ZNSt3__224__libcpp_operator_deleteB8un170004IJPvEEEvDpT_"]=wasmExports["ih"])(a0);var __ZNSt3__218__constexpr_strlenB8un170004EPKc=Module["__ZNSt3__218__constexpr_strlenB8un170004EPKc"]=a0=>(__ZNSt3__218__constexpr_strlenB8un170004EPKc=Module["__ZNSt3__218__constexpr_strlenB8un170004EPKc"]=wasmExports["jh"])(a0);var __ZNSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EEC2B8un170004ENS_18__default_init_tagE=Module["__ZNSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EEC2B8un170004ENS_18__default_init_tagE"]=a0=>(__ZNSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EEC2B8un170004ENS_18__default_init_tagE=Module["__ZNSt3__222__compressed_pair_elemINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repELi0ELb0EEC2B8un170004ENS_18__default_init_tagE"]=wasmExports["kh"])(a0);var __ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EEC2B8un170004ENS_18__default_init_tagE=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EEC2B8un170004ENS_18__default_init_tagE"]=a0=>(__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EEC2B8un170004ENS_18__default_init_tagE=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EEC2B8un170004ENS_18__default_init_tagE"]=wasmExports["lh"])(a0);var __ZNSt3__29allocatorIcEC2B8un170004Ev=Module["__ZNSt3__29allocatorIcEC2B8un170004Ev"]=a0=>(__ZNSt3__29allocatorIcEC2B8un170004Ev=Module["__ZNSt3__29allocatorIcEC2B8un170004Ev"]=wasmExports["mh"])(a0);var __ZNSt3__216__non_trivial_ifILb1ENS_9allocatorIcEEEC2B8un170004Ev=Module["__ZNSt3__216__non_trivial_ifILb1ENS_9allocatorIcEEEC2B8un170004Ev"]=a0=>(__ZNSt3__216__non_trivial_ifILb1ENS_9allocatorIcEEEC2B8un170004Ev=Module["__ZNSt3__216__non_trivial_ifILb1ENS_9allocatorIcEEEC2B8un170004Ev"]=wasmExports["nh"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__erase_to_endB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__erase_to_endB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__erase_to_endB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE14__erase_to_endB8un170004Em"]=wasmExports["oh"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__null_terminate_atB8un170004EPcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__null_terminate_atB8un170004EPcm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__null_terminate_atB8un170004EPcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE19__null_terminate_atB8un170004EPcm"]=wasmExports["ph"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE25__grow_by_without_replaceB8un170004Emmmmmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE25__grow_by_without_replaceB8un170004Emmmmmm"]=(a0,a1,a2,a3,a4,a5,a6)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE25__grow_by_without_replaceB8un170004Emmmmmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE25__grow_by_without_replaceB8un170004Emmmmmm"]=wasmExports["qh"])(a0,a1,a2,a3,a4,a5,a6);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byB8un170004Emmmmmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byB8un170004Emmmmmm"]=(a0,a1,a2,a3,a4,a5,a6)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byB8un170004Emmmmmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byB8un170004Emmmmmm"]=wasmExports["rh"])(a0,a1,a2,a3,a4,a5,a6);var __ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE4sizeB8un170004Ev=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE4sizeB8un170004Ev"]=a0=>(__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE4sizeB8un170004Ev=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE4sizeB8un170004Ev"]=wasmExports["sh"])(a0);var __ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE7compareES3_=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE7compareES3_"]=(a0,a1)=>(__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE7compareES3_=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE7compareES3_"]=wasmExports["th"])(a0,a1);var __ZNSt3__23minB8un170004ImEERKT_S3_S3_=Module["__ZNSt3__23minB8un170004ImEERKT_S3_S3_"]=(a0,a1)=>(__ZNSt3__23minB8un170004ImEERKT_S3_S3_=Module["__ZNSt3__23minB8un170004ImEERKT_S3_S3_"]=wasmExports["uh"])(a0,a1);var __ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE4dataB8un170004Ev=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE4dataB8un170004Ev"]=a0=>(__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE4dataB8un170004Ev=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE4dataB8un170004Ev"]=wasmExports["vh"])(a0);var __ZNSt3__211char_traitsIcE7compareB8un170004EPKcS3_m=Module["__ZNSt3__211char_traitsIcE7compareB8un170004EPKcS3_m"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIcE7compareB8un170004EPKcS3_m=Module["__ZNSt3__211char_traitsIcE7compareB8un170004EPKcS3_m"]=wasmExports["wh"])(a0,a1,a2);var __ZNSt3__23minB8un170004ImNS_6__lessIvvEEEERKT_S5_S5_T0_=Module["__ZNSt3__23minB8un170004ImNS_6__lessIvvEEEERKT_S5_S5_T0_"]=(a0,a1)=>(__ZNSt3__23minB8un170004ImNS_6__lessIvvEEEERKT_S5_S5_T0_=Module["__ZNSt3__23minB8un170004ImNS_6__lessIvvEEEERKT_S5_S5_T0_"]=wasmExports["xh"])(a0,a1);var __ZNSt3__216allocator_traitsINS_9allocatorIcEEE37select_on_container_copy_constructionB8un170004IS2_vvEES2_RKS2_=Module["__ZNSt3__216allocator_traitsINS_9allocatorIcEEE37select_on_container_copy_constructionB8un170004IS2_vvEES2_RKS2_"]=a0=>(__ZNSt3__216allocator_traitsINS_9allocatorIcEEE37select_on_container_copy_constructionB8un170004IS2_vvEES2_RKS2_=Module["__ZNSt3__216allocator_traitsINS_9allocatorIcEEE37select_on_container_copy_constructionB8un170004IS2_vvEES2_RKS2_"]=wasmExports["yh"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__fits_in_ssoB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__fits_in_ssoB8un170004Em"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__fits_in_ssoB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13__fits_in_ssoB8un170004Em"]=wasmExports["zh"])(a0);var __ZNSt3__221__is_pointer_in_rangeB8un170004IccTnNS_9enable_ifIXsr25__is_less_than_comparableIPKT_PKT0_EE5valueEiE4typeELi0EEEbS4_S4_S7_=Module["__ZNSt3__221__is_pointer_in_rangeB8un170004IccTnNS_9enable_ifIXsr25__is_less_than_comparableIPKT_PKT0_EE5valueEiE4typeELi0EEEbS4_S4_S7_"]=(a0,a1,a2)=>(__ZNSt3__221__is_pointer_in_rangeB8un170004IccTnNS_9enable_ifIXsr25__is_less_than_comparableIPKT_PKT0_EE5valueEiE4typeELi0EEEbS4_S4_S7_=Module["__ZNSt3__221__is_pointer_in_rangeB8un170004IccTnNS_9enable_ifIXsr25__is_less_than_comparableIPKT_PKT0_EE5valueEiE4typeELi0EEEbS4_S4_S7_"]=wasmExports["Ah"])(a0,a1,a2);var __ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2B8un170004INS_18__default_init_tagERKS5_EEOT_OT0_=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2B8un170004INS_18__default_init_tagERKS5_EEOT_OT0_"]=(a0,a1,a2)=>(__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2B8un170004INS_18__default_init_tagERKS5_EEOT_OT0_=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5__repES5_EC2B8un170004INS_18__default_init_tagERKS5_EEOT_OT0_"]=wasmExports["Bh"])(a0,a1,a2);var __ZNKSt3__26__lessIvvEclB8un170004IPKcS4_EEbRKT_RKT0_=Module["__ZNKSt3__26__lessIvvEclB8un170004IPKcS4_EEbRKT_RKT0_"]=(a0,a1,a2)=>(__ZNKSt3__26__lessIvvEclB8un170004IPKcS4_EEbRKT_RKT0_=Module["__ZNKSt3__26__lessIvvEclB8un170004IPKcS4_EEbRKT_RKT0_"]=wasmExports["Ch"])(a0,a1,a2);var __ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EEC2B8un170004IRKS2_vEEOT_=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EEC2B8un170004IRKS2_vEEOT_"]=(a0,a1)=>(__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EEC2B8un170004IRKS2_vEEOT_=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIcEELi1ELb1EEC2B8un170004IRKS2_vEEOT_"]=wasmExports["Dh"])(a0,a1);var __ZNSt3__214numeric_limitsIiE3minB8un170004Ev=Module["__ZNSt3__214numeric_limitsIiE3minB8un170004Ev"]=()=>(__ZNSt3__214numeric_limitsIiE3minB8un170004Ev=Module["__ZNSt3__214numeric_limitsIiE3minB8un170004Ev"]=wasmExports["Eh"])();var __ZNSt3__214numeric_limitsIiE3maxB8un170004Ev=Module["__ZNSt3__214numeric_limitsIiE3maxB8un170004Ev"]=()=>(__ZNSt3__214numeric_limitsIiE3maxB8un170004Ev=Module["__ZNSt3__214numeric_limitsIiE3maxB8un170004Ev"]=wasmExports["Fh"])();var __ZNSt3__211char_traitsIcE2eqEcc=Module["__ZNSt3__211char_traitsIcE2eqEcc"]=(a0,a1)=>(__ZNSt3__211char_traitsIcE2eqEcc=Module["__ZNSt3__211char_traitsIcE2eqEcc"]=wasmExports["Gh"])(a0,a1);var __ZNSt3__211char_traitsIwE4copyB8un170004EPwPKwm=Module["__ZNSt3__211char_traitsIwE4copyB8un170004EPwPKwm"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIwE4copyB8un170004EPwPKwm=Module["__ZNSt3__211char_traitsIwE4copyB8un170004EPwPKwm"]=wasmExports["Hh"])(a0,a1,a2);var __ZNSt3__26copy_nB8un170004IPKwmPwEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_=Module["__ZNSt3__26copy_nB8un170004IPKwmPwEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_"]=(a0,a1,a2)=>(__ZNSt3__26copy_nB8un170004IPKwmPwEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_=Module["__ZNSt3__26copy_nB8un170004IPKwmPwEENS_9enable_ifIXsr37__has_random_access_iterator_categoryIT_EE5valueET1_E4typeES5_T0_S6_"]=wasmExports["Ih"])(a0,a1,a2);var __ZNSt3__211char_traitsIwE2eqB8un170004Eww=Module["__ZNSt3__211char_traitsIwE2eqB8un170004Eww"]=(a0,a1)=>(__ZNSt3__211char_traitsIwE2eqB8un170004Eww=Module["__ZNSt3__211char_traitsIwE2eqB8un170004Eww"]=wasmExports["Jh"])(a0,a1);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13get_allocatorB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13get_allocatorB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13get_allocatorB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13get_allocatorB8un170004Ev"]=wasmExports["Kh"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEEvS9_S9_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEEvS9_S9_"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEEvS9_S9_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEEvS9_S9_"]=wasmExports["Lh"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeB8un170004Em"]=wasmExports["Mh"])(a0,a1);var __ZNSt3__24copyB8un170004IPKwPwEET0_T_S5_S4_=Module["__ZNSt3__24copyB8un170004IPKwPwEET0_T_S5_S4_"]=(a0,a1,a2)=>(__ZNSt3__24copyB8un170004IPKwPwEET0_T_S5_S4_=Module["__ZNSt3__24copyB8un170004IPKwPwEET0_T_S5_S4_"]=wasmExports["Nh"])(a0,a1,a2);var __ZNSt3__26__copyB8un170004INS_17_ClassicAlgPolicyEPKwS3_PwEENS_4pairIT0_T2_EES6_T1_S7_=Module["__ZNSt3__26__copyB8un170004INS_17_ClassicAlgPolicyEPKwS3_PwEENS_4pairIT0_T2_EES6_T1_S7_"]=(a0,a1,a2,a3)=>(__ZNSt3__26__copyB8un170004INS_17_ClassicAlgPolicyEPKwS3_PwEENS_4pairIT0_T2_EES6_T1_S7_=Module["__ZNSt3__26__copyB8un170004INS_17_ClassicAlgPolicyEPKwS3_PwEENS_4pairIT0_T2_EES6_T1_S7_"]=wasmExports["Oh"])(a0,a1,a2,a3);var __ZNSt3__223__dispatch_copy_or_moveB8un170004INS_17_ClassicAlgPolicyENS_11__copy_loopIS1_EENS_14__copy_trivialEPKwS6_PwEENS_4pairIT2_T4_EES9_T3_SA_=Module["__ZNSt3__223__dispatch_copy_or_moveB8un170004INS_17_ClassicAlgPolicyENS_11__copy_loopIS1_EENS_14__copy_trivialEPKwS6_PwEENS_4pairIT2_T4_EES9_T3_SA_"]=(a0,a1,a2,a3)=>(__ZNSt3__223__dispatch_copy_or_moveB8un170004INS_17_ClassicAlgPolicyENS_11__copy_loopIS1_EENS_14__copy_trivialEPKwS6_PwEENS_4pairIT2_T4_EES9_T3_SA_=Module["__ZNSt3__223__dispatch_copy_or_moveB8un170004INS_17_ClassicAlgPolicyENS_11__copy_loopIS1_EENS_14__copy_trivialEPKwS6_PwEENS_4pairIT2_T4_EES9_T3_SA_"]=wasmExports["Ph"])(a0,a1,a2,a3);var __ZNSt3__221__unwrap_and_dispatchB8un170004INS_10__overloadINS_11__copy_loopINS_17_ClassicAlgPolicyEEENS_14__copy_trivialEEEPKwS8_PwTnNS_9enable_ifIXsr12__can_rewrapIT0_T1_T2_EE5valueEiE4typeELi0EEENS_4pairISB_SD_EESB_SC_SD_=Module["__ZNSt3__221__unwrap_and_dispatchB8un170004INS_10__overloadINS_11__copy_loopINS_17_ClassicAlgPolicyEEENS_14__copy_trivialEEEPKwS8_PwTnNS_9enable_ifIXsr12__can_rewrapIT0_T1_T2_EE5valueEiE4typeELi0EEENS_4pairISB_SD_EESB_SC_SD_"]=(a0,a1,a2,a3)=>(__ZNSt3__221__unwrap_and_dispatchB8un170004INS_10__overloadINS_11__copy_loopINS_17_ClassicAlgPolicyEEENS_14__copy_trivialEEEPKwS8_PwTnNS_9enable_ifIXsr12__can_rewrapIT0_T1_T2_EE5valueEiE4typeELi0EEENS_4pairISB_SD_EESB_SC_SD_=Module["__ZNSt3__221__unwrap_and_dispatchB8un170004INS_10__overloadINS_11__copy_loopINS_17_ClassicAlgPolicyEEENS_14__copy_trivialEEEPKwS8_PwTnNS_9enable_ifIXsr12__can_rewrapIT0_T1_T2_EE5valueEiE4typeELi0EEENS_4pairISB_SD_EESB_SC_SD_"]=wasmExports["Qh"])(a0,a1,a2,a3);var __ZNSt3__214__unwrap_rangeB8un170004IPKwS2_EEDaT_T0_=Module["__ZNSt3__214__unwrap_rangeB8un170004IPKwS2_EEDaT_T0_"]=(a0,a1,a2)=>(__ZNSt3__214__unwrap_rangeB8un170004IPKwS2_EEDaT_T0_=Module["__ZNSt3__214__unwrap_rangeB8un170004IPKwS2_EEDaT_T0_"]=wasmExports["Rh"])(a0,a1,a2);var __ZNSt3__213__unwrap_iterB8un170004IPwNS_18__unwrap_iter_implIS1_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS5_EEEES5_=Module["__ZNSt3__213__unwrap_iterB8un170004IPwNS_18__unwrap_iter_implIS1_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS5_EEEES5_"]=a0=>(__ZNSt3__213__unwrap_iterB8un170004IPwNS_18__unwrap_iter_implIS1_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS5_EEEES5_=Module["__ZNSt3__213__unwrap_iterB8un170004IPwNS_18__unwrap_iter_implIS1_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS5_EEEES5_"]=wasmExports["Sh"])(a0);var __ZNKSt3__214__copy_trivialclB8un170004IKwwTnNS_9enable_ifIXsr38__can_lower_copy_assignment_to_memmoveIT_T0_EE5valueEiE4typeELi0EEENS_4pairIPS4_PS5_EES9_S9_SA_=Module["__ZNKSt3__214__copy_trivialclB8un170004IKwwTnNS_9enable_ifIXsr38__can_lower_copy_assignment_to_memmoveIT_T0_EE5valueEiE4typeELi0EEENS_4pairIPS4_PS5_EES9_S9_SA_"]=(a0,a1,a2,a3,a4)=>(__ZNKSt3__214__copy_trivialclB8un170004IKwwTnNS_9enable_ifIXsr38__can_lower_copy_assignment_to_memmoveIT_T0_EE5valueEiE4typeELi0EEENS_4pairIPS4_PS5_EES9_S9_SA_=Module["__ZNKSt3__214__copy_trivialclB8un170004IKwwTnNS_9enable_ifIXsr38__can_lower_copy_assignment_to_memmoveIT_T0_EE5valueEiE4typeELi0EEENS_4pairIPS4_PS5_EES9_S9_SA_"]=wasmExports["Th"])(a0,a1,a2,a3,a4);var __ZNSt3__214__rewrap_rangeB8un170004IPKwS2_S2_EET0_S3_T1_=Module["__ZNSt3__214__rewrap_rangeB8un170004IPKwS2_S2_EET0_S3_T1_"]=(a0,a1)=>(__ZNSt3__214__rewrap_rangeB8un170004IPKwS2_S2_EET0_S3_T1_=Module["__ZNSt3__214__rewrap_rangeB8un170004IPKwS2_S2_EET0_S3_T1_"]=wasmExports["Uh"])(a0,a1);var __ZNSt3__213__rewrap_iterB8un170004IPwS1_NS_18__unwrap_iter_implIS1_Lb1EEEEET_S4_T0_=Module["__ZNSt3__213__rewrap_iterB8un170004IPwS1_NS_18__unwrap_iter_implIS1_Lb1EEEEET_S4_T0_"]=(a0,a1)=>(__ZNSt3__213__rewrap_iterB8un170004IPwS1_NS_18__unwrap_iter_implIS1_Lb1EEEEET_S4_T0_=Module["__ZNSt3__213__rewrap_iterB8un170004IPwS1_NS_18__unwrap_iter_implIS1_Lb1EEEEET_S4_T0_"]=wasmExports["Vh"])(a0,a1);var __ZNSt3__29make_pairB8un170004IPKwPwEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS5_IT0_E4typeEEEOS6_OS9_=Module["__ZNSt3__29make_pairB8un170004IPKwPwEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS5_IT0_E4typeEEEOS6_OS9_"]=(a0,a1,a2)=>(__ZNSt3__29make_pairB8un170004IPKwPwEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS5_IT0_E4typeEEEOS6_OS9_=Module["__ZNSt3__29make_pairB8un170004IPKwPwEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS5_IT0_E4typeEEEOS6_OS9_"]=wasmExports["Wh"])(a0,a1,a2);var __ZNSt3__219__unwrap_range_implIPKwS2_E8__unwrapB8un170004ES2_S2_=Module["__ZNSt3__219__unwrap_range_implIPKwS2_E8__unwrapB8un170004ES2_S2_"]=(a0,a1,a2)=>(__ZNSt3__219__unwrap_range_implIPKwS2_E8__unwrapB8un170004ES2_S2_=Module["__ZNSt3__219__unwrap_range_implIPKwS2_E8__unwrapB8un170004ES2_S2_"]=wasmExports["Xh"])(a0,a1,a2);var __ZNSt3__219__copy_trivial_implB8un170004IKwwEENS_4pairIPT_PT0_EES4_S4_S6_=Module["__ZNSt3__219__copy_trivial_implB8un170004IKwwEENS_4pairIPT_PT0_EES4_S4_S6_"]=(a0,a1,a2,a3)=>(__ZNSt3__219__copy_trivial_implB8un170004IKwwEENS_4pairIPT_PT0_EES4_S4_S6_=Module["__ZNSt3__219__copy_trivial_implB8un170004IKwwEENS_4pairIPT_PT0_EES4_S4_S6_"]=wasmExports["Yh"])(a0,a1,a2,a3);var __ZNSt3__218__unwrap_iter_implIPwLb1EE8__unwrapB8un170004ES1_=Module["__ZNSt3__218__unwrap_iter_implIPwLb1EE8__unwrapB8un170004ES1_"]=a0=>(__ZNSt3__218__unwrap_iter_implIPwLb1EE8__unwrapB8un170004ES1_=Module["__ZNSt3__218__unwrap_iter_implIPwLb1EE8__unwrapB8un170004ES1_"]=wasmExports["Zh"])(a0);var __ZNSt3__24pairIPKwPwEC2B8un170004IS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_=Module["__ZNSt3__24pairIPKwPwEC2B8un170004IS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_"]=(a0,a1,a2)=>(__ZNSt3__24pairIPKwPwEC2B8un170004IS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_=Module["__ZNSt3__24pairIPKwPwEC2B8un170004IS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_"]=wasmExports["_h"])(a0,a1,a2);var __ZNSt3__219__unwrap_range_implIPKwS2_E8__rewrapB8un170004ES2_S2_=Module["__ZNSt3__219__unwrap_range_implIPKwS2_E8__rewrapB8un170004ES2_S2_"]=(a0,a1)=>(__ZNSt3__219__unwrap_range_implIPKwS2_E8__rewrapB8un170004ES2_S2_=Module["__ZNSt3__219__unwrap_range_implIPKwS2_E8__rewrapB8un170004ES2_S2_"]=wasmExports["$h"])(a0,a1);var __ZNSt3__218__unwrap_iter_implIPwLb1EE8__rewrapB8un170004ES1_S1_=Module["__ZNSt3__218__unwrap_iter_implIPwLb1EE8__rewrapB8un170004ES1_S1_"]=(a0,a1)=>(__ZNSt3__218__unwrap_iter_implIPwLb1EE8__rewrapB8un170004ES1_S1_=Module["__ZNSt3__218__unwrap_iter_implIPwLb1EE8__rewrapB8un170004ES1_S1_"]=wasmExports["ai"])(a0,a1);var __ZNSt3__213__unwrap_iterB8un170004IPKwNS_18__unwrap_iter_implIS2_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS6_EEEES6_=Module["__ZNSt3__213__unwrap_iterB8un170004IPKwNS_18__unwrap_iter_implIS2_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS6_EEEES6_"]=a0=>(__ZNSt3__213__unwrap_iterB8un170004IPKwNS_18__unwrap_iter_implIS2_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS6_EEEES6_=Module["__ZNSt3__213__unwrap_iterB8un170004IPKwNS_18__unwrap_iter_implIS2_Lb1EEETnNS_9enable_ifIXsr21is_copy_constructibleIT_EE5valueEiE4typeELi0EEEDTclsrT0_8__unwrapclsr3stdE7declvalIS6_EEEES6_"]=wasmExports["bi"])(a0);var __ZNSt3__24pairIPKwS2_EC2B8un170004IS2_S2_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS6_OS7_=Module["__ZNSt3__24pairIPKwS2_EC2B8un170004IS2_S2_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS6_OS7_"]=(a0,a1,a2)=>(__ZNSt3__24pairIPKwS2_EC2B8un170004IS2_S2_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS6_OS7_=Module["__ZNSt3__24pairIPKwS2_EC2B8un170004IS2_S2_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS6_OS7_"]=wasmExports["ci"])(a0,a1,a2);var __ZNSt3__218__unwrap_iter_implIPKwLb1EE8__unwrapB8un170004ES2_=Module["__ZNSt3__218__unwrap_iter_implIPKwLb1EE8__unwrapB8un170004ES2_"]=a0=>(__ZNSt3__218__unwrap_iter_implIPKwLb1EE8__unwrapB8un170004ES2_=Module["__ZNSt3__218__unwrap_iter_implIPKwLb1EE8__unwrapB8un170004ES2_"]=wasmExports["di"])(a0);var __ZNSt3__212__to_addressB8un170004IKwEEPT_S3_=Module["__ZNSt3__212__to_addressB8un170004IKwEEPT_S3_"]=a0=>(__ZNSt3__212__to_addressB8un170004IKwEEPT_S3_=Module["__ZNSt3__212__to_addressB8un170004IKwEEPT_S3_"]=wasmExports["ei"])(a0);var __ZNSt3__219__constexpr_memmoveB8un170004IwKwTnNS_9enable_ifIXsr23__is_always_bitcastableIT0_T_EE5valueEiE4typeELi0EEEPS4_S7_PS3_NS_15__element_countE=Module["__ZNSt3__219__constexpr_memmoveB8un170004IwKwTnNS_9enable_ifIXsr23__is_always_bitcastableIT0_T_EE5valueEiE4typeELi0EEEPS4_S7_PS3_NS_15__element_countE"]=(a0,a1,a2)=>(__ZNSt3__219__constexpr_memmoveB8un170004IwKwTnNS_9enable_ifIXsr23__is_always_bitcastableIT0_T_EE5valueEiE4typeELi0EEEPS4_S7_PS3_NS_15__element_countE=Module["__ZNSt3__219__constexpr_memmoveB8un170004IwKwTnNS_9enable_ifIXsr23__is_always_bitcastableIT0_T_EE5valueEiE4typeELi0EEEPS4_S7_PS3_NS_15__element_countE"]=wasmExports["fi"])(a0,a1,a2);var __ZNSt3__29make_pairB8un170004IRPKwPwEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS6_IT0_E4typeEEEOS7_OSA_=Module["__ZNSt3__29make_pairB8un170004IRPKwPwEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS6_IT0_E4typeEEEOS7_OSA_"]=(a0,a1,a2)=>(__ZNSt3__29make_pairB8un170004IRPKwPwEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS6_IT0_E4typeEEEOS7_OSA_=Module["__ZNSt3__29make_pairB8un170004IRPKwPwEENS_4pairINS_18__unwrap_ref_decayIT_E4typeENS6_IT0_E4typeEEEOS7_OSA_"]=wasmExports["gi"])(a0,a1,a2);var __ZNSt3__24pairIPKwPwEC2B8un170004IRS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS8_OS9_=Module["__ZNSt3__24pairIPKwPwEC2B8un170004IRS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS8_OS9_"]=(a0,a1,a2)=>(__ZNSt3__24pairIPKwPwEC2B8un170004IRS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS8_OS9_=Module["__ZNSt3__24pairIPKwPwEC2B8un170004IRS2_S3_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS8_OS9_"]=wasmExports["hi"])(a0,a1,a2);var __ZNSt3__212__to_addressB8un170004IwEEPT_S2_=Module["__ZNSt3__212__to_addressB8un170004IwEEPT_S2_"]=a0=>(__ZNSt3__212__to_addressB8un170004IwEEPT_S2_=Module["__ZNSt3__212__to_addressB8un170004IwEEPT_S2_"]=wasmExports["ii"])(a0);var __ZNSt3__213__rewrap_iterB8un170004IPKwS2_NS_18__unwrap_iter_implIS2_Lb1EEEEET_S5_T0_=Module["__ZNSt3__213__rewrap_iterB8un170004IPKwS2_NS_18__unwrap_iter_implIS2_Lb1EEEEET_S5_T0_"]=(a0,a1)=>(__ZNSt3__213__rewrap_iterB8un170004IPKwS2_NS_18__unwrap_iter_implIS2_Lb1EEEEET_S5_T0_=Module["__ZNSt3__213__rewrap_iterB8un170004IPKwS2_NS_18__unwrap_iter_implIS2_Lb1EEEEET_S5_T0_"]=wasmExports["ji"])(a0,a1);var __ZNSt3__218__unwrap_iter_implIPKwLb1EE8__rewrapB8un170004ES2_S2_=Module["__ZNSt3__218__unwrap_iter_implIPKwLb1EE8__rewrapB8un170004ES2_S2_"]=(a0,a1)=>(__ZNSt3__218__unwrap_iter_implIPKwLb1EE8__rewrapB8un170004ES2_S2_=Module["__ZNSt3__218__unwrap_iter_implIPKwLb1EE8__rewrapB8un170004ES2_S2_"]=wasmExports["ki"])(a0,a1);var __ZNSt3__28distanceB8un170004IPcEENS_15iterator_traitsIT_E15difference_typeES3_S3_=Module["__ZNSt3__28distanceB8un170004IPcEENS_15iterator_traitsIT_E15difference_typeES3_S3_"]=(a0,a1)=>(__ZNSt3__28distanceB8un170004IPcEENS_15iterator_traitsIT_E15difference_typeES3_S3_=Module["__ZNSt3__28distanceB8un170004IPcEENS_15iterator_traitsIT_E15difference_typeES3_S3_"]=wasmExports["li"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__init_with_sizeB8un170004IPcS7_EEvT_T0_m=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__init_with_sizeB8un170004IPcS7_EEvT_T0_m"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__init_with_sizeB8un170004IPcS7_EEvT_T0_m=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16__init_with_sizeB8un170004IPcS7_EEvT_T0_m"]=wasmExports["mi"])(a0,a1,a2,a3);var __ZNSt3__210__distanceB8un170004IPcEENS_15iterator_traitsIT_E15difference_typeES3_S3_NS_26random_access_iterator_tagE=Module["__ZNSt3__210__distanceB8un170004IPcEENS_15iterator_traitsIT_E15difference_typeES3_S3_NS_26random_access_iterator_tagE"]=(a0,a1)=>(__ZNSt3__210__distanceB8un170004IPcEENS_15iterator_traitsIT_E15difference_typeES3_S3_NS_26random_access_iterator_tagE=Module["__ZNSt3__210__distanceB8un170004IPcEENS_15iterator_traitsIT_E15difference_typeES3_S3_NS_26random_access_iterator_tagE"]=wasmExports["ni"])(a0,a1);var __ZNSt3__223__libcpp_numeric_limitsIiLb1EE3minB8un170004Ev=Module["__ZNSt3__223__libcpp_numeric_limitsIiLb1EE3minB8un170004Ev"]=()=>(__ZNSt3__223__libcpp_numeric_limitsIiLb1EE3minB8un170004Ev=Module["__ZNSt3__223__libcpp_numeric_limitsIiLb1EE3minB8un170004Ev"]=wasmExports["oi"])();var __ZNSt3__223__libcpp_numeric_limitsIiLb1EE3maxB8un170004Ev=Module["__ZNSt3__223__libcpp_numeric_limitsIiLb1EE3maxB8un170004Ev"]=()=>(__ZNSt3__223__libcpp_numeric_limitsIiLb1EE3maxB8un170004Ev=Module["__ZNSt3__223__libcpp_numeric_limitsIiLb1EE3maxB8un170004Ev"]=wasmExports["pi"])();var __ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_EC2B8un170004INS_18__default_init_tagESA_EEOT_OT0_=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_EC2B8un170004INS_18__default_init_tagESA_EEOT_OT0_"]=(a0,a1,a2)=>(__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_EC2B8un170004INS_18__default_init_tagESA_EEOT_OT0_=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_EC2B8un170004INS_18__default_init_tagESA_EEOT_OT0_"]=wasmExports["qi"])(a0,a1,a2);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixB8un170004Em=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixB8un170004Em"]=(a0,a1)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixB8un170004Em=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEixB8un170004Em"]=wasmExports["ri"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4sizeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4sizeB8un170004Ev"]=wasmExports["si"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixB8un170004Em=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixB8un170004Em"]=(a0,a1)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixB8un170004Em=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixB8un170004Em"]=wasmExports["ti"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginB8un170004Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5beginB8un170004Ev"]=wasmExports["ui"])(a0);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__make_iteratorB8un170004EPc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__make_iteratorB8un170004EPc"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__make_iteratorB8un170004EPc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE15__make_iteratorB8un170004EPc"]=wasmExports["vi"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5beginB8un170004Ev"]=wasmExports["wi"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerB8un170004Ev"]=wasmExports["xi"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__make_iteratorB8un170004EPw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__make_iteratorB8un170004EPw"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__make_iteratorB8un170004EPw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__make_iteratorB8un170004EPw"]=wasmExports["yi"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004Emw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004Emw"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004Emw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004Emw"]=wasmExports["zi"])(a0,a1,a2);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4dataB8un170004Ev"]=wasmExports["Ai"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__get_pointerB8un170004Ev"]=wasmExports["Bi"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__is_longB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__is_longB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__is_longB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__is_longB8un170004Ev"]=wasmExports["Ci"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__get_long_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__get_long_sizeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__get_long_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__get_long_sizeB8un170004Ev"]=wasmExports["Di"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__get_short_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__get_short_sizeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__get_short_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__get_short_sizeB8un170004Ev"]=wasmExports["Ei"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__default_initB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__default_initB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__default_initB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__default_initB8un170004Ev"]=wasmExports["Fi"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocB8un170004Ev"]=wasmExports["Gi"])(a0);var __ZNKSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E5firstB8un170004Ev=Module["__ZNKSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E5firstB8un170004Ev"]=a0=>(__ZNKSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E5firstB8un170004Ev=Module["__ZNKSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E5firstB8un170004Ev"]=wasmExports["Hi"])(a0);var __ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E5firstB8un170004Ev=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E5firstB8un170004Ev"]=a0=>(__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E5firstB8un170004Ev=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E5firstB8un170004Ev"]=wasmExports["Ii"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerB8un170004Ev"]=wasmExports["Ji"])(a0);var __ZNSt3__2miB8un170004IPKcPcEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_11__wrap_iterIT_EERKNS5_IT0_EE=Module["__ZNSt3__2miB8un170004IPKcPcEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_11__wrap_iterIT_EERKNS5_IT0_EE"]=(a0,a1)=>(__ZNSt3__2miB8un170004IPKcPcEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_11__wrap_iterIT_EERKNS5_IT0_EE=Module["__ZNSt3__2miB8un170004IPKcPcEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_11__wrap_iterIT_EERKNS5_IT0_EE"]=wasmExports["Ki"])(a0,a1);var __ZNKSt3__211__wrap_iterIPcE4baseB8un170004Ev=Module["__ZNKSt3__211__wrap_iterIPcE4baseB8un170004Ev"]=a0=>(__ZNKSt3__211__wrap_iterIPcE4baseB8un170004Ev=Module["__ZNKSt3__211__wrap_iterIPcE4baseB8un170004Ev"]=wasmExports["Li"])(a0);var __ZNKSt3__211__wrap_iterIPKcE4baseB8un170004Ev=Module["__ZNKSt3__211__wrap_iterIPKcE4baseB8un170004Ev"]=a0=>(__ZNKSt3__211__wrap_iterIPKcE4baseB8un170004Ev=Module["__ZNKSt3__211__wrap_iterIPKcE4baseB8un170004Ev"]=wasmExports["Mi"])(a0);var __ZNKSt3__211__wrap_iterIPcEplB8un170004El=Module["__ZNKSt3__211__wrap_iterIPcEplB8un170004El"]=(a0,a1)=>(__ZNKSt3__211__wrap_iterIPcEplB8un170004El=Module["__ZNKSt3__211__wrap_iterIPcEplB8un170004El"]=wasmExports["Ni"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEixB8un170004Em"]=wasmExports["Oi"])(a0,a1);var __ZNSt3__2miB8un170004IPKwPwEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_11__wrap_iterIT_EERKNS5_IT0_EE=Module["__ZNSt3__2miB8un170004IPKwPwEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_11__wrap_iterIT_EERKNS5_IT0_EE"]=(a0,a1)=>(__ZNSt3__2miB8un170004IPKwPwEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_11__wrap_iterIT_EERKNS5_IT0_EE=Module["__ZNSt3__2miB8un170004IPKwPwEEDTmicldtfp_4baseEcldtfp0_4baseEERKNS_11__wrap_iterIT_EERKNS5_IT0_EE"]=wasmExports["Pi"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__get_long_pointerB8un170004Ev"]=wasmExports["Qi"])(a0);var __ZNSt3__211char_traitsIwE6assignB8un170004ERwRKw=Module["__ZNSt3__211char_traitsIwE6assignB8un170004ERwRKw"]=(a0,a1)=>(__ZNSt3__211char_traitsIwE6assignB8un170004ERwRKw=Module["__ZNSt3__211char_traitsIwE6assignB8un170004ERwRKw"]=wasmExports["Ri"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__set_long_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__set_long_sizeB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__set_long_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE15__set_long_sizeB8un170004Em"]=wasmExports["Si"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerB8un170004Ev"]=wasmExports["Ti"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__set_short_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__set_short_sizeB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__set_short_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__set_short_sizeB8un170004Em"]=wasmExports["Ui"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8capacityB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8capacityB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8capacityB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8capacityB8un170004Ev"]=wasmExports["Vi"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE25__grow_by_without_replaceB8un170004Emmmmmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE25__grow_by_without_replaceB8un170004Emmmmmm"]=(a0,a1,a2,a3,a4,a5,a6)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE25__grow_by_without_replaceB8un170004Emmmmmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE25__grow_by_without_replaceB8un170004Emmmmmm"]=wasmExports["Wi"])(a0,a1,a2,a3,a4,a5,a6);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__set_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__set_sizeB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__set_sizeB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__set_sizeB8un170004Em"]=wasmExports["Xi"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocB8un170004Ev"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocB8un170004Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7__allocB8un170004Ev"]=wasmExports["Yi"])(a0);var __ZNKSt3__211__wrap_iterIPwE4baseB8un170004Ev=Module["__ZNKSt3__211__wrap_iterIPwE4baseB8un170004Ev"]=a0=>(__ZNKSt3__211__wrap_iterIPwE4baseB8un170004Ev=Module["__ZNKSt3__211__wrap_iterIPwE4baseB8un170004Ev"]=wasmExports["Zi"])(a0);var __ZNKSt3__211__wrap_iterIPKwE4baseB8un170004Ev=Module["__ZNKSt3__211__wrap_iterIPKwE4baseB8un170004Ev"]=a0=>(__ZNKSt3__211__wrap_iterIPKwE4baseB8un170004Ev=Module["__ZNKSt3__211__wrap_iterIPKwE4baseB8un170004Ev"]=wasmExports["_i"])(a0);var __ZNKSt3__211__wrap_iterIPwEplB8un170004El=Module["__ZNKSt3__211__wrap_iterIPwEplB8un170004El"]=(a0,a1)=>(__ZNKSt3__211__wrap_iterIPwEplB8un170004El=Module["__ZNKSt3__211__wrap_iterIPwEplB8un170004El"]=wasmExports["$i"])(a0,a1);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEcvNS_17basic_string_viewIcS2_EEB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEcvNS_17basic_string_viewIcS2_EEB8un170004Ev"]=(a0,a1)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEcvNS_17basic_string_viewIcS2_EEB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEcvNS_17basic_string_viewIcS2_EEB8un170004Ev"]=wasmExports["aj"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5c_strB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5c_strB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5c_strB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5c_strB8un170004Ev"]=wasmExports["bj"])(a0);var __ZNSt3__211char_traitsIwE6lengthB8un170004EPKw=Module["__ZNSt3__211char_traitsIwE6lengthB8un170004EPKw"]=a0=>(__ZNSt3__211char_traitsIwE6lengthB8un170004EPKw=Module["__ZNSt3__211char_traitsIwE6lengthB8un170004EPKw"]=wasmExports["cj"])(a0);var __ZNSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EEC2B8un170004ENS_18__default_init_tagE=Module["__ZNSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EEC2B8un170004ENS_18__default_init_tagE"]=a0=>(__ZNSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EEC2B8un170004ENS_18__default_init_tagE=Module["__ZNSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EEC2B8un170004ENS_18__default_init_tagE"]=wasmExports["dj"])(a0);var __ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EEC2B8un170004ENS_18__default_init_tagE=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EEC2B8un170004ENS_18__default_init_tagE"]=a0=>(__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EEC2B8un170004ENS_18__default_init_tagE=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EEC2B8un170004ENS_18__default_init_tagE"]=wasmExports["ej"])(a0);var __ZNSt3__29allocatorIwEC2B8un170004Ev=Module["__ZNSt3__29allocatorIwEC2B8un170004Ev"]=a0=>(__ZNSt3__29allocatorIwEC2B8un170004Ev=Module["__ZNSt3__29allocatorIwEC2B8un170004Ev"]=wasmExports["fj"])(a0);var __ZNSt3__216__non_trivial_ifILb1ENS_9allocatorIwEEEC2B8un170004Ev=Module["__ZNSt3__216__non_trivial_ifILb1ENS_9allocatorIwEEEC2B8un170004Ev"]=a0=>(__ZNSt3__216__non_trivial_ifILb1ENS_9allocatorIwEEEC2B8un170004Ev=Module["__ZNSt3__216__non_trivial_ifILb1ENS_9allocatorIwEEEC2B8un170004Ev"]=wasmExports["gj"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8max_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8max_sizeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8max_sizeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE8max_sizeB8un170004Ev"]=wasmExports["hj"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__fits_in_ssoB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__fits_in_ssoB8un170004Em"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__fits_in_ssoB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13__fits_in_ssoB8un170004Em"]=wasmExports["ij"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE11__recommendB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE11__recommendB8un170004Em"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE11__recommendB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE11__recommendB8un170004Em"]=wasmExports["jj"])(a0);var __ZNSt3__219__allocate_at_leastB8un170004INS_9allocatorIwEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m=Module["__ZNSt3__219__allocate_at_leastB8un170004INS_9allocatorIwEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m"]=(a0,a1,a2)=>(__ZNSt3__219__allocate_at_leastB8un170004INS_9allocatorIwEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m=Module["__ZNSt3__219__allocate_at_leastB8un170004INS_9allocatorIwEEEENS_19__allocation_resultINS_16allocator_traitsIT_E7pointerEEERS5_m"]=wasmExports["kj"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__begin_lifetimeB8un170004EPwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__begin_lifetimeB8un170004EPwm"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__begin_lifetimeB8un170004EPwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__begin_lifetimeB8un170004EPwm"]=wasmExports["lj"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__set_long_pointerB8un170004EPw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__set_long_pointerB8un170004EPw"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__set_long_pointerB8un170004EPw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__set_long_pointerB8un170004EPw"]=wasmExports["mj"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__set_long_capB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__set_long_capB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__set_long_capB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__set_long_capB8un170004Em"]=wasmExports["nj"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE20__throw_length_errorB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE20__throw_length_errorB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE20__throw_length_errorB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE20__throw_length_errorB8un170004Ev"]=wasmExports["oj"])(a0);var __ZNSt3__216allocator_traitsINS_9allocatorIwEEE8max_sizeB8un170004IS2_vvEEmRKS2_=Module["__ZNSt3__216allocator_traitsINS_9allocatorIwEEE8max_sizeB8un170004IS2_vvEEmRKS2_"]=a0=>(__ZNSt3__216allocator_traitsINS_9allocatorIwEEE8max_sizeB8un170004IS2_vvEEmRKS2_=Module["__ZNSt3__216allocator_traitsINS_9allocatorIwEEE8max_sizeB8un170004IS2_vvEEmRKS2_"]=wasmExports["pj"])(a0);var __ZNSt3__214pointer_traitsIPwE10pointer_toB8un170004ERw=Module["__ZNSt3__214pointer_traitsIPwE10pointer_toB8un170004ERw"]=a0=>(__ZNSt3__214pointer_traitsIPwE10pointer_toB8un170004ERw=Module["__ZNSt3__214pointer_traitsIPwE10pointer_toB8un170004ERw"]=wasmExports["qj"])(a0);var __ZNSt3__29allocatorIwE8allocateB8un170004Em=Module["__ZNSt3__29allocatorIwE8allocateB8un170004Em"]=(a0,a1)=>(__ZNSt3__29allocatorIwE8allocateB8un170004Em=Module["__ZNSt3__29allocatorIwE8allocateB8un170004Em"]=wasmExports["rj"])(a0,a1);var __ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E6secondB8un170004Ev=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E6secondB8un170004Ev"]=a0=>(__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E6secondB8un170004Ev=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E6secondB8un170004Ev"]=wasmExports["sj"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__align_itB8un170004ILm4EEEmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__align_itB8un170004ILm4EEEmm"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__align_itB8un170004ILm4EEEmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE10__align_itB8un170004ILm4EEEmm"]=wasmExports["tj"])(a0);var __ZNKSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E6secondB8un170004Ev=Module["__ZNKSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E6secondB8un170004Ev"]=a0=>(__ZNKSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E6secondB8un170004Ev=Module["__ZNKSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_E6secondB8un170004Ev"]=wasmExports["uj"])(a0);var __ZNKSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EE5__getB8un170004Ev=Module["__ZNKSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EE5__getB8un170004Ev"]=a0=>(__ZNKSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EE5__getB8un170004Ev=Module["__ZNKSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EE5__getB8un170004Ev"]=wasmExports["vj"])(a0);var __ZNSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EE5__getB8un170004Ev=Module["__ZNSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EE5__getB8un170004Ev"]=a0=>(__ZNSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EE5__getB8un170004Ev=Module["__ZNSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EE5__getB8un170004Ev"]=wasmExports["wj"])(a0);var __ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EE5__getB8un170004Ev=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EE5__getB8un170004Ev"]=a0=>(__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EE5__getB8un170004Ev=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EE5__getB8un170004Ev"]=wasmExports["xj"])(a0);var __ZNSt3__216allocator_traitsINS_9allocatorIwEEE10deallocateB8un170004ERS2_Pwm=Module["__ZNSt3__216allocator_traitsINS_9allocatorIwEEE10deallocateB8un170004ERS2_Pwm"]=(a0,a1,a2)=>(__ZNSt3__216allocator_traitsINS_9allocatorIwEEE10deallocateB8un170004ERS2_Pwm=Module["__ZNSt3__216allocator_traitsINS_9allocatorIwEEE10deallocateB8un170004ERS2_Pwm"]=wasmExports["yj"])(a0,a1,a2);var __ZNSt3__29allocatorIwE10deallocateB8un170004EPwm=Module["__ZNSt3__29allocatorIwE10deallocateB8un170004EPwm"]=(a0,a1,a2)=>(__ZNSt3__29allocatorIwE10deallocateB8un170004EPwm=Module["__ZNSt3__29allocatorIwE10deallocateB8un170004EPwm"]=wasmExports["zj"])(a0,a1,a2);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__get_long_capB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__get_long_capB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__get_long_capB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__get_long_capB8un170004Ev"]=wasmExports["Aj"])(a0);var __ZNKSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EE5__getB8un170004Ev=Module["__ZNKSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EE5__getB8un170004Ev"]=a0=>(__ZNKSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EE5__getB8un170004Ev=Module["__ZNKSt3__222__compressed_pair_elemINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repELi0ELb0EE5__getB8un170004Ev"]=wasmExports["Bj"])(a0);var __ZNSt3__218__constexpr_memchrB8un170004IKccEEPT_S3_T0_m=Module["__ZNSt3__218__constexpr_memchrB8un170004IKccEEPT_S3_T0_m"]=(a0,a1,a2)=>(__ZNSt3__218__constexpr_memchrB8un170004IKccEEPT_S3_T0_m=Module["__ZNSt3__218__constexpr_memchrB8un170004IKccEEPT_S3_T0_m"]=wasmExports["Cj"])(a0,a1,a2);var __ZNSt3__219__constexpr_wmemchrB8un170004IKwwEEPT_S3_T0_m=Module["__ZNSt3__219__constexpr_wmemchrB8un170004IKwwEEPT_S3_T0_m"]=(a0,a1,a2)=>(__ZNSt3__219__constexpr_wmemchrB8un170004IKwwEEPT_S3_T0_m=Module["__ZNSt3__219__constexpr_wmemchrB8un170004IKwwEEPT_S3_T0_m"]=wasmExports["Dj"])(a0,a1,a2);var __ZNSt3__211__wrap_iterIPcEC2B8un170004ES1_=Module["__ZNSt3__211__wrap_iterIPcEC2B8un170004ES1_"]=(a0,a1)=>(__ZNSt3__211__wrap_iterIPcEC2B8un170004ES1_=Module["__ZNSt3__211__wrap_iterIPcEC2B8un170004ES1_"]=wasmExports["Ej"])(a0,a1);var __ZNSt3__211__wrap_iterIPwEC2B8un170004ES1_=Module["__ZNSt3__211__wrap_iterIPwEC2B8un170004ES1_"]=(a0,a1)=>(__ZNSt3__211__wrap_iterIPwEC2B8un170004ES1_=Module["__ZNSt3__211__wrap_iterIPwEC2B8un170004ES1_"]=wasmExports["Fj"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__get_short_pointerB8un170004Ev"]=wasmExports["Gj"])(a0);var __ZNSt3__214pointer_traitsIPKwE10pointer_toB8un170004ERS1_=Module["__ZNSt3__214pointer_traitsIPKwE10pointer_toB8un170004ERS1_"]=a0=>(__ZNSt3__214pointer_traitsIPKwE10pointer_toB8un170004ERS1_=Module["__ZNSt3__214pointer_traitsIPKwE10pointer_toB8un170004ERS1_"]=wasmExports["Hj"])(a0);var __ZNSt3__211__wrap_iterIPcEpLB8un170004El=Module["__ZNSt3__211__wrap_iterIPcEpLB8un170004El"]=(a0,a1)=>(__ZNSt3__211__wrap_iterIPcEpLB8un170004El=Module["__ZNSt3__211__wrap_iterIPcEpLB8un170004El"]=wasmExports["Ij"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byB8un170004Emmmmmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byB8un170004Emmmmmm"]=(a0,a1,a2,a3,a4,a5,a6)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byB8un170004Emmmmmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byB8un170004Emmmmmm"]=wasmExports["Jj"])(a0,a1,a2,a3,a4,a5,a6);var __ZNSt3__221__is_pointer_in_rangeB8un170004IwwTnNS_9enable_ifIXsr25__is_less_than_comparableIPKT_PKT0_EE5valueEiE4typeELi0EEEbS4_S4_S7_=Module["__ZNSt3__221__is_pointer_in_rangeB8un170004IwwTnNS_9enable_ifIXsr25__is_less_than_comparableIPKT_PKT0_EE5valueEiE4typeELi0EEEbS4_S4_S7_"]=(a0,a1,a2)=>(__ZNSt3__221__is_pointer_in_rangeB8un170004IwwTnNS_9enable_ifIXsr25__is_less_than_comparableIPKT_PKT0_EE5valueEiE4typeELi0EEEbS4_S4_S7_=Module["__ZNSt3__221__is_pointer_in_rangeB8un170004IwwTnNS_9enable_ifIXsr25__is_less_than_comparableIPKT_PKT0_EE5valueEiE4typeELi0EEEbS4_S4_S7_"]=wasmExports["Kj"])(a0,a1,a2);var __ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_EC2B8un170004INS_18__default_init_tagERKS5_EEOT_OT0_=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_EC2B8un170004INS_18__default_init_tagERKS5_EEOT_OT0_"]=(a0,a1,a2)=>(__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_EC2B8un170004INS_18__default_init_tagERKS5_EEOT_OT0_=Module["__ZNSt3__217__compressed_pairINS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5__repES5_EC2B8un170004INS_18__default_init_tagERKS5_EEOT_OT0_"]=wasmExports["Lj"])(a0,a1,a2);var __ZNKSt3__26__lessIvvEclB8un170004IPKwS4_EEbRKT_RKT0_=Module["__ZNKSt3__26__lessIvvEclB8un170004IPKwS4_EEbRKT_RKT0_"]=(a0,a1,a2)=>(__ZNKSt3__26__lessIvvEclB8un170004IPKwS4_EEbRKT_RKT0_=Module["__ZNKSt3__26__lessIvvEclB8un170004IPKwS4_EEbRKT_RKT0_"]=wasmExports["Mj"])(a0,a1,a2);var __ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EEC2B8un170004IRKS2_vEEOT_=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EEC2B8un170004IRKS2_vEEOT_"]=(a0,a1)=>(__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EEC2B8un170004IRKS2_vEEOT_=Module["__ZNSt3__222__compressed_pair_elemINS_9allocatorIwEELi1ELb1EEC2B8un170004IRKS2_vEEOT_"]=wasmExports["Nj"])(a0,a1);var __ZNSt3__211__wrap_iterIPwEpLB8un170004El=Module["__ZNSt3__211__wrap_iterIPwEpLB8un170004El"]=(a0,a1)=>(__ZNSt3__211__wrap_iterIPwEpLB8un170004El=Module["__ZNSt3__211__wrap_iterIPwEpLB8un170004El"]=wasmExports["Oj"])(a0,a1);var __ZNSt3__217basic_string_viewIcNS_11char_traitsIcEEEC2B8un170004EPKcm=Module["__ZNSt3__217basic_string_viewIcNS_11char_traitsIcEEEC2B8un170004EPKcm"]=(a0,a1,a2)=>(__ZNSt3__217basic_string_viewIcNS_11char_traitsIcEEEC2B8un170004EPKcm=Module["__ZNSt3__217basic_string_viewIcNS_11char_traitsIcEEEC2B8un170004EPKcm"]=wasmExports["Pj"])(a0,a1,a2);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_out_of_rangeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_out_of_rangeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_out_of_rangeB8un170004Ev=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE20__throw_out_of_rangeB8un170004Ev"]=wasmExports["Qj"])(a0);var __ZNSt3__220__throw_out_of_rangeB8un170004EPKc=Module["__ZNSt3__220__throw_out_of_rangeB8un170004EPKc"]=a0=>(__ZNSt3__220__throw_out_of_rangeB8un170004EPKc=Module["__ZNSt3__220__throw_out_of_rangeB8un170004EPKc"]=wasmExports["Rj"])(a0);var __ZNSt3__218__constexpr_wcslenB8un170004EPKw=Module["__ZNSt3__218__constexpr_wcslenB8un170004EPKw"]=a0=>(__ZNSt3__218__constexpr_wcslenB8un170004EPKw=Module["__ZNSt3__218__constexpr_wcslenB8un170004EPKw"]=wasmExports["Sj"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__null_terminate_atB8un170004EPwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__null_terminate_atB8un170004EPwm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__null_terminate_atB8un170004EPwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE19__null_terminate_atB8un170004EPwm"]=wasmExports["Tj"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__erase_to_endB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__erase_to_endB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__erase_to_endB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE14__erase_to_endB8un170004Em"]=wasmExports["Uj"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE20__throw_out_of_rangeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE20__throw_out_of_rangeB8un170004Ev"]=a0=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE20__throw_out_of_rangeB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE20__throw_out_of_rangeB8un170004Ev"]=wasmExports["Vj"])(a0);var __ZSt15get_new_handlerv=Module["__ZSt15get_new_handlerv"]=()=>(__ZSt15get_new_handlerv=Module["__ZSt15get_new_handlerv"]=wasmExports["Wj"])();var __Z12_new_nothrowm=Module["__Z12_new_nothrowm"]=a0=>(__Z12_new_nothrowm=Module["__Z12_new_nothrowm"]=wasmExports["Xj"])(a0);var __ZnwmRKSt9nothrow_t=Module["__ZnwmRKSt9nothrow_t"]=(a0,a1)=>(__ZnwmRKSt9nothrow_t=Module["__ZnwmRKSt9nothrow_t"]=wasmExports["Yj"])(a0,a1);var __Znam=Module["__Znam"]=a0=>(__Znam=Module["__Znam"]=wasmExports["Zj"])(a0);var __ZnamRKSt9nothrow_t=Module["__ZnamRKSt9nothrow_t"]=(a0,a1)=>(__ZnamRKSt9nothrow_t=Module["__ZnamRKSt9nothrow_t"]=wasmExports["_j"])(a0,a1);var __ZdlPvRKSt9nothrow_t=Module["__ZdlPvRKSt9nothrow_t"]=(a0,a1)=>(__ZdlPvRKSt9nothrow_t=Module["__ZdlPvRKSt9nothrow_t"]=wasmExports["$j"])(a0,a1);var __ZdlPvm=Module["__ZdlPvm"]=(a0,a1)=>(__ZdlPvm=Module["__ZdlPvm"]=wasmExports["ak"])(a0,a1);var __ZdaPv=Module["__ZdaPv"]=a0=>(__ZdaPv=Module["__ZdaPv"]=wasmExports["bk"])(a0);var __ZdaPvRKSt9nothrow_t=Module["__ZdaPvRKSt9nothrow_t"]=(a0,a1)=>(__ZdaPvRKSt9nothrow_t=Module["__ZdaPvRKSt9nothrow_t"]=wasmExports["ck"])(a0,a1);var __ZdaPvm=Module["__ZdaPvm"]=(a0,a1)=>(__ZdaPvm=Module["__ZdaPvm"]=wasmExports["dk"])(a0,a1);var __ZnwmSt11align_val_t=Module["__ZnwmSt11align_val_t"]=(a0,a1)=>(__ZnwmSt11align_val_t=Module["__ZnwmSt11align_val_t"]=wasmExports["ek"])(a0,a1);var __ZNSt3__222__libcpp_aligned_allocB8un170004Emm=Module["__ZNSt3__222__libcpp_aligned_allocB8un170004Emm"]=(a0,a1)=>(__ZNSt3__222__libcpp_aligned_allocB8un170004Emm=Module["__ZNSt3__222__libcpp_aligned_allocB8un170004Emm"]=wasmExports["fk"])(a0,a1);var __ZnwmSt11align_val_tRKSt9nothrow_t=Module["__ZnwmSt11align_val_tRKSt9nothrow_t"]=(a0,a1,a2)=>(__ZnwmSt11align_val_tRKSt9nothrow_t=Module["__ZnwmSt11align_val_tRKSt9nothrow_t"]=wasmExports["gk"])(a0,a1,a2);var __ZnamSt11align_val_t=Module["__ZnamSt11align_val_t"]=(a0,a1)=>(__ZnamSt11align_val_t=Module["__ZnamSt11align_val_t"]=wasmExports["hk"])(a0,a1);var __ZnamSt11align_val_tRKSt9nothrow_t=Module["__ZnamSt11align_val_tRKSt9nothrow_t"]=(a0,a1,a2)=>(__ZnamSt11align_val_tRKSt9nothrow_t=Module["__ZnamSt11align_val_tRKSt9nothrow_t"]=wasmExports["ik"])(a0,a1,a2);var __ZdlPvSt11align_val_t=Module["__ZdlPvSt11align_val_t"]=(a0,a1)=>(__ZdlPvSt11align_val_t=Module["__ZdlPvSt11align_val_t"]=wasmExports["jk"])(a0,a1);var __ZNSt3__221__libcpp_aligned_freeB8un170004EPv=Module["__ZNSt3__221__libcpp_aligned_freeB8un170004EPv"]=a0=>(__ZNSt3__221__libcpp_aligned_freeB8un170004EPv=Module["__ZNSt3__221__libcpp_aligned_freeB8un170004EPv"]=wasmExports["kk"])(a0);var __ZdlPvSt11align_val_tRKSt9nothrow_t=Module["__ZdlPvSt11align_val_tRKSt9nothrow_t"]=(a0,a1,a2)=>(__ZdlPvSt11align_val_tRKSt9nothrow_t=Module["__ZdlPvSt11align_val_tRKSt9nothrow_t"]=wasmExports["lk"])(a0,a1,a2);var __ZdlPvmSt11align_val_t=Module["__ZdlPvmSt11align_val_t"]=(a0,a1,a2)=>(__ZdlPvmSt11align_val_t=Module["__ZdlPvmSt11align_val_t"]=wasmExports["mk"])(a0,a1,a2);var __ZdaPvSt11align_val_t=Module["__ZdaPvSt11align_val_t"]=(a0,a1)=>(__ZdaPvSt11align_val_t=Module["__ZdaPvSt11align_val_t"]=wasmExports["nk"])(a0,a1);var __ZdaPvSt11align_val_tRKSt9nothrow_t=Module["__ZdaPvSt11align_val_tRKSt9nothrow_t"]=(a0,a1,a2)=>(__ZdaPvSt11align_val_tRKSt9nothrow_t=Module["__ZdaPvSt11align_val_tRKSt9nothrow_t"]=wasmExports["ok"])(a0,a1,a2);var __ZdaPvmSt11align_val_t=Module["__ZdaPvmSt11align_val_t"]=(a0,a1,a2)=>(__ZdaPvmSt11align_val_t=Module["__ZdaPvmSt11align_val_t"]=wasmExports["pk"])(a0,a1,a2);var __ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE6substrB8un170004Emm=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE6substrB8un170004Emm"]=(a0,a1,a2,a3)=>(__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE6substrB8un170004Emm=Module["__ZNKSt3__217basic_string_viewIcNS_11char_traitsIcEEE6substrB8un170004Emm"]=wasmExports["qk"])(a0,a1,a2,a3);var __ZNSt3__211__str_rfindB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_=Module["__ZNSt3__211__str_rfindB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_"]=(a0,a1,a2,a3)=>(__ZNSt3__211__str_rfindB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_=Module["__ZNSt3__211__str_rfindB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_"]=wasmExports["rk"])(a0,a1,a2,a3);var __ZNSt11logic_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt11logic_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=(a0,a1)=>(__ZNSt11logic_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt11logic_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=wasmExports["sk"])(a0,a1);var __ZNSt9exceptionC2B8un170004Ev=Module["__ZNSt9exceptionC2B8un170004Ev"]=a0=>(__ZNSt9exceptionC2B8un170004Ev=Module["__ZNSt9exceptionC2B8un170004Ev"]=wasmExports["tk"])(a0);var __ZNSt3__218__libcpp_refstringC2EPKc=Module["__ZNSt3__218__libcpp_refstringC2EPKc"]=(a0,a1)=>(__ZNSt3__218__libcpp_refstringC2EPKc=Module["__ZNSt3__218__libcpp_refstringC2EPKc"]=wasmExports["uk"])(a0,a1);var __ZNSt11logic_errorC2ERKS_=Module["__ZNSt11logic_errorC2ERKS_"]=(a0,a1)=>(__ZNSt11logic_errorC2ERKS_=Module["__ZNSt11logic_errorC2ERKS_"]=wasmExports["vk"])(a0,a1);var __ZNSt3__218__libcpp_refstringC2ERKS0_=Module["__ZNSt3__218__libcpp_refstringC2ERKS0_"]=(a0,a1)=>(__ZNSt3__218__libcpp_refstringC2ERKS0_=Module["__ZNSt3__218__libcpp_refstringC2ERKS0_"]=wasmExports["wk"])(a0,a1);var __ZNKSt3__218__libcpp_refstring15__uses_refcountEv=Module["__ZNKSt3__218__libcpp_refstring15__uses_refcountEv"]=a0=>(__ZNKSt3__218__libcpp_refstring15__uses_refcountEv=Module["__ZNKSt3__218__libcpp_refstring15__uses_refcountEv"]=wasmExports["xk"])(a0);var __ZNSt11logic_erroraSERKS_=Module["__ZNSt11logic_erroraSERKS_"]=(a0,a1)=>(__ZNSt11logic_erroraSERKS_=Module["__ZNSt11logic_erroraSERKS_"]=wasmExports["yk"])(a0,a1);var __ZNSt3__218__libcpp_refstringaSERKS0_=Module["__ZNSt3__218__libcpp_refstringaSERKS0_"]=(a0,a1)=>(__ZNSt3__218__libcpp_refstringaSERKS0_=Module["__ZNSt3__218__libcpp_refstringaSERKS0_"]=wasmExports["zk"])(a0,a1);var __ZNSt13runtime_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt13runtime_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=(a0,a1)=>(__ZNSt13runtime_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt13runtime_errorC2ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=wasmExports["Ak"])(a0,a1);var __ZNSt13runtime_errorC2EPKc=Module["__ZNSt13runtime_errorC2EPKc"]=(a0,a1)=>(__ZNSt13runtime_errorC2EPKc=Module["__ZNSt13runtime_errorC2EPKc"]=wasmExports["Bk"])(a0,a1);var __ZNSt13runtime_errorC2ERKS_=Module["__ZNSt13runtime_errorC2ERKS_"]=(a0,a1)=>(__ZNSt13runtime_errorC2ERKS_=Module["__ZNSt13runtime_errorC2ERKS_"]=wasmExports["Ck"])(a0,a1);var __ZNSt13runtime_erroraSERKS_=Module["__ZNSt13runtime_erroraSERKS_"]=(a0,a1)=>(__ZNSt13runtime_erroraSERKS_=Module["__ZNSt13runtime_erroraSERKS_"]=wasmExports["Dk"])(a0,a1);var __ZNSt11logic_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt11logic_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=(a0,a1)=>(__ZNSt11logic_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt11logic_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=wasmExports["Ek"])(a0,a1);var __ZNSt11logic_errorC1EPKc=Module["__ZNSt11logic_errorC1EPKc"]=(a0,a1)=>(__ZNSt11logic_errorC1EPKc=Module["__ZNSt11logic_errorC1EPKc"]=wasmExports["Fk"])(a0,a1);var __ZNSt11logic_errorC1ERKS_=Module["__ZNSt11logic_errorC1ERKS_"]=(a0,a1)=>(__ZNSt11logic_errorC1ERKS_=Module["__ZNSt11logic_errorC1ERKS_"]=wasmExports["Gk"])(a0,a1);var __ZNSt13runtime_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt13runtime_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=(a0,a1)=>(__ZNSt13runtime_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE=Module["__ZNSt13runtime_errorC1ERKNSt3__212basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEE"]=wasmExports["Hk"])(a0,a1);var __ZNSt13runtime_errorC1EPKc=Module["__ZNSt13runtime_errorC1EPKc"]=(a0,a1)=>(__ZNSt13runtime_errorC1EPKc=Module["__ZNSt13runtime_errorC1EPKc"]=wasmExports["Ik"])(a0,a1);var __ZNSt13runtime_errorC1ERKS_=Module["__ZNSt13runtime_errorC1ERKS_"]=(a0,a1)=>(__ZNSt13runtime_errorC1ERKS_=Module["__ZNSt13runtime_errorC1ERKS_"]=wasmExports["Jk"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKcm"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKcm"]=wasmExports["Kk"])(a0,a1,a2,a3,a4);var __ZNSt3__211char_traitsIcE4moveB8un170004EPcPKcm=Module["__ZNSt3__211char_traitsIcE4moveB8un170004EPcPKcm"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIcE4moveB8un170004EPcPKcm=Module["__ZNSt3__211char_traitsIcE4moveB8un170004EPcPKcm"]=wasmExports["Lk"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc"]=wasmExports["Mk"])(a0,a1,a2,a3,a4,a5,a6,a7);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEPKcmm"]=wasmExports["Nk"])(a0,a1,a2,a3);var __ZNSt3__211__str_rfindB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__211__str_rfindB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__211__str_rfindB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__211__str_rfindB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["Ok"])(a0,a1,a2,a3,a4);var __ZNSt3__218__find_end_classicB8un170004IPKcS2_DoFbccEEET_S4_S4_T0_S5_RT1_=Module["__ZNSt3__218__find_end_classicB8un170004IPKcS2_DoFbccEEET_S4_S4_T0_S5_RT1_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__218__find_end_classicB8un170004IPKcS2_DoFbccEEET_S4_S4_T0_S5_RT1_=Module["__ZNSt3__218__find_end_classicB8un170004IPKcS2_DoFbccEEET_S4_S4_T0_S5_RT1_"]=wasmExports["Pk"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcmm"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcmm"]=wasmExports["Qk"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKc"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmPKc"]=wasmExports["Rk"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE16find_last_not_ofEPKcmm"]=wasmExports["Sk"])(a0,a1,a2,a3);var __ZNSt3__222__str_find_last_not_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__222__str_find_last_not_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__222__str_find_last_not_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__222__str_find_last_not_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["Tk"])(a0,a1,a2,a3,a4);var __ZNSt3__211char_traitsIcE4findB8un170004EPKcmRS2_=Module["__ZNSt3__211char_traitsIcE4findB8un170004EPKcmRS2_"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIcE4findB8un170004EPKcmRS2_=Module["__ZNSt3__211char_traitsIcE4findB8un170004EPKcmRS2_"]=wasmExports["Uk"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev"]=wasmExports["Vk"])(a0);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17find_first_not_ofEPKcmm"]=wasmExports["Wk"])(a0,a1,a2,a3);var __ZNSt3__223__str_find_first_not_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__223__str_find_first_not_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__223__str_find_first_not_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__223__str_find_first_not_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["Xk"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmmc"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmmc"]=wasmExports["Yk"])(a0,a1,a2,a3);var __ZNSt3__211char_traitsIcE6assignB8un170004EPcmc=Module["__ZNSt3__211char_traitsIcE6assignB8un170004EPcmc"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIcE6assignB8un170004EPcmc=Module["__ZNSt3__211char_traitsIcE6assignB8un170004EPcmc"]=wasmExports["Zk"])(a0,a1,a2);var __ZNSt3__26fill_nB8un170004IPcmcEET_S2_T0_RKT1_=Module["__ZNSt3__26fill_nB8un170004IPcmcEET_S2_T0_RKT1_"]=(a0,a1,a2)=>(__ZNSt3__26fill_nB8un170004IPcmcEET_S2_T0_RKT1_=Module["__ZNSt3__26fill_nB8un170004IPcmcEET_S2_T0_RKT1_"]=wasmExports["_k"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEc"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEaSEc"]=wasmExports["$k"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm"]=wasmExports["al"])(a0,a1,a2);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm"]=(a0,a1)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm"]=wasmExports["bl"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKcm"]=wasmExports["cl"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE13find_first_ofEPKcmm"]=wasmExports["dl"])(a0,a1,a2,a3);var __ZNSt3__219__str_find_first_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__219__str_find_first_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__219__str_find_first_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__219__str_find_first_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["el"])(a0,a1,a2,a3,a4);var __ZNSt3__218__find_first_of_ceB8un170004IPKcS2_RDoFbccEEET_S5_S5_T0_S6_OT1_=Module["__ZNSt3__218__find_first_of_ceB8un170004IPKcS2_RDoFbccEEET_S5_S5_T0_S6_OT1_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__218__find_first_of_ceB8un170004IPKcS2_RDoFbccEEET_S5_S5_T0_S6_OT1_=Module["__ZNSt3__218__find_first_of_ceB8un170004IPKcS2_RDoFbccEEET_S5_S5_T0_S6_OT1_"]=wasmExports["fl"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmmc"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmmc"]=wasmExports["gl"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_externalEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_externalEPKcm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_externalEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_externalEPKcm"]=wasmExports["hl"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_externalEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_externalEPKc"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_externalEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE17__assign_externalEPKc"]=wasmExports["il"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7reserveEm"]=wasmExports["jl"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__shrink_or_extendB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__shrink_or_extendB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__shrink_or_extendB8un170004Em=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE18__shrink_or_extendB8un170004Em"]=wasmExports["kl"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm"]=wasmExports["ll"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_mm"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignERKS5_mm"]=wasmExports["ml"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4copyEPcmm"]=wasmExports["nl"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mmRKS4_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_mmRKS4_"]=wasmExports["ol"])(a0,a1,a2,a3,a4);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm"]=(a0,a1,a2)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEcm"]=wasmExports["pl"])(a0,a1,a2);var __ZNSt3__210__str_findB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_=Module["__ZNSt3__210__str_findB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_"]=(a0,a1,a2,a3)=>(__ZNSt3__210__str_findB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_=Module["__ZNSt3__210__str_findB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_"]=wasmExports["ql"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc"]=wasmExports["rl"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmPKc"]=wasmExports["sl"])(a0,a1,a2);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE12find_last_ofEPKcmm"]=wasmExports["tl"])(a0,a1,a2,a3);var __ZNSt3__218__str_find_last_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__218__str_find_last_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__218__str_find_last_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__218__str_find_last_ofB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["ul"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc"]=wasmExports["vl"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc"]=wasmExports["wl"])(a0,a1,a2);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm"]=(a0,a1,a2)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE5rfindEcm"]=wasmExports["xl"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEmc"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEmc"]=wasmExports["yl"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__erase_external_with_moveEmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__erase_external_with_moveEmm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__erase_external_with_moveEmm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE26__erase_external_with_moveEmm"]=wasmExports["zl"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_mm"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendERKS5_mm"]=wasmExports["Al"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc"]=(a0,a1)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEPKc"]=wasmExports["Bl"])(a0,a1);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm"]=(a0,a1,a2,a3,a4)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm"]=wasmExports["Cl"])(a0,a1,a2,a3,a4);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKc=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKc"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKc=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKc"]=wasmExports["Dl"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE2atEm"]=wasmExports["El"])(a0,a1);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcmm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4findEPKcmm"]=wasmExports["Fl"])(a0,a1,a2,a3);var __ZNSt3__210__str_findB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__210__str_findB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__210__str_findB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__210__str_findB8un170004IcmNS_11char_traitsIcEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["Gl"])(a0,a1,a2,a3,a4);var __ZNSt3__218__search_substringB8un170004IcNS_11char_traitsIcEEEEPKT_S5_S5_S5_S5_=Module["__ZNSt3__218__search_substringB8un170004IcNS_11char_traitsIcEEEEPKT_S5_S5_S5_S5_"]=(a0,a1,a2,a3)=>(__ZNSt3__218__search_substringB8un170004IcNS_11char_traitsIcEEEEPKT_S5_S5_S5_S5_=Module["__ZNSt3__218__search_substringB8un170004IcNS_11char_traitsIcEEEEPKT_S5_S5_S5_S5_"]=wasmExports["Hl"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_mm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_mm"]=(a0,a1,a2,a3,a4,a5)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_mm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmRKS5_mm"]=wasmExports["Il"])(a0,a1,a2,a3,a4,a5);var __ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareB8un170004INS_17basic_string_viewIcS2_EETnNS_9enable_ifIXaasr33__can_be_converted_to_string_viewIcS2_T_EE5valuentsr17__is_same_uncvrefISA_S5_EE5valueEiE4typeELi0EEEimmRKSA_mm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareB8un170004INS_17basic_string_viewIcS2_EETnNS_9enable_ifIXaasr33__can_be_converted_to_string_viewIcS2_T_EE5valuentsr17__is_same_uncvrefISA_S5_EE5valueEiE4typeELi0EEEimmRKSA_mm"]=(a0,a1,a2,a3,a4,a5)=>(__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareB8un170004INS_17basic_string_viewIcS2_EETnNS_9enable_ifIXaasr33__can_be_converted_to_string_viewIcS2_T_EE5valuentsr17__is_same_uncvrefISA_S5_EE5valueEiE4typeELi0EEEimmRKSA_mm=Module["__ZNKSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareB8un170004INS_17basic_string_viewIcS2_EETnNS_9enable_ifIXaasr33__can_be_converted_to_string_viewIcS2_T_EE5valuentsr17__is_same_uncvrefISA_S5_EE5valueEiE4typeELi0EEEimmRKSA_mm"]=wasmExports["Jl"])(a0,a1,a2,a3,a4,a5);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc"]=(a0,a1)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKc"]=wasmExports["Kl"])(a0,a1);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_mm"]=(a0,a1,a2,a3,a4,a5)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7replaceEmmRKS5_mm"]=wasmExports["Ll"])(a0,a1,a2,a3,a4,a5);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEc"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertENS_11__wrap_iterIPKcEEc"]=wasmExports["Ml"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc"]=wasmExports["Nl"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_mm"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_mm=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6insertEmRKS5_mm"]=wasmExports["Ol"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKwm"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKwm"]=wasmExports["Pl"])(a0,a1,a2,a3,a4);var __ZNSt3__211char_traitsIwE4moveB8un170004EPwPKwm=Module["__ZNSt3__211char_traitsIwE4moveB8un170004EPwPKwm"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIwE4moveB8un170004EPwPKwm=Module["__ZNSt3__211char_traitsIwE4moveB8un170004EPwPKwm"]=wasmExports["Ql"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw"]=wasmExports["Rl"])(a0,a1,a2,a3,a4,a5,a6,a7);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEPKwmm"]=wasmExports["Sl"])(a0,a1,a2,a3);var __ZNSt3__211__str_rfindB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__211__str_rfindB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__211__str_rfindB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__211__str_rfindB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["Tl"])(a0,a1,a2,a3,a4);var __ZNSt3__218__find_end_classicB8un170004IPKwS2_DoFbwwEEET_S4_S4_T0_S5_RT1_=Module["__ZNSt3__218__find_end_classicB8un170004IPKwS2_DoFbwwEEET_S4_S4_T0_S5_RT1_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__218__find_end_classicB8un170004IPKwS2_DoFbwwEEET_S4_S4_T0_S5_RT1_=Module["__ZNSt3__218__find_end_classicB8un170004IPKwS2_DoFbwwEEET_S4_S4_T0_S5_RT1_"]=wasmExports["Ul"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwmm"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwmm"]=wasmExports["Vl"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKw"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmPKw"]=wasmExports["Wl"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16find_last_not_ofEPKwmm"]=wasmExports["Xl"])(a0,a1,a2,a3);var __ZNSt3__222__str_find_last_not_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__222__str_find_last_not_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__222__str_find_last_not_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__222__str_find_last_not_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["Yl"])(a0,a1,a2,a3,a4);var __ZNSt3__211char_traitsIwE4findB8un170004EPKwmRS2_=Module["__ZNSt3__211char_traitsIwE4findB8un170004EPKwmRS2_"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIwE4findB8un170004EPKwmRS2_=Module["__ZNSt3__211char_traitsIwE4findB8un170004EPKwmRS2_"]=wasmExports["Zl"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev"]=wasmExports["_l"])(a0);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17find_first_not_ofEPKwmm"]=wasmExports["$l"])(a0,a1,a2,a3);var __ZNSt3__223__str_find_first_not_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__223__str_find_first_not_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__223__str_find_first_not_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__223__str_find_first_not_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["am"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmmw"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmmw"]=wasmExports["bm"])(a0,a1,a2,a3);var __ZNSt3__211char_traitsIwE6assignB8un170004EPwmw=Module["__ZNSt3__211char_traitsIwE6assignB8un170004EPwmw"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIwE6assignB8un170004EPwmw=Module["__ZNSt3__211char_traitsIwE6assignB8un170004EPwmw"]=wasmExports["cm"])(a0,a1,a2);var __ZNSt3__26fill_nB8un170004IPwmwEET_S2_T0_RKT1_=Module["__ZNSt3__26fill_nB8un170004IPwmwEET_S2_T0_RKT1_"]=(a0,a1,a2)=>(__ZNSt3__26fill_nB8un170004IPwmwEET_S2_T0_RKT1_=Module["__ZNSt3__26fill_nB8un170004IPwmwEET_S2_T0_RKT1_"]=wasmExports["dm"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEw"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEaSEw"]=wasmExports["em"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm"]=wasmExports["fm"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE25__init_copy_ctor_externalEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE25__init_copy_ctor_externalEPKwm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE25__init_copy_ctor_externalEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE25__init_copy_ctor_externalEPKwm"]=wasmExports["gm"])(a0,a1,a2);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm"]=(a0,a1)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm"]=wasmExports["hm"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKwm"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKwm"]=wasmExports["im"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE13find_first_ofEPKwmm"]=wasmExports["jm"])(a0,a1,a2,a3);var __ZNSt3__219__str_find_first_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__219__str_find_first_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__219__str_find_first_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__219__str_find_first_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["km"])(a0,a1,a2,a3,a4);var __ZNSt3__218__find_first_of_ceB8un170004IPKwS2_RDoFbwwEEET_S5_S5_T0_S6_OT1_=Module["__ZNSt3__218__find_first_of_ceB8un170004IPKwS2_RDoFbwwEEET_S5_S5_T0_S6_OT1_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__218__find_first_of_ceB8un170004IPKwS2_RDoFbwwEEET_S5_S5_T0_S6_OT1_=Module["__ZNSt3__218__find_first_of_ceB8un170004IPKwS2_RDoFbwwEEET_S5_S5_T0_S6_OT1_"]=wasmExports["lm"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmmw"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmmw"]=wasmExports["mm"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_externalEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_externalEPKwm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_externalEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_externalEPKwm"]=wasmExports["nm"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_externalEPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_externalEPKw"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_externalEPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_externalEPKw"]=wasmExports["om"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7reserveEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7reserveEm"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7reserveEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7reserveEm"]=wasmExports["pm"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__shrink_or_extendB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__shrink_or_extendB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__shrink_or_extendB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE18__shrink_or_extendB8un170004Em"]=wasmExports["qm"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm"]=wasmExports["rm"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_mm"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignERKS5_mm"]=wasmExports["sm"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm"]=wasmExports["tm"])(a0,a1,a2);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4copyEPwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4copyEPwmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4copyEPwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4copyEPwmm"]=wasmExports["um"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mmRKS4_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2ERKS5_mmRKS4_"]=wasmExports["vm"])(a0,a1,a2,a3,a4);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEwm"]=(a0,a1,a2)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEwm"]=wasmExports["wm"])(a0,a1,a2);var __ZNSt3__210__str_findB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_=Module["__ZNSt3__210__str_findB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_"]=(a0,a1,a2,a3)=>(__ZNSt3__210__str_findB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_=Module["__ZNSt3__210__str_findB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_"]=wasmExports["xm"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw"]=wasmExports["ym"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKw"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmPKw"]=wasmExports["zm"])(a0,a1,a2);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE12find_last_ofEPKwmm"]=wasmExports["Am"])(a0,a1,a2,a3);var __ZNSt3__218__str_find_last_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__218__str_find_last_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__218__str_find_last_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__218__str_find_last_ofB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["Bm"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_no_aliasILb0EEERS5_PKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_no_aliasILb0EEERS5_PKwm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_no_aliasILb0EEERS5_PKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_no_aliasILb0EEERS5_PKwm"]=wasmExports["Cm"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_no_aliasILb1EEERS5_PKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_no_aliasILb1EEERS5_PKwm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_no_aliasILb1EEERS5_PKwm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE17__assign_no_aliasILb1EEERS5_PKwm"]=wasmExports["Dm"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw"]=wasmExports["Em"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEmw"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEmw"]=wasmExports["Fm"])(a0,a1,a2);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEwm"]=(a0,a1,a2)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE5rfindEwm"]=wasmExports["Gm"])(a0,a1,a2);var __ZNSt3__211__str_rfindB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_=Module["__ZNSt3__211__str_rfindB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_"]=(a0,a1,a2,a3)=>(__ZNSt3__211__str_rfindB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_=Module["__ZNSt3__211__str_rfindB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S4_S3_"]=wasmExports["Hm"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEmw"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEmw"]=wasmExports["Im"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE26__erase_external_with_moveEmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE26__erase_external_with_moveEmm"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE26__erase_external_with_moveEmm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE26__erase_external_with_moveEmm"]=wasmExports["Jm"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_mm"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendERKS5_mm"]=wasmExports["Km"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEPKw=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEPKw"]=(a0,a1)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEPKw=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEPKw"]=wasmExports["Lm"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKwm"]=(a0,a1,a2,a3,a4)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKwm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKwm"]=wasmExports["Mm"])(a0,a1,a2,a3,a4);var __ZNSt3__211char_traitsIwE7compareB8un170004EPKwS3_m=Module["__ZNSt3__211char_traitsIwE7compareB8un170004EPKwS3_m"]=(a0,a1,a2)=>(__ZNSt3__211char_traitsIwE7compareB8un170004EPKwS3_m=Module["__ZNSt3__211char_traitsIwE7compareB8un170004EPKwS3_m"]=wasmExports["Nm"])(a0,a1,a2);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKw=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKw"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKw=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmPKw"]=wasmExports["Om"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE2atEm"]=wasmExports["Pm"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwmm"]=(a0,a1,a2,a3)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwmm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4findEPKwmm"]=wasmExports["Qm"])(a0,a1,a2,a3);var __ZNSt3__210__str_findB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__210__str_findB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__210__str_findB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_=Module["__ZNSt3__210__str_findB8un170004IwmNS_11char_traitsIwEETnT0_Lm4294967295EEES3_PKT_S3_S6_S3_S3_"]=wasmExports["Rm"])(a0,a1,a2,a3,a4);var __ZNSt3__218__search_substringB8un170004IwNS_11char_traitsIwEEEEPKT_S5_S5_S5_S5_=Module["__ZNSt3__218__search_substringB8un170004IwNS_11char_traitsIwEEEEPKT_S5_S5_S5_S5_"]=(a0,a1,a2,a3)=>(__ZNSt3__218__search_substringB8un170004IwNS_11char_traitsIwEEEEPKT_S5_S5_S5_S5_=Module["__ZNSt3__218__search_substringB8un170004IwNS_11char_traitsIwEEEEPKT_S5_S5_S5_S5_"]=wasmExports["Sm"])(a0,a1,a2,a3);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_mm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_mm"]=(a0,a1,a2,a3,a4,a5)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_mm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareEmmRKS5_mm"]=wasmExports["Tm"])(a0,a1,a2,a3,a4,a5);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEcvNS_17basic_string_viewIwS2_EEB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEcvNS_17basic_string_viewIwS2_EEB8un170004Ev"]=(a0,a1)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEcvNS_17basic_string_viewIwS2_EEB8un170004Ev=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEcvNS_17basic_string_viewIwS2_EEB8un170004Ev"]=wasmExports["Um"])(a0,a1);var __ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareB8un170004INS_17basic_string_viewIwS2_EETnNS_9enable_ifIXaasr33__can_be_converted_to_string_viewIwS2_T_EE5valuentsr17__is_same_uncvrefISA_S5_EE5valueEiE4typeELi0EEEimmRKSA_mm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareB8un170004INS_17basic_string_viewIwS2_EETnNS_9enable_ifIXaasr33__can_be_converted_to_string_viewIwS2_T_EE5valuentsr17__is_same_uncvrefISA_S5_EE5valueEiE4typeELi0EEEimmRKSA_mm"]=(a0,a1,a2,a3,a4,a5)=>(__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareB8un170004INS_17basic_string_viewIwS2_EETnNS_9enable_ifIXaasr33__can_be_converted_to_string_viewIwS2_T_EE5valuentsr17__is_same_uncvrefISA_S5_EE5valueEiE4typeELi0EEEimmRKSA_mm=Module["__ZNKSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7compareB8un170004INS_17basic_string_viewIwS2_EETnNS_9enable_ifIXaasr33__can_be_converted_to_string_viewIwS2_T_EE5valuentsr17__is_same_uncvrefISA_S5_EE5valueEiE4typeELi0EEEimmRKSA_mm"]=wasmExports["Vm"])(a0,a1,a2,a3,a4,a5);var __ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE6substrB8un170004Emm=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE6substrB8un170004Emm"]=(a0,a1,a2,a3)=>(__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE6substrB8un170004Emm=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE6substrB8un170004Emm"]=wasmExports["Wm"])(a0,a1,a2,a3);var __ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE7compareES3_=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE7compareES3_"]=(a0,a1)=>(__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE7compareES3_=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE7compareES3_"]=wasmExports["Xm"])(a0,a1);var __ZNSt3__217basic_string_viewIwNS_11char_traitsIwEEEC2B8un170004EPKwm=Module["__ZNSt3__217basic_string_viewIwNS_11char_traitsIwEEEC2B8un170004EPKwm"]=(a0,a1,a2)=>(__ZNSt3__217basic_string_viewIwNS_11char_traitsIwEEEC2B8un170004EPKwm=Module["__ZNSt3__217basic_string_viewIwNS_11char_traitsIwEEEC2B8un170004EPKwm"]=wasmExports["Ym"])(a0,a1,a2);var __ZNSt3__219__constexpr_wmemcmpB8un170004EPKwS1_m=Module["__ZNSt3__219__constexpr_wmemcmpB8un170004EPKwS1_m"]=(a0,a1,a2)=>(__ZNSt3__219__constexpr_wmemcmpB8un170004EPKwS1_m=Module["__ZNSt3__219__constexpr_wmemcmpB8un170004EPKwS1_m"]=wasmExports["Zm"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKw"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKw"]=wasmExports["_m"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_mm"]=(a0,a1,a2,a3,a4,a5)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE7replaceEmmRKS5_mm"]=wasmExports["$m"])(a0,a1,a2,a3,a4,a5);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEw"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertENS_11__wrap_iterIPKwEEw"]=wasmExports["an"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeEmw"]=wasmExports["bn"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_mm"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_mm=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6insertEmRKS5_mm"]=wasmExports["cn"])(a0,a1,a2,a3,a4);var __ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_=Module["__ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_"]=(a0,a1,a2)=>(__ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_=Module["__ZNSt3__2plIcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EEPKS6_RKS9_"]=wasmExports["dn"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004ENS_24__uninitialized_size_tagEmRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004ENS_24__uninitialized_size_tagEmRKS4_"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004ENS_24__uninitialized_size_tagEmRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004ENS_24__uninitialized_size_tagEmRKS4_"]=wasmExports["en"])(a0,a1,a2);var __ZNSt3__216allocator_traitsINS_9allocatorIcEEE8allocateB8un170004ERS2_m=Module["__ZNSt3__216allocator_traitsINS_9allocatorIcEEE8allocateB8un170004ERS2_m"]=(a0,a1)=>(__ZNSt3__216allocator_traitsINS_9allocatorIcEEE8allocateB8un170004ERS2_m=Module["__ZNSt3__216allocator_traitsINS_9allocatorIcEEE8allocateB8un170004ERS2_m"]=wasmExports["fn"])(a0,a1);var __ZNSt3__24stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__24stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__24stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__24stoiERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=wasmExports["gn"])(a0,a1,a2);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev"]=a0=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED1Ev"]=wasmExports["hn"])(a0);var __ZNSt3__24stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__24stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__24stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__24stolERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=wasmExports["jn"])(a0,a1,a2);var __ZNSt3__25stoulERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__25stoulERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__25stoulERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__25stoulERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=wasmExports["kn"])(a0,a1,a2);var __ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__25stollERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=wasmExports["ln"])(a0,a1,a2);var __ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi=Module["__ZNSt3__26stoullERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPmi"]=wasmExports["mn"])(a0,a1,a2);var __ZNSt3__24stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__24stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=(a0,a1)=>(__ZNSt3__24stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__24stofERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=wasmExports["nn"])(a0,a1);var __ZNSt3__24stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__24stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=(a0,a1)=>(__ZNSt3__24stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__24stodERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=wasmExports["on"])(a0,a1);var __ZNSt3__25stoldERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__25stoldERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=(a0,a1,a2)=>(__ZNSt3__25stoldERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm=Module["__ZNSt3__25stoldERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPm"]=wasmExports["pn"])(a0,a1,a2);var __ZNSt3__24stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__24stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__24stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__24stoiERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=wasmExports["qn"])(a0,a1,a2);var __ZNSt3__24stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__24stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__24stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__24stolERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=wasmExports["rn"])(a0,a1,a2);var __ZNSt3__25stoulERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__25stoulERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__25stoulERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__25stoulERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=wasmExports["sn"])(a0,a1,a2);var __ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__25stollERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=wasmExports["tn"])(a0,a1,a2);var __ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=(a0,a1,a2)=>(__ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi=Module["__ZNSt3__26stoullERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPmi"]=wasmExports["un"])(a0,a1,a2);var __ZNSt3__24stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__24stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=(a0,a1)=>(__ZNSt3__24stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__24stofERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=wasmExports["vn"])(a0,a1);var __ZNSt3__24stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__24stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=(a0,a1)=>(__ZNSt3__24stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__24stodERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=wasmExports["wn"])(a0,a1);var __ZNSt3__25stoldERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__25stoldERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=(a0,a1,a2)=>(__ZNSt3__25stoldERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm=Module["__ZNSt3__25stoldERKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEEPm"]=wasmExports["xn"])(a0,a1,a2);var __ZNSt3__29to_stringEi=Module["__ZNSt3__29to_stringEi"]=(a0,a1)=>(__ZNSt3__29to_stringEi=Module["__ZNSt3__29to_stringEi"]=wasmExports["yn"])(a0,a1);var __ZNSt3__28to_charsB8un170004IiTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IiTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=(a0,a1,a2,a3)=>(__ZNSt3__28to_charsB8un170004IiTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IiTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=wasmExports["zn"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004IPcTnNS_9enable_ifIXsr29__has_input_iterator_categoryIT_EE5valueEiE4typeELi0EEES9_S9_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004IPcTnNS_9enable_ifIXsr29__has_input_iterator_categoryIT_EE5valueEiE4typeELi0EEES9_S9_"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004IPcTnNS_9enable_ifIXsr29__has_input_iterator_categoryIT_EE5valueEiE4typeELi0EEES9_S9_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170004IPcTnNS_9enable_ifIXsr29__has_input_iterator_categoryIT_EE5valueEiE4typeELi0EEES9_S9_"]=wasmExports["An"])(a0,a1,a2);var __ZNSt3__29to_stringEl=Module["__ZNSt3__29to_stringEl"]=(a0,a1)=>(__ZNSt3__29to_stringEl=Module["__ZNSt3__29to_stringEl"]=wasmExports["Bn"])(a0,a1);var __ZNSt3__28to_charsB8un170004IlTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IlTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=(a0,a1,a2,a3)=>(__ZNSt3__28to_charsB8un170004IlTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IlTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=wasmExports["Cn"])(a0,a1,a2,a3);var __ZNSt3__29to_stringEx=Module["__ZNSt3__29to_stringEx"]=(a0,a1,a2)=>(__ZNSt3__29to_stringEx=Module["__ZNSt3__29to_stringEx"]=wasmExports["Dn"])(a0,a1,a2);var __ZNSt3__28to_charsB8un170004IxTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IxTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__28to_charsB8un170004IxTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IxTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=wasmExports["En"])(a0,a1,a2,a3,a4);var __ZNSt3__29to_stringEj=Module["__ZNSt3__29to_stringEj"]=(a0,a1)=>(__ZNSt3__29to_stringEj=Module["__ZNSt3__29to_stringEj"]=wasmExports["Fn"])(a0,a1);var __ZNSt3__29to_stringEm=Module["__ZNSt3__29to_stringEm"]=(a0,a1)=>(__ZNSt3__29to_stringEm=Module["__ZNSt3__29to_stringEm"]=wasmExports["Gn"])(a0,a1);var __ZNSt3__28to_charsB8un170004ImTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004ImTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=(a0,a1,a2,a3)=>(__ZNSt3__28to_charsB8un170004ImTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004ImTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=wasmExports["Hn"])(a0,a1,a2,a3);var __ZNSt3__29to_stringEy=Module["__ZNSt3__29to_stringEy"]=(a0,a1,a2)=>(__ZNSt3__29to_stringEy=Module["__ZNSt3__29to_stringEy"]=wasmExports["In"])(a0,a1,a2);var __ZNSt3__28to_charsB8un170004IyTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IyTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__28to_charsB8un170004IyTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_=Module["__ZNSt3__28to_charsB8un170004IyTnNS_9enable_ifIXsr11is_integralIT_EE5valueEiE4typeELi0EEENS_15to_chars_resultEPcS6_S2_"]=wasmExports["Jn"])(a0,a1,a2,a3,a4);var __ZNSt3__210to_wstringEi=Module["__ZNSt3__210to_wstringEi"]=(a0,a1)=>(__ZNSt3__210to_wstringEi=Module["__ZNSt3__210to_wstringEi"]=wasmExports["Kn"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004IPcTnNS_9enable_ifIXsr29__has_input_iterator_categoryIT_EE5valueEiE4typeELi0EEES9_S9_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004IPcTnNS_9enable_ifIXsr29__has_input_iterator_categoryIT_EE5valueEiE4typeELi0EEES9_S9_"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004IPcTnNS_9enable_ifIXsr29__has_input_iterator_categoryIT_EE5valueEiE4typeELi0EEES9_S9_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004IPcTnNS_9enable_ifIXsr29__has_input_iterator_categoryIT_EE5valueEiE4typeELi0EEES9_S9_"]=wasmExports["Ln"])(a0,a1,a2);var __ZNSt3__210to_wstringEl=Module["__ZNSt3__210to_wstringEl"]=(a0,a1)=>(__ZNSt3__210to_wstringEl=Module["__ZNSt3__210to_wstringEl"]=wasmExports["Mn"])(a0,a1);var __ZNSt3__210to_wstringEx=Module["__ZNSt3__210to_wstringEx"]=(a0,a1,a2)=>(__ZNSt3__210to_wstringEx=Module["__ZNSt3__210to_wstringEx"]=wasmExports["Nn"])(a0,a1,a2);var __ZNSt3__210to_wstringEj=Module["__ZNSt3__210to_wstringEj"]=(a0,a1)=>(__ZNSt3__210to_wstringEj=Module["__ZNSt3__210to_wstringEj"]=wasmExports["On"])(a0,a1);var __ZNSt3__210to_wstringEm=Module["__ZNSt3__210to_wstringEm"]=(a0,a1)=>(__ZNSt3__210to_wstringEm=Module["__ZNSt3__210to_wstringEm"]=wasmExports["Pn"])(a0,a1);var __ZNSt3__210to_wstringEy=Module["__ZNSt3__210to_wstringEy"]=(a0,a1,a2)=>(__ZNSt3__210to_wstringEy=Module["__ZNSt3__210to_wstringEy"]=wasmExports["Qn"])(a0,a1,a2);var __ZNSt3__29to_stringEf=Module["__ZNSt3__29to_stringEf"]=(a0,a1)=>(__ZNSt3__29to_stringEf=Module["__ZNSt3__29to_stringEf"]=wasmExports["Rn"])(a0,a1);var __ZNSt3__29to_stringEd=Module["__ZNSt3__29to_stringEd"]=(a0,a1)=>(__ZNSt3__29to_stringEd=Module["__ZNSt3__29to_stringEd"]=wasmExports["Sn"])(a0,a1);var __ZNSt3__29to_stringEe=Module["__ZNSt3__29to_stringEe"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__29to_stringEe=Module["__ZNSt3__29to_stringEe"]=wasmExports["Tn"])(a0,a1,a2,a3,a4);var __ZNSt3__210to_wstringEf=Module["__ZNSt3__210to_wstringEf"]=(a0,a1)=>(__ZNSt3__210to_wstringEf=Module["__ZNSt3__210to_wstringEf"]=wasmExports["Un"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev"]=a0=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED1Ev"]=wasmExports["Vn"])(a0);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeB8un170004Em"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeB8un170004Em=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6resizeB8un170004Em"]=wasmExports["Wn"])(a0,a1);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004EOS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004EOS5_"]=(a0,a1)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004EOS5_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC2B8un170004EOS5_"]=wasmExports["Xn"])(a0,a1);var __ZNSt3__210to_wstringEd=Module["__ZNSt3__210to_wstringEd"]=(a0,a1)=>(__ZNSt3__210to_wstringEd=Module["__ZNSt3__210to_wstringEd"]=wasmExports["Yn"])(a0,a1);var __ZNSt3__210to_wstringEe=Module["__ZNSt3__210to_wstringEe"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__210to_wstringEe=Module["__ZNSt3__210to_wstringEe"]=wasmExports["Zn"])(a0,a1,a2,a3,a4);var __ZNSt3__215__find_end_implB8un170004INS_17_ClassicAlgPolicyEPKcS3_S3_S3_DoFbccENS_10__identityES5_EENS_4pairIT0_S7_EES7_T1_T2_T3_RT4_RT5_RT6_NS_20forward_iterator_tagESI_=Module["__ZNSt3__215__find_end_implB8un170004INS_17_ClassicAlgPolicyEPKcS3_S3_S3_DoFbccENS_10__identityES5_EENS_4pairIT0_S7_EES7_T1_T2_T3_RT4_RT5_RT6_NS_20forward_iterator_tagESI_"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(__ZNSt3__215__find_end_implB8un170004INS_17_ClassicAlgPolicyEPKcS3_S3_S3_DoFbccENS_10__identityES5_EENS_4pairIT0_S7_EES7_T1_T2_T3_RT4_RT5_RT6_NS_20forward_iterator_tagESI_=Module["__ZNSt3__215__find_end_implB8un170004INS_17_ClassicAlgPolicyEPKcS3_S3_S3_DoFbccENS_10__identityES5_EENS_4pairIT0_S7_EES7_T1_T2_T3_RT4_RT5_RT6_NS_20forward_iterator_tagESI_"]=wasmExports["_n"])(a0,a1,a2,a3,a4,a5,a6,a7);var __ZNSt3__28_IterOpsINS_17_ClassicAlgPolicyEE4nextB8un170004IPKcEET_S6_S6_=Module["__ZNSt3__28_IterOpsINS_17_ClassicAlgPolicyEE4nextB8un170004IPKcEET_S6_S6_"]=(a0,a1)=>(__ZNSt3__28_IterOpsINS_17_ClassicAlgPolicyEE4nextB8un170004IPKcEET_S6_S6_=Module["__ZNSt3__28_IterOpsINS_17_ClassicAlgPolicyEE4nextB8un170004IPKcEET_S6_S6_"]=wasmExports["$n"])(a0,a1);var __ZNSt3__28__invokeB8un170004IRNS_10__identityEJRKcEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_=Module["__ZNSt3__28__invokeB8un170004IRNS_10__identityEJRKcEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_"]=(a0,a1)=>(__ZNSt3__28__invokeB8un170004IRNS_10__identityEJRKcEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_=Module["__ZNSt3__28__invokeB8un170004IRNS_10__identityEJRKcEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_"]=wasmExports["ao"])(a0,a1);var __ZNSt3__28__invokeB8un170004IRDoFbccEJRKcS4_EEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_=Module["__ZNSt3__28__invokeB8un170004IRDoFbccEJRKcS4_EEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_"]=(a0,a1,a2)=>(__ZNSt3__28__invokeB8un170004IRDoFbccEJRKcS4_EEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_=Module["__ZNSt3__28__invokeB8un170004IRDoFbccEJRKcS4_EEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_"]=wasmExports["bo"])(a0,a1,a2);var __ZNSt3__24pairIPKcS2_EC2B8un170004IRS2_S5_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_=Module["__ZNSt3__24pairIPKcS2_EC2B8un170004IRS2_S5_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_"]=(a0,a1,a2)=>(__ZNSt3__24pairIPKcS2_EC2B8un170004IRS2_S5_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_=Module["__ZNSt3__24pairIPKcS2_EC2B8un170004IRS2_S5_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_"]=wasmExports["co"])(a0,a1,a2);var __ZNKSt3__210__identityclB8un170004IRKcEEOT_S5_=Module["__ZNKSt3__210__identityclB8un170004IRKcEEOT_S5_"]=(a0,a1)=>(__ZNKSt3__210__identityclB8un170004IRKcEEOT_S5_=Module["__ZNKSt3__210__identityclB8un170004IRKcEEOT_S5_"]=wasmExports["eo"])(a0,a1);var __ZNSt3__221__convert_to_integralB8un170004Em=Module["__ZNSt3__221__convert_to_integralB8un170004Em"]=a0=>(__ZNSt3__221__convert_to_integralB8un170004Em=Module["__ZNSt3__221__convert_to_integralB8un170004Em"]=wasmExports["fo"])(a0);var __ZNSt3__28__fill_nB8un170004IPcmcEET_S2_T0_RKT1_=Module["__ZNSt3__28__fill_nB8un170004IPcmcEET_S2_T0_RKT1_"]=(a0,a1,a2)=>(__ZNSt3__28__fill_nB8un170004IPcmcEET_S2_T0_RKT1_=Module["__ZNSt3__28__fill_nB8un170004IPcmcEET_S2_T0_RKT1_"]=wasmExports["go"])(a0,a1,a2);var __ZNSt3__215__find_end_implB8un170004INS_17_ClassicAlgPolicyEPKwS3_S3_S3_DoFbwwENS_10__identityES5_EENS_4pairIT0_S7_EES7_T1_T2_T3_RT4_RT5_RT6_NS_20forward_iterator_tagESI_=Module["__ZNSt3__215__find_end_implB8un170004INS_17_ClassicAlgPolicyEPKwS3_S3_S3_DoFbwwENS_10__identityES5_EENS_4pairIT0_S7_EES7_T1_T2_T3_RT4_RT5_RT6_NS_20forward_iterator_tagESI_"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(__ZNSt3__215__find_end_implB8un170004INS_17_ClassicAlgPolicyEPKwS3_S3_S3_DoFbwwENS_10__identityES5_EENS_4pairIT0_S7_EES7_T1_T2_T3_RT4_RT5_RT6_NS_20forward_iterator_tagESI_=Module["__ZNSt3__215__find_end_implB8un170004INS_17_ClassicAlgPolicyEPKwS3_S3_S3_DoFbwwENS_10__identityES5_EENS_4pairIT0_S7_EES7_T1_T2_T3_RT4_RT5_RT6_NS_20forward_iterator_tagESI_"]=wasmExports["ho"])(a0,a1,a2,a3,a4,a5,a6,a7);var __ZNSt3__28_IterOpsINS_17_ClassicAlgPolicyEE4nextB8un170004IPKwEET_S6_S6_=Module["__ZNSt3__28_IterOpsINS_17_ClassicAlgPolicyEE4nextB8un170004IPKwEET_S6_S6_"]=(a0,a1)=>(__ZNSt3__28_IterOpsINS_17_ClassicAlgPolicyEE4nextB8un170004IPKwEET_S6_S6_=Module["__ZNSt3__28_IterOpsINS_17_ClassicAlgPolicyEE4nextB8un170004IPKwEET_S6_S6_"]=wasmExports["io"])(a0,a1);var __ZNSt3__28__invokeB8un170004IRNS_10__identityEJRKwEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_=Module["__ZNSt3__28__invokeB8un170004IRNS_10__identityEJRKwEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_"]=(a0,a1)=>(__ZNSt3__28__invokeB8un170004IRNS_10__identityEJRKwEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_=Module["__ZNSt3__28__invokeB8un170004IRNS_10__identityEJRKwEEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_"]=wasmExports["jo"])(a0,a1);var __ZNSt3__28__invokeB8un170004IRDoFbwwEJRKwS4_EEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_=Module["__ZNSt3__28__invokeB8un170004IRDoFbwwEJRKwS4_EEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_"]=(a0,a1,a2)=>(__ZNSt3__28__invokeB8un170004IRDoFbwwEJRKwS4_EEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_=Module["__ZNSt3__28__invokeB8un170004IRDoFbwwEJRKwS4_EEEDTclclsr3stdE7declvalIT_EEspclsr3stdE7declvalIT0_EEEEOS5_DpOS6_"]=wasmExports["ko"])(a0,a1,a2);var __ZNSt3__24pairIPKwS2_EC2B8un170004IRS2_S5_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_=Module["__ZNSt3__24pairIPKwS2_EC2B8un170004IRS2_S5_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_"]=(a0,a1,a2)=>(__ZNSt3__24pairIPKwS2_EC2B8un170004IRS2_S5_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_=Module["__ZNSt3__24pairIPKwS2_EC2B8un170004IRS2_S5_TnPNS_9enable_ifIXclsr10_CheckArgsE17__enable_implicitIT_T0_EEEvE4typeELPv0EEEOS7_OS8_"]=wasmExports["lo"])(a0,a1,a2);var __ZNKSt3__210__identityclB8un170004IRKwEEOT_S5_=Module["__ZNKSt3__210__identityclB8un170004IRKwEEOT_S5_"]=(a0,a1)=>(__ZNKSt3__210__identityclB8un170004IRKwEEOT_S5_=Module["__ZNKSt3__210__identityclB8un170004IRKwEEOT_S5_"]=wasmExports["mo"])(a0,a1);var __ZNSt3__28__fill_nB8un170004IPwmwEET_S2_T0_RKT1_=Module["__ZNSt3__28__fill_nB8un170004IPwmwEET_S2_T0_RKT1_"]=(a0,a1,a2)=>(__ZNSt3__28__fill_nB8un170004IPwmwEET_S2_T0_RKT1_=Module["__ZNSt3__28__fill_nB8un170004IPwmwEET_S2_T0_RKT1_"]=wasmExports["no"])(a0,a1,a2);var __ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE4sizeB8un170004Ev=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE4sizeB8un170004Ev"]=a0=>(__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE4sizeB8un170004Ev=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE4sizeB8un170004Ev"]=wasmExports["oo"])(a0);var __ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE4dataB8un170004Ev=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE4dataB8un170004Ev"]=a0=>(__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE4dataB8un170004Ev=Module["__ZNKSt3__217basic_string_viewIwNS_11char_traitsIwEEE4dataB8un170004Ev"]=wasmExports["po"])(a0);var __ZNSt3__2plB8un170004IcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_=Module["__ZNSt3__2plB8un170004IcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_"]=(a0,a1,a2)=>(__ZNSt3__2plB8un170004IcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_=Module["__ZNSt3__2plB8un170004IcNS_11char_traitsIcEENS_9allocatorIcEEEENS_12basic_stringIT_T0_T1_EERKS9_PKS6_"]=wasmExports["qo"])(a0,a1,a2);var __ZNSt3__224__throw_invalid_argumentB8un170004EPKc=Module["__ZNSt3__224__throw_invalid_argumentB8un170004EPKc"]=a0=>(__ZNSt3__224__throw_invalid_argumentB8un170004EPKc=Module["__ZNSt3__224__throw_invalid_argumentB8un170004EPKc"]=wasmExports["ro"])(a0);var __ZNSt3__215__to_chars_itoaB8un170004IiEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__215__to_chars_itoaB8un170004IiEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE"]=(a0,a1,a2,a3)=>(__ZNSt3__215__to_chars_itoaB8un170004IiEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__215__to_chars_itoaB8un170004IiEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE"]=wasmExports["so"])(a0,a1,a2,a3);var __ZNSt3__218__to_unsigned_likeB8un170004IiEEu15__make_unsignedIT_ES1_=Module["__ZNSt3__218__to_unsigned_likeB8un170004IiEEu15__make_unsignedIT_ES1_"]=a0=>(__ZNSt3__218__to_unsigned_likeB8un170004IiEEu15__make_unsignedIT_ES1_=Module["__ZNSt3__218__to_unsigned_likeB8un170004IiEEu15__make_unsignedIT_ES1_"]=wasmExports["to"])(a0);var __ZNSt3__212__complementB8un170004IjEET_S1_=Module["__ZNSt3__212__complementB8un170004IjEET_S1_"]=a0=>(__ZNSt3__212__complementB8un170004IjEET_S1_=Module["__ZNSt3__212__complementB8un170004IjEET_S1_"]=wasmExports["uo"])(a0);var __ZNSt3__215__to_chars_itoaB8un170004IxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__215__to_chars_itoaB8un170004IxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__215__to_chars_itoaB8un170004IxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE=Module["__ZNSt3__215__to_chars_itoaB8un170004IxEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb1EEE"]=wasmExports["vo"])(a0,a1,a2,a3,a4);var __ZNSt3__218__to_unsigned_likeB8un170004IxEEu15__make_unsignedIT_ES1_=Module["__ZNSt3__218__to_unsigned_likeB8un170004IxEEu15__make_unsignedIT_ES1_"]=(a0,a1)=>(__ZNSt3__218__to_unsigned_likeB8un170004IxEEu15__make_unsignedIT_ES1_=Module["__ZNSt3__218__to_unsigned_likeB8un170004IxEEu15__make_unsignedIT_ES1_"]=wasmExports["wo"])(a0,a1);var __ZNSt3__212__complementB8un170004IyEET_S1_=Module["__ZNSt3__212__complementB8un170004IyEET_S1_"]=(a0,a1)=>(__ZNSt3__212__complementB8un170004IyEET_S1_=Module["__ZNSt3__212__complementB8un170004IyEET_S1_"]=wasmExports["xo"])(a0,a1);var __ZNSt3__215__to_chars_itoaB8un170004IyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__215__to_chars_itoaB8un170004IyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__215__to_chars_itoaB8un170004IyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE=Module["__ZNSt3__215__to_chars_itoaB8un170004IyEENS_15to_chars_resultEPcS2_T_NS_17integral_constantIbLb0EEE"]=wasmExports["yo"])(a0,a1,a2,a3,a4);var __ZNSt3__26__itoa13__traits_baseIyvE7__widthB8un170004Ey=Module["__ZNSt3__26__itoa13__traits_baseIyvE7__widthB8un170004Ey"]=(a0,a1)=>(__ZNSt3__26__itoa13__traits_baseIyvE7__widthB8un170004Ey=Module["__ZNSt3__26__itoa13__traits_baseIyvE7__widthB8un170004Ey"]=wasmExports["zo"])(a0,a1);var __ZNSt3__26__itoa13__traits_baseIyvE9__convertB8un170004EPcy=Module["__ZNSt3__26__itoa13__traits_baseIyvE9__convertB8un170004EPcy"]=(a0,a1,a2)=>(__ZNSt3__26__itoa13__traits_baseIyvE9__convertB8un170004EPcy=Module["__ZNSt3__26__itoa13__traits_baseIyvE9__convertB8un170004EPcy"]=wasmExports["Ao"])(a0,a1,a2);var __ZNSt3__212__libcpp_clzB8un170004Ey=Module["__ZNSt3__212__libcpp_clzB8un170004Ey"]=(a0,a1)=>(__ZNSt3__212__libcpp_clzB8un170004Ey=Module["__ZNSt3__212__libcpp_clzB8un170004Ey"]=wasmExports["Bo"])(a0,a1);var __ZNSt3__26__itoa13__base_10_u64B8un170004EPcy=Module["__ZNSt3__26__itoa13__base_10_u64B8un170004EPcy"]=(a0,a1,a2)=>(__ZNSt3__26__itoa13__base_10_u64B8un170004EPcy=Module["__ZNSt3__26__itoa13__base_10_u64B8un170004EPcy"]=wasmExports["Co"])(a0,a1,a2);var __ZNSt3__26__itoa10__append10B8un170004IyEEPcS2_T_=Module["__ZNSt3__26__itoa10__append10B8un170004IyEEPcS2_T_"]=(a0,a1,a2)=>(__ZNSt3__26__itoa10__append10B8un170004IyEEPcS2_T_=Module["__ZNSt3__26__itoa10__append10B8un170004IyEEPcS2_T_"]=wasmExports["Do"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEEvS9_S9_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEEvS9_S9_"]=(a0,a1,a2)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEEvS9_S9_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPcTnNS_9enable_ifIXsr31__has_forward_iterator_categoryIT_EE5valueEiE4typeELi0EEEvS9_S9_"]=wasmExports["Eo"])(a0,a1,a2);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__init_with_sizeB8un170004IPcS7_EEvT_T0_m=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__init_with_sizeB8un170004IPcS7_EEvT_T0_m"]=(a0,a1,a2,a3)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__init_with_sizeB8un170004IPcS7_EEvT_T0_m=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE16__init_with_sizeB8un170004IPcS7_EEvT_T0_m"]=wasmExports["Fo"])(a0,a1,a2,a3);var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC1ERKS5_mmRKS4_"]=wasmExports["Go"])(a0,a1,a2,a3,a4);var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_mmRKS4_"]=(a0,a1,a2,a3,a4)=>(__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_mmRKS4_=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEC1ERKS5_mmRKS4_"]=wasmExports["Ho"])(a0,a1,a2,a3,a4);var __ZNKSt18bad_variant_access4whatEv=Module["__ZNKSt18bad_variant_access4whatEv"]=a0=>(__ZNKSt18bad_variant_access4whatEv=Module["__ZNKSt18bad_variant_access4whatEv"]=wasmExports["Io"])(a0);var __ZNSt18bad_variant_accessD0Ev=Module["__ZNSt18bad_variant_accessD0Ev"]=a0=>(__ZNSt18bad_variant_accessD0Ev=Module["__ZNSt18bad_variant_accessD0Ev"]=wasmExports["Jo"])(a0);var __ZSt14set_unexpectedPFvvE=Module["__ZSt14set_unexpectedPFvvE"]=a0=>(__ZSt14set_unexpectedPFvvE=Module["__ZSt14set_unexpectedPFvvE"]=wasmExports["Ko"])(a0);var __ZSt13set_terminatePFvvE=Module["__ZSt13set_terminatePFvvE"]=a0=>(__ZSt13set_terminatePFvvE=Module["__ZSt13set_terminatePFvvE"]=wasmExports["Lo"])(a0);var __ZSt15set_new_handlerPFvvE=Module["__ZSt15set_new_handlerPFvvE"]=a0=>(__ZSt15set_new_handlerPFvvE=Module["__ZSt15set_new_handlerPFvvE"]=wasmExports["Mo"])(a0);var __ZSt14get_unexpectedv=Module["__ZSt14get_unexpectedv"]=()=>(__ZSt14get_unexpectedv=Module["__ZSt14get_unexpectedv"]=wasmExports["No"])();var __ZSt10unexpectedv=Module["__ZSt10unexpectedv"]=()=>(__ZSt10unexpectedv=Module["__ZSt10unexpectedv"]=wasmExports["Oo"])();var __ZSt13get_terminatev=Module["__ZSt13get_terminatev"]=()=>(__ZSt13get_terminatev=Module["__ZSt13get_terminatev"]=wasmExports["Po"])();var __ZSt9terminatev=Module["__ZSt9terminatev"]=()=>(__ZSt9terminatev=Module["__ZSt9terminatev"]=wasmExports["Qo"])();var ___cxa_increment_exception_refcount=a0=>(___cxa_increment_exception_refcount=wasmExports["__cxa_increment_exception_refcount"])(a0);var ___cxa_decrement_exception_refcount=a0=>(___cxa_decrement_exception_refcount=wasmExports["__cxa_decrement_exception_refcount"])(a0);var ___cxa_current_primary_exception=Module["___cxa_current_primary_exception"]=()=>(___cxa_current_primary_exception=Module["___cxa_current_primary_exception"]=wasmExports["Ro"])();var ___cxa_rethrow_primary_exception=Module["___cxa_rethrow_primary_exception"]=a0=>(___cxa_rethrow_primary_exception=Module["___cxa_rethrow_primary_exception"]=wasmExports["So"])(a0);var ___cxa_uncaught_exception=Module["___cxa_uncaught_exception"]=()=>(___cxa_uncaught_exception=Module["___cxa_uncaught_exception"]=wasmExports["To"])();var ___cxa_uncaught_exceptions=Module["___cxa_uncaught_exceptions"]=()=>(___cxa_uncaught_exceptions=Module["___cxa_uncaught_exceptions"]=wasmExports["Uo"])();var ___cxa_free_exception=Module["___cxa_free_exception"]=a0=>(___cxa_free_exception=Module["___cxa_free_exception"]=wasmExports["Vo"])(a0);var ___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=()=>(___cxa_deleted_virtual=Module["___cxa_deleted_virtual"]=wasmExports["Wo"])();var ___dynamic_cast=Module["___dynamic_cast"]=(a0,a1,a2,a3)=>(___dynamic_cast=Module["___dynamic_cast"]=wasmExports["Xo"])(a0,a1,a2,a3);var __ZNSt9type_infoD2Ev=Module["__ZNSt9type_infoD2Ev"]=a0=>(__ZNSt9type_infoD2Ev=Module["__ZNSt9type_infoD2Ev"]=wasmExports["Yo"])(a0);var ___cxa_can_catch=(a0,a1,a2)=>(___cxa_can_catch=wasmExports["__cxa_can_catch"])(a0,a1,a2);var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["Zo"])(a0);var __ZNSt9exceptionD0Ev=Module["__ZNSt9exceptionD0Ev"]=a0=>(__ZNSt9exceptionD0Ev=Module["__ZNSt9exceptionD0Ev"]=wasmExports["_o"])(a0);var __ZNSt9exceptionD1Ev=Module["__ZNSt9exceptionD1Ev"]=a0=>(__ZNSt9exceptionD1Ev=Module["__ZNSt9exceptionD1Ev"]=wasmExports["$o"])(a0);var __ZNKSt9exception4whatEv=Module["__ZNKSt9exception4whatEv"]=a0=>(__ZNKSt9exception4whatEv=Module["__ZNKSt9exception4whatEv"]=wasmExports["ap"])(a0);var __ZNSt13bad_exceptionD0Ev=Module["__ZNSt13bad_exceptionD0Ev"]=a0=>(__ZNSt13bad_exceptionD0Ev=Module["__ZNSt13bad_exceptionD0Ev"]=wasmExports["bp"])(a0);var __ZNSt13bad_exceptionD1Ev=Module["__ZNSt13bad_exceptionD1Ev"]=a0=>(__ZNSt13bad_exceptionD1Ev=Module["__ZNSt13bad_exceptionD1Ev"]=wasmExports["cp"])(a0);var __ZNKSt13bad_exception4whatEv=Module["__ZNKSt13bad_exception4whatEv"]=a0=>(__ZNKSt13bad_exception4whatEv=Module["__ZNKSt13bad_exception4whatEv"]=wasmExports["dp"])(a0);var __ZNSt9bad_allocC2Ev=Module["__ZNSt9bad_allocC2Ev"]=a0=>(__ZNSt9bad_allocC2Ev=Module["__ZNSt9bad_allocC2Ev"]=wasmExports["ep"])(a0);var __ZNSt9bad_allocD0Ev=Module["__ZNSt9bad_allocD0Ev"]=a0=>(__ZNSt9bad_allocD0Ev=Module["__ZNSt9bad_allocD0Ev"]=wasmExports["fp"])(a0);var __ZNSt9bad_allocD1Ev=Module["__ZNSt9bad_allocD1Ev"]=a0=>(__ZNSt9bad_allocD1Ev=Module["__ZNSt9bad_allocD1Ev"]=wasmExports["gp"])(a0);var __ZNKSt9bad_alloc4whatEv=Module["__ZNKSt9bad_alloc4whatEv"]=a0=>(__ZNKSt9bad_alloc4whatEv=Module["__ZNKSt9bad_alloc4whatEv"]=wasmExports["hp"])(a0);var __ZNSt20bad_array_new_lengthC2Ev=Module["__ZNSt20bad_array_new_lengthC2Ev"]=a0=>(__ZNSt20bad_array_new_lengthC2Ev=Module["__ZNSt20bad_array_new_lengthC2Ev"]=wasmExports["ip"])(a0);var __ZNSt20bad_array_new_lengthD0Ev=Module["__ZNSt20bad_array_new_lengthD0Ev"]=a0=>(__ZNSt20bad_array_new_lengthD0Ev=Module["__ZNSt20bad_array_new_lengthD0Ev"]=wasmExports["jp"])(a0);var __ZNKSt20bad_array_new_length4whatEv=Module["__ZNKSt20bad_array_new_length4whatEv"]=a0=>(__ZNKSt20bad_array_new_length4whatEv=Module["__ZNKSt20bad_array_new_length4whatEv"]=wasmExports["kp"])(a0);var __ZNSt13bad_exceptionD2Ev=Module["__ZNSt13bad_exceptionD2Ev"]=a0=>(__ZNSt13bad_exceptionD2Ev=Module["__ZNSt13bad_exceptionD2Ev"]=wasmExports["lp"])(a0);var __ZNSt9bad_allocC1Ev=Module["__ZNSt9bad_allocC1Ev"]=a0=>(__ZNSt9bad_allocC1Ev=Module["__ZNSt9bad_allocC1Ev"]=wasmExports["mp"])(a0);var __ZNSt9bad_allocD2Ev=Module["__ZNSt9bad_allocD2Ev"]=a0=>(__ZNSt9bad_allocD2Ev=Module["__ZNSt9bad_allocD2Ev"]=wasmExports["np"])(a0);var __ZNSt20bad_array_new_lengthD2Ev=Module["__ZNSt20bad_array_new_lengthD2Ev"]=a0=>(__ZNSt20bad_array_new_lengthD2Ev=Module["__ZNSt20bad_array_new_lengthD2Ev"]=wasmExports["op"])(a0);var __ZNSt11logic_errorD2Ev=Module["__ZNSt11logic_errorD2Ev"]=a0=>(__ZNSt11logic_errorD2Ev=Module["__ZNSt11logic_errorD2Ev"]=wasmExports["pp"])(a0);var __ZNSt11logic_errorD0Ev=Module["__ZNSt11logic_errorD0Ev"]=a0=>(__ZNSt11logic_errorD0Ev=Module["__ZNSt11logic_errorD0Ev"]=wasmExports["qp"])(a0);var __ZNSt11logic_errorD1Ev=Module["__ZNSt11logic_errorD1Ev"]=a0=>(__ZNSt11logic_errorD1Ev=Module["__ZNSt11logic_errorD1Ev"]=wasmExports["rp"])(a0);var __ZNKSt11logic_error4whatEv=Module["__ZNKSt11logic_error4whatEv"]=a0=>(__ZNKSt11logic_error4whatEv=Module["__ZNKSt11logic_error4whatEv"]=wasmExports["sp"])(a0);var __ZNSt13runtime_errorD2Ev=Module["__ZNSt13runtime_errorD2Ev"]=a0=>(__ZNSt13runtime_errorD2Ev=Module["__ZNSt13runtime_errorD2Ev"]=wasmExports["tp"])(a0);var __ZNSt13runtime_errorD0Ev=Module["__ZNSt13runtime_errorD0Ev"]=a0=>(__ZNSt13runtime_errorD0Ev=Module["__ZNSt13runtime_errorD0Ev"]=wasmExports["up"])(a0);var __ZNSt13runtime_errorD1Ev=Module["__ZNSt13runtime_errorD1Ev"]=a0=>(__ZNSt13runtime_errorD1Ev=Module["__ZNSt13runtime_errorD1Ev"]=wasmExports["vp"])(a0);var __ZNKSt13runtime_error4whatEv=Module["__ZNKSt13runtime_error4whatEv"]=a0=>(__ZNKSt13runtime_error4whatEv=Module["__ZNKSt13runtime_error4whatEv"]=wasmExports["wp"])(a0);var __ZNSt12domain_errorD0Ev=Module["__ZNSt12domain_errorD0Ev"]=a0=>(__ZNSt12domain_errorD0Ev=Module["__ZNSt12domain_errorD0Ev"]=wasmExports["xp"])(a0);var __ZNSt12domain_errorD1Ev=Module["__ZNSt12domain_errorD1Ev"]=a0=>(__ZNSt12domain_errorD1Ev=Module["__ZNSt12domain_errorD1Ev"]=wasmExports["yp"])(a0);var __ZNSt16invalid_argumentD0Ev=Module["__ZNSt16invalid_argumentD0Ev"]=a0=>(__ZNSt16invalid_argumentD0Ev=Module["__ZNSt16invalid_argumentD0Ev"]=wasmExports["zp"])(a0);var __ZNSt16invalid_argumentD1Ev=Module["__ZNSt16invalid_argumentD1Ev"]=a0=>(__ZNSt16invalid_argumentD1Ev=Module["__ZNSt16invalid_argumentD1Ev"]=wasmExports["Ap"])(a0);var __ZNSt12length_errorD0Ev=Module["__ZNSt12length_errorD0Ev"]=a0=>(__ZNSt12length_errorD0Ev=Module["__ZNSt12length_errorD0Ev"]=wasmExports["Bp"])(a0);var __ZNSt12out_of_rangeD0Ev=Module["__ZNSt12out_of_rangeD0Ev"]=a0=>(__ZNSt12out_of_rangeD0Ev=Module["__ZNSt12out_of_rangeD0Ev"]=wasmExports["Cp"])(a0);var __ZNSt11range_errorD0Ev=Module["__ZNSt11range_errorD0Ev"]=a0=>(__ZNSt11range_errorD0Ev=Module["__ZNSt11range_errorD0Ev"]=wasmExports["Dp"])(a0);var __ZNSt11range_errorD1Ev=Module["__ZNSt11range_errorD1Ev"]=a0=>(__ZNSt11range_errorD1Ev=Module["__ZNSt11range_errorD1Ev"]=wasmExports["Ep"])(a0);var __ZNSt14overflow_errorD0Ev=Module["__ZNSt14overflow_errorD0Ev"]=a0=>(__ZNSt14overflow_errorD0Ev=Module["__ZNSt14overflow_errorD0Ev"]=wasmExports["Fp"])(a0);var __ZNSt14overflow_errorD1Ev=Module["__ZNSt14overflow_errorD1Ev"]=a0=>(__ZNSt14overflow_errorD1Ev=Module["__ZNSt14overflow_errorD1Ev"]=wasmExports["Gp"])(a0);var __ZNSt15underflow_errorD0Ev=Module["__ZNSt15underflow_errorD0Ev"]=a0=>(__ZNSt15underflow_errorD0Ev=Module["__ZNSt15underflow_errorD0Ev"]=wasmExports["Hp"])(a0);var __ZNSt15underflow_errorD1Ev=Module["__ZNSt15underflow_errorD1Ev"]=a0=>(__ZNSt15underflow_errorD1Ev=Module["__ZNSt15underflow_errorD1Ev"]=wasmExports["Ip"])(a0);var __ZNSt12domain_errorD2Ev=Module["__ZNSt12domain_errorD2Ev"]=a0=>(__ZNSt12domain_errorD2Ev=Module["__ZNSt12domain_errorD2Ev"]=wasmExports["Jp"])(a0);var __ZNSt16invalid_argumentD2Ev=Module["__ZNSt16invalid_argumentD2Ev"]=a0=>(__ZNSt16invalid_argumentD2Ev=Module["__ZNSt16invalid_argumentD2Ev"]=wasmExports["Kp"])(a0);var __ZNSt12length_errorD2Ev=Module["__ZNSt12length_errorD2Ev"]=a0=>(__ZNSt12length_errorD2Ev=Module["__ZNSt12length_errorD2Ev"]=wasmExports["Lp"])(a0);var __ZNSt12out_of_rangeD2Ev=Module["__ZNSt12out_of_rangeD2Ev"]=a0=>(__ZNSt12out_of_rangeD2Ev=Module["__ZNSt12out_of_rangeD2Ev"]=wasmExports["Mp"])(a0);var __ZNSt11range_errorD2Ev=Module["__ZNSt11range_errorD2Ev"]=a0=>(__ZNSt11range_errorD2Ev=Module["__ZNSt11range_errorD2Ev"]=wasmExports["Np"])(a0);var __ZNSt14overflow_errorD2Ev=Module["__ZNSt14overflow_errorD2Ev"]=a0=>(__ZNSt14overflow_errorD2Ev=Module["__ZNSt14overflow_errorD2Ev"]=wasmExports["Op"])(a0);var __ZNSt15underflow_errorD2Ev=Module["__ZNSt15underflow_errorD2Ev"]=a0=>(__ZNSt15underflow_errorD2Ev=Module["__ZNSt15underflow_errorD2Ev"]=wasmExports["Pp"])(a0);var __ZNSt9type_infoD0Ev=Module["__ZNSt9type_infoD0Ev"]=a0=>(__ZNSt9type_infoD0Ev=Module["__ZNSt9type_infoD0Ev"]=wasmExports["Qp"])(a0);var __ZNSt9type_infoD1Ev=Module["__ZNSt9type_infoD1Ev"]=a0=>(__ZNSt9type_infoD1Ev=Module["__ZNSt9type_infoD1Ev"]=wasmExports["Rp"])(a0);var __ZNSt8bad_castC2Ev=Module["__ZNSt8bad_castC2Ev"]=a0=>(__ZNSt8bad_castC2Ev=Module["__ZNSt8bad_castC2Ev"]=wasmExports["Sp"])(a0);var __ZNSt8bad_castD2Ev=Module["__ZNSt8bad_castD2Ev"]=a0=>(__ZNSt8bad_castD2Ev=Module["__ZNSt8bad_castD2Ev"]=wasmExports["Tp"])(a0);var __ZNSt8bad_castD0Ev=Module["__ZNSt8bad_castD0Ev"]=a0=>(__ZNSt8bad_castD0Ev=Module["__ZNSt8bad_castD0Ev"]=wasmExports["Up"])(a0);var __ZNSt8bad_castD1Ev=Module["__ZNSt8bad_castD1Ev"]=a0=>(__ZNSt8bad_castD1Ev=Module["__ZNSt8bad_castD1Ev"]=wasmExports["Vp"])(a0);var __ZNKSt8bad_cast4whatEv=Module["__ZNKSt8bad_cast4whatEv"]=a0=>(__ZNKSt8bad_cast4whatEv=Module["__ZNKSt8bad_cast4whatEv"]=wasmExports["Wp"])(a0);var __ZNSt10bad_typeidC2Ev=Module["__ZNSt10bad_typeidC2Ev"]=a0=>(__ZNSt10bad_typeidC2Ev=Module["__ZNSt10bad_typeidC2Ev"]=wasmExports["Xp"])(a0);var __ZNSt10bad_typeidD2Ev=Module["__ZNSt10bad_typeidD2Ev"]=a0=>(__ZNSt10bad_typeidD2Ev=Module["__ZNSt10bad_typeidD2Ev"]=wasmExports["Yp"])(a0);var __ZNSt10bad_typeidD0Ev=Module["__ZNSt10bad_typeidD0Ev"]=a0=>(__ZNSt10bad_typeidD0Ev=Module["__ZNSt10bad_typeidD0Ev"]=wasmExports["Zp"])(a0);var __ZNSt10bad_typeidD1Ev=Module["__ZNSt10bad_typeidD1Ev"]=a0=>(__ZNSt10bad_typeidD1Ev=Module["__ZNSt10bad_typeidD1Ev"]=wasmExports["_p"])(a0);var __ZNKSt10bad_typeid4whatEv=Module["__ZNKSt10bad_typeid4whatEv"]=a0=>(__ZNKSt10bad_typeid4whatEv=Module["__ZNKSt10bad_typeid4whatEv"]=wasmExports["$p"])(a0);var __ZNSt8bad_castC1Ev=Module["__ZNSt8bad_castC1Ev"]=a0=>(__ZNSt8bad_castC1Ev=Module["__ZNSt8bad_castC1Ev"]=wasmExports["aq"])(a0);var __ZNSt10bad_typeidC1Ev=Module["__ZNSt10bad_typeidC1Ev"]=a0=>(__ZNSt10bad_typeidC1Ev=Module["__ZNSt10bad_typeidC1Ev"]=wasmExports["bq"])(a0);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["cq"])(a0,a1,a2,a3,a4);var __ZTIPK16failsafe_flags_s=Module["__ZTIPK16failsafe_flags_s"]=50456;var __ZTIP16failsafe_flags_s=Module["__ZTIP16failsafe_flags_s"]=50440;var __ZTI16failsafe_flags_s=Module["__ZTI16failsafe_flags_s"]=50432;var __ZTIb=Module["__ZTIb"]=33792;var __ZTIh=Module["__ZTIh"]=33948;var __ZTIPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTIPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=50608;var __ZTIPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTIPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=50592;var __ZTINSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTINSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=50536;var __ZTISt12length_error=Module["__ZTISt12length_error"]=35908;var __ZTVSt12length_error=Module["__ZTVSt12length_error"]=35868;var __ZTISt20bad_array_new_length=Module["__ZTISt20bad_array_new_length"]=35680;var __ZTINSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZTINSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=50524;var __ZTISt12out_of_range=Module["__ZTISt12out_of_range"]=35960;var __ZTVSt12out_of_range=Module["__ZTVSt12out_of_range"]=35920;var __ZTVN10__cxxabiv117__class_type_infoE=Module["__ZTVN10__cxxabiv117__class_type_infoE"]=35180;var __ZTVN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTVN10__cxxabiv121__vmi_class_type_infoE"]=35312;var __ZTVN10__cxxabiv120__si_class_type_infoE=Module["__ZTVN10__cxxabiv120__si_class_type_infoE"]=35220;var __ZTS16failsafe_flags_s=Module["__ZTS16failsafe_flags_s"]=27301;var __ZTSP16failsafe_flags_s=Module["__ZTSP16failsafe_flags_s"]=27320;var __ZTVN10__cxxabiv119__pointer_type_infoE=Module["__ZTVN10__cxxabiv119__pointer_type_infoE"]=35432;var __ZTSPK16failsafe_flags_s=Module["__ZTSPK16failsafe_flags_s"]=27340;var __ZTIi=Module["__ZTIi"]=34156;var __ZTSNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE=Module["__ZTSNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"]=27389;var __ZTSNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27452;var __ZTIv=Module["__ZTIv"]=33684;var __ZTIf=Module["__ZTIf"]=34628;var __ZTSPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSPNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27547;var __ZTSPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE=Module["__ZTSPKNSt3__26vectorINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEENS4_IS6_EEEE"]=27634;var __ZTIm=Module["__ZTIm"]=34312;var __ZTVSt18bad_variant_access=Module["__ZTVSt18bad_variant_access"]=33200;var __ZTISt18bad_variant_access=Module["__ZTISt18bad_variant_access"]=33244;var __ZTIc=Module["__ZTIc"]=33896;var __ZTIa=Module["__ZTIa"]=34e3;var __ZTIs=Module["__ZTIs"]=34052;var __ZTIt=Module["__ZTIt"]=34104;var __ZTIj=Module["__ZTIj"]=34208;var __ZTIl=Module["__ZTIl"]=34260;var __ZTIx=Module["__ZTIx"]=34364;var __ZTIy=Module["__ZTIy"]=34416;var __ZTId=Module["__ZTId"]=34680;var __ZTINSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE=Module["__ZTINSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE"]=27848;var __ZTINSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE=Module["__ZTINSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"]=27920;var __ZTINSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE=Module["__ZTINSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE"]=27996;var __ZTINSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE=Module["__ZTINSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE"]=28072;var __ZTIN10emscripten11memory_viewIcEE=Module["__ZTIN10emscripten11memory_viewIcEE"]=28112;var __ZTIN10emscripten11memory_viewIaEE=Module["__ZTIN10emscripten11memory_viewIaEE"]=28152;var __ZTIN10emscripten11memory_viewIhEE=Module["__ZTIN10emscripten11memory_viewIhEE"]=28192;var __ZTIN10emscripten11memory_viewIsEE=Module["__ZTIN10emscripten11memory_viewIsEE"]=28232;var __ZTIN10emscripten11memory_viewItEE=Module["__ZTIN10emscripten11memory_viewItEE"]=28272;var __ZTIN10emscripten11memory_viewIiEE=Module["__ZTIN10emscripten11memory_viewIiEE"]=28312;var __ZTIN10emscripten11memory_viewIjEE=Module["__ZTIN10emscripten11memory_viewIjEE"]=28352;var __ZTIN10emscripten11memory_viewIlEE=Module["__ZTIN10emscripten11memory_viewIlEE"]=28392;var __ZTIN10emscripten11memory_viewImEE=Module["__ZTIN10emscripten11memory_viewImEE"]=28432;var __ZTIN10emscripten11memory_viewIxEE=Module["__ZTIN10emscripten11memory_viewIxEE"]=28472;var __ZTIN10emscripten11memory_viewIyEE=Module["__ZTIN10emscripten11memory_viewIyEE"]=28512;var __ZTIN10emscripten11memory_viewIfEE=Module["__ZTIN10emscripten11memory_viewIfEE"]=28552;var __ZTIN10emscripten11memory_viewIdEE=Module["__ZTIN10emscripten11memory_viewIdEE"]=28592;var __ZTSNSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE=Module["__ZTSNSt3__212basic_stringIhNS_11char_traitsIhEENS_9allocatorIhEEEE"]=27784;var __ZTSNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE=Module["__ZTSNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE"]=27856;var __ZTSNSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE=Module["__ZTSNSt3__212basic_stringIDsNS_11char_traitsIDsEENS_9allocatorIDsEEEE"]=27928;var __ZTSNSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE=Module["__ZTSNSt3__212basic_stringIDiNS_11char_traitsIDiEENS_9allocatorIDiEEEE"]=28004;var __ZTSN10emscripten11memory_viewIcEE=Module["__ZTSN10emscripten11memory_viewIcEE"]=28080;var __ZTSN10emscripten11memory_viewIaEE=Module["__ZTSN10emscripten11memory_viewIaEE"]=28120;var __ZTSN10emscripten11memory_viewIhEE=Module["__ZTSN10emscripten11memory_viewIhEE"]=28160;var __ZTSN10emscripten11memory_viewIsEE=Module["__ZTSN10emscripten11memory_viewIsEE"]=28200;var __ZTSN10emscripten11memory_viewItEE=Module["__ZTSN10emscripten11memory_viewItEE"]=28240;var __ZTSN10emscripten11memory_viewIiEE=Module["__ZTSN10emscripten11memory_viewIiEE"]=28280;var __ZTSN10emscripten11memory_viewIjEE=Module["__ZTSN10emscripten11memory_viewIjEE"]=28320;var __ZTSN10emscripten11memory_viewIlEE=Module["__ZTSN10emscripten11memory_viewIlEE"]=28360;var __ZTSN10emscripten11memory_viewImEE=Module["__ZTSN10emscripten11memory_viewImEE"]=28400;var __ZTSN10emscripten11memory_viewIxEE=Module["__ZTSN10emscripten11memory_viewIxEE"]=28440;var __ZTSN10emscripten11memory_viewIyEE=Module["__ZTSN10emscripten11memory_viewIyEE"]=28480;var __ZTSN10emscripten11memory_viewIfEE=Module["__ZTSN10emscripten11memory_viewIfEE"]=28520;var __ZTSN10emscripten11memory_viewIdEE=Module["__ZTSN10emscripten11memory_viewIdEE"]=28560;var _stdout=Module["_stdout"]=28600;var __ZNSt3__26__itoa10__pow10_32E=Module["__ZNSt3__26__itoa10__pow10_32E"]=32784;var __ZNSt3__26__itoa16__digits_base_10E=Module["__ZNSt3__26__itoa16__digits_base_10E"]=32832;var __ZTVSt11logic_error=Module["__ZTVSt11logic_error"]=35692;var __ZTVSt9exception=Module["__ZTVSt9exception"]=35528;var __ZTVSt13runtime_error=Module["__ZTVSt13runtime_error"]=35712;var __ZNSt3__26__itoa10__pow10_64E=Module["__ZNSt3__26__itoa10__pow10_64E"]=33040;var __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4nposE=Module["__ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4nposE"]=32748;var __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4nposE=Module["__ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE4nposE"]=32752;var __ZTSSt18bad_variant_access=Module["__ZTSSt18bad_variant_access"]=33220;var __ZTISt9exception=Module["__ZTISt9exception"]=35564;var ___cxa_unexpected_handler=Module["___cxa_unexpected_handler"]=50904;var ___cxa_terminate_handler=Module["___cxa_terminate_handler"]=50900;var ___cxa_new_handler=Module["___cxa_new_handler"]=53740;var __ZTIN10__cxxabiv116__shim_type_infoE=Module["__ZTIN10__cxxabiv116__shim_type_infoE"]=33292;var __ZTIN10__cxxabiv117__class_type_infoE=Module["__ZTIN10__cxxabiv117__class_type_infoE"]=33340;var __ZTIN10__cxxabiv117__pbase_type_infoE=Module["__ZTIN10__cxxabiv117__pbase_type_infoE"]=33388;var __ZTIDn=Module["__ZTIDn"]=33736;var __ZTIN10__cxxabiv119__pointer_type_infoE=Module["__ZTIN10__cxxabiv119__pointer_type_infoE"]=33436;var __ZTIN10__cxxabiv120__function_type_infoE=Module["__ZTIN10__cxxabiv120__function_type_infoE"]=33488;var __ZTIN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTIN10__cxxabiv129__pointer_to_member_type_infoE"]=33548;var __ZTSN10__cxxabiv116__shim_type_infoE=Module["__ZTSN10__cxxabiv116__shim_type_infoE"]=33256;var __ZTISt9type_info=Module["__ZTISt9type_info"]=36228;var __ZTSN10__cxxabiv117__class_type_infoE=Module["__ZTSN10__cxxabiv117__class_type_infoE"]=33304;var __ZTSN10__cxxabiv117__pbase_type_infoE=Module["__ZTSN10__cxxabiv117__pbase_type_infoE"]=33352;var __ZTSN10__cxxabiv119__pointer_type_infoE=Module["__ZTSN10__cxxabiv119__pointer_type_infoE"]=33400;var __ZTSN10__cxxabiv120__function_type_infoE=Module["__ZTSN10__cxxabiv120__function_type_infoE"]=33448;var __ZTSN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTSN10__cxxabiv129__pointer_to_member_type_infoE"]=33500;var __ZTVN10__cxxabiv116__shim_type_infoE=Module["__ZTVN10__cxxabiv116__shim_type_infoE"]=33572;var __ZTVN10__cxxabiv123__fundamental_type_infoE=Module["__ZTVN10__cxxabiv123__fundamental_type_infoE"]=33600;var __ZTIN10__cxxabiv123__fundamental_type_infoE=Module["__ZTIN10__cxxabiv123__fundamental_type_infoE"]=33668;var __ZTSN10__cxxabiv123__fundamental_type_infoE=Module["__ZTSN10__cxxabiv123__fundamental_type_infoE"]=33628;var __ZTSv=Module["__ZTSv"]=33680;var __ZTSPv=Module["__ZTSPv"]=33692;var __ZTIPv=Module["__ZTIPv"]=33696;var __ZTSPKv=Module["__ZTSPKv"]=33712;var __ZTIPKv=Module["__ZTIPKv"]=33716;var __ZTSDn=Module["__ZTSDn"]=33732;var __ZTSPDn=Module["__ZTSPDn"]=33744;var __ZTIPDn=Module["__ZTIPDn"]=33748;var __ZTSPKDn=Module["__ZTSPKDn"]=33764;var __ZTIPKDn=Module["__ZTIPKDn"]=33772;var __ZTSb=Module["__ZTSb"]=33788;var __ZTSPb=Module["__ZTSPb"]=33800;var __ZTIPb=Module["__ZTIPb"]=33804;var __ZTSPKb=Module["__ZTSPKb"]=33820;var __ZTIPKb=Module["__ZTIPKb"]=33824;var __ZTSw=Module["__ZTSw"]=33840;var __ZTIw=Module["__ZTIw"]=33844;var __ZTSPw=Module["__ZTSPw"]=33852;var __ZTIPw=Module["__ZTIPw"]=33856;var __ZTSPKw=Module["__ZTSPKw"]=33872;var __ZTIPKw=Module["__ZTIPKw"]=33876;var __ZTSc=Module["__ZTSc"]=33892;var __ZTSPc=Module["__ZTSPc"]=33904;var __ZTIPc=Module["__ZTIPc"]=33908;var __ZTSPKc=Module["__ZTSPKc"]=33924;var __ZTIPKc=Module["__ZTIPKc"]=33928;var __ZTSh=Module["__ZTSh"]=33944;var __ZTSPh=Module["__ZTSPh"]=33956;var __ZTIPh=Module["__ZTIPh"]=33960;var __ZTSPKh=Module["__ZTSPKh"]=33976;var __ZTIPKh=Module["__ZTIPKh"]=33980;var __ZTSa=Module["__ZTSa"]=33996;var __ZTSPa=Module["__ZTSPa"]=34008;var __ZTIPa=Module["__ZTIPa"]=34012;var __ZTSPKa=Module["__ZTSPKa"]=34028;var __ZTIPKa=Module["__ZTIPKa"]=34032;var __ZTSs=Module["__ZTSs"]=34048;var __ZTSPs=Module["__ZTSPs"]=34060;var __ZTIPs=Module["__ZTIPs"]=34064;var __ZTSPKs=Module["__ZTSPKs"]=34080;var __ZTIPKs=Module["__ZTIPKs"]=34084;var __ZTSt=Module["__ZTSt"]=34100;var __ZTSPt=Module["__ZTSPt"]=34112;var __ZTIPt=Module["__ZTIPt"]=34116;var __ZTSPKt=Module["__ZTSPKt"]=34132;var __ZTIPKt=Module["__ZTIPKt"]=34136;var __ZTSi=Module["__ZTSi"]=34152;var __ZTSPi=Module["__ZTSPi"]=34164;var __ZTIPi=Module["__ZTIPi"]=34168;var __ZTSPKi=Module["__ZTSPKi"]=34184;var __ZTIPKi=Module["__ZTIPKi"]=34188;var __ZTSj=Module["__ZTSj"]=34204;var __ZTSPj=Module["__ZTSPj"]=34216;var __ZTIPj=Module["__ZTIPj"]=34220;var __ZTSPKj=Module["__ZTSPKj"]=34236;var __ZTIPKj=Module["__ZTIPKj"]=34240;var __ZTSl=Module["__ZTSl"]=34256;var __ZTSPl=Module["__ZTSPl"]=34268;var __ZTIPl=Module["__ZTIPl"]=34272;var __ZTSPKl=Module["__ZTSPKl"]=34288;var __ZTIPKl=Module["__ZTIPKl"]=34292;var __ZTSm=Module["__ZTSm"]=34308;var __ZTSPm=Module["__ZTSPm"]=34320;var __ZTIPm=Module["__ZTIPm"]=34324;var __ZTSPKm=Module["__ZTSPKm"]=34340;var __ZTIPKm=Module["__ZTIPKm"]=34344;var __ZTSx=Module["__ZTSx"]=34360;var __ZTSPx=Module["__ZTSPx"]=34372;var __ZTIPx=Module["__ZTIPx"]=34376;var __ZTSPKx=Module["__ZTSPKx"]=34392;var __ZTIPKx=Module["__ZTIPKx"]=34396;var __ZTSy=Module["__ZTSy"]=34412;var __ZTSPy=Module["__ZTSPy"]=34424;var __ZTIPy=Module["__ZTIPy"]=34428;var __ZTSPKy=Module["__ZTSPKy"]=34444;var __ZTIPKy=Module["__ZTIPKy"]=34448;var __ZTSn=Module["__ZTSn"]=34464;var __ZTIn=Module["__ZTIn"]=34468;var __ZTSPn=Module["__ZTSPn"]=34476;var __ZTIPn=Module["__ZTIPn"]=34480;var __ZTSPKn=Module["__ZTSPKn"]=34496;var __ZTIPKn=Module["__ZTIPKn"]=34500;var __ZTSo=Module["__ZTSo"]=34516;var __ZTIo=Module["__ZTIo"]=34520;var __ZTSPo=Module["__ZTSPo"]=34528;var __ZTIPo=Module["__ZTIPo"]=34532;var __ZTSPKo=Module["__ZTSPKo"]=34548;var __ZTIPKo=Module["__ZTIPKo"]=34552;var __ZTSDh=Module["__ZTSDh"]=34568;var __ZTIDh=Module["__ZTIDh"]=34572;var __ZTSPDh=Module["__ZTSPDh"]=34580;var __ZTIPDh=Module["__ZTIPDh"]=34584;var __ZTSPKDh=Module["__ZTSPKDh"]=34600;var __ZTIPKDh=Module["__ZTIPKDh"]=34608;var __ZTSf=Module["__ZTSf"]=34624;var __ZTSPf=Module["__ZTSPf"]=34636;var __ZTIPf=Module["__ZTIPf"]=34640;var __ZTSPKf=Module["__ZTSPKf"]=34656;var __ZTIPKf=Module["__ZTIPKf"]=34660;var __ZTSd=Module["__ZTSd"]=34676;var __ZTSPd=Module["__ZTSPd"]=34688;var __ZTIPd=Module["__ZTIPd"]=34692;var __ZTSPKd=Module["__ZTSPKd"]=34708;var __ZTIPKd=Module["__ZTIPKd"]=34712;var __ZTSe=Module["__ZTSe"]=34728;var __ZTIe=Module["__ZTIe"]=34732;var __ZTSPe=Module["__ZTSPe"]=34740;var __ZTIPe=Module["__ZTIPe"]=34744;var __ZTSPKe=Module["__ZTSPKe"]=34760;var __ZTIPKe=Module["__ZTIPKe"]=34764;var __ZTSg=Module["__ZTSg"]=34780;var __ZTIg=Module["__ZTIg"]=34784;var __ZTSPg=Module["__ZTSPg"]=34792;var __ZTIPg=Module["__ZTIPg"]=34796;var __ZTSPKg=Module["__ZTSPKg"]=34812;var __ZTIPKg=Module["__ZTIPKg"]=34816;var __ZTSDu=Module["__ZTSDu"]=34832;var __ZTIDu=Module["__ZTIDu"]=34836;var __ZTSPDu=Module["__ZTSPDu"]=34844;var __ZTIPDu=Module["__ZTIPDu"]=34848;var __ZTSPKDu=Module["__ZTSPKDu"]=34864;var __ZTIPKDu=Module["__ZTIPKDu"]=34872;var __ZTSDs=Module["__ZTSDs"]=34888;var __ZTIDs=Module["__ZTIDs"]=34892;var __ZTSPDs=Module["__ZTSPDs"]=34900;var __ZTIPDs=Module["__ZTIPDs"]=34904;var __ZTSPKDs=Module["__ZTSPKDs"]=34920;var __ZTIPKDs=Module["__ZTIPKDs"]=34928;var __ZTSDi=Module["__ZTSDi"]=34944;var __ZTIDi=Module["__ZTIDi"]=34948;var __ZTSPDi=Module["__ZTSPDi"]=34956;var __ZTIPDi=Module["__ZTIPDi"]=34960;var __ZTSPKDi=Module["__ZTSPKDi"]=34976;var __ZTIPKDi=Module["__ZTIPKDi"]=34984;var __ZTVN10__cxxabiv117__array_type_infoE=Module["__ZTVN10__cxxabiv117__array_type_infoE"]=35e3;var __ZTIN10__cxxabiv117__array_type_infoE=Module["__ZTIN10__cxxabiv117__array_type_infoE"]=35064;var __ZTSN10__cxxabiv117__array_type_infoE=Module["__ZTSN10__cxxabiv117__array_type_infoE"]=35028;var __ZTVN10__cxxabiv120__function_type_infoE=Module["__ZTVN10__cxxabiv120__function_type_infoE"]=35076;var __ZTVN10__cxxabiv116__enum_type_infoE=Module["__ZTVN10__cxxabiv116__enum_type_infoE"]=35104;var __ZTIN10__cxxabiv116__enum_type_infoE=Module["__ZTIN10__cxxabiv116__enum_type_infoE"]=35168;var __ZTSN10__cxxabiv116__enum_type_infoE=Module["__ZTSN10__cxxabiv116__enum_type_infoE"]=35132;var __ZTIN10__cxxabiv120__si_class_type_infoE=Module["__ZTIN10__cxxabiv120__si_class_type_infoE"]=35300;var __ZTSN10__cxxabiv120__si_class_type_infoE=Module["__ZTSN10__cxxabiv120__si_class_type_infoE"]=35260;var __ZTIN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTIN10__cxxabiv121__vmi_class_type_infoE"]=35392;var __ZTSN10__cxxabiv121__vmi_class_type_infoE=Module["__ZTSN10__cxxabiv121__vmi_class_type_infoE"]=35352;var __ZTVN10__cxxabiv117__pbase_type_infoE=Module["__ZTVN10__cxxabiv117__pbase_type_infoE"]=35404;var __ZTVN10__cxxabiv129__pointer_to_member_type_infoE=Module["__ZTVN10__cxxabiv129__pointer_to_member_type_infoE"]=35460;var __ZTVSt9bad_alloc=Module["__ZTVSt9bad_alloc"]=35488;var __ZTVSt20bad_array_new_length=Module["__ZTVSt20bad_array_new_length"]=35508;var __ZTISt9bad_alloc=Module["__ZTISt9bad_alloc"]=35640;var __ZTSSt9exception=Module["__ZTSSt9exception"]=35548;var __ZTVSt13bad_exception=Module["__ZTVSt13bad_exception"]=35572;var __ZTISt13bad_exception=Module["__ZTISt13bad_exception"]=35612;var __ZTSSt13bad_exception=Module["__ZTSSt13bad_exception"]=35592;var __ZTSSt9bad_alloc=Module["__ZTSSt9bad_alloc"]=35624;var __ZTSSt20bad_array_new_length=Module["__ZTSSt20bad_array_new_length"]=35652;var __ZTISt11logic_error=Module["__ZTISt11logic_error"]=35788;var __ZTISt13runtime_error=Module["__ZTISt13runtime_error"]=36028;var __ZTVSt12domain_error=Module["__ZTVSt12domain_error"]=35732;var __ZTISt12domain_error=Module["__ZTISt12domain_error"]=35800;var __ZTSSt12domain_error=Module["__ZTSSt12domain_error"]=35752;var __ZTSSt11logic_error=Module["__ZTSSt11logic_error"]=35769;var __ZTVSt16invalid_argument=Module["__ZTVSt16invalid_argument"]=35812;var __ZTISt16invalid_argument=Module["__ZTISt16invalid_argument"]=35856;var __ZTSSt16invalid_argument=Module["__ZTSSt16invalid_argument"]=35832;var __ZTSSt12length_error=Module["__ZTSSt12length_error"]=35888;var __ZTSSt12out_of_range=Module["__ZTSSt12out_of_range"]=35940;var __ZTVSt11range_error=Module["__ZTVSt11range_error"]=35972;var __ZTISt11range_error=Module["__ZTISt11range_error"]=36040;var __ZTSSt11range_error=Module["__ZTSSt11range_error"]=35992;var __ZTSSt13runtime_error=Module["__ZTSSt13runtime_error"]=36008;var __ZTVSt14overflow_error=Module["__ZTVSt14overflow_error"]=36052;var __ZTISt14overflow_error=Module["__ZTISt14overflow_error"]=36092;var __ZTSSt14overflow_error=Module["__ZTSSt14overflow_error"]=36072;var __ZTVSt15underflow_error=Module["__ZTVSt15underflow_error"]=36104;var __ZTISt15underflow_error=Module["__ZTISt15underflow_error"]=36144;var __ZTSSt15underflow_error=Module["__ZTSSt15underflow_error"]=36124;var __ZTVSt8bad_cast=Module["__ZTVSt8bad_cast"]=36156;var __ZTVSt10bad_typeid=Module["__ZTVSt10bad_typeid"]=36176;var __ZTISt8bad_cast=Module["__ZTISt8bad_cast"]=36248;var __ZTISt10bad_typeid=Module["__ZTISt10bad_typeid"]=36276;var __ZTVSt9type_info=Module["__ZTVSt9type_info"]=36196;var __ZTSSt9type_info=Module["__ZTSSt9type_info"]=36212;var __ZTSSt8bad_cast=Module["__ZTSSt8bad_cast"]=36236;var __ZTSSt10bad_typeid=Module["__ZTSSt10bad_typeid"]=36260;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); diff --git a/public/en/config/failsafe/index.wasm b/public/en/config/failsafe/index.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7c4d3e889d09126c3105de9f397145fd28770982 GIT binary patch literal 162658 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 hs<#e1-uc5CCkvU*{{wC=ku?AS literal 0 HcmV?d00001 diff --git a/public/en/config/failsafe/parameters.json b/public/en/config/failsafe/parameters.json new file mode 100644 index 000000000000..c5fffc788a35 --- /dev/null +++ b/public/en/config/failsafe/parameters.json @@ -0,0 +1 @@ +{"parameters": [{"category": "Standard", "default": 75, "group": "UAVCAN Motor Parameters", "longDesc": "Speed controller bandwidth, in Hz. Higher values result in faster speed and current rise times, but may result in overshoot and higher current consumption. For fixed-wing aircraft, this value should be less than 50 Hz; for multirotors, values up to 100 Hz may provide improvements in responsiveness.", "max": 250, "min": 10, "name": "ctl_bw", "shortDesc": "Speed controller bandwidth", "type": "Int32", "units": "Hz"}, {"category": "Standard", "default": 1, "group": "UAVCAN Motor Parameters", "longDesc": "Motor spin direction as detected during initial enumeration. Use 0 or 1 to reverse direction.", "max": 1, "min": 0, "name": "ctl_dir", "shortDesc": "Reverse direction", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "UAVCAN Motor Parameters", "longDesc": "Speed (RPM) controller gain. Determines controller\n aggressiveness; units are amp-seconds per radian. Systems with\n higher rotational inertia (large props) will need gain increased;\n systems with low rotational inertia (small props) may need gain\n decreased. Higher values result in faster response, but may result\n in oscillation and excessive overshoot. Lower values result in a\n slower, smoother response.", "max": 1.0, "min": 0.0, "name": "ctl_gain", "shortDesc": "Speed (RPM) controller gain", "type": "Float", "units": "C/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 3.5, "group": "UAVCAN Motor Parameters", "longDesc": "Idle speed (e Hz)", "max": 100.0, "min": 0.0, "name": "ctl_hz_idle", "shortDesc": "Idle speed (e Hz)", "type": "Float", "units": "Hz"}, {"category": "Standard", "default": 25, "group": "UAVCAN Motor Parameters", "longDesc": "Spin-up rate (e Hz/s)", "max": 1000, "min": 5, "name": "ctl_start_rate", "shortDesc": "Spin-up rate (e Hz/s)", "type": "Int32", "units": "1/s^2"}, {"category": "Standard", "default": 0, "group": "UAVCAN Motor Parameters", "longDesc": "Index of this ESC in throttle command messages.", "max": 15, "min": 0, "name": "esc_index", "shortDesc": "Index of this ESC in throttle command messages.", "type": "Int32"}, {"category": "Standard", "default": 20034, "group": "UAVCAN Motor Parameters", "longDesc": "Extended status ID", "max": 1000000, "min": 1, "name": "id_ext_status", "shortDesc": "Extended status ID", "type": "Int32"}, {"category": "Standard", "default": 50000, "group": "UAVCAN Motor Parameters", "longDesc": "Extended status interval (\u00b5s)", "max": 1000000, "min": 0, "name": "int_ext_status", "shortDesc": "Extended status interval (\u00b5s)", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 50000, "group": "UAVCAN Motor Parameters", "longDesc": "ESC status interval (\u00b5s)", "max": 1000000, "name": "int_status", "shortDesc": "ESC status interval (\u00b5s)", "type": "Int32", "units": "us"}, {"category": "Standard", "decimalPlaces": 3, "default": 12.0, "group": "UAVCAN Motor Parameters", "longDesc": "Motor current limit in amps. This determines the maximum\n current controller setpoint, as well as the maximum allowable\n current setpoint slew rate. This value should generally be set to\n the continuous current rating listed in the motor\u2019s specification\n sheet, or set equal to the motor\u2019s specified continuous power\n divided by the motor voltage limit.", "max": 80.0, "min": 1.0, "name": "mot_i_max", "shortDesc": "Motor current limit in amps", "type": "Float", "units": "A"}, {"category": "Standard", "default": 2300, "group": "UAVCAN Motor Parameters", "longDesc": "Motor Kv in RPM per volt. This can be taken from the motor\u2019s\n specification sheet; accuracy will help control performance but\n some deviation from the specified value is acceptable.", "max": 4000, "min": 0, "name": "mot_kv", "shortDesc": "Motor Kv in RPM per volt", "type": "Int32", "units": "rpm/V"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "UAVCAN Motor Parameters", "longDesc": "READ ONLY: Motor inductance in henries. This is measured on start-up.", "name": "mot_ls", "shortDesc": "READ ONLY: Motor inductance in henries.", "type": "Float", "units": "H"}, {"category": "Standard", "default": 14, "group": "UAVCAN Motor Parameters", "longDesc": "Number of motor poles. Used to convert mechanical speeds to\n electrical speeds. This number should be taken from the motor\u2019s\n specification sheet.", "max": 40, "min": 2, "name": "mot_num_poles", "shortDesc": "Number of motor poles.", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "UAVCAN Motor Parameters", "longDesc": "READ ONLY: Motor resistance in ohms. This is measured on start-up. When\n tuning a new motor, check that this value is approximately equal\n to the value shown in the motor\u2019s specification sheet.", "name": "mot_rs", "shortDesc": "READ ONLY: Motor resistance in ohms", "type": "Float", "units": "Ohm"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "UAVCAN Motor Parameters", "longDesc": "Acceleration limit (V)", "max": 1.0, "min": 0.01, "name": "mot_v_accel", "shortDesc": "Acceleration limit (V)", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 3, "default": 14.8, "group": "UAVCAN Motor Parameters", "longDesc": "Motor voltage limit in volts. The current controller\u2019s\n commanded voltage will never exceed this value. Note that this may\n safely be above the nominal voltage of the motor; to determine the\n actual motor voltage limit, divide the motor\u2019s rated power by the\n motor current limit.", "min": 0.0, "name": "mot_v_max", "shortDesc": "Motor voltage limit in volts", "type": "Float", "units": "V"}, {"category": "Standard", "default": 2, "group": "UAVCAN GNSS", "longDesc": "Dynamic model used in the GNSS positioning engine. 0 \u2013\n Automotive, 1 \u2013 Sea, 2 \u2013 Airborne.\n ", "max": 2, "min": 0, "name": "gnss.dyn_model", "shortDesc": "GNSS dynamic model", "type": "Int32", "values": [{"description": "Automotive", "value": 0}, {"description": "Sea", "value": 1}, {"description": "Airborne", "value": 2}]}, {"category": "Standard", "default": 1, "group": "UAVCAN GNSS", "longDesc": "Broadcast the old (deprecated) GNSS fix message\n uavcan.equipment.gnss.Fix alongside the new alternative\n uavcan.equipment.gnss.Fix2. It is recommended to\n disable this feature to reduce the CAN bus traffic.\n ", "max": 1, "min": 0, "name": "gnss.old_fix_msg", "shortDesc": "Broadcast old GNSS fix message", "type": "Int32", "values": [{"description": "Fix2", "value": 0}, {"description": "Fix and Fix2", "value": 1}]}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the dimensionality of\n the GNSS solution is less than this value. 3 for the full (3D)\n solution, 2 for planar (2D) solution, 1 for time-only solution,\n 0 disables the feature.\n ", "max": 3, "min": 0, "name": "gnss.warn_dimens", "shortDesc": "device health warning", "type": "Int32", "values": [{"description": "disables the feature", "value": 0}, {"description": "time-only solution", "value": 1}, {"description": "planar (2D) solution", "value": 2}, {"description": "full (3D) solution", "value": 3}]}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the number of satellites\n used in the GNSS solution is below this threshold. Zero\n disables the feature\n ", "name": "gnss.warn_sats", "shortDesc": "", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "UAVCAN GNSS", "longDesc": "Set the device health to Warning if the number of satellites\n used in the GNSS solution is below this threshold. Zero\n disables the feature\n ", "max": 1000000, "min": 0, "name": "uavcan.pubp-pres", "shortDesc": "", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets first 4 characters of a total of 8. Valid characters are A-Z, 0-9, \" \". Example \"PX4 \" -> 1347957792 For CALLSIGN shorter than 8 characters use the null terminator at the end '\\0'.", "name": "ADSB_CALLSIGN_1", "rebootRequired": true, "shortDesc": "First 4 characters of CALLSIGN", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets second 4 characters of a total of 8. Valid characters are A-Z, 0-9, \" \" only. Example \"TEST\" -> 1413829460 For CALLSIGN shorter than 8 characters use the null terminator at the end '\\0'.", "name": "ADSB_CALLSIGN_2", "rebootRequired": true, "shortDesc": "Second 4 characters of CALLSIGN", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets the vehicle emergency state", "max": 6, "min": 0, "name": "ADSB_EMERGC", "rebootRequired": true, "shortDesc": "ADSB-Out Emergency State", "type": "Int32", "values": [{"description": "NoEmergency", "value": 0}, {"description": "General", "value": 1}, {"description": "Medical", "value": 2}, {"description": "LowFuel", "value": 3}, {"description": "NoCommunications", "value": 4}, {"description": "Interference", "value": 5}, {"description": "Downed", "value": 6}]}, {"category": "Standard", "default": 14, "group": "ADSB", "longDesc": "Configure the emitter type of the vehicle.", "max": 15, "min": 0, "name": "ADSB_EMIT_TYPE", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Emitter Type", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "Light", "value": 1}, {"description": "Small", "value": 2}, {"description": "Large", "value": 3}, {"description": "HighVortex", "value": 4}, {"description": "Heavy", "value": 5}, {"description": "Performance", "value": 6}, {"description": "Rotorcraft", "value": 7}, {"description": "RESERVED", "value": 8}, {"description": "Glider", "value": 9}, {"description": "LightAir", "value": 10}, {"description": "Parachute", "value": 11}, {"description": "UltraLight", "value": 12}, {"description": "RESERVED", "value": 13}, {"description": "UAV", "value": 14}, {"description": "Space", "value": 15}, {"description": "RESERVED", "value": 16}, {"description": "EmergencySurf", "value": 17}, {"description": "ServiceSurf", "value": 18}, {"description": "PointObstacle", "value": 19}]}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets GPS lataral offset encoding", "max": 7, "min": 0, "name": "ADSB_GPS_OFF_LAT", "rebootRequired": true, "shortDesc": "ADSB-Out GPS Offset lat", "type": "Int32", "values": [{"description": "NoData", "value": 0}, {"description": "LatLeft2M", "value": 1}, {"description": "LatLeft4M", "value": 2}, {"description": "LatLeft6M", "value": 3}, {"description": "LatRight0M", "value": 4}, {"description": "LatRight2M", "value": 5}, {"description": "LatRight4M", "value": 6}, {"description": "LatRight6M", "value": 7}]}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Sets GPS longitudinal offset encoding", "max": 1, "min": 0, "name": "ADSB_GPS_OFF_LON", "rebootRequired": true, "shortDesc": "ADSB-Out GPS Offset lon", "type": "Int32", "values": [{"description": "NoData", "value": 0}, {"description": "AppliedBySensor", "value": 1}]}, {"category": "Standard", "default": 1194684, "group": "ADSB", "longDesc": "Defines the ICAO ID of the vehicle", "max": 16777215, "min": -1, "name": "ADSB_ICAO_ID", "rebootRequired": true, "shortDesc": "ADSB-Out ICAO configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "This vehicle is always tracked. Use 0 to disable.", "max": 16777215, "min": 0, "name": "ADSB_ICAO_SPECL", "rebootRequired": true, "shortDesc": "ADSB-In Special ICAO configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Enable Identification of Position feature", "name": "ADSB_IDENT", "rebootRequired": true, "shortDesc": "ADSB-Out Ident Configuration", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "ADSB", "longDesc": "Report the length and width of the vehicle in meters. In most cases, use '1' for the smallest vehicle size.", "max": 15, "min": 0, "name": "ADSB_LEN_WIDTH", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Size Configuration", "type": "Int32", "values": [{"description": "SizeUnknown", "value": 0}, {"description": "Len15_Wid23", "value": 1}, {"description": "Len25_Wid28", "value": 2}, {"description": "Len25_Wid34", "value": 3}, {"description": "Len35_Wid33", "value": 4}, {"description": "Len35_Wid38", "value": 5}, {"description": "Len45_Wid39", "value": 6}, {"description": "Len45_Wid45", "value": 7}, {"description": "Len55_Wid45", "value": 8}, {"description": "Len55_Wid52", "value": 9}, {"description": "Len65_Wid59", "value": 10}, {"description": "Len65_Wid67", "value": 11}, {"description": "Len75_Wid72", "value": 12}, {"description": "Len75_Wid80", "value": 13}, {"description": "Len85_Wid80", "value": 14}, {"description": "Len85_Wid90", "value": 15}]}, {"category": "Standard", "default": 25, "group": "ADSB", "longDesc": "Change number of targets to track", "max": 50, "min": 0, "name": "ADSB_LIST_MAX", "rebootRequired": true, "shortDesc": "ADSB-In Vehicle List Size", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "ADSB", "longDesc": "Informs ADSB vehicles of this vehicle's max speed capability", "max": 6, "min": 0, "name": "ADSB_MAX_SPEED", "rebootRequired": true, "shortDesc": "ADSB-Out Vehicle Max Speed", "type": "Int32", "values": [{"description": "UnknownMaxSpeed", "value": 0}, {"description": "75Kts", "value": 1}, {"description": "150Kts", "value": 2}, {"description": "300Kts", "value": 3}, {"description": "600Kts", "value": 4}, {"description": "1200Kts", "value": 5}, {"description": "Over1200Kts", "value": 6}]}, {"category": "Standard", "default": 1200, "group": "ADSB", "longDesc": "This parameter defines the squawk code. Value should be between 0000 and 7777.", "max": 7777, "min": 0, "name": "ADSB_SQUAWK", "rebootRequired": true, "shortDesc": "ADSB-Out squawk code configuration", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 1. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC1", "shortDesc": "SIM Channel 1 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 10. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC10", "shortDesc": "SIM Channel 10 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 11. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC11", "shortDesc": "SIM Channel 11 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 12. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC12", "shortDesc": "SIM Channel 12 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 13. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC13", "shortDesc": "SIM Channel 13 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 14. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC14", "shortDesc": "SIM Channel 14 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 15. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC15", "shortDesc": "SIM Channel 15 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 16. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC16", "shortDesc": "SIM Channel 16 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 2. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC2", "shortDesc": "SIM Channel 2 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 3. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC3", "shortDesc": "SIM Channel 3 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 4. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC4", "shortDesc": "SIM Channel 4 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 5. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC5", "shortDesc": "SIM Channel 5 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 6. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC6", "shortDesc": "SIM Channel 6 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 7. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC7", "shortDesc": "SIM Channel 7 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 8. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC8", "shortDesc": "SIM Channel 8 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Select what should be output on SIM Channel 9. The default failsafe value is set according to the selected function: - 'Min' for ConstantMin - 'Max' for ConstantMax - 'Max' for Parachute - ('Max'+'Min')/2 for Servos - 'Disarmed' for the rest", "name": "PWM_MAIN_FUNC9", "shortDesc": "SIM Channel 9 Output Function", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Constant Min", "value": 1}, {"description": "Constant Max", "value": 2}, {"description": "Motor 1", "value": 101}, {"description": "Motor 2", "value": 102}, {"description": "Motor 3", "value": 103}, {"description": "Motor 4", "value": 104}, {"description": "Motor 5", "value": 105}, {"description": "Motor 6", "value": 106}, {"description": "Motor 7", "value": 107}, {"description": "Motor 8", "value": 108}, {"description": "Motor 9", "value": 109}, {"description": "Motor 10", "value": 110}, {"description": "Motor 11", "value": 111}, {"description": "Motor 12", "value": 112}, {"description": "Servo 1", "value": 201}, {"description": "Servo 2", "value": 202}, {"description": "Servo 3", "value": 203}, {"description": "Servo 4", "value": 204}, {"description": "Servo 5", "value": 205}, {"description": "Servo 6", "value": 206}, {"description": "Servo 7", "value": 207}, {"description": "Servo 8", "value": 208}, {"description": "Peripheral via Actuator Set 1", "value": 301}, {"description": "Peripheral via Actuator Set 2", "value": 302}, {"description": "Peripheral via Actuator Set 3", "value": 303}, {"description": "Peripheral via Actuator Set 4", "value": 304}, {"description": "Peripheral via Actuator Set 5", "value": 305}, {"description": "Peripheral via Actuator Set 6", "value": 306}, {"description": "Landing Gear", "value": 400}, {"description": "Parachute", "value": 401}, {"description": "RC Roll", "value": 402}, {"description": "RC Pitch", "value": 403}, {"description": "RC Throttle", "value": 404}, {"description": "RC Yaw", "value": 405}, {"description": "RC Flaps", "value": 406}, {"description": "RC AUX 1", "value": 407}, {"description": "RC AUX 2", "value": 408}, {"description": "RC AUX 3", "value": 409}, {"description": "RC AUX 4", "value": 410}, {"description": "RC AUX 5", "value": 411}, {"description": "RC AUX 6", "value": 412}, {"description": "Gimbal Roll", "value": 420}, {"description": "Gimbal Pitch", "value": 421}, {"description": "Gimbal Yaw", "value": 422}, {"description": "Gripper", "value": 430}, {"description": "Landing Gear Wheel", "value": 440}]}, {"bitmask": [{"description": "SIM Channel 1", "index": 0}, {"description": "SIM Channel 2", "index": 1}, {"description": "SIM Channel 3", "index": 2}, {"description": "SIM Channel 4", "index": 3}, {"description": "SIM Channel 5", "index": 4}, {"description": "SIM Channel 6", "index": 5}, {"description": "SIM Channel 7", "index": 6}, {"description": "SIM Channel 8", "index": 7}, {"description": "SIM Channel 9", "index": 8}, {"description": "SIM Channel 10", "index": 9}, {"description": "SIM Channel 11", "index": 10}, {"description": "SIM Channel 12", "index": 11}, {"description": "SIM Channel 13", "index": 12}, {"description": "SIM Channel 14", "index": 13}, {"description": "SIM Channel 15", "index": 14}, {"description": "SIM Channel 16", "index": 15}], "category": "Standard", "default": 0, "group": "Actuator Outputs", "longDesc": "Allows to reverse the output range for each channel. Note: this is only useful for servos.", "max": 65535, "min": 0, "name": "PWM_MAIN_REV", "shortDesc": "Reverse Output Range for SIM", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "Airspeed Validator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 5, "min": 1, "name": "ASPD_BETA_GATE", "shortDesc": "Gate size for sideslip angle fusion", "type": "Int32", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Airspeed Validator", "longDesc": "Sideslip measurement noise of the internal wind estimator(s) of the airspeed selector.", "max": 1.0, "min": 0.0, "name": "ASPD_BETA_NOISE", "shortDesc": "Wind estimator sideslip measurement noise", "type": "Float", "units": "rad"}, {"bitmask": [{"description": "Only data missing check (triggers if more than 1s no data)", "index": 0}, {"description": "Data stuck (triggers if data is exactly constant for 2s in FW mode)", "index": 1}, {"description": "Innovation check (see ASPD_FS_INNOV)", "index": 2}, {"description": "Load factor check (triggers if measurement is below stall speed)", "index": 3}], "category": "Standard", "default": 7, "group": "Airspeed Validator", "longDesc": "Controls which checks are run to check airspeed data for validity. Only applied if ASPD_PRIMARY > 0.", "max": 15, "min": 0, "name": "ASPD_DO_CHECKS", "shortDesc": "Enable checks on airspeed sensors", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Airspeed Validator", "longDesc": "If set to true and airspeed checks are enabled, it will use a sensor-less airspeed estimation based on groundspeed minus windspeed if no other airspeed sensor available to fall back to.", "name": "ASPD_FALLBACK_GW", "shortDesc": "Enable fallback to sensor-less airspeed estimation", "type": "Int32", "values": [{"description": "Disable fallback to sensor-less estimation", "value": 0}, {"description": "Enable fallback to sensor-less estimation", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Airspeed Validator", "longDesc": "This specifies the minimum airspeed innovation required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Large innovations indicate an inconsistency between predicted (groundspeed - windspeeed) and measured airspeed. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the ASPD_FS_INTEG parameter.", "max": 10.0, "min": 0.5, "name": "ASPD_FS_INNOV", "shortDesc": "Airspeed failure innovation threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Airspeed Validator", "longDesc": "This sets the time integral of airspeed innovation exceedance above ASPD_FS_INNOV required to trigger a failsafe. Larger values make the check less sensitive, smaller positive values make it more sensitive.", "max": 50.0, "min": 0.0, "name": "ASPD_FS_INTEG", "shortDesc": "Airspeed failure innovation integral threshold", "type": "Float", "units": "m"}, {"category": "Standard", "default": -1, "group": "Airspeed Validator", "longDesc": "Delay before switching back to using airspeed sensor if checks indicate sensor is good. Set to a negative value to disable the re-enabling in flight.", "max": 1000, "min": -1, "name": "ASPD_FS_T_START", "shortDesc": "Airspeed failsafe start delay", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 2, "group": "Airspeed Validator", "longDesc": "Delay before stopping use of airspeed sensor if checks indicate sensor is bad.", "max": 10, "min": 1, "name": "ASPD_FS_T_STOP", "shortDesc": "Airspeed failsafe stop delay", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 1, "group": "Airspeed Validator", "name": "ASPD_PRIMARY", "rebootRequired": true, "shortDesc": "Index or primary airspeed measurement source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Groundspeed minus windspeed", "value": 0}, {"description": "First airspeed sensor", "value": 1}, {"description": "Second airspeed sensor", "value": 2}, {"description": "Third airspeed sensor", "value": 3}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the first airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_1", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 1", "type": "Float", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the second airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_2", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 2", "type": "Float", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Airspeed Validator", "longDesc": "This is the scale IAS --> CAS of the third airspeed sensor instance", "max": 2.0, "min": 0.5, "name": "ASPD_SCALE_3", "rebootRequired": true, "shortDesc": "Scale of airspeed sensor 3", "type": "Float", "volatile": true}, {"category": "Standard", "default": 2, "group": "Airspeed Validator", "name": "ASPD_SCALE_APPLY", "shortDesc": "Controls when to apply the new estimated airspeed scale(s)", "type": "Int32", "values": [{"description": "Do not automatically apply the estimated scale", "value": 0}, {"description": "Apply the estimated scale after disarm", "value": 1}, {"description": "Apply the estimated scale in air", "value": 2}]}, {"category": "Standard", "decimalPlaces": 5, "default": 0.0001, "group": "Airspeed Validator", "longDesc": "Airspeed scale process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the scale uncertainty (1-sigma, unitless) increases by this amount every second.", "max": 0.1, "min": 0.0, "name": "ASPD_SCALE_NSD", "shortDesc": "Wind estimator true airspeed scale process noise spectral density", "type": "Float", "units": "1/s/sqrt(Hz)"}, {"category": "Standard", "default": 4, "group": "Airspeed Validator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 5, "min": 1, "name": "ASPD_TAS_GATE", "shortDesc": "Gate size for true airspeed fusion", "type": "Int32", "units": "SD"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.4, "group": "Airspeed Validator", "longDesc": "True airspeed measurement noise of the internal wind estimator(s) of the airspeed selector.", "max": 4.0, "min": 0.0, "name": "ASPD_TAS_NOISE", "shortDesc": "Wind estimator true airspeed measurement noise", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.55, "group": "Airspeed Validator", "longDesc": "The synthetic airspeed estimate (from groundspeed and heading) will be declared valid as soon and as long the horizontal wind uncertainty is below this value.", "max": 5.0, "min": 0.001, "name": "ASPD_WERR_THR", "shortDesc": "Horizontal wind uncertainty threshold for synthetic airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Airspeed Validator", "longDesc": "Wind process noise of the internal wind estimator(s) of the airspeed selector. When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.", "max": 1.0, "min": 0.0, "name": "ASPD_WIND_NSD", "shortDesc": "Wind estimator wind process noise spectral density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "default": 0, "group": "Attitude Q estimator", "name": "ATT_ACC_COMP", "shortDesc": "Acceleration compensation based on GPS velocity", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Attitude Q estimator", "max": 2.0, "min": 0.0, "name": "ATT_BIAS_MAX", "shortDesc": "Gyro bias limit", "type": "Float", "units": "rad/s"}, {"category": "Standard", "default": 0, "group": "Attitude Q estimator", "longDesc": "Set to 1 to use heading estimate from vision. Set to 2 to use heading from motion capture.", "max": 2, "min": 0, "name": "ATT_EXT_HDG_M", "shortDesc": "External heading usage mode (from Motion capture/Vision)", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Vision", "value": 1}, {"description": "Motion Capture", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Attitude Q estimator", "longDesc": "This parameter is not used in normal operation, as the declination is looked up based on the GPS coordinates of the vehicle.", "name": "ATT_MAG_DECL", "shortDesc": "Magnetic declination, in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 1, "group": "Attitude Q estimator", "name": "ATT_MAG_DECL_A", "shortDesc": "Automatic GPS based declination compensation", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_ACC", "shortDesc": "Complimentary filter accelerometer weight", "type": "Float"}, {"category": "Standard", "default": 0.1, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_EXT_HDG", "shortDesc": "Complimentary filter external heading weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Attitude Q estimator", "max": 1.0, "min": 0.0, "name": "ATT_W_GYRO_BIAS", "shortDesc": "Complimentary filter gyroscope bias weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Attitude Q estimator", "longDesc": "Set to 0 to avoid using the magnetometer.", "max": 1.0, "min": 0.0, "name": "ATT_W_MAG", "shortDesc": "Complimentary filter magnetometer weight", "type": "Float"}, {"category": "Standard", "default": 2, "group": "Autotune", "longDesc": "After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing.", "name": "FW_AT_APPLY", "shortDesc": "Controls when to apply the new gains", "type": "Int32", "values": [{"description": "Do not apply the new gains (logging only)", "value": 0}, {"description": "Apply the new gains after disarm", "value": 1}, {"description": "Apply the new gains in air", "value": 2}]}, {"bitmask": [{"description": "roll", "index": 0}, {"description": "pitch", "index": 1}, {"description": "yaw", "index": 2}], "category": "Standard", "default": 3, "group": "Autotune", "longDesc": "Defines which axes will be tuned during the auto-tuning sequence Set bits in the following positions to enable: 0 : Roll 1 : Pitch 2 : Yaw", "max": 7, "min": 1, "name": "FW_AT_AXES", "shortDesc": "Tuning axes selection", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "Defines which RC_MAP_AUXn parameter maps the RC channel used to enable/disable auto tuning.", "max": 6, "min": 0, "name": "FW_AT_MAN_AUX", "shortDesc": "Enable/disable auto tuning using an RC AUX input", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Aux1", "value": 1}, {"description": "Aux2", "value": 2}, {"description": "Aux3", "value": 3}, {"description": "Aux4", "value": 4}, {"description": "Aux5", "value": 5}, {"description": "Aux6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using FW_AT_SYSID_AMP for more signal/noise ratio", "name": "FW_AT_START", "shortDesc": "Start the autotuning sequence", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Autotune", "longDesc": "This parameter scales the signal sent to the rate controller during system identification.", "max": 6.0, "min": 0.1, "name": "FW_AT_SYSID_AMP", "shortDesc": "Amplitude of the injected signal", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Autotune", "longDesc": "After the auto-tuning sequence is completed, a new set of gains is available and can be applied immediately or after landing. WARNING Applying the gains in air is dangerous as there is no guarantee that those new gains will be able to stabilize the drone properly.", "name": "MC_AT_APPLY", "shortDesc": "Controls when to apply the new gains", "type": "Int32", "values": [{"description": "Do not apply the new gains (logging only)", "value": 0}, {"description": "Apply the new gains after disarm", "value": 1}, {"description": "WARNING Apply the new gains in air", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Autotune", "name": "MC_AT_EN", "shortDesc": "Multicopter autotune module enable", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.14, "group": "Autotune", "max": 0.5, "min": 0.01, "name": "MC_AT_RISE_TIME", "shortDesc": "Desired angular rate closed-loop rise time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Autotune", "longDesc": "WARNING: this will inject steps to the rate controller and can be dangerous. Only activate if you know what you are doing, and in a safe environment. Any motion of the remote stick will abort the signal injection and reset this parameter Best is to perform the identification in position or hold mode. Increase the amplitude of the injected signal using MC_AT_SYSID_AMP for more signal/noise ratio", "name": "MC_AT_START", "shortDesc": "Start the autotuning sequence", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.7, "group": "Autotune", "max": 6.0, "min": 0.1, "name": "MC_AT_SYSID_AMP", "shortDesc": "Amplitude of the injected signal", "type": "Float"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "Battery Calibration", "increment": 50.0, "longDesc": "Defines the capacity of battery 1 in mAh.", "max": 100000.0, "min": -1.0, "name": "BAT1_CAPACITY", "rebootRequired": true, "shortDesc": "Battery 1 capacity", "type": "Float", "units": "mAh"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "Defines the number of cells the attached battery consists of.", "name": "BAT1_N_CELLS", "rebootRequired": true, "shortDesc": "Number of cells for battery 1", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "1S Battery", "value": 1}, {"description": "2S Battery", "value": 2}, {"description": "3S Battery", "value": 3}, {"description": "4S Battery", "value": 4}, {"description": "5S Battery", "value": 5}, {"description": "6S Battery", "value": 6}, {"description": "7S Battery", "value": 7}, {"description": "8S Battery", "value": 8}, {"description": "9S Battery", "value": 9}, {"description": "10S Battery", "value": 10}, {"description": "11S Battery", "value": 11}, {"description": "12S Battery", "value": 12}, {"description": "13S Battery", "value": 13}, {"description": "14S Battery", "value": 14}, {"description": "15S Battery", "value": 15}, {"description": "16S Battery", "value": 16}]}, {"category": "Standard", "decimalPlaces": 4, "default": 0.005, "group": "Battery Calibration", "increment": 0.0005, "longDesc": "If non-negative, then this will be used in place of BAT1_V_LOAD_DROP for all calculations.", "max": 0.2, "min": -1.0, "name": "BAT1_R_INTERNAL", "rebootRequired": true, "shortDesc": "Explicitly defines the per cell internal resistance for battery 1", "type": "Float", "units": "Ohm"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.", "name": "BAT1_SOURCE", "rebootRequired": true, "shortDesc": "Battery 1 monitoring source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Power Module", "value": 0}, {"description": "External", "value": 1}, {"description": "ESCs", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 4.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of battery 1 is considered full under a mild load. This will never be the nominal voltage of 4.2V", "name": "BAT1_V_CHARGED", "rebootRequired": true, "shortDesc": "Full cell voltage (5C load)", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.6, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of battery 1 is considered empty. The voltage should be chosen before the steep dropoff to 2.8V. A typical lithium battery can only be discharged down to 10% before it drops off to a voltage level damaging the cells.", "name": "BAT1_V_EMPTY", "rebootRequired": true, "shortDesc": "Empty cell voltage (5C load)", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Battery Calibration", "increment": 0.01, "longDesc": "This implicitly defines the internal resistance to maximum current ratio for battery 1 and assumes linearity. A good value to use is the difference between the 5C and 20-25C load. Not used if BAT1_R_INTERNAL is set.", "max": 0.5, "min": 0.07, "name": "BAT1_V_LOAD_DROP", "rebootRequired": true, "shortDesc": "Voltage drop per cell on full throttle", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "Battery Calibration", "increment": 50.0, "longDesc": "Defines the capacity of battery 2 in mAh.", "max": 100000.0, "min": -1.0, "name": "BAT2_CAPACITY", "rebootRequired": true, "shortDesc": "Battery 2 capacity", "type": "Float", "units": "mAh"}, {"category": "Standard", "default": 0, "group": "Battery Calibration", "longDesc": "Defines the number of cells the attached battery consists of.", "name": "BAT2_N_CELLS", "rebootRequired": true, "shortDesc": "Number of cells for battery 2", "type": "Int32", "values": [{"description": "Unknown", "value": 0}, {"description": "1S Battery", "value": 1}, {"description": "2S Battery", "value": 2}, {"description": "3S Battery", "value": 3}, {"description": "4S Battery", "value": 4}, {"description": "5S Battery", "value": 5}, {"description": "6S Battery", "value": 6}, {"description": "7S Battery", "value": 7}, {"description": "8S Battery", "value": 8}, {"description": "9S Battery", "value": 9}, {"description": "10S Battery", "value": 10}, {"description": "11S Battery", "value": 11}, {"description": "12S Battery", "value": 12}, {"description": "13S Battery", "value": 13}, {"description": "14S Battery", "value": 14}, {"description": "15S Battery", "value": 15}, {"description": "16S Battery", "value": 16}]}, {"category": "Standard", "decimalPlaces": 4, "default": 0.005, "group": "Battery Calibration", "increment": 0.0005, "longDesc": "If non-negative, then this will be used in place of BAT2_V_LOAD_DROP for all calculations.", "max": 0.2, "min": -1.0, "name": "BAT2_R_INTERNAL", "rebootRequired": true, "shortDesc": "Explicitly defines the per cell internal resistance for battery 2", "type": "Float", "units": "Ohm"}, {"category": "Standard", "default": -1, "group": "Battery Calibration", "longDesc": "This parameter controls the source of battery data. The value 'Power Module' means that measurements are expected to come from a power module. If the value is set to 'External' then the system expects to receive mavlink battery status messages. If the value is set to 'ESCs', the battery information are taken from the esc_status message. This requires the ESC to provide both voltage as well as current.", "name": "BAT2_SOURCE", "rebootRequired": true, "shortDesc": "Battery 2 monitoring source", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Power Module", "value": 0}, {"description": "External", "value": 1}, {"description": "ESCs", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 4.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of battery 1 is considered full under a mild load. This will never be the nominal voltage of 4.2V", "name": "BAT2_V_CHARGED", "rebootRequired": true, "shortDesc": "Full cell voltage (5C load)", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.6, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Defines the voltage where a single cell of battery 1 is considered empty. The voltage should be chosen before the steep dropoff to 2.8V. A typical lithium battery can only be discharged down to 10% before it drops off to a voltage level damaging the cells.", "name": "BAT2_V_EMPTY", "rebootRequired": true, "shortDesc": "Empty cell voltage (5C load)", "type": "Float", "units": "V"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Battery Calibration", "increment": 0.01, "longDesc": "This implicitly defines the internal resistance to maximum current ratio for battery 1 and assumes linearity. A good value to use is the difference between the 5C and 20-25C load. Not used if BAT2_R_INTERNAL is set.", "max": 0.5, "min": 0.07, "name": "BAT2_V_LOAD_DROP", "rebootRequired": true, "shortDesc": "Voltage drop per cell on full throttle", "type": "Float", "units": "V"}, {"category": "Standard", "default": 15.0, "group": "Battery Calibration", "increment": 0.1, "longDesc": "This value is used to initialize the in-flight average current estimation, which in turn is used for estimating remaining flight time and RTL triggering.", "max": 500.0, "min": 0.0, "name": "BAT_AVRG_CURRENT", "shortDesc": "Expected battery current in flight", "type": "Float", "units": "A"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.07, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as critically low. This has to be lower than the low threshold. This threshold commonly will trigger RTL.", "max": 0.25, "min": 0.05, "name": "BAT_CRIT_THR", "shortDesc": "Critical threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.05, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as dangerously low. This has to be lower than the critical threshold. This threshold commonly will trigger landing.", "max": 0.1, "min": 0.03, "name": "BAT_EMERGEN_THR", "shortDesc": "Emergency threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "Battery Calibration", "increment": 0.01, "longDesc": "Sets the threshold when the battery will be reported as low. This has to be higher than the critical threshold.", "max": 0.5, "min": 0.12, "name": "BAT_LOW_THR", "shortDesc": "Low threshold", "type": "Float", "units": "norm"}, {"category": "System", "default": 3, "group": "Battery Calibration", "name": "BAT_N_CELLS", "shortDesc": "This parameter is deprecated. Please use BAT1_N_CELLS instead", "type": "Int32"}, {"category": "System", "default": 4.05, "group": "Battery Calibration", "name": "BAT_V_CHARGED", "shortDesc": "This parameter is deprecated. Please use BAT1_V_CHARGED instead", "type": "Float"}, {"category": "System", "default": 3.6, "group": "Battery Calibration", "name": "BAT_V_EMPTY", "shortDesc": "This parameter is deprecated. Please use BAT1_V_EMPTY instead", "type": "Float"}, {"category": "System", "default": 0.3, "group": "Battery Calibration", "name": "BAT_V_LOAD_DROP", "shortDesc": "This parameter is deprecated. Please use BAT1_V_LOAD_DROP instead", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 40.0, "group": "Camera trigger", "longDesc": "This parameter sets the time the trigger needs to pulled high or low.", "max": 3000.0, "min": 0.1, "name": "TRIG_ACT_TIME", "rebootRequired": true, "shortDesc": "Camera trigger activation time", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 25.0, "group": "Camera trigger", "increment": 1.0, "longDesc": "Sets the distance at which to trigger the camera.", "min": 0.0, "name": "TRIG_DISTANCE", "rebootRequired": true, "shortDesc": "Camera trigger distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 4, "group": "Camera trigger", "longDesc": "Selects the trigger interface", "name": "TRIG_INTERFACE", "rebootRequired": true, "shortDesc": "Camera trigger Interface", "type": "Int32", "values": [{"description": "GPIO", "value": 1}, {"description": "Seagull MAP2 (over PWM)", "value": 2}, {"description": "MAVLink (forward via MAV_CMD_IMAGE_START_CAPTURE)", "value": 3}, {"description": "Generic PWM (IR trigger, servo)", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 40.0, "group": "Camera trigger", "longDesc": "This parameter sets the time between two consecutive trigger events", "max": 10000.0, "min": 4.0, "name": "TRIG_INTERVAL", "rebootRequired": true, "shortDesc": "Camera trigger interval", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Camera trigger", "longDesc": "This parameter sets the minimum time between two consecutive trigger events the specific camera setup is supporting.", "max": 10000.0, "min": 1.0, "name": "TRIG_MIN_INTERVA", "rebootRequired": true, "shortDesc": "Minimum camera trigger interval", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 0, "group": "Camera trigger", "max": 4, "min": 0, "name": "TRIG_MODE", "rebootRequired": true, "shortDesc": "Camera trigger mode", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Time based, on command", "value": 1}, {"description": "Time based, always on", "value": 2}, {"description": "Distance based, always on", "value": 3}, {"description": "Distance based, on command (Survey mode)", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Camera trigger", "longDesc": "This parameter sets the polarity of the trigger (0 = active low, 1 = active high )", "max": 1, "min": 0, "name": "TRIG_POLARITY", "rebootRequired": true, "shortDesc": "Camera trigger polarity", "type": "Int32", "values": [{"description": "Active low", "value": 0}, {"description": "Active high", "value": 1}]}, {"category": "Standard", "default": 1500, "group": "Camera trigger", "max": 2000, "min": 1000, "name": "TRIG_PWM_NEUTRAL", "rebootRequired": true, "shortDesc": "PWM neutral output on trigger pin", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 1900, "group": "Camera trigger", "max": 2000, "min": 1000, "name": "TRIG_PWM_SHOOT", "rebootRequired": true, "shortDesc": "PWM output to trigger shot", "type": "Int32", "units": "us"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 162128 will disable the check for an airspeed sensor. The sensor driver will not be started and it cannot be calibrated. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 162128, "min": 0, "name": "CBRK_AIRSPD_CHK", "rebootRequired": true, "shortDesc": "Circuit breaker for airspeed sensor", "type": "Int32"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 782097 will disable the buzzer audio notification. Setting this parameter to 782090 will disable the startup tune, while keeping all others enabled.", "max": 782097, "min": 0, "name": "CBRK_BUZZER", "rebootRequired": true, "shortDesc": "Circuit breaker for disabling buzzer", "type": "Int32"}, {"category": "Developer", "default": 121212, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 121212 will disable the flight termination action if triggered by the FailureDetector logic or if FMU is lost. This circuit breaker does not affect the RC loss, data link loss, geofence, and takeoff failure detection safety logic.", "max": 121212, "min": 0, "name": "CBRK_FLIGHTTERM", "rebootRequired": true, "shortDesc": "Circuit breaker for flight termination", "type": "Int32"}, {"category": "Developer", "default": 22027, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 22027 will disable IO safety. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 22027, "min": 0, "name": "CBRK_IO_SAFETY", "shortDesc": "Circuit breaker for IO safety", "type": "Int32"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 894281 will disable the power valid checks in the commander. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 894281, "min": 0, "name": "CBRK_SUPPLY_CHK", "shortDesc": "Circuit breaker for power supply check", "type": "Int32"}, {"category": "Developer", "default": 197848, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 197848 will disable the USB connected checks in the commander, setting it to 0 keeps them enabled (recommended). We are generally recommending to not fly with the USB link connected and production vehicles should set this parameter to zero to prevent users from flying USB powered. However, for R&D purposes it has proven over the years to work just fine.", "max": 197848, "min": 0, "name": "CBRK_USB_CHK", "shortDesc": "Circuit breaker for USB link check", "type": "Int32"}, {"category": "Developer", "default": 0, "group": "Circuit Breaker", "longDesc": "Setting this parameter to 159753 will enable arming in fixed-wing mode for VTOLs. WARNING: ENABLING THIS CIRCUIT BREAKER IS AT OWN RISK", "max": 159753, "min": 0, "name": "CBRK_VTOLARMING", "shortDesc": "Circuit breaker for arming in fixed-wing mode check", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Note: actuator failure needs to be enabled and configured via FD_ACT_* parameters.", "max": 3, "min": 0, "name": "COM_ACT_FAIL_ACT", "shortDesc": "Set the actuator failure failsafe mode", "type": "Int32", "values": [{"description": "Warning only", "value": 0}, {"description": "Hold mode", "value": 1}, {"description": "Land mode", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Terminate", "value": 4}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "Set 0 to prevent accidental use of the vehicle e.g. for safety or maintenance reasons.", "name": "COM_ARMABLE", "shortDesc": "Flag to allow arming", "type": "Int32", "values": [{"description": "Disallow arming", "value": 0}, {"description": "Allow arming", "value": 1}]}, {"category": "Standard", "default": 10, "group": "Commander", "longDesc": "Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_ID", "shortDesc": "Arm authorizer system id", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Methods: - one arm: request authorization and arm when authorization is received - two step arm: 1st arm command request an authorization and 2nd arm command arm the drone if authorized Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_MET", "shortDesc": "Arm authorization method", "type": "Int32", "values": [{"description": "one arm", "value": 0}, {"description": "two step arm", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "By default off. The default allows to arm the vehicle without a arm authorization.", "name": "COM_ARM_AUTH_REQ", "shortDesc": "Require arm authorization to arm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "increment": 0.1, "longDesc": "Timeout for authorizer answer. Used if arm authorization is requested by COM_ARM_AUTH_REQ.", "name": "COM_ARM_AUTH_TO", "shortDesc": "Arm authorization timeout", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Commander", "increment": 0.01, "longDesc": "Additional battery level check that only allows arming if the state of charge of the emptiest connected battery is above this value. A value of 0 disables the check.", "max": 0.9, "min": 0.0, "name": "COM_ARM_BAT_MIN", "shortDesc": "Minimum battery level for arming", "type": "Float", "units": "norm"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "If this parameter is set, the system will check ESC's online status and failures. This param is specific for ESCs reporting status. It shall be used only if ESCs support telemetry.", "name": "COM_ARM_CHK_ESCS", "shortDesc": "Enable checks on ESCs that report telemetry", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_EKF_HGT", "shortDesc": "Maximum EKF height innovation test ratio that will allow arming", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_EKF_POS", "shortDesc": "Maximum EKF position innovation test ratio that will allow arming", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_EKF_VEL", "shortDesc": "Maximum EKF velocity innovation test ratio that will allow arming", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_EKF_YAW", "shortDesc": "Maximum EKF yaw innovation test ratio that will allow arming", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This check detects if there are hardfault files present on the SD card. If so, and the parameter is enabled, arming is prevented.", "name": "COM_ARM_HFLT_CHK", "shortDesc": "Enable FMU SD card hardfault detection check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.7, "group": "Commander", "increment": 0.05, "max": 1.0, "min": 0.1, "name": "COM_ARM_IMU_ACC", "shortDesc": "Maximum accelerometer inconsistency between IMU units that will allow arming", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Commander", "increment": 0.01, "max": 0.3, "min": 0.02, "name": "COM_ARM_IMU_GYR", "shortDesc": "Maximum rate gyro inconsistency between IMU units that will allow arming", "type": "Float", "units": "rad/s"}, {"category": "Standard", "default": 60, "group": "Commander", "longDesc": "Set -1 to disable the check.", "max": 180, "min": 3, "name": "COM_ARM_MAG_ANG", "shortDesc": "Maximum magnetic field inconsistency between units that will allow arming", "type": "Int32", "units": "deg"}, {"category": "Standard", "default": 2, "group": "Commander", "longDesc": "Check if the estimator detects a strong magnetic disturbance (check enabled by EKF2_MAG_CHECK)", "name": "COM_ARM_MAG_STR", "shortDesc": "Enable mag strength preflight check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Deny arming", "value": 1}, {"description": "Warning only", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The default allows to arm the vehicle without a valid mission.", "name": "COM_ARM_MIS_REQ", "shortDesc": "Require valid mission to arm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "This check detects if the Open Drone ID system is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.", "name": "COM_ARM_ODID", "shortDesc": "Enable Drone ID system detection and health check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warning only", "value": 1}, {"description": "Enforce Open Drone ID system presence", "value": 2}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This check detects if the FMU SD card is missing. Depending on the value of the parameter, the check can be disabled, warn only or deny arming.", "name": "COM_ARM_SDCARD", "shortDesc": "Enable FMU SD card detection check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warning only", "value": 1}, {"description": "Enforce SD card presence", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "0: Arming/disarming triggers on switch transition. 1: Arming/disarming triggers when holding the momentary button down for COM_RC_ARM_HYST like the stick gesture.", "name": "COM_ARM_SWISBTN", "shortDesc": "Arm switch is a momentary button", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Commander", "name": "COM_ARM_WO_GPS", "shortDesc": "Allow arming without GPS", "type": "Int32", "values": [{"description": "Require GPS lock to arm", "value": 0}, {"description": "Allow arming without GPS", "value": 1}]}, {"category": "Standard", "default": 95.0, "group": "Commander", "increment": 1.0, "longDesc": "The check fails if the CPU load is above this threshold for 2s. A negative value disables the check.", "max": 100.0, "min": -1.0, "name": "COM_CPU_MAX", "shortDesc": "Maximum allowed CPU load to still arm", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Commander", "increment": 0.1, "longDesc": "A non-zero, positive value specifies the time-out period in seconds after which the vehicle will be automatically disarmed in case a landing situation has been detected during this period. A zero or negative value means that automatic disarming triggered by landing detection is disabled.", "name": "COM_DISARM_LAND", "shortDesc": "Time-out for auto disarm after landing", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "0: Disallow disarming when not landed 1: Allow disarming in multicopter flight in modes where the thrust is directly controlled by thr throttle stick e.g. Stabilized, Acro", "name": "COM_DISARM_MAN", "shortDesc": "Allow disarming via switch/stick/button on multicopters in manual thrust modes", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Commander", "increment": 0.1, "longDesc": "A non-zero, positive value specifies the time in seconds, within which the vehicle is expected to take off after arming. In case the vehicle didn't takeoff within the timeout it disarms again. A negative value disables autmoatic disarming triggered by a pre-takeoff timeout.", "name": "COM_DISARM_PRFLT", "shortDesc": "Time-out for auto disarm if not taking off", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10, "group": "Commander", "increment": 1, "longDesc": "After this amount of seconds without datalink, the GCS connection lost mode triggers", "max": 300, "min": 5, "name": "COM_DL_LOSS_T", "shortDesc": "GCS connection loss time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 5.0, "group": "Commander", "longDesc": "Before entering failsafe (RTL, Land, Hold), wait COM_FAIL_ACT_T seconds in Hold mode for the user to realize. During that time the user cannot take over control via the stick override feature (see COM_RC_OVERRIDE). Afterwards the configured failsafe action is triggered and the user may use stick override. A zero value disables the delay and the user cannot take over via stick movements (switching modes is still allowed).", "max": 25.0, "min": 0.0, "name": "COM_FAIL_ACT_T", "shortDesc": "Delay between failsafe condition triggered and failsafe reaction", "type": "Float", "units": "s"}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This number is incremented automatically after every flight on disarming in order to remember the next flight UUID. The first flight is 0.", "min": 0, "name": "COM_FLIGHT_UUID", "shortDesc": "Next flight UUID", "type": "Int32", "volatile": true}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE1", "shortDesc": "Mode slot 1", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE2", "shortDesc": "Mode slot 2", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE3", "shortDesc": "Mode slot 3", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE4", "shortDesc": "Mode slot 4", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE5", "shortDesc": "Mode slot 5", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "If the main switch channel is in this range the selected flight mode will be applied.", "name": "COM_FLTMODE6", "shortDesc": "Mode slot 6", "type": "Int32", "values": [{"description": "Unassigned", "value": -1}, {"description": "Manual", "value": 0}, {"description": "Altitude", "value": 1}, {"description": "Position", "value": 2}, {"description": "Mission", "value": 3}, {"description": "Hold", "value": 4}, {"description": "Return", "value": 5}, {"description": "Acro", "value": 6}, {"description": "Offboard", "value": 7}, {"description": "Stabilized", "value": 8}, {"description": "Position Slow", "value": 9}, {"description": "Takeoff", "value": 10}, {"description": "Land", "value": 11}, {"description": "Follow Me", "value": 12}, {"description": "Precision Land", "value": 13}, {"description": "External Mode 1", "value": 100}, {"description": "External Mode 2", "value": 101}, {"description": "External Mode 3", "value": 102}, {"description": "External Mode 4", "value": 103}, {"description": "External Mode 5", "value": 104}, {"description": "External Mode 6", "value": 105}, {"description": "External Mode 7", "value": 106}, {"description": "External Mode 8", "value": 107}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Describes the intended use of the vehicle. Can be used by ground control software or log post processing. This param does not influence the behavior within the firmware. This means for example the control logic is independent of the setting of this param (but depends on other params).", "name": "COM_FLT_PROFILE", "shortDesc": "User Flight Profile", "type": "Int32", "values": [{"description": "Default", "value": 0}, {"description": "Pro User", "value": 100}, {"description": "Flight Tester", "value": 200}, {"description": "Developer", "value": 300}]}, {"category": "Standard", "default": -1, "group": "Commander", "longDesc": "The vehicle aborts the current operation and returns to launch when the time since takeoff is above this value. It is not possible to resume the mission or switch to any auto mode other than RTL or Land. Taking over in any manual mode is still possible. Starting from 90% of the maximum flight time, a warning message will be sent every 1 minute with the remaining time until automatic RTL. Set to -1 to disable.", "min": -1, "name": "COM_FLT_TIME_MAX", "shortDesc": "Maximum allowed flight time", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Force safety when the vehicle disarms", "name": "COM_FORCE_SAFETY", "shortDesc": "Enable force safety", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 120, "group": "Commander", "longDesc": "After this amount of seconds without datalink the data link lost mode triggers", "max": 3600, "min": 60, "name": "COM_HLDL_LOSS_T", "shortDesc": "High Latency Datalink loss time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "After a data link loss: after this number of seconds with a healthy datalink the 'datalink loss' flag is set back to false", "max": 60, "min": 0, "name": "COM_HLDL_REG_T", "shortDesc": "High Latency Datalink regain time threshold", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "Set home position automatically if possible.", "name": "COM_HOME_EN", "rebootRequired": true, "shortDesc": "Home position enabled", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "If set to true, the autopilot is allowed to set its home position after takeoff The true home position is back-computed if a local position is estimate if available. If no local position is available, home is set to the current position.", "name": "COM_HOME_IN_AIR", "shortDesc": "Allows setting the home position after takeoff", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "increment": 1, "longDesc": "Action the system takes when an imbalanced propeller is detected by the failure detector. See also FD_IMB_PROP_THR to set the failure threshold.", "name": "COM_IMB_PROP_ACT", "shortDesc": "Imbalanced propeller failsafe mode", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "Warning", "value": 0}, {"description": "Return", "value": 1}, {"description": "Land", "value": 2}]}, {"category": "Standard", "default": 5.0, "group": "Commander", "increment": 0.1, "max": 30.0, "min": 0.0, "name": "COM_KILL_DISARM", "shortDesc": "Timeout value for disarming when kill switch is engaged", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 3.0, "group": "Commander", "longDesc": "A non-zero, positive value specifies the timeframe in seconds within failure detector is allowed to disarm the vehicle if attitude exceeds the limits defined in FD_FAIL_P and FD_FAIL_R. The check is not executed for flight modes that do support acrobatic maneuvers, e.g: Acro (MC/FW) and Manual (FW). A zero or negative value means that the check is disabled.", "max": 5.0, "min": -1.0, "name": "COM_LKDOWN_TKO", "shortDesc": "Timeout for detecting a failure after takeoff", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Action the system takes at critical battery. See also BAT_CRIT_THR and BAT_EMERGEN_THR for definition of battery states.", "name": "COM_LOW_BAT_ACT", "shortDesc": "Battery failsafe mode", "type": "Int32", "values": [{"description": "Warning", "value": 0}, {"description": "Land mode", "value": 2}, {"description": "Return at critical level, land at emergency level", "value": 3}]}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE0_HASH", "shortDesc": "External mode identifier 0", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE1_HASH", "shortDesc": "External mode identifier 1", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE2_HASH", "shortDesc": "External mode identifier 2", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE3_HASH", "shortDesc": "External mode identifier 3", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE4_HASH", "shortDesc": "External mode identifier 4", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE5_HASH", "shortDesc": "External mode identifier 5", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE6_HASH", "shortDesc": "External mode identifier 6", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Commander", "longDesc": "This parameter is automatically set to identify external modes. It ensures that modes get assigned to the same index independent from their startup order, which is required when mapping an external mode to an RC switch.", "name": "COM_MODE7_HASH", "shortDesc": "External mode identifier 7", "type": "Int32", "volatile": true}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "If set, enables the actuator test interface via MAVLink (ACTUATOR_TEST), that allows spinning the motors and moving the servos for testing purposes.", "name": "COM_MOT_TEST_EN", "shortDesc": "Enable Actuator Testing", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 5.0, "group": "Commander", "increment": 0.01, "max": 60.0, "min": 0.0, "name": "COM_OBC_LOSS_T", "shortDesc": "Time-out to wait when onboard computer connection is lost before warning about loss connection", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The offboard loss failsafe will only be entered after a timeout, set by COM_OF_LOSS_T in seconds.", "name": "COM_OBL_RC_ACT", "shortDesc": "Set offboard loss failsafe mode", "type": "Int32", "values": [{"description": "Position mode", "value": 0}, {"description": "Altitude mode", "value": 1}, {"description": "Manual", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Land mode", "value": 4}, {"description": "Hold mode", "value": 5}, {"description": "Terminate", "value": 6}, {"description": "Disarm", "value": 7}]}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_OBS_AVOID", "shortDesc": "Flag to enable obstacle avoidance", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1.0, "group": "Commander", "increment": 0.01, "longDesc": "See COM_OBL_RC_ACT to configure action.", "max": 60.0, "min": 0.0, "name": "COM_OF_LOSS_T", "shortDesc": "Time-out to wait when offboard connection is lost before triggering offboard lost action", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_PARACHUTE", "shortDesc": "Expect and require a healthy MAVLink parachute system", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control. If Altitude/Manual is selected: assume use of remote control after fallback. Switch to Altitude mode if a height estimate is available, else switch to MANUAL. If Land/Descend is selected: assume no use of remote control after fallback. Switch to Land mode if a height estimate is available, else switch to Descend.", "name": "COM_POSCTL_NAVL", "shortDesc": "Position control navigation loss response", "type": "Int32", "values": [{"description": "Altitude/Manual", "value": 0}, {"description": "Land/Descend", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This sets number of seconds that the position checks need to be failed before the failsafe will activate. The default value has been optimised for rotary wing applications. For fixed wing applications, a larger value between 5 and 10 should be used.", "max": 100, "min": 1, "name": "COM_POS_FS_DELAY", "shortDesc": "Loss of position failsafe activation delay", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Commander", "longDesc": "This is the horizontal position error (EPH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous position error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation). Set to -1 to disable.", "max": 400.0, "min": -1.0, "name": "COM_POS_FS_EPH", "shortDesc": "Horizontal position error threshold", "type": "Float", "units": "m"}, {"category": "Standard", "default": -1.0, "group": "Commander", "longDesc": "Specify the threshold for triggering a warning for low local position accuracy. Additionally triggers a RTL if currently in Mission or Loiter mode. Local position has to be still declared valid, which is most of all depending on COM_POS_FS_EPH. Use this feature on systems with dead-reckoning capabilites (e.g. fixed-wing vehicles with airspeed sensor) to improve the user notification and failure mitigation when flying in GNSS-denied areas. Set to -1 to disable.", "max": 1000.0, "min": -1.0, "name": "COM_POS_LOW_EPH", "shortDesc": "EPH threshold for RTL", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Commander", "longDesc": "This configures a check to verify the expected number of 5V rail power supplies are present. By default only one is expected. Note: CBRK_SUPPLY_CHK disables all power checks including this one.", "max": 4, "min": 0, "name": "COM_POWER_COUNT", "shortDesc": "Required number of redundant power modules", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Condition to enter the prearmed state, an intermediate state between disarmed and armed in which non-throttling actuators are active.", "name": "COM_PREARM_MODE", "shortDesc": "Condition to enter prearmed mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Safety button", "value": 1}, {"description": "Always", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Commander", "name": "COM_QC_ACT", "shortDesc": "Set command after a quadchute", "type": "Int32", "values": [{"description": "Warning only", "value": -1}, {"description": "Return mode", "value": 0}, {"description": "Land mode", "value": 1}, {"description": "Hold mode", "value": 2}]}, {"bitmask": [{"description": "Mission", "index": 0}, {"description": "Hold", "index": 1}, {"description": "Offboard", "index": 2}], "category": "Standard", "default": 0, "group": "Commander", "longDesc": "Specify modes in which RC loss is ignored and the failsafe action not triggered.", "max": 31, "min": 0, "name": "COM_RCL_EXCEPT", "shortDesc": "RC loss exceptions", "type": "Int32"}, {"category": "Standard", "default": 1000, "group": "Commander", "longDesc": "The default value of 1000 requires the stick to be held in the arm or disarm position for 1 second.", "max": 1500, "min": 100, "name": "COM_RC_ARM_HYST", "shortDesc": "RC input arm/disarm command duration", "type": "Int32", "units": "ms"}, {"category": "Standard", "default": 3, "group": "Commander", "longDesc": "A value of 0 enables RC transmitter control (only). A valid RC transmitter calibration is required. A value of 1 allows joystick control only. RC input handling and the associated checks are disabled. A value of 2 allows either RC Transmitter or Joystick input. The first valid input is used, will fallback to other sources if the input stream becomes invalid. A value of 3 allows either input from RC or joystick. The first available source is selected and used until reboot. A value of 4 ignores any stick input.", "max": 4, "min": 0, "name": "COM_RC_IN_MODE", "shortDesc": "RC control input mode", "type": "Int32", "values": [{"description": "RC Transmitter only", "value": 0}, {"description": "Joystick only", "value": 1}, {"description": "RC and Joystick with fallback", "value": 2}, {"description": "RC or Joystick keep first", "value": 3}, {"description": "Stick input disabled", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "Commander", "increment": 0.1, "longDesc": "The time in seconds without a new setpoint from RC or Joystick, after which the connection is considered lost. This must be kept short as the vehicle will use the last supplied setpoint until the timeout triggers.", "max": 35.0, "min": 0.0, "name": "COM_RC_LOSS_T", "shortDesc": "Manual control loss timeout", "type": "Float", "units": "s"}, {"bitmask": [{"description": "Enable override during auto modes (except for in critical battery reaction)", "index": 0}, {"description": "Enable override during offboard mode", "index": 1}], "category": "Standard", "default": 1, "group": "Commander", "longDesc": "When RC stick override is enabled, moving the RC sticks more than COM_RC_STICK_OV immediately gives control back to the pilot by switching to Position mode and if position is unavailable Altitude mode. Note: Only has an effect on multicopters, and VTOLs in multicopter mode.", "max": 3, "min": 0, "name": "COM_RC_OVERRIDE", "shortDesc": "Enable RC stick override of auto and/or offboard modes", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 0, "default": 30.0, "group": "Commander", "increment": 0.05, "longDesc": "If COM_RC_OVERRIDE is enabled and the joystick input is moved more than this threshold the autopilot the pilot takes over control.", "max": 80.0, "min": 5.0, "name": "COM_RC_STICK_OV", "shortDesc": "RC stick override threshold", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "increment": 0.1, "longDesc": "The minimal time from arming the motors until moving the vehicle is possible is COM_SPOOLUP_TIME seconds. Goal: - Motors and propellers spool up to idle speed before getting commanded to spin faster - Timeout for ESCs and smart batteries to successfulyy do failure checks e.g. for stuck rotors before the vehicle is off the ground", "max": 30.0, "min": 0.0, "name": "COM_SPOOLUP_TIME", "shortDesc": "Enforced delay between arming and further navigation", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The mode transition after TAKEOFF has completed successfully.", "name": "COM_TAKEOFF_ACT", "shortDesc": "Action after TAKEOFF has been accepted", "type": "Int32", "values": [{"description": "Hold", "value": 0}, {"description": "Mission (if valid)", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "Allows to start the vehicle by throwing it into the air.", "name": "COM_THROW_EN", "shortDesc": "Enable throw-start", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Commander", "increment": 0.1, "longDesc": "When the throw launch is enabled, the drone will only arm after this speed is exceeded before detecting the freefall. This is a safety feature to ensure the drone does not turn on after accidental drop or a rapid movement before the throw. Set to 0 to disable.", "min": 0.0, "name": "COM_THROW_SPEED", "shortDesc": "Minimum speed for the throw start", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Commander", "longDesc": "This is the horizontal velocity error (EVH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing. If the previous velocity error was below this threshold, there is an additional factor of 2.5 applied (threshold for invalidation 2.5 times the one for validation).", "min": 0.0, "name": "COM_VEL_FS_EVH", "shortDesc": "Horizontal velocity error threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Commander", "increment": 0.1, "longDesc": "Wind speed threshold above which an automatic failsafe action is triggered. Failsafe action can be specified with COM_WIND_MAX_ACT.", "min": -1.0, "name": "COM_WIND_MAX", "shortDesc": "High wind speed failsafe threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "Commander", "increment": 1, "longDesc": "Action the system takes when a wind speed above the specified threshold is detected. See COM_WIND_MAX to set the failsafe threshold. If enabled, it is not possible to resume the mission or switch to any auto mode other than RTL or Land if this threshold is exceeded. Taking over in any manual mode is still possible.", "name": "COM_WIND_MAX_ACT", "shortDesc": "High wind failsafe mode", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Warning", "value": 1}, {"description": "Hold", "value": 2}, {"description": "Return", "value": 3}, {"description": "Terminate", "value": 4}, {"description": "Land", "value": 5}]}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Commander", "increment": 0.1, "longDesc": "A warning is triggered if the currently estimated wind speed is above this value. Warning is sent periodically (every 1 minute). Set to -1 to disable.", "min": -1.0, "name": "COM_WIND_WARN", "shortDesc": "Wind speed warning threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "Commander", "longDesc": "The GCS connection loss failsafe will only be entered after a timeout, set by COM_DL_LOSS_T in seconds. Once the timeout occurs the selected action will be executed.", "max": 6, "min": 0, "name": "NAV_DLL_ACT", "shortDesc": "Set GCS connection loss failsafe mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Hold mode", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Terminate", "value": 5}, {"description": "Disarm", "value": 6}]}, {"category": "Standard", "default": 2, "group": "Commander", "longDesc": "The RC loss failsafe will only be entered after a timeout, set by COM_RC_LOSS_T in seconds. If RC input checks have been disabled by setting the COM_RC_IN_MODE param it will not be triggered.", "max": 6, "min": 1, "name": "NAV_RCL_ACT", "shortDesc": "Set RC loss failsafe mode", "type": "Int32", "values": [{"description": "Hold mode", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Terminate", "value": 5}, {"description": "Disarm", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "max": 0.5, "min": 0.0, "name": "EKF2_ABIAS_INIT", "rebootRequired": true, "shortDesc": "1-sigma IMU accelerometer switch-on bias", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 25.0, "group": "EKF2", "longDesc": "If the magnitude of the IMU accelerometer vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of high manoeuvre accelerations and IMU nonlinerity and scale factor errors on the accel bias estimates.", "max": 200.0, "min": 20.0, "name": "EKF2_ABL_ACCLIM", "shortDesc": "Maximum IMU accel magnitude that allows IMU bias learning", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "If the magnitude of the IMU angular rate vector exceeds this value, the EKF accel bias state estimation will be inhibited. This reduces the adverse effect of rapid rotation rates and associated errors on the accel bias estimates.", "max": 20.0, "min": 2.0, "name": "EKF2_ABL_GYRLIM", "shortDesc": "Maximum IMU gyro angular rate magnitude that allows IMU bias learning", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "EKF2", "longDesc": "The ekf accel bias states will be limited to within a range equivalent to +- of this value.", "max": 0.8, "min": 0.0, "name": "EKF2_ABL_LIM", "shortDesc": "Accelerometer bias learning limit", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "The vector magnitude of angular rate and acceleration used to check if learning should be inhibited has a peak hold filter applied to it with an exponential decay. This parameter controls the time constant of the decay.", "max": 1.0, "min": 0.1, "name": "EKF2_ABL_TAU", "shortDesc": "Time constant used by acceleration and angular rate magnitude checks used to inhibit accel bias learning", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.003, "group": "EKF2", "max": 0.01, "min": 0.0, "name": "EKF2_ACC_B_NOISE", "shortDesc": "Process noise for IMU accelerometer bias prediction", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.35, "group": "EKF2", "max": 1.0, "min": 0.01, "name": "EKF2_ACC_NOISE", "shortDesc": "Accelerometer noise for covariance prediction", "type": "Float", "units": "m/s^2"}, {"bitmask": [{"description": "Horizontal position", "index": 0}, {"description": "Vertical position", "index": 1}], "category": "Standard", "default": 1, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion", "max": 3, "min": 0, "name": "EKF2_AGP_CTRL", "shortDesc": "Aux global position (AGP) sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_AGP_DELAY", "rebootRequired": true, "shortDesc": "Aux global position estimator delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_AGP_GATE", "shortDesc": "Gate size for aux global position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.9, "group": "EKF2", "min": 0.01, "name": "EKF2_AGP_NOISE", "shortDesc": "Measurement noise for aux global position observations used to lower bound or replace the uncertainty included in the message", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "EKF2", "max": 0.5, "min": 0.0, "name": "EKF2_ANGERR_INIT", "rebootRequired": true, "shortDesc": "1-sigma tilt angle uncertainty after gravity vector alignment", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "longDesc": "Airspeed data is fused for wind estimation if above this threshold. Set to 0 to disable airspeed fusion. For reliable wind estimation both sideslip (see EKF2_FUSE_BETA) and airspeed fusion should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode).", "min": 0.0, "name": "EKF2_ARSP_THR", "shortDesc": "Airspeed fusion threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "max": 50.0, "min": 5.0, "name": "EKF2_ASPD_MAX", "shortDesc": "Upper limit on airspeed along individual axes used to correct baro for position error effects", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_ASP_DELAY", "rebootRequired": true, "shortDesc": "Airspeed measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_AVEL_DELAY", "rebootRequired": true, "shortDesc": "Auxiliary Velocity Estimate (e.g from a landing target) delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "If this parameter is enabled then the estimator will make use of the barometric height measurements to estimate its height in addition to other height sources (if activated).", "name": "EKF2_BARO_CTRL", "shortDesc": "Barometric sensor height aiding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_BARO_DELAY", "rebootRequired": true, "shortDesc": "Barometer measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_BARO_GATE", "shortDesc": "Gate size for barometric and GPS height fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.5, "group": "EKF2", "max": 15.0, "min": 0.01, "name": "EKF2_BARO_NOISE", "shortDesc": "Measurement noise for barometric altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by bluff body drag along the forward/reverse axis when flying a multi-copter which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.", "max": 200.0, "min": 0.0, "name": "EKF2_BCOEF_X", "shortDesc": "X-axis ballistic coefficient used for multi-rotor wind estimation", "type": "Float", "units": "kg/m^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by bluff body drag along the right/left axis when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed squared. The predicted drag from the rotors is specified separately by the EKF2_MCOEF parameter. Set this parameter to zero to turn off the bluff body drag model for this axis.", "max": 200.0, "min": 0.0, "name": "EKF2_BCOEF_Y", "shortDesc": "Y-axis ballistic coefficient used for multi-rotor wind estimation", "type": "Float", "units": "kg/m^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_BETA_GATE", "shortDesc": "Gate size for synthetic sideslip fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 1.0, "min": 0.1, "name": "EKF2_BETA_NOISE", "shortDesc": "Noise for synthetic sideslip fusion", "type": "Float", "units": "m/s"}, {"bitmask": [{"description": "use geo_lookup declination", "index": 0}, {"description": "save EKF2_MAG_DECL on disarm", "index": 1}, {"description": "use declination as an observation", "index": 2}], "category": "Standard", "default": 7, "group": "EKF2", "longDesc": "Set bits in the following positions to enable functions. 0 : Set to true to use the declination from the geo_lookup library when the GPS position becomes available, set to false to always use the EKF2_MAG_DECL value. 1 : Set to true to save the EKF2_MAG_DECL parameter to the value returned by the EKF when the vehicle disarms. 2 : Set to true to always use the declination as an observation when 3-axis magnetometer fusion is being used.", "max": 7, "min": 0, "name": "EKF2_DECL_TYPE", "rebootRequired": true, "shortDesc": "Integer bitmask controlling handling of magnetic declination", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Activate wind speed estimation using specific-force measurements and a drag model defined by EKF2_BCOEF_[XY] and EKF2_MCOEF. Only use on vehicles that have their thrust aligned with the Z axis and no thrust in the XY plane.", "name": "EKF2_DRAG_CTRL", "shortDesc": "Multirotor wind estimation selection", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 2.5, "group": "EKF2", "longDesc": "Increasing this makes the multi-rotor wind estimates adjust more slowly.", "max": 10.0, "min": 0.5, "name": "EKF2_DRAG_NOISE", "shortDesc": "Specific drag force observation noise variance used by the multi-rotor specific drag force model", "type": "Float", "units": "(m/s^2)^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.4, "group": "EKF2", "max": 5.0, "min": 0.5, "name": "EKF2_EAS_NOISE", "shortDesc": "Measurement noise for airspeed fusion", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "min": 0.05, "name": "EKF2_EVA_NOISE", "shortDesc": "Measurement noise for vision angle observations used to lower bound or replace the uncertainty included in the message", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_EVP_GATE", "shortDesc": "Gate size for vision position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "min": 0.01, "name": "EKF2_EVP_NOISE", "shortDesc": "Measurement noise for vision position observations used to lower bound or replace the uncertainty included in the message", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_EVV_GATE", "shortDesc": "Gate size for vision velocity estimate fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "min": 0.01, "name": "EKF2_EVV_NOISE", "shortDesc": "Measurement noise for vision velocity observations used to lower bound or replace the uncertainty included in the message", "type": "Float", "units": "m/s"}, {"bitmask": [{"description": "Horizontal position", "index": 0}, {"description": "Vertical position", "index": 1}, {"description": "3D velocity", "index": 2}, {"description": "Yaw", "index": 3}], "category": "Standard", "default": 15, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Horizontal position fusion 1 : Vertical position fusion 2 : 3D velocity fusion 3 : Yaw", "max": 15, "min": 0, "name": "EKF2_EV_CTRL", "shortDesc": "External vision (EV) sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_EV_DELAY", "rebootRequired": true, "shortDesc": "Vision Position Estimator delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "If set to 0 (default) the measurement noise is taken from the vision message and the EV noise parameters are used as a lower bound. If set to 1 the observation noise is set from the parameters directly,", "name": "EKF2_EV_NOISE_MD", "shortDesc": "External vision (EV) noise mode", "type": "Int32", "values": [{"description": "EV reported variance (parameter lower bound)", "value": 0}, {"description": "EV noise parameters", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_EV_POS_X", "shortDesc": "X position of VI sensor focal point in body frame (forward axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_EV_POS_Y", "shortDesc": "Y position of VI sensor focal point in body frame (right axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_EV_POS_Z", "shortDesc": "Z position of VI sensor focal point in body frame (down axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0, "group": "EKF2", "longDesc": "External vision will only be started and fused if the quality metric is above this threshold. The quality metric is a completely optional field provided by some VIO systems.", "max": 100, "min": 0, "name": "EKF2_EV_QMIN", "shortDesc": "External vision (EV) minimum quality (optional)", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "For reliable wind estimation both sideslip and airspeed fusion (see EKF2_ARSP_THR) should be enabled. Only applies to fixed-wing vehicles (or VTOLs in fixed-wing mode). Note: side slip fusion is currently not supported for tailsitters.", "name": "EKF2_FUSE_BETA", "shortDesc": "Enable synthetic sideslip fusion", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "max": 0.2, "min": 0.0, "name": "EKF2_GBIAS_INIT", "rebootRequired": true, "shortDesc": "1-sigma IMU gyro switch-on bias", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "EKF2", "longDesc": "Sets the value of deadzone applied to negative baro innovations. Deadzone is enabled when EKF2_GND_EFF_DZ > 0.", "max": 10.0, "min": 0.0, "name": "EKF2_GND_EFF_DZ", "shortDesc": "Baro deadzone range for height fusion", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "EKF2", "longDesc": "Sets the maximum distance to the ground level where negative baro innovations are expected.", "max": 5.0, "min": 0.0, "name": "EKF2_GND_MAX_HGT", "shortDesc": "Height above ground level for ground effect zone", "type": "Float", "units": "m"}, {"bitmask": [{"description": "Min sat count (EKF2_REQ_NSATS)", "index": 0}, {"description": "Max PDOP (EKF2_REQ_PDOP)", "index": 1}, {"description": "Max horizontal position error (EKF2_REQ_EPH)", "index": 2}, {"description": "Max vertical position error (EKF2_REQ_EPV)", "index": 3}, {"description": "Max speed error (EKF2_REQ_SACC)", "index": 4}, {"description": "Max horizontal position rate (EKF2_REQ_HDRIFT)", "index": 5}, {"description": "Max vertical position rate (EKF2_REQ_VDRIFT)", "index": 6}, {"description": "Max horizontal speed (EKF2_REQ_HDRIFT)", "index": 7}, {"description": "Max vertical velocity discrepancy (EKF2_REQ_VDRIFT)", "index": 8}], "category": "Standard", "default": 245, "group": "EKF2", "longDesc": "Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Minimum required sat count set by EKF2_REQ_NSATS 1 : Maximum allowed PDOP set by EKF2_REQ_PDOP 2 : Maximum allowed horizontal position error set by EKF2_REQ_EPH 3 : Maximum allowed vertical position error set by EKF2_REQ_EPV 4 : Maximum allowed speed error set by EKF2_REQ_SACC 5 : Maximum allowed horizontal position rate set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 6 : Maximum allowed vertical position rate set by EKF2_REQ_VDRIFT. This check will only run when the vehicle is on ground and stationary. 7 : Maximum allowed horizontal speed set by EKF2_REQ_HDRIFT. This check will only run when the vehicle is on ground and stationary. 8 : Maximum allowed vertical velocity discrepancy set by EKF2_REQ_VDRIFT", "max": 511, "min": 0, "name": "EKF2_GPS_CHECK", "shortDesc": "Integer bitmask controlling GPS checks", "type": "Int32"}, {"bitmask": [{"description": "Lon/lat", "index": 0}, {"description": "Altitude", "index": 1}, {"description": "3D velocity", "index": 2}, {"description": "Dual antenna heading", "index": 3}], "category": "Standard", "default": 7, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Longitude and latitude fusion 1 : Altitude fusion 2 : 3D velocity fusion 3 : Dual antenna heading fusion", "max": 15, "min": 0, "name": "EKF2_GPS_CTRL", "shortDesc": "GNSS sensor aiding", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 110.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_GPS_DELAY", "rebootRequired": true, "shortDesc": "GPS measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_GPS_POS_X", "shortDesc": "X position of GPS antenna in body frame (forward axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_GPS_POS_Y", "shortDesc": "Y position of GPS antenna in body frame (right axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_GPS_POS_Z", "shortDesc": "Z position of GPS antenna in body frame (down axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_GPS_P_GATE", "shortDesc": "Gate size for GNSS position fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "max": 10.0, "min": 0.01, "name": "EKF2_GPS_P_NOISE", "shortDesc": "Measurement noise for GNSS position", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_GPS_V_GATE", "shortDesc": "Gate size for GNSS velocity fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 5.0, "min": 0.01, "name": "EKF2_GPS_V_NOISE", "shortDesc": "Measurement noise for GNSS velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "EKF2", "max": 10.0, "min": 0.1, "name": "EKF2_GRAV_NOISE", "shortDesc": "Accelerometer measurement noise for gravity based observations", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "EKF2", "longDesc": "If no airspeed measurements are available, the EKF-GSF AHRS calculation will assume this value of true airspeed when compensating for centripetal acceleration during turns. Set to zero to disable centripetal acceleration compensation during fixed wing flight modes.", "max": 100.0, "min": 0.0, "name": "EKF2_GSF_TAS", "shortDesc": "Default value of true airspeed used in EKF-GSF AHRS calculation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "EKF2", "longDesc": "The ekf gyro bias states will be limited to within a range equivalent to +- of this value.", "max": 0.4, "min": 0.0, "name": "EKF2_GYR_B_LIM", "shortDesc": "Gyro bias learning limit", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.001, "group": "EKF2", "max": 0.01, "min": 0.0, "name": "EKF2_GYR_B_NOISE", "shortDesc": "Process noise for IMU rate gyro bias prediction", "type": "Float", "units": "rad/s^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.015, "group": "EKF2", "max": 0.1, "min": 0.0001, "name": "EKF2_GYR_NOISE", "shortDesc": "Rate gyro noise for covariance prediction", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.6, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_HDG_GATE", "shortDesc": "Gate size for heading fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "EKF2", "max": 1.0, "min": 0.01, "name": "EKF2_HEAD_NOISE", "shortDesc": "Measurement noise for magnetic heading fusion", "type": "Float", "units": "rad"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "When multiple height sources are enabled at the same time, the height estimate will always converge towards the reference height source selected by this parameter. The range sensor and vision options should only be used when for operation over a flat surface as the local NED origin will move up and down with ground level.", "name": "EKF2_HGT_REF", "rebootRequired": true, "shortDesc": "Determines the reference source of height data used by the EKF", "type": "Int32", "values": [{"description": "Barometric pressure", "value": 0}, {"description": "GPS", "value": 1}, {"description": "Range sensor", "value": 2}, {"description": "Vision", "value": 3}]}, {"bitmask": [{"description": "Gyro Bias", "index": 0}, {"description": "Accel Bias", "index": 1}, {"description": "Gravity vector fusion", "index": 2}], "category": "Standard", "default": 3, "group": "EKF2", "max": 7, "min": 0, "name": "EKF2_IMU_CTRL", "shortDesc": "IMU control", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_IMU_POS_X", "shortDesc": "X position of IMU in body frame (forward axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_IMU_POS_Y", "shortDesc": "Y position of IMU in body frame (right axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_IMU_POS_Z", "shortDesc": "Z position of IMU in body frame (down axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "This parameter is used when the magnetometer fusion method is set automatically (EKF2_MAG_TYPE = 0). If the filtered horizontal acceleration is greater than this parameter value, then the EKF will use 3-axis magnetometer fusion.", "max": 5.0, "min": 0.0, "name": "EKF2_MAG_ACCLIM", "shortDesc": "Horizontal acceleration threshold used by automatic selection of magnetometer fusion method", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.0001, "group": "EKF2", "max": 0.1, "min": 0.0, "name": "EKF2_MAG_B_NOISE", "shortDesc": "Process noise for body magnetic field prediction", "type": "Float", "units": "gauss/s"}, {"bitmask": [{"description": "Strength (EKF2_MAG_CHK_STR)", "index": 0}, {"description": "Inclination (EKF2_MAG_CHK_INC)", "index": 1}, {"description": "Wait for WMM", "index": 2}], "category": "Standard", "default": 1, "group": "EKF2", "longDesc": "Bitmask to set which check is used to decide whether the magnetometer data is valid. If GNSS data is received, the magnetic field is compared to a World Magnetic Model (WMM), otherwise an average value is used. This check is useful to reject occasional hard iron disturbance. Set bits to 1 to enable checks. Checks enabled by the following bit positions 0 : Magnetic field strength. Set tolerance using EKF2_MAG_CHK_STR 1 : Magnetic field inclination. Set tolerance using EKF2_MAG_CHK_INC 2 : Wait for GNSS to find the theoretical strength and inclination using the WMM", "max": 7, "min": 0, "name": "EKF2_MAG_CHECK", "shortDesc": "Magnetic field strength test selection", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "longDesc": "Maximum allowed deviation from the expected magnetic field inclination to pass the check.", "max": 90.0, "min": 0.0, "name": "EKF2_MAG_CHK_INC", "shortDesc": "Magnetic field inclination check tolerance", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "longDesc": "Maximum allowed deviation from the expected magnetic field strength to pass the check.", "max": 1.0, "min": 0.0, "name": "EKF2_MAG_CHK_STR", "shortDesc": "Magnetic field strength check tolerance", "type": "Float", "units": "gauss"}, {"category": "System", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "name": "EKF2_MAG_DECL", "shortDesc": "Magnetic declination", "type": "Float", "units": "deg", "volatile": true}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_MAG_DELAY", "rebootRequired": true, "shortDesc": "Magnetometer measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 6, "default": 0.001, "group": "EKF2", "max": 0.1, "min": 0.0, "name": "EKF2_MAG_E_NOISE", "shortDesc": "Process noise for earth magnetic field prediction", "type": "Float", "units": "gauss/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_MAG_GATE", "shortDesc": "Gate size for magnetometer XYZ component fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "EKF2", "max": 1.0, "min": 0.001, "name": "EKF2_MAG_NOISE", "shortDesc": "Measurement noise for magnetometer 3-axis fusion", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Integer controlling the type of magnetometer fusion used - magnetic heading or 3-component vector. The fusion of magnetometer data as a three component vector enables vehicle body fixed hard iron errors to be learned, but requires a stable earth field. If set to 'Automatic' magnetic heading fusion is used when on-ground and 3-axis magnetic field fusion in-flight with fallback to magnetic heading fusion if there is insufficient motion to make yaw or magnetic field states observable. If set to 'Magnetic heading' magnetic heading fusion is used at all times. If set to 'None' the magnetometer will not be used under any circumstance. If no external source of yaw is available, it is possible to use post-takeoff horizontal movement combined with GPS velocity measurements to align the yaw angle with the timer required (depending on the amount of movement and GPS data quality).", "name": "EKF2_MAG_TYPE", "rebootRequired": true, "shortDesc": "Type of magnetometer fusion", "type": "Int32", "values": [{"description": "Automatic", "value": 0}, {"description": "Magnetic heading", "value": 1}, {"description": "None", "value": 5}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "longDesc": "This parameter is used when the magnetometer fusion method is set automatically (EKF2_MAG_TYPE = 0). If the filtered yaw rate is greater than this parameter value, then the EKF will use 3-axis magnetometer fusion.", "max": 1.0, "min": 0.0, "name": "EKF2_MAG_YAWLIM", "shortDesc": "Yaw rate threshold used by automatic selection of magnetometer fusion method", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "EKF2", "longDesc": "This parameter controls the prediction of drag produced by the propellers when flying a multi-copter, which enables estimation of wind drift when enabled by the EKF2_DRAG_CTRL parameter. The drag produced by this effect scales with speed not speed squared and is produced because some of the air velocity normal to the propeller axis of rotation is lost when passing through the rotor disc. This changes the momentum of the flow which creates a drag reaction force. When comparing un-ducted propellers of the same diameter, the effect is roughly proportional to the area of the propeller blades when viewed side on and changes with propeller selection. Momentum drag is significantly higher for ducted rotors. To account for the drag produced by the body which scales with speed squared, see documentation for the EKF2_BCOEF_X and EKF2_BCOEF_Y parameters. Set this parameter to zero to turn off the momentum drag model for both axis.", "max": 1.0, "min": 0.0, "name": "EKF2_MCOEF", "shortDesc": "Propeller momentum drag coefficient used for multi-rotor wind estimation", "type": "Float", "units": "1/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "longDesc": "If the vehicle is on ground, is not moving as determined by the motion test and the range finder is returning invalid or no data, then an assumed range value of EKF2_MIN_RNG will be used by the terrain estimator so that a terrain height estimate is available at the start of flight in situations where the range finder may be inside its minimum measurements distance when on ground.", "min": 0.01, "name": "EKF2_MIN_RNG", "shortDesc": "Expected range finder reading when on ground", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Maximum number of IMUs to use for Multi-EKF. Set 0 to disable. Requires SENS_IMU_MODE 0.", "max": 4, "min": 0, "name": "EKF2_MULTI_IMU", "rebootRequired": true, "shortDesc": "Multi-EKF IMUs", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Maximum number of magnetometers to use for Multi-EKF. Set 0 to disable. Requires SENS_MAG_MODE 0.", "max": 4, "min": 0, "name": "EKF2_MULTI_MAG", "rebootRequired": true, "shortDesc": "Multi-EKF Magnetometers", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "EKF2", "max": 50.0, "min": 0.5, "name": "EKF2_NOAID_NOISE", "shortDesc": "Measurement noise for non-aiding position hold", "type": "Float", "units": "m"}, {"category": "Standard", "default": 5000000, "group": "EKF2", "max": 10000000, "min": 500000, "name": "EKF2_NOAID_TOUT", "shortDesc": "Maximum lapsed time from last fusion of measurements that constrain velocity drift before the EKF will report the horizontal nav solution as invalid", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Enable optical flow fusion.", "name": "EKF2_OF_CTRL", "shortDesc": "Optical flow aiding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "EKF2", "longDesc": "Assumes measurement is timestamped at trailing edge of integration period", "max": 300.0, "min": 0.0, "name": "EKF2_OF_DELAY", "rebootRequired": true, "shortDesc": "Optical flow measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_OF_GATE", "shortDesc": "Gate size for optical flow fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "longDesc": "(when it's reported quality metric is at the minimum set by EKF2_OF_QMIN). The following condition must be met: EKF2_OF_N_MAXN >= EKF2_OF_N_MIN", "min": 0.05, "name": "EKF2_OF_N_MAX", "shortDesc": "Measurement noise for the optical flow sensor", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.15, "group": "EKF2", "min": 0.05, "name": "EKF2_OF_N_MIN", "shortDesc": "Measurement noise for the optical flow sensor when it's reported quality metric is at the maximum", "type": "Float", "units": "rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_OF_POS_X", "shortDesc": "X position of optical flow focal point in body frame (forward axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_OF_POS_Y", "shortDesc": "Y position of optical flow focal point in body frame (right axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_OF_POS_Z", "shortDesc": "Z position of optical flow focal point in body frame (down axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "EKF2", "max": 255, "min": 0, "name": "EKF2_OF_QMIN", "shortDesc": "Optical Flow data will only be used in air if the sensor reports a quality metric >= EKF2_OF_QMIN", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "EKF2", "max": 255, "min": 0, "name": "EKF2_OF_QMIN_GND", "shortDesc": "Optical Flow data will only be used on the ground if the sensor reports a quality metric >= EKF2_OF_QMIN_GND", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a negative wind relative velocity along the X body axis. If the baro height estimate rises during backwards flight, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_XN", "shortDesc": "Static pressure position error coefficient for the negative X axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a positive wind relative velocity along the X body axis. If the baro height estimate rises during forward flight, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_XP", "shortDesc": "Static pressure position error coefficient for the positive X axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the negative Y (LH) body axis. If the baro height estimate rises during sideways flight to the left, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_YN", "shortDesc": "Pressure position error coefficient for the negative Y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the positive Y (RH) body axis. If the baro height estimate rises during sideways flight to the right, then this will be a negative number.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_YP", "shortDesc": "Pressure position error coefficient for the positive Y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "EKF2", "longDesc": "This is the ratio of static pressure error to dynamic pressure generated by a wind relative velocity along the Z body axis.", "max": 0.5, "min": -0.5, "name": "EKF2_PCOEF_Z", "shortDesc": "Static pressure position error coefficient for the Z axis", "type": "Float"}, {"category": "Standard", "default": 10000, "group": "EKF2", "longDesc": "EKF prediction period in microseconds. This should ideally be an integer multiple of the IMU time delta. Actual filter update will be an integer multiple of IMU update.", "max": 20000, "min": 1000, "name": "EKF2_PREDICT_US", "shortDesc": "EKF prediction period", "type": "Int32", "units": "us"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "EKF2", "max": 100.0, "min": 2.0, "name": "EKF2_REQ_EPH", "shortDesc": "Required EPH to use GPS", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 100.0, "min": 2.0, "name": "EKF2_REQ_EPV", "shortDesc": "Required EPV to use GPS", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "EKF2", "longDesc": "Minimum continuous period without GPS failure required to mark a healthy GPS status. It can be reduced to speed up initialization, but it's recommended to keep this unchanged for a vehicle.", "min": 0.1, "name": "EKF2_REQ_GPS_H", "rebootRequired": true, "shortDesc": "Required GPS health time on startup", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "max": 1.0, "min": 0.1, "name": "EKF2_REQ_HDRIFT", "shortDesc": "Maximum horizontal drift speed to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 6, "group": "EKF2", "max": 12, "min": 4, "name": "EKF2_REQ_NSATS", "shortDesc": "Required satellite count to use GPS", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "EKF2", "max": 5.0, "min": 1.5, "name": "EKF2_REQ_PDOP", "shortDesc": "Maximum PDOP to use GPS", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "max": 5.0, "min": 0.5, "name": "EKF2_REQ_SACC", "shortDesc": "Required speed accuracy to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "EKF2", "max": 1.5, "min": 0.1, "name": "EKF2_REQ_VDRIFT", "shortDesc": "Maximum vertical drift speed to use GPS", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 5.0, "group": "EKF2", "longDesc": "If the vehicle absolute altitude exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).", "max": 10.0, "min": 1.0, "name": "EKF2_RNG_A_HMAX", "shortDesc": "Maximum absolute altitude (height above ground level) allowed for conditional range aid mode", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "A lower value means HAGL needs to be more stable in order to use range finder for height estimation in range aid mode", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_A_IGATE", "shortDesc": "Gate size used for innovation consistency checks for range aid fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "If the vehicle horizontal speed exceeds this value then the estimator will not fuse range measurements to estimate its height. This only applies when conditional range aid mode is activated (EKF2_RNG_CTRL = 1).", "max": 2.0, "min": 0.1, "name": "EKF2_RNG_A_VMAX", "shortDesc": "Maximum horizontal velocity allowed for conditional range aid mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "EKF2", "longDesc": "WARNING: Range finder measurements are less reliable and can experience unexpected errors. For these reasons, if accurate control of height relative to ground is required, it is recommended to use the MPC_ALT_MODE parameter instead, unless baro errors are severe enough to cause problems with landing and takeoff. To en-/disable range finder for terrain height estimation, use EKF2_TERR_MASK instead. If this parameter is enabled then the estimator will make use of the range finder measurements to estimate its height in addition to other height sources (if activated). Range sensor aiding can be enabled (i.e.: always use) or set in \"conditional\" mode. Conditional mode: This enables the range finder to be used during low speed (< EKF2_RNG_A_VMAX) and low altitude (< EKF2_RNG_A_HMAX) operation, eg takeoff and landing, where baro interference from rotor wash is excessive and can corrupt EKF state estimates. It is intended to be used where a vertical takeoff and landing is performed, and horizontal flight does not occur until above EKF2_RNG_A_HMAX.", "name": "EKF2_RNG_CTRL", "shortDesc": "Range sensor height aiding", "type": "Int32", "values": [{"description": "Disable range fusion", "value": 0}, {"description": "Enabled (conditional mode)", "value": 1}, {"description": "Enabled", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "max": 300.0, "min": 0.0, "name": "EKF2_RNG_DELAY", "rebootRequired": true, "shortDesc": "Range finder measurement delay relative to IMU measurements", "type": "Float", "units": "ms"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_RNG_GATE", "shortDesc": "Gate size for range finder fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "To be used, the time derivative of the distance sensor measurements projected on the vertical axis needs to be statistically consistent with the estimated vertical velocity of the drone. Decrease this value to make the filter more robust against range finder faulty data (stuck, reflections, ...). Note: tune the range finder noise parameters (EKF2_RNG_NOISE and EKF2_RNG_SFE) before tuning this gate.", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_K_GATE", "shortDesc": "Gate size used for range finder kinematic consistency check", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "EKF2", "min": 0.01, "name": "EKF2_RNG_NOISE", "shortDesc": "Measurement noise for range finder fusion", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "max": 0.75, "min": -0.75, "name": "EKF2_RNG_PITCH", "shortDesc": "Range sensor pitch offset", "type": "Float", "units": "rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_RNG_POS_X", "shortDesc": "X position of range finder origin in body frame (forward axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_RNG_POS_Y", "shortDesc": "Y position of range finder origin in body frame (right axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "EKF2", "name": "EKF2_RNG_POS_Z", "shortDesc": "Z position of range finder origin in body frame (down axis with origin relative to vehicle centre of gravity)", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "max": 5.0, "min": 0.1, "name": "EKF2_RNG_QLTY_T", "shortDesc": "Minimum duration during which the reported range finder signal quality needs to be non-zero in order to be declared valid (s)", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0.05, "group": "EKF2", "longDesc": "Specifies the increase in range finder noise with range.", "max": 0.2, "min": 0.0, "name": "EKF2_RNG_SFE", "shortDesc": "Range finder range dependent noise scaler", "type": "Float", "units": "m/m"}, {"category": "Standard", "default": 0.2, "group": "EKF2", "longDesc": "EKF2 instances have to be better than the selected by at least this amount before their relative score can be reduced.", "name": "EKF2_SEL_ERR_RED", "shortDesc": "Selector error reduce threshold", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "EKF2", "longDesc": "EKF2 selector acceleration error threshold for comparing accelerometers. Acceleration vector differences larger than this will result in accumulated velocity error.", "name": "EKF2_SEL_IMU_ACC", "shortDesc": "Selector acceleration threshold", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 15.0, "group": "EKF2", "longDesc": "EKF2 selector maximum accumulated angular error threshold for comparing gyros. Accumulated angular error larger than this will result in the sensor being declared faulty.", "name": "EKF2_SEL_IMU_ANG", "shortDesc": "Selector angular threshold", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 7.0, "group": "EKF2", "longDesc": "EKF2 selector angular rate error threshold for comparing gyros. Angular rate vector differences larger than this will result in accumulated angular error.", "name": "EKF2_SEL_IMU_RAT", "shortDesc": "Selector angular rate threshold", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 2.0, "group": "EKF2", "longDesc": "EKF2 selector maximum accumulated velocity threshold for comparing accelerometers. Accumulated velocity error larger than this will result in the sensor being declared faulty.", "name": "EKF2_SEL_IMU_VEL", "shortDesc": "Selector angular threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 0, "group": "EKF2", "longDesc": "Use for vehicles where the measured body Z magnetic field is subject to strong magnetic interference. For magnetic heading fusion the magnetometer Z measurement will be replaced by a synthetic value calculated using the knowledge of the 3D magnetic field vector at the location of the drone. Therefore, this parameter will only have an effect if the global position of the drone is known. For 3D mag fusion the magnetometer Z measurement will simply be ignored instead of fusing the synthetic value.", "name": "EKF2_SYNT_MAG_Z", "shortDesc": "Enable synthetic magnetometer Z component measurement", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "min": 1.0, "name": "EKF2_TAS_GATE", "shortDesc": "Gate size for TAS fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "EKF2", "max": 1.0, "min": 0.1, "name": "EKF2_TAU_POS", "shortDesc": "Time constant of the position output prediction and smoothing filter. Controls how tightly the output track the EKF states", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "EKF2", "max": 1.0, "name": "EKF2_TAU_VEL", "shortDesc": "Time constant of the velocity output prediction and smoothing filter", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "EKF2", "min": 0.0, "name": "EKF2_TERR_GRAD", "shortDesc": "Magnitude of terrain gradient", "type": "Float", "units": "m/m"}, {"bitmask": [{"description": "use range finder", "index": 0}, {"description": "use optical flow", "index": 1}], "category": "Standard", "default": 3, "group": "EKF2", "longDesc": "Set bits in the following positions to enable: 0 : Set to true to use range finder data if available 1 : Set to true to use optical flow data if available", "max": 3, "min": 0, "name": "EKF2_TERR_MASK", "shortDesc": "Integer bitmask controlling fusion sources of the terrain estimator", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "EKF2", "min": 0.5, "name": "EKF2_TERR_NOISE", "shortDesc": "Terrain altitude process noise - accounts for instability in vehicle height estimate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "EKF2", "longDesc": "When unaided, the wind estimate uncertainty (1-sigma, in m/s) increases by this amount every second.", "max": 1.0, "min": 0.0, "name": "EKF2_WIND_NSD", "shortDesc": "Process noise spectral density for wind velocity prediction", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "default": 0, "group": "Events", "longDesc": "Enable/disable event task for RC Loss. When enabled, an alarm tune will be played via buzzer or ESCs, if supported. The alarm will sound after a disarm, if the vehicle was previously armed and only if the vehicle had RC signal at some point. Particularly useful for locating crashed drones without a GPS sensor.", "name": "EV_TSK_RC_LOSS", "rebootRequired": true, "shortDesc": "RC Loss Alarm", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Events", "longDesc": "Enable/disable event task for displaying the vehicle status using arm-mounted LEDs. When enabled and if the vehicle supports it, LEDs will flash indicating various vehicle status changes. Currently PX4 has not implemented any specific status events. -", "name": "EV_TSK_STAT_DIS", "rebootRequired": true, "shortDesc": "Status Display", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "Applies to both directions in all manual modes with attitude stabilization but without altitude control", "max": 90.0, "min": 0.0, "name": "FW_MAN_P_MAX", "shortDesc": "Maximum manual pitch angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 45.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "Applies to both directions in all manual modes with attitude stabilization", "max": 90.0, "min": 0.0, "name": "FW_MAN_R_MAX", "shortDesc": "Maximum manual roll angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "This is the maximally added yaw rate setpoint from the yaw stick in any attitude controlled flight mode. It is added to the yaw rate setpoint generated by the controller for turn coordination.", "min": 0.0, "name": "FW_MAN_YR_MAX", "shortDesc": "Maximum manually added yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "An airframe specific offset of the pitch setpoint in degrees, the value is added to the pitch setpoint and should correspond to the pitch at typical cruise speed of the airframe.", "max": 90.0, "min": -90.0, "name": "FW_PSP_OFF", "shortDesc": "Pitch setpoint offset (pitch at level flight)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 60.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_P_RMAX_NEG", "shortDesc": "Maximum negative / down pitch rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 60.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_P_RMAX_POS", "shortDesc": "Maximum positive / up pitch rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "longDesc": "This defines the latency between a pitch step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.", "max": 1.0, "min": 0.2, "name": "FW_P_TC", "shortDesc": "Attitude pitch time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 70.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_R_RMAX", "shortDesc": "Maximum roll rate setpoint", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "longDesc": "This defines the latency between a roll step input and the achieved setpoint (inverse to a P gain). Smaller systems may require smaller values.", "max": 1.0, "min": 0.2, "name": "FW_R_TC", "shortDesc": "Attitude Roll Time Constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "FW_SPOILERS_DESC", "shortDesc": "Spoiler descend setting", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "FW_SPOILERS_LND", "shortDesc": "Spoiler landing setting", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Attitude Control", "increment": 0.05, "max": 10.0, "min": 0.0, "name": "FW_WR_FF", "shortDesc": "Wheel steering rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "FW Attitude Control", "increment": 0.005, "longDesc": "This gain defines how much control response will result out of a steady state error. It trims any constant error.", "max": 10.0, "min": 0.0, "name": "FW_WR_I", "shortDesc": "Wheel steering rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Attitude Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_WR_IMAX", "shortDesc": "Wheel steering rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "FW Attitude Control", "increment": 0.005, "longDesc": "This defines how much the wheel steering input will be commanded depending on the current body angular rate error.", "max": 10.0, "min": 0.0, "name": "FW_WR_P", "shortDesc": "Wheel steering rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "default": 0, "group": "FW Attitude Control", "longDesc": "Only enabled during automatic runway takeoff and landing. In all manual modes the wheel is directly controlled with yaw stick.", "name": "FW_W_EN", "shortDesc": "Enable wheel steering controller", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Attitude Control", "increment": 0.5, "longDesc": "This limits the maximum wheel steering rate the controller will output (in degrees per second).", "max": 90.0, "min": 0.0, "name": "FW_W_RMAX", "shortDesc": "Maximum wheel steering rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 50.0, "group": "FW Attitude Control", "increment": 0.5, "max": 180.0, "min": 0.0, "name": "FW_Y_RMAX", "shortDesc": "Maximum yaw rate setpoint", "type": "Float", "units": "deg/s"}, {"bitmask": [{"description": "Abort if terrain is not found (only applies to mission landings)", "index": 0}, {"description": "Abort if terrain times out (after a first successful measurement)", "index": 1}], "category": "Standard", "default": 3, "group": "FW Auto Landing", "longDesc": "Terrain estimation: bit 0: Abort if terrain is not found bit 1: Abort if terrain times out (after a first successful measurement) The last estimate is always used as ground, whether the last valid measurement or the land waypoint, depending on the selected abort criteria, until an abort condition is entered. If FW_LND_USETER == 0, these bits are ignored. TODO: Extend automatic abort conditions e.g. glide slope tracking error (horizontal and vertical)", "max": 3, "min": 0, "name": "FW_LND_ABORT", "shortDesc": "Bit mask to set the automatic landing abort conditions", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "The calibrated airspeed setpoint during landing. If set <= 0.0, landing airspeed = FW_AIRSPD_MIN by default.", "min": -1.0, "name": "FW_LND_AIRSPD", "shortDesc": "Landing airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Typically the desired landing slope angle when landing configuration (flaps, airspeed) is enabled. Set this value within the vehicle's performance limits.", "max": 15.0, "min": 1.0, "name": "FW_LND_ANG", "shortDesc": "Maximum landing slope angle", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "FW Auto Landing", "longDesc": "When disabled, the landing configuration (flaps, landing airspeed, etc.) is only activated on the final approach to landing. When enabled, it is already activated when entering the final loiter-down (loiter-to-alt) waypoint before the landing approach.", "name": "FW_LND_EARLYCFG", "shortDesc": "Early landing configuration deployment", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * |z-velocity|) is taken as the flare altitude", "min": 0.0, "name": "FW_LND_FLALT", "shortDesc": "Landing flare altitude (relative to landing altitude)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Maximum pitch during flare, a positive sign means nose up Applied once flaring is triggered", "max": 45.0, "min": 0.0, "name": "FW_LND_FL_PMAX", "shortDesc": "Flare, maximum pitch", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "FW Auto Landing", "increment": 0.5, "longDesc": "Minimum pitch during flare, a positive sign means nose up Applied once flaring is triggered", "max": 15.0, "min": -5.0, "name": "FW_LND_FL_PMIN", "shortDesc": "Flare, minimum pitch", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "TECS will attempt to control the aircraft to this sink rate via pitch angle (throttle killed during flare)", "max": 2.0, "min": 0.0, "name": "FW_LND_FL_SINK", "shortDesc": "Landing flare sink rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "Multiplied by the descent rate to calculate a dynamic altitude at which to trigger the flare. NOTE: max(FW_LND_FLALT, FW_LND_FL_TIME * descent rate) is taken as the flare altitude", "max": 5.0, "min": 0.1, "name": "FW_LND_FL_TIME", "shortDesc": "Landing flare time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 2, "group": "FW Auto Landing", "longDesc": "Approach angle nudging: shifts the touchdown point laterally while keeping the approach entrance point constant Approach path nudging: shifts the touchdown point laterally along with the entire approach path This is useful for manually adjusting the landing point in real time when map or GNSS errors cause an offset from the desired landing vector. Nuding is done with yaw stick, constrained to FW_LND_TD_OFF (in meters) and the direction is relative to the vehicle heading (stick deflection to the right = land point moves to the right as seen by the vehicle).", "max": 2, "min": 0, "name": "FW_LND_NUDGE", "shortDesc": "Landing touchdown nudging option", "type": "Int32", "values": [{"description": "Disable nudging", "value": 0}, {"description": "Nudge approach angle", "value": 1}, {"description": "Nudge approach path", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "FW Auto Landing", "increment": 1.0, "max": 10.0, "min": 0.0, "name": "FW_LND_TD_OFF", "shortDesc": "Maximum lateral position offset for the touchdown point", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "This is the time after the start of flaring that we expect the vehicle to touch the runway. At this time, a 0.5s clamp down ramp will engage, constraining the pitch setpoint to RWTO_PSP. If enabled, ensure that RWTO_PSP is configured appropriately for full gear contact on ground roll. Set to -1.0 to disable touchdown clamping. E.g. it may not be desirable to clamp on belly landings. The touchdown time will be constrained to be greater than or equal to the flare time (FW_LND_FL_TIME).", "max": 5.0, "min": -1.0, "name": "FW_LND_TD_TIME", "shortDesc": "Landing touchdown time (since flare start)", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1.0, "group": "FW Auto Landing", "increment": 0.1, "longDesc": "Set this parameter to less than 1.0 to make TECS react faster to altitude errors during landing than during normal flight. During landing, the TECS altitude time constant (FW_T_ALT_TC) is multiplied by this value.", "max": 1.0, "min": 0.2, "name": "FW_LND_THRTC_SC", "shortDesc": "Altitude time constant factor for landing", "type": "Float", "units": ""}, {"category": "Standard", "default": 1, "group": "FW Auto Landing", "longDesc": "NOTE: terrain estimate is currently solely derived from a distance sensor. If enabled and no measurement is found within a given timeout, the landing waypoint altitude will be used OR the landing will be aborted, depending on the criteria set in FW_LND_ABORT. If disabled, FW_LND_ABORT terrain based criteria are ignored.", "max": 2, "min": 0, "name": "FW_LND_USETER", "shortDesc": "Use terrain estimation during landing. This is critical for detecting when to flare, and should be enabled if possible", "type": "Int32", "values": [{"description": "Disable the terrain estimate", "value": 0}, {"description": "Use the terrain estimate to trigger the flare (only)", "value": 1}, {"description": "Calculate landing glide slope relative to the terrain estimate", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "FW Geometry", "increment": 1.0, "longDesc": "This is used to constrain a minimum altitude below which we keep wings level to avoid wing tip strike. It's safer to give a slight margin here (> 0m)", "min": 0.0, "name": "FW_WING_HEIGHT", "shortDesc": "Height (AGL) of the wings when the aircraft is on the ground", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "FW Geometry", "increment": 0.1, "longDesc": "This is used for limiting the roll setpoint near the ground. (if multiple wings, take the longest span)", "min": 0.1, "name": "FW_WING_SPAN", "shortDesc": "The aircraft's wing span (length from tip to tip)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.05, "group": "FW Launch detection", "increment": 0.05, "longDesc": "Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.", "max": 5.0, "min": 0.0, "name": "FW_LAUN_AC_T", "shortDesc": "Trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW Launch detection", "increment": 0.5, "longDesc": "Launch is detected when acceleration in body forward direction is above FW_LAUN_AC_THLD for FW_LAUN_AC_T seconds.", "min": 0.0, "name": "FW_LAUN_AC_THLD", "shortDesc": "Trigger acceleration threshold", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 0, "group": "FW Launch detection", "longDesc": "Enables automatic launch detection based on measured acceleration. Use for hand- or catapult-launched vehicles. Not compatible with runway takeoff.", "name": "FW_LAUN_DETCN_ON", "shortDesc": "Fixed-wing launch detection", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Launch detection", "increment": 0.5, "longDesc": "Start the motor(s) this amount of seconds after launch is detected.", "max": 10.0, "min": 0.0, "name": "FW_LAUN_MOT_DEL", "shortDesc": "Motor delay", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.7, "group": "FW NPFG Control", "increment": 0.01, "longDesc": "Damping ratio of the NPFG control law.", "max": 1.0, "min": 0.1, "name": "NPFG_DAMPING", "shortDesc": "NPFG damping ratio", "type": "Float"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "name": "NPFG_EN_MIN_GSP", "shortDesc": "Enable minimum forward ground speed maintaining excess wind handling logic", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW NPFG Control", "increment": 0.5, "longDesc": "The maximum value of the minimum forward ground speed that may be commanded by the track keeping excess wind handling logic. Commanded in full at the normalized track error fraction of the track error boundary and reduced to zero on track.", "max": 10.0, "min": 0.0, "name": "NPFG_GSP_MAX_TK", "shortDesc": "Maximum, minimum forward ground speed for track keeping in excess wind", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Avoids limit cycling from a too aggressively tuned period/damping combination. If set to false, also disables the upper bound NPFG_PERIOD_UB.", "name": "NPFG_LB_PERIOD", "shortDesc": "Enable automatic lower bound on the NPFG period", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW NPFG Control", "increment": 0.1, "longDesc": "Period of the NPFG control law.", "max": 100.0, "min": 1.0, "name": "NPFG_PERIOD", "shortDesc": "NPFG period", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "FW NPFG Control", "increment": 0.1, "longDesc": "Multiplied by period for conservative minimum period bounding (when period lower bounding is enabled). 1.0 bounds at marginal stability.", "max": 10.0, "min": 1.0, "name": "NPFG_PERIOD_SF", "shortDesc": "Period safety factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW NPFG Control", "increment": 0.05, "longDesc": "Time constant of roll controller command / response, modeled as first order delay. Used to determine lower period bound. Setting zero disables automatic period bounding.", "max": 2.0, "min": 0.0, "name": "NPFG_ROLL_TC", "shortDesc": "Roll time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.32, "group": "FW NPFG Control", "increment": 0.01, "longDesc": "Multiplied by the track error boundary to determine when the aircraft switches to the next waypoint and/or path segment. Should be less than 1.", "max": 1.0, "min": 0.1, "name": "NPFG_SW_DST_MLT", "shortDesc": "NPFG switch distance multiplier", "type": "Float"}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "name": "NPFG_TRACK_KEEP", "shortDesc": "Enable track keeping excess wind handling logic", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Adapts period to maintain track keeping in variable winds and path curvature.", "name": "NPFG_UB_PERIOD", "shortDesc": "Enable automatic upper bound on the NPFG period", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "FW NPFG Control", "longDesc": "Disabling this parameter further disables all other airspeed incrementation options.", "name": "NPFG_WIND_REG", "shortDesc": "Enable wind excess regulation", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "FW Path Control", "increment": 1.0, "longDesc": "The maximum change in roll angle setpoint per second.", "min": 0.0, "name": "FW_PN_R_SLEW_MAX", "shortDesc": "Path navigation roll slew rate limit", "type": "Float", "units": "deg/s"}, {"bitmask": [{"description": "Alternative stick configuration (height rate on throttle stick, airspeed on pitch stick)", "index": 0}, {"description": "Enable airspeed setpoint via sticks in altitude and position flight mode", "index": 1}], "category": "Standard", "default": 2, "group": "FW Path Control", "longDesc": "Set RC/joystick configuration for fixed-wing manual position and altitude controlled flight.", "max": 3, "min": 0, "name": "FW_POS_STK_CONF", "shortDesc": "RC stick configuration fixed-wing", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 50.0, "group": "FW Path Control", "increment": 0.5, "longDesc": "The maximum roll angle setpoint for setpoint for a height-rate or altitude controlled mode.", "max": 65.0, "min": 35.0, "name": "FW_R_LIM", "shortDesc": "Maximum roll angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW Path Control", "increment": 0.5, "max": 30.0, "min": -5.0, "name": "FW_TKO_PITCH_MIN", "shortDesc": "Minimum pitch during takeoff", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The maximal airspeed (calibrated airspeed) the user is able to command.", "min": 0.5, "name": "FW_AIRSPD_MAX", "shortDesc": "Maximum Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The minimal airspeed (calibrated airspeed) the user is able to command. Further, if the airspeed falls below this value, the TECS controller will try to increase airspeed more aggressively. Has to be set according to the vehicle's stall speed (which should be set in FW_AIRSPD_STALL), with some margin between the stall speed and minimum airspeed. This value corresponds to the desired minimum speed with the default load factor (level flight, default weight), and is automatically adpated to the current load factor (calculated from roll setpoint and WEIGHT_GROSS/WEIGHT_BASE).", "min": 0.5, "name": "FW_AIRSPD_MIN", "shortDesc": "Minimum Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 7.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The stall airspeed (calibrated airspeed) of the vehicle. It is used for airspeed sensor failure detection and for the control surface scaling airspeed limits.", "min": 0.5, "name": "FW_AIRSPD_STALL", "shortDesc": "Stall Airspeed (CAS)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW Performance", "increment": 0.5, "longDesc": "The trim CAS (calibrated airspeed) of the vehicle. If an airspeed controller is active, this is the default airspeed setpoint that the controller will try to achieve. This value corresponds to the trim airspeed with the default load factor (level flight, default weight).", "min": 0.5, "name": "FW_AIRSPD_TRIM", "shortDesc": "Trim (Cruise) Airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": -1.0, "group": "FW Performance", "increment": 1.0, "longDesc": "Altitude in standard atmosphere at which the vehicle in normal configuration (WEIGHT_BASE) is still able to achieve a maximum climb rate of 0.5m/s at maximum throttle (FW_THR_MAX). Used to compensate for air density in FW_T_CLMB_MAX. Set negative to disable.", "min": -1.0, "name": "FW_SERVICE_CEIL", "shortDesc": "Service ceiling", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at maximum airspeed FW_AIRSPD_MAX Set to 0 to disable mapping of airspeed to trim throttle.", "max": 1.0, "min": 0.0, "name": "FW_THR_ASPD_MAX", "shortDesc": "Throttle at max airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at minimum airspeed FW_AIRSPD_MIN Set to 0 to disable mapping of airspeed to trim throttle below FW_AIRSPD_TRIM.", "max": 1.0, "min": 0.0, "name": "FW_THR_ASPD_MIN", "shortDesc": "Throttle at min airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "FW Performance", "increment": 0.01, "longDesc": "Required throttle (at sea level, standard atmosphere) for level flight at FW_AIRSPD_TRIM", "max": 1.0, "min": 0.0, "name": "FW_THR_TRIM", "shortDesc": "Trim throttle", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the maximum calibrated climb rate that the aircraft can achieve with the throttle set to FW_THR_MAX and the airspeed set to the trim value. For electric aircraft make sure this number can be achieved towards the end of flight when the battery voltage has reduced.", "max": 15.0, "min": 1.0, "name": "FW_T_CLMB_MAX", "shortDesc": "Maximum climb rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the minimum calibrated sink rate of the aircraft with the throttle set to THR_MIN and flown at the same airspeed as used to measure FW_T_CLMB_MAX.", "max": 5.0, "min": 1.0, "name": "FW_T_SINK_MIN", "shortDesc": "Minimum descent rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Performance", "increment": 0.5, "longDesc": "This is the weight of the vehicle at which it's performance limits were derived. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.", "name": "WEIGHT_BASE", "shortDesc": "Vehicle base weight", "type": "Float", "units": "kg"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW Performance", "increment": 0.1, "longDesc": "This is the actual weight of the vehicle at any time. This value will differ from WEIGHT_BASE in case weight was added or removed from the base weight. Examples are the addition of payloads or larger batteries. A zero or negative value disables trim throttle and minimum airspeed compensation based on weight.", "name": "WEIGHT_GROSS", "shortDesc": "Vehicle gross weight", "type": "Float", "units": "kg"}, {"category": "Standard", "default": 90.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_X_MAX", "shortDesc": "Acro body roll max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "If this parameter is set to 1, the yaw rate controller is enabled in Fixed-wing Acro mode. Otherwise the pilot commands directly the yaw actuator. It is disabled by default because an active yaw rate controller will fight against the natural turn coordination of the plane.", "name": "FW_ACRO_YAW_EN", "shortDesc": "Enable yaw rate controller in Acro", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 90.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_Y_MAX", "shortDesc": "Acro body pitch max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 45.0, "group": "FW Rate Control", "max": 720.0, "min": 10.0, "name": "FW_ACRO_Z_MAX", "shortDesc": "Acro body yaw max rate setpoint", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "On vehicles without airspeed sensor this parameter can be used to enable flying without an airspeed reading", "name": "FW_ARSP_MODE", "shortDesc": "Airspeed mode", "type": "Int32", "values": [{"description": "Use airspeed in controller", "value": 0}, {"description": "Do not use airspeed in controller", "value": 1}]}, {"category": "Standard", "default": 1, "group": "FW Rate Control", "longDesc": "This enables a logic that automatically adjusts the output of the rate controller to take into account the real torque produced by an aerodynamic control surface given the current deviation from the trim airspeed (FW_AIRSPD_TRIM). Enable when using aerodynamic control surfaces (e.g.: plane) Disable when using rotor wings (e.g.: autogyro)", "name": "FW_ARSP_SCALE_EN", "shortDesc": "Enable airspeed scaling", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery.", "name": "FW_BAT_SCALE_EN", "shortDesc": "Enable throttle scale by battery level", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_P_VMAX", "shortDesc": "Pitch trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_PITCH when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_P_VMIN", "shortDesc": "Pitch trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_R_VMAX", "shortDesc": "Roll trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_ROLL when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_R_VMIN", "shortDesc": "Roll trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MAX.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_Y_VMAX", "shortDesc": "Yaw trim increment at maximum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This increment is added to TRIM_YAW when airspeed is FW_AIRSPD_MIN.", "max": 0.5, "min": -0.5, "name": "FW_DTRIM_Y_VMIN", "shortDesc": "Yaw trim increment at minimum airspeed", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Sets a fraction of full flaps during landing. Also applies to flaperons if enabled in the mixer/allocation.", "max": 1.0, "min": 0.0, "name": "FW_FLAPS_LND_SCL", "shortDesc": "Flaps setting during landing", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Sets a fraction of full flaps during take-off. Also applies to flaperons if enabled in the mixer/allocation.", "max": 1.0, "min": 0.0, "name": "FW_FLAPS_TO_SCL", "shortDesc": "Flaps setting during take-off", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired pitch actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "min": 0.0, "name": "FW_MAN_P_SC", "shortDesc": "Manual pitch scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired roll actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "max": 1.0, "min": 0.0, "name": "FW_MAN_R_SC", "shortDesc": "Manual roll scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "Scale factor applied to the desired yaw actuator command in full manual mode. This parameter allows to adjust the throws of the control surfaces.", "min": 0.0, "name": "FW_MAN_Y_SC", "shortDesc": "Manual yaw scale", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "longDesc": "Pitch rate differential gain.", "max": 10.0, "min": 0.0, "name": "FW_PR_D", "shortDesc": "Pitch rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output", "max": 10.0, "min": 0.0, "name": "FW_PR_FF", "shortDesc": "Pitch rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_PR_I", "shortDesc": "Pitch rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_PR_IMAX", "shortDesc": "Pitch rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.08, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_PR_P", "shortDesc": "Pitch rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "FW Rate Control", "increment": 0.01, "longDesc": "This gain can be used to counteract the \"adverse yaw\" effect for fixed wings. When the plane enters a roll it will tend to yaw the nose out of the turn. This gain enables the use of a yaw actuator to counteract this effect.", "min": 0.0, "name": "FW_RLL_TO_YAW_FF", "shortDesc": "Roll control to yaw control feedforward gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_RR_D", "shortDesc": "Roll rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output.", "max": 10.0, "min": 0.0, "name": "FW_RR_FF", "shortDesc": "Roll rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW Rate Control", "increment": 0.01, "max": 10.0, "min": 0.0, "name": "FW_RR_I", "shortDesc": "Roll rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_RR_IMAX", "shortDesc": "Roll integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_RR_P", "shortDesc": "Roll rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "default": 0, "group": "FW Rate Control", "longDesc": "Chose source for manual setting of spoilers in manual flight modes.", "name": "FW_SPOILERS_MAN", "shortDesc": "Spoiler input in manual flight", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Flaps channel", "value": 1}, {"description": "Aux1", "value": 2}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_YR_D", "shortDesc": "Yaw rate derivative gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "FW Rate Control", "increment": 0.05, "longDesc": "Direct feed forward from rate setpoint to control surface output", "max": 10.0, "min": 0.0, "name": "FW_YR_FF", "shortDesc": "Yaw rate feed forward", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.1, "group": "FW Rate Control", "increment": 0.5, "max": 10.0, "min": 0.0, "name": "FW_YR_I", "shortDesc": "Yaw rate integrator gain", "type": "Float", "units": "%/rad"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW Rate Control", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_YR_IMAX", "shortDesc": "Yaw rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "FW Rate Control", "increment": 0.005, "max": 10.0, "min": 0.0, "name": "FW_YR_P", "shortDesc": "Yaw rate proportional gain", "type": "Float", "units": "%/rad/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW TECS", "increment": 0.5, "longDesc": "The controller will increase the commanded airspeed to maintain this minimum groundspeed to the next waypoint.", "max": 40.0, "min": 0.0, "name": "FW_GND_SPD_MIN", "shortDesc": "Minimum groundspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 30.0, "group": "FW TECS", "increment": 0.5, "longDesc": "The maximum pitch angle setpoint setpoint for a height-rate or altitude controlled mode.", "max": 60.0, "min": 0.0, "name": "FW_P_LIM_MAX", "shortDesc": "Maximum pitch angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -30.0, "group": "FW TECS", "increment": 0.5, "longDesc": "The minimum pitch angle setpoint for a height-rate or altitude controlled mode.", "max": 0.0, "min": -60.0, "name": "FW_P_LIM_MIN", "shortDesc": "Minimum pitch angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "This is the minimum throttle while on the ground For aircraft with internal combustion engines, this parameter should be set above the desired idle rpm. For electric motors, idle should typically be set to zero. Note that in automatic modes, \"landed\" conditions will engage idle throttle.", "max": 0.4, "min": 0.0, "name": "FW_THR_IDLE", "shortDesc": "Idle throttle", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Maximum throttle limit in altitude controlled modes. Should be set accordingly to achieve FW_T_CLMB_MAX.", "max": 1.0, "min": 0.0, "name": "FW_THR_MAX", "shortDesc": "Throttle limit max", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Minimum throttle limit in altitude controlled modes. Usually set to 0 but can be increased to prevent the motor from stopping when descending, which can increase achievable descent rates. For aircraft with internal combustion engine this parameter should be set for desired idle rpm.", "max": 1.0, "min": 0.0, "name": "FW_THR_MIN", "shortDesc": "Throttle limit min", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Maximum slew rate for the commanded throttle", "max": 1.0, "min": 0.0, "name": "FW_THR_SLEW_MAX", "shortDesc": "Throttle max slew rate", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "FW TECS", "increment": 0.1, "longDesc": "The calibrated airspeed setpoint TECS will stabilize to during the takeoff climbout. If set <= 0.0, FW_AIRSPD_MIN will be set by default.", "min": -1.0, "name": "FW_TKO_AIRSPD", "shortDesc": "Takeoff Airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "FW TECS", "increment": 0.5, "min": 2.0, "name": "FW_T_ALT_TC", "shortDesc": "Altitude error time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "FW TECS", "increment": 0.01, "longDesc": "The default rate at which the vehicle will climb in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be increased.", "max": 15.0, "min": 0.5, "name": "FW_T_CLMB_R_SP", "shortDesc": "Default target climbrate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "FW TECS", "increment": 0.05, "max": 1.0, "min": 0.0, "name": "FW_T_HRATE_FF", "shortDesc": "Height rate feed forward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW TECS", "increment": 0.05, "longDesc": "This is the integrator gain on the pitch part of the control loop. Increasing this gain increases the speed at which speed and height offsets are trimmed out, but reduces damping and increases overshoot. Set this value to zero to completely disable all integrator action.", "max": 2.0, "min": 0.0, "name": "FW_T_I_GAIN_PIT", "shortDesc": "Integrator gain pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.05, "group": "FW TECS", "increment": 0.05, "longDesc": "This is the integrator gain on the throttle part of the control loop. Increasing this gain increases the speed at which speed and height offsets are trimmed out, but reduces damping and increases overshoot. Set this value to zero to completely disable all integrator action.", "max": 2.0, "min": 0.0, "name": "FW_T_I_GAIN_THR", "shortDesc": "Integrator gain throttle", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW TECS", "increment": 0.1, "longDesc": "This is the damping gain for the pitch demand loop. Increase to add damping to correct for oscillations in height. The default value of 0.0 will work well provided the pitch to servo controller has been tuned properly.", "max": 2.0, "min": 0.0, "name": "FW_T_PTCH_DAMP", "shortDesc": "Pitch damping factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "FW TECS", "increment": 0.5, "longDesc": "Increasing this gain turn increases the amount of throttle that will be used to compensate for the additional drag created by turning. Ideally this should be set to approximately 10 x the extra sink rate in m/s created by a 45 degree bank turn. Increase this gain if the aircraft initially loses energy in turns and reduce if the aircraft initially gains energy in turns. Efficient high aspect-ratio aircraft (eg powered sailplanes) can use a lower value, whereas inefficient low aspect-ratio models (eg delta wings) can use a higher value.", "max": 20.0, "min": 0.0, "name": "FW_T_RLL2THR", "shortDesc": "Roll -> Throttle feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "FW TECS", "increment": 0.01, "max": 3.0, "min": 0.5, "name": "FW_T_SEB_R_FF", "shortDesc": "Specific total energy balance rate feedforward gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "FW TECS", "increment": 0.5, "longDesc": "This sets the maximum descent rate that the controller will use. If this value is too large, the aircraft can over-speed on descent. This should be set to a value that can be achieved without exceeding the lower pitch angle limit and without over-speeding the aircraft.", "max": 15.0, "min": 1.0, "name": "FW_T_SINK_MAX", "shortDesc": "Maximum descent rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "FW TECS", "increment": 0.01, "longDesc": "The default rate at which the vehicle will sink in autonomous modes to achieve altitude setpoints. In manual modes this defines the maximum rate at which the altitude setpoint can be decreased.", "max": 15.0, "min": 0.5, "name": "FW_T_SINK_R_SP", "shortDesc": "Default target sinkrate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "FW TECS", "increment": 1.0, "longDesc": "This parameter adjusts the amount of weighting that the pitch control applies to speed vs height errors. Setting it to 0.0 will cause the pitch control to control height and ignore speed errors. This will normally improve height accuracy but give larger airspeed errors. Setting it to 2.0 will cause the pitch control loop to control speed and ignore height errors. This will normally reduce airspeed errors, but give larger height errors. The default value of 1.0 allows the pitch control to simultaneously control height and speed. Set to 2 for gliders.", "max": 2.0, "min": 0.0, "name": "FW_T_SPDWEIGHT", "shortDesc": "Speed <--> Altitude priority", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW TECS", "increment": 0.1, "longDesc": "This is the measurement standard deviation for the airspeed rate used in the airspeed filter in TECS.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_DEV_STD", "shortDesc": "Airspeed rate measurement standard deviation for airspeed filter", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW TECS", "increment": 0.1, "longDesc": "This is the process noise standard deviation in the airspeed filter filter defining the noise in the airspeed rate for the constant airspeed rate model. This is used to define how much the airspeed and the airspeed rate are filtered. The smaller the value the more the measurements are smoothed with the drawback for delays.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_PRC_STD", "shortDesc": "Process noise standard deviation for the airspeed rate in the airspeed filter", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "FW TECS", "increment": 0.1, "longDesc": "This is the measurement standard deviation for the airspeed used in the airspeed filter in TECS.", "max": 10.0, "min": 0.01, "name": "FW_T_SPD_STD", "shortDesc": "Airspeed measurement standard deviation for airspeed filter", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "FW TECS", "increment": 0.01, "longDesc": "This filter is applied to the specific total energy rate used for throttle damping.", "max": 2.0, "min": 0.0, "name": "FW_T_STE_R_TC", "shortDesc": "Specific total energy rate first order filter time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "FW TECS", "increment": 0.5, "min": 2.0, "name": "FW_T_TAS_TC", "shortDesc": "True airspeed error time constant", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "FW TECS", "increment": 0.1, "longDesc": "This is the damping gain for the throttle demand loop. Increase to add damping to correct for oscillations in speed and height.", "max": 2.0, "min": 0.0, "name": "FW_T_THR_DAMP", "shortDesc": "Throttle damping factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 7.0, "group": "FW TECS", "increment": 0.5, "longDesc": "This is the maximum vertical acceleration (in m/s/s) either up or down that the controller will use to correct speed or height errors. The default value of 7 m/s/s (equivalent to +- 0.7 g) allows for reasonably aggressive pitch changes if required to recover from under-speed conditions.", "max": 10.0, "min": 1.0, "name": "FW_T_VERT_ACC", "shortDesc": "Maximum vertical acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "FW TECS", "increment": 0.01, "longDesc": "Multiplying this factor with the current absolute wind estimate gives the airspeed offset added to the minimum airspeed setpoint limit. This helps to make the system more robust against disturbances (turbulence) in high wind. Only applies to AUTO flight mode.", "min": 0.0, "name": "FW_WIND_ARSP_SC", "shortDesc": "Wind-based airspeed scaling factor", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Failure Detector", "longDesc": "If enabled, failure detector will verify that for motors, a minimum amount of ESC current per throttle level is being consumed. Otherwise this indicates an motor failure.", "name": "FD_ACT_EN", "rebootRequired": true, "shortDesc": "Enable Actuator Failure check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Failure Detector", "increment": 1.0, "longDesc": "Motor failure triggers only below this current value", "max": 50.0, "min": 0.0, "name": "FD_ACT_MOT_C2T", "shortDesc": "Motor Failure Current/Throttle Threshold", "type": "Float", "units": "A/%"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Failure Detector", "increment": 0.01, "longDesc": "Motor failure triggers only above this throttle value.", "max": 1.0, "min": 0.0, "name": "FD_ACT_MOT_THR", "shortDesc": "Motor Failure Throttle Threshold", "type": "Float", "units": "norm"}, {"category": "Standard", "default": 100, "group": "Failure Detector", "increment": 100, "longDesc": "Motor failure triggers only if the throttle threshold and the current to throttle threshold are violated for this time.", "max": 10000, "min": 10, "name": "FD_ACT_MOT_TOUT", "shortDesc": "Motor Failure Time Threshold", "type": "Int32", "units": "ms"}, {"category": "Standard", "default": 1, "group": "Failure Detector", "longDesc": "If enabled, failure detector will verify that all the ESCs have successfully armed when the vehicle has transitioned to the armed state. Timeout for receiving an acknowledgement from the ESCs is 0.3s, if no feedback is received the failure detector will auto disarm the vehicle.", "name": "FD_ESCS_EN", "shortDesc": "Enable checks on ESCs that report their arming state", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Failure Detector", "longDesc": "Enabled on either AUX5 or MAIN5 depending on board. External ATS is required by ASTM F3322-18.", "name": "FD_EXT_ATS_EN", "rebootRequired": true, "shortDesc": "Enable PWM input on for engaging failsafe from an external automatic trigger system (ATS)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 1900, "group": "Failure Detector", "longDesc": "External ATS is required by ASTM F3322-18.", "name": "FD_EXT_ATS_TRIG", "shortDesc": "The PWM threshold from external automatic trigger system for engaging failsafe", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 60, "group": "Failure Detector", "longDesc": "Maximum pitch angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check", "max": 180, "min": 0, "name": "FD_FAIL_P", "shortDesc": "FailureDetector Max Pitch", "type": "Int32", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Failure Detector", "longDesc": "Seconds (decimal) that pitch has to exceed FD_FAIL_P before being considered as a failure.", "max": 5.0, "min": 0.02, "name": "FD_FAIL_P_TTRI", "shortDesc": "Pitch failure trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 60, "group": "Failure Detector", "longDesc": "Maximum roll angle before FailureDetector triggers the attitude_failure flag. The flag triggers flight termination (if @CBRK_FLIGHTTERM = 0), which sets outputs to their failsafe values. On takeoff the flag triggers lockdown (irrespective of @CBRK_FLIGHTTERM), which disarms motors but does not set outputs to failsafe values. Setting this parameter to 0 disables the check", "max": 180, "min": 0, "name": "FD_FAIL_R", "shortDesc": "FailureDetector Max Roll", "type": "Int32", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Failure Detector", "longDesc": "Seconds (decimal) that roll has to exceed FD_FAIL_R before being considered as a failure.", "max": 5.0, "min": 0.02, "name": "FD_FAIL_R_TTRI", "shortDesc": "Roll failure trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 30, "group": "Failure Detector", "increment": 1, "longDesc": "Value at which the imbalanced propeller metric (based on horizontal and vertical acceleration variance) triggers a failure Setting this value to 0 disables the feature.", "max": 1000, "min": 0, "name": "FD_IMB_PROP_THR", "shortDesc": "Imbalanced propeller check threshold", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 1000.0, "group": "FlightTaskOrbit", "increment": 0.5, "max": 10000.0, "min": 1.0, "name": "MC_ORBIT_RAD_MAX", "shortDesc": "Maximum radius of orbit", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Follow target", "longDesc": "Maintain altitude or track target's altitude. When maintaining the altitude, the drone can crash into terrain when the target moves uphill. When tracking the target's altitude, the follow altitude FLW_TGT_HT should be high enough to prevent terrain collisions due to GPS inaccuracies of the target.", "name": "FLW_TGT_ALT_M", "shortDesc": "Altitude control mode", "type": "Int32", "values": [{"description": "2D Tracking: Maintain constant altitude relative to home and track XY position only", "value": 0}, {"description": "2D + Terrain: Maintain constant altitude relative to terrain below and track XY position", "value": 1}, {"description": "3D Tracking: Track target's altitude (be aware that GPS altitude bias usually makes this useless)", "value": 2}]}, {"category": "Standard", "default": 8.0, "group": "Follow target", "longDesc": "The distance in meters to follow the target at", "min": 1.0, "name": "FLW_TGT_DST", "shortDesc": "Distance to follow target from", "type": "Float", "units": "m"}, {"category": "Standard", "default": 180.0, "group": "Follow target", "longDesc": "Angle to follow the target from. 0.0 Equals straight in front of the target's course (direction of motion) and the angle increases in clockwise direction, meaning Right-side would be 90.0 degrees while Left-side is -90.0 degrees Note: When the user force sets the angle out of the min/max range, it will be wrapped (e.g. 480 -> 120) in the range to gracefully handle the out of range.", "max": 180.0, "min": -180.0, "name": "FLW_TGT_FA", "shortDesc": "Follow Angle setting in degrees", "type": "Float"}, {"category": "Standard", "default": 8.0, "group": "Follow target", "longDesc": "Following height above the target", "min": 8.0, "name": "FLW_TGT_HT", "shortDesc": "Follow target height", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Follow target", "longDesc": "This is the maximum tangential velocity the drone will circle around the target whenever an orbit angle setpoint changes. Higher value means more aggressive follow behavior.", "max": 20.0, "min": 0.0, "name": "FLW_TGT_MAX_VEL", "shortDesc": "Maximum tangential velocity setting for generating the follow orbit trajectory", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Follow target", "longDesc": "lower values increase the responsiveness to changing position, but also ignore less noise", "max": 1.0, "min": 0.0, "name": "FLW_TGT_RS", "shortDesc": "Responsiveness to target movement in Target Estimator", "type": "Float"}, {"bitmask": [{"description": "GPS (with QZSS)", "index": 0}, {"description": "SBAS", "index": 1}, {"description": "Galileo", "index": 2}, {"description": "BeiDou", "index": 3}, {"description": "GLONASS", "index": 4}], "category": "Standard", "default": 0, "group": "GPS", "longDesc": "This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS", "max": 31, "min": 0, "name": "GPS_1_GNSS", "rebootRequired": true, "shortDesc": "GNSS Systems for Primary GPS (integer bitmask)", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "GPS", "longDesc": "Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.", "max": 7, "min": 0, "name": "GPS_1_PROTOCOL", "rebootRequired": true, "shortDesc": "Protocol for Main GPS", "type": "Int32", "values": [{"description": "Auto detect", "value": 0}, {"description": "u-blox", "value": 1}, {"description": "MTK", "value": 2}, {"description": "Ashtech / Trimble", "value": 3}, {"description": "Emlid Reach", "value": 4}, {"description": "Femtomes", "value": 5}, {"description": "NMEA (generic)", "value": 6}, {"description": "Septentrio (SBF)", "value": 7}]}, {"bitmask": [{"description": "GPS (with QZSS)", "index": 0}, {"description": "SBAS", "index": 1}, {"description": "Galileo", "index": 2}, {"description": "BeiDou", "index": 3}, {"description": "GLONASS", "index": 4}], "category": "Standard", "default": 0, "group": "GPS", "longDesc": "This integer bitmask controls the set of GNSS systems used by the receiver. Check your receiver's documentation on how many systems are supported to be used in parallel. Currently this functionality is just implemented for u-blox receivers. When no bits are set, the receiver's default configuration should be used. Set bits true to enable: 0 : Use GPS (with QZSS) 1 : Use SBAS (multiple GPS augmentation systems) 2 : Use Galileo 3 : Use BeiDou 4 : Use GLONASS", "max": 31, "min": 0, "name": "GPS_2_GNSS", "rebootRequired": true, "shortDesc": "GNSS Systems for Secondary GPS (integer bitmask)", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "GPS", "longDesc": "Select the GPS protocol over serial. Auto-detection will probe all protocols, and thus is a bit slower.", "max": 6, "min": 0, "name": "GPS_2_PROTOCOL", "rebootRequired": true, "shortDesc": "Protocol for Secondary GPS", "type": "Int32", "values": [{"description": "Auto detect", "value": 0}, {"description": "u-blox", "value": 1}, {"description": "MTK", "value": 2}, {"description": "Ashtech / Trimble", "value": 3}, {"description": "Emlid Reach", "value": 4}, {"description": "Femtomes", "value": 5}, {"description": "NMEA (generic)", "value": 6}]}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "If this is set to 1, all GPS communication data will be published via uORB, and written to the log file as gps_dump message. If this is set to 2, the main GPS is configured to output RTCM data, which is then logged as gps_dump and can be used for PPK.", "max": 2, "min": 0, "name": "GPS_DUMP_COMM", "shortDesc": "Log GPS communication data", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Full communication", "value": 1}, {"description": "RTCM output (PPK)", "value": 2}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "GPS", "longDesc": "Vertical offsets can be compensated for by adjusting the Pitch offset (Septentrio). Note that this can be interpreted as the \"roll\" angle in case the antennas are aligned along the perpendicular axis. This occurs in situations where the two antenna ARPs may not be exactly at the same height in the vehicle reference frame. Since pitch is defined as the right-handed rotation about the vehicle Y axis, a situation where the main antenna is mounted lower than the aux antenna (assuming the default antenna setup) will result in a positive pitch.", "max": 90.0, "min": -90.0, "name": "GPS_PITCH_OFFSET", "rebootRequired": true, "shortDesc": "Pitch offset for dual antenna GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "Enable publication of satellite info (ORB_ID(satellite_info)) if possible. Not available on MTK.", "name": "GPS_SAT_INFO", "rebootRequired": true, "shortDesc": "Enable sat info (if available)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 230400, "group": "GPS", "longDesc": "Select a baudrate for the F9P's UART2 port. In GPS_UBX_MODE 1, 2, and 3, the F9P's UART2 port is configured to send/receive RTCM corrections. Set this to 57600 if you want to attach a telemetry radio on UART2.", "min": 0, "name": "GPS_UBX_BAUD2", "rebootRequired": true, "shortDesc": "u-blox F9P UART2 Baudrate", "type": "Int32", "units": "B/s"}, {"bitmask": [{"description": "Enable I2C input protocol UBX", "index": 0}, {"description": "Enable I2C input protocol NMEA", "index": 1}, {"description": "Enable I2C input protocol RTCM3X", "index": 2}, {"description": "Enable I2C output protocol UBX", "index": 3}, {"description": "Enable I2C output protocol NMEA", "index": 4}, {"description": "Enable I2C output protocol RTCM3X", "index": 5}], "category": "Standard", "default": 0, "group": "GPS", "max": 32, "min": 0, "name": "GPS_UBX_CFG_INTF", "rebootRequired": true, "shortDesc": "u-blox protocol configuration for interfaces", "type": "Int32"}, {"category": "Standard", "default": 7, "group": "GPS", "longDesc": "u-blox receivers support different dynamic platform models to adjust the navigation engine to the expected application environment.", "max": 9, "min": 0, "name": "GPS_UBX_DYNMODEL", "rebootRequired": true, "shortDesc": "u-blox GPS dynamic platform model", "type": "Int32", "values": [{"description": "stationary", "value": 2}, {"description": "automotive", "value": 4}, {"description": "airborne with <1g acceleration", "value": 6}, {"description": "airborne with <2g acceleration", "value": 7}, {"description": "airborne with <4g acceleration", "value": 8}]}, {"category": "Standard", "default": 0, "group": "GPS", "longDesc": "Select the u-blox configuration setup. Most setups will use the default, including RTK and dual GPS without heading. If rover has RTCM corrections from a static base (or other static correction source) coming in on UART2, then select Mode 5. The Heading mode requires 2 F9P devices to be attached. The main GPS will act as rover and output heading information, whereas the secondary will act as moving base. Modes 1 and 2 require each F9P UART1 to be connected to the Autopilot. In addition, UART2 on the F9P units are connected to each other. Modes 3 and 4 only require UART1 on each F9P connected to the Autopilot or Can Node. UART RX DMA is required. RTK is still possible with this setup.", "max": 1, "min": 0, "name": "GPS_UBX_MODE", "rebootRequired": true, "shortDesc": "u-blox GPS Mode", "type": "Int32", "values": [{"description": "Default", "value": 0}, {"description": "Heading (Rover With Moving Base UART1 Connected To Autopilot, UART2 Connected To Moving Base)", "value": 1}, {"description": "Moving Base (UART1 Connected To Autopilot, UART2 Connected To Rover)", "value": 2}, {"description": "Heading (Rover With Moving Base UART1 Connected to Autopilot Or Can Node At 921600)", "value": 3}, {"description": "Moving Base (Moving Base UART1 Connected to Autopilot Or Can Node At 921600)", "value": 4}, {"description": "Rover with Static Base on UART2 (similar to Default, except coming in on UART2)", "value": 5}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "GPS", "longDesc": "Heading offset angle for dual antenna GPS setups that support heading estimation. Set this to 0 if the antennas are parallel to the forward-facing direction of the vehicle and the rover (or Unicore primary) antenna is in front. The offset angle increases clockwise. Set this to 90 if the rover (or Unicore primary) antenna is placed on the right side of the vehicle and the moving base antenna is on the left side. (Note: the Unicore primary antenna is the one connected on the right as seen from the top).", "max": 360.0, "min": 0.0, "name": "GPS_YAW_OFFSET", "rebootRequired": true, "shortDesc": "Heading/Yaw offset for dual antenna GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 2, "group": "Geofence", "longDesc": "Note: Setting this value to 4 enables flight termination, which will kill the vehicle on violation of the fence.", "max": 5, "min": 0, "name": "GF_ACTION", "shortDesc": "Geofence violation action", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Warning", "value": 1}, {"description": "Hold mode", "value": 2}, {"description": "Return mode", "value": 3}, {"description": "Terminate", "value": 4}, {"description": "Land mode", "value": 5}]}, {"category": "Standard", "default": 0.0, "group": "Geofence", "increment": 1.0, "longDesc": "Maximum horizontal distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.", "max": 10000.0, "min": 0.0, "name": "GF_MAX_HOR_DIST", "shortDesc": "Max horizontal distance from Home", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0.0, "group": "Geofence", "increment": 1.0, "longDesc": "Maximum vertical distance in meters the vehicle can be from Home before triggering a geofence action. Disabled if 0.", "max": 10000.0, "min": 0.0, "name": "GF_MAX_VER_DIST", "shortDesc": "Max vertical distance from Home", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geofence", "longDesc": "WARNING: This experimental feature may cause flyaways. Use at your own risk. Predict the motion of the vehicle and trigger the breach if it is determined that the current trajectory would result in a breach happening before the vehicle can make evasive maneuvers. The vehicle is then re-routed to a safe hold position (stop for multirotor, loiter for fixed wing).", "name": "GF_PREDICT", "shortDesc": "[EXPERIMENTAL] Use Pre-emptive geofence triggering", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Geofence", "longDesc": "Select which position source should be used. Selecting GPS instead of global position makes sure that there is no dependence on the position estimator 0 = global position, 1 = GPS", "max": 1, "min": 0, "name": "GF_SOURCE", "shortDesc": "Geofence source", "type": "Int32", "values": [{"description": "GPOS", "value": 0}, {"description": "GPS", "value": 1}]}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines which mixer implementation to use. Some are generic, while others are specifically fit to a certain vehicle with a fixed set of actuators. 'Custom' should only be used if noting else can be used.", "name": "CA_AIRFRAME", "shortDesc": "Airframe selection", "type": "Int32", "values": [{"description": "Multirotor", "value": 0}, {"description": "Fixed-wing", "value": 1}, {"description": "Standard VTOL", "value": 2}, {"description": "Tiltrotor VTOL", "value": 3}, {"description": "Tailsitter VTOL", "value": 4}, {"description": "Rover (Ackermann)", "value": 5}, {"description": "Rover (Differential)", "value": 6}, {"description": "Motors (6DOF)", "value": 7}, {"description": "Multirotor with Tilt", "value": 8}, {"description": "Custom", "value": 9}, {"description": "Helicopter (tail ESC)", "value": 10}, {"description": "Helicopter (tail Servo)", "value": 11}, {"description": "Helicopter (Coaxial)", "value": 12}]}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "This is used to specify how to handle motor failures reported by failure detector.", "name": "CA_FAILURE_MODE", "shortDesc": "Motor failure handling mode", "type": "Int32", "values": [{"description": "Ignore", "value": 0}, {"description": "Remove first failed motor from effectiveness", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": -0.05, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 0 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C0", "shortDesc": "Collective pitch curve at position 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0725, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 1 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C1", "shortDesc": "Collective pitch curve at position 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 2 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C2", "shortDesc": "Collective pitch curve at position 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.325, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 3 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C3", "shortDesc": "Collective pitch curve at position 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.45, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the collective pitch at the interval position 4 for a given thrust setpoint. Use negative values if the swash plate needs to move down to provide upwards thrust.", "max": 1.0, "min": -1.0, "name": "CA_HELI_PITCH_C4", "shortDesc": "Collective pitch curve at position 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 0.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C0", "shortDesc": "Throttle curve at position 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 1.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C1", "shortDesc": "Throttle curve at position 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 2.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C2", "shortDesc": "Throttle curve at position 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 3.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C3", "shortDesc": "Throttle curve at position 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Defines the output throttle at the interval position 4.", "max": 1.0, "min": 0.0, "name": "CA_HELI_THR_C4", "shortDesc": "Throttle curve at position 4", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Default configuration is for a clockwise turning main rotor and positive thrust of the tail rotor is expected to rotate the vehicle clockwise. Set this parameter to true if the tail rotor provides thrust in counter-clockwise direction which is mostly the case when the main rotor turns counter-clockwise.", "name": "CA_HELI_YAW_CCW", "shortDesc": "Main rotor turns counter-clockwise", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to specify which collective pitch command results in the least amount of rotor drag. This is used to increase the accuracy of the yaw drag torque compensation based on collective pitch by aligning the lowest rotor drag with zero compensation. For symmetric profile blades this is the command that results in exactly 0\u00b0 collective blade angle. For lift profile blades this is typically a command resulting in slightly negative collective blade angle. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_CP_O", "shortDesc": "Offset for yaw compensation based on collective pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to add a proportional factor of the collective pitch command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_CP_S * abs(collective_pitch - CA_HELI_YAW_CP_O)", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_CP_S", "shortDesc": "Scale for yaw compensation based on collective pitch", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "This allows to add a proportional factor of the throttle command to the yaw command. A negative value is needed when positive thrust of the tail rotor rotates the vehicle opposite to the main rotor turn direction. tail_output += CA_HELI_YAW_TH_S * throttle", "max": 2.0, "min": -2.0, "name": "CA_HELI_YAW_TH_S", "shortDesc": "Scale for yaw compensation based on throttle", "type": "Float"}, {"category": "Standard", "default": 2, "group": "Geometry", "longDesc": "Selects the algorithm and desaturation method. If set to Automtic, the selection is based on the airframe (CA_AIRFRAME).", "name": "CA_METHOD", "shortDesc": "Control allocation method", "type": "Int32", "values": [{"description": "Pseudo-inverse with output clipping", "value": 0}, {"description": "Pseudo-inverse with sequential desaturation technique", "value": 1}, {"description": "Automatic", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R0_SLEW", "shortDesc": "Motor 0 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R10_SLEW", "shortDesc": "Motor 10 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R11_SLEW", "shortDesc": "Motor 11 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R1_SLEW", "shortDesc": "Motor 1 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R2_SLEW", "shortDesc": "Motor 2 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R3_SLEW", "shortDesc": "Motor 3 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R4_SLEW", "shortDesc": "Motor 4 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R5_SLEW", "shortDesc": "Motor 5 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R6_SLEW", "shortDesc": "Motor 6 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R7_SLEW", "shortDesc": "Motor 7 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R8_SLEW", "shortDesc": "Motor 8 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.01, "longDesc": "Minimum time allowed for the motor input signal to pass through the full output range. A value x means that the motor signal can only go from 0 to 1 in minimum x seconds (in case of reversible motors, the range is -1 to 1). Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_R9_SLEW", "shortDesc": "Motor 9 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AX", "shortDesc": "Axis of rotor 0 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AY", "shortDesc": "Axis of rotor 0 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_AZ", "shortDesc": "Axis of rotor 0 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR0_CT", "shortDesc": "Thrust coefficient of rotor 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR0_KM", "shortDesc": "Moment coefficient of rotor 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PX", "shortDesc": "Position of rotor 0 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PY", "shortDesc": "Position of rotor 0 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR0_PZ", "shortDesc": "Position of rotor 0 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR0_TILT", "shortDesc": "Rotor 0 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AX", "shortDesc": "Axis of rotor 10 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AY", "shortDesc": "Axis of rotor 10 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_AZ", "shortDesc": "Axis of rotor 10 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR10_CT", "shortDesc": "Thrust coefficient of rotor 10", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR10_KM", "shortDesc": "Moment coefficient of rotor 10", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PX", "shortDesc": "Position of rotor 10 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PY", "shortDesc": "Position of rotor 10 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR10_PZ", "shortDesc": "Position of rotor 10 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR10_TILT", "shortDesc": "Rotor 10 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AX", "shortDesc": "Axis of rotor 11 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AY", "shortDesc": "Axis of rotor 11 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_AZ", "shortDesc": "Axis of rotor 11 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR11_CT", "shortDesc": "Thrust coefficient of rotor 11", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR11_KM", "shortDesc": "Moment coefficient of rotor 11", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PX", "shortDesc": "Position of rotor 11 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PY", "shortDesc": "Position of rotor 11 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR11_PZ", "shortDesc": "Position of rotor 11 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR11_TILT", "shortDesc": "Rotor 11 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AX", "shortDesc": "Axis of rotor 1 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AY", "shortDesc": "Axis of rotor 1 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_AZ", "shortDesc": "Axis of rotor 1 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR1_CT", "shortDesc": "Thrust coefficient of rotor 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR1_KM", "shortDesc": "Moment coefficient of rotor 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PX", "shortDesc": "Position of rotor 1 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PY", "shortDesc": "Position of rotor 1 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR1_PZ", "shortDesc": "Position of rotor 1 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR1_TILT", "shortDesc": "Rotor 1 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AX", "shortDesc": "Axis of rotor 2 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AY", "shortDesc": "Axis of rotor 2 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_AZ", "shortDesc": "Axis of rotor 2 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR2_CT", "shortDesc": "Thrust coefficient of rotor 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR2_KM", "shortDesc": "Moment coefficient of rotor 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PX", "shortDesc": "Position of rotor 2 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PY", "shortDesc": "Position of rotor 2 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR2_PZ", "shortDesc": "Position of rotor 2 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR2_TILT", "shortDesc": "Rotor 2 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AX", "shortDesc": "Axis of rotor 3 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AY", "shortDesc": "Axis of rotor 3 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_AZ", "shortDesc": "Axis of rotor 3 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR3_CT", "shortDesc": "Thrust coefficient of rotor 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR3_KM", "shortDesc": "Moment coefficient of rotor 3", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PX", "shortDesc": "Position of rotor 3 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PY", "shortDesc": "Position of rotor 3 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR3_PZ", "shortDesc": "Position of rotor 3 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR3_TILT", "shortDesc": "Rotor 3 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AX", "shortDesc": "Axis of rotor 4 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AY", "shortDesc": "Axis of rotor 4 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_AZ", "shortDesc": "Axis of rotor 4 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR4_CT", "shortDesc": "Thrust coefficient of rotor 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR4_KM", "shortDesc": "Moment coefficient of rotor 4", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PX", "shortDesc": "Position of rotor 4 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PY", "shortDesc": "Position of rotor 4 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR4_PZ", "shortDesc": "Position of rotor 4 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR4_TILT", "shortDesc": "Rotor 4 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AX", "shortDesc": "Axis of rotor 5 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AY", "shortDesc": "Axis of rotor 5 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_AZ", "shortDesc": "Axis of rotor 5 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR5_CT", "shortDesc": "Thrust coefficient of rotor 5", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR5_KM", "shortDesc": "Moment coefficient of rotor 5", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PX", "shortDesc": "Position of rotor 5 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PY", "shortDesc": "Position of rotor 5 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR5_PZ", "shortDesc": "Position of rotor 5 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR5_TILT", "shortDesc": "Rotor 5 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AX", "shortDesc": "Axis of rotor 6 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AY", "shortDesc": "Axis of rotor 6 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_AZ", "shortDesc": "Axis of rotor 6 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR6_CT", "shortDesc": "Thrust coefficient of rotor 6", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR6_KM", "shortDesc": "Moment coefficient of rotor 6", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PX", "shortDesc": "Position of rotor 6 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PY", "shortDesc": "Position of rotor 6 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR6_PZ", "shortDesc": "Position of rotor 6 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR6_TILT", "shortDesc": "Rotor 6 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AX", "shortDesc": "Axis of rotor 7 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AY", "shortDesc": "Axis of rotor 7 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_AZ", "shortDesc": "Axis of rotor 7 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR7_CT", "shortDesc": "Thrust coefficient of rotor 7", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR7_KM", "shortDesc": "Moment coefficient of rotor 7", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PX", "shortDesc": "Position of rotor 7 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PY", "shortDesc": "Position of rotor 7 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR7_PZ", "shortDesc": "Position of rotor 7 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR7_TILT", "shortDesc": "Rotor 7 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AX", "shortDesc": "Axis of rotor 8 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AY", "shortDesc": "Axis of rotor 8 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_AZ", "shortDesc": "Axis of rotor 8 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR8_CT", "shortDesc": "Thrust coefficient of rotor 8", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR8_KM", "shortDesc": "Moment coefficient of rotor 8", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PX", "shortDesc": "Position of rotor 8 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PY", "shortDesc": "Position of rotor 8 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR8_PZ", "shortDesc": "Position of rotor 8 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR8_TILT", "shortDesc": "Rotor 8 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AX", "shortDesc": "Axis of rotor 9 thrust vector, X body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AY", "shortDesc": "Axis of rotor 9 thrust vector, Y body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Geometry", "increment": 0.1, "longDesc": "Only the direction is considered (the vector is normalized).", "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_AZ", "shortDesc": "Axis of rotor 9 thrust vector, Z body axis component", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.5, "group": "Geometry", "increment": 1.0, "longDesc": "The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between actuator minimum and maximum) is the output signal sent to the motor controller.", "max": 100.0, "min": 0.0, "name": "CA_ROTOR9_CT", "shortDesc": "Thrust coefficient of rotor 9", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Geometry", "increment": 0.01, "longDesc": "The moment coefficient if defined as Torque = KM * Thrust. Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation.", "max": 1.0, "min": -1.0, "name": "CA_ROTOR9_KM", "shortDesc": "Moment coefficient of rotor 9", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PX", "shortDesc": "Position of rotor 9 along X body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PY", "shortDesc": "Position of rotor 9 along Y body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.1, "max": 100.0, "min": -100.0, "name": "CA_ROTOR9_PZ", "shortDesc": "Position of rotor 9 along Z body axis relative to center of gravity", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "If not set to None, this motor is tilted by the configured tilt servo.", "name": "CA_ROTOR9_TILT", "shortDesc": "Rotor 9 tilt assignment", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Tilt 1", "value": 1}, {"description": "Tilt 2", "value": 2}, {"description": "Tilt 3", "value": 3}, {"description": "Tilt 4", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_ROTOR_COUNT", "shortDesc": "Total number of rotors", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}, {"description": "5", "value": 5}, {"description": "6", "value": 6}, {"description": "7", "value": 7}, {"description": "8", "value": 8}, {"description": "9", "value": 9}, {"description": "10", "value": 10}, {"description": "11", "value": 11}, {"description": "12", "value": 12}]}, {"bitmask": [{"description": "Motor 1", "index": 0}, {"description": "Motor 2", "index": 1}, {"description": "Motor 3", "index": 2}, {"description": "Motor 4", "index": 3}, {"description": "Motor 5", "index": 4}, {"description": "Motor 6", "index": 5}, {"description": "Motor 7", "index": 6}, {"description": "Motor 8", "index": 7}, {"description": "Motor 9", "index": 8}, {"description": "Motor 10", "index": 9}, {"description": "Motor 11", "index": 10}, {"description": "Motor 12", "index": 11}], "category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Configure motors to be bidirectional/reversible. Note that the output driver needs to support this as well.", "max": 4095, "min": 0, "name": "CA_R_REV", "shortDesc": "Bidirectional/Reversible motors", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG0", "shortDesc": "Angle for swash plate servo 0", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 140.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG1", "shortDesc": "Angle for swash plate servo 1", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 220.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG2", "shortDesc": "Angle for swash plate servo 2", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "increment": 10.0, "longDesc": "The angle is measured clockwise (as seen from top), with 0 pointing forwards (X axis).", "max": 360.0, "min": 0.0, "name": "CA_SP0_ANG3", "shortDesc": "Angle for swash plate servo 3", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L0", "shortDesc": "Arm length for swash plate servo 0", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L1", "shortDesc": "Arm length for swash plate servo 1", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L2", "shortDesc": "Arm length for swash plate servo 2", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Geometry", "increment": 0.1, "longDesc": "This is relative to the other arm lengths.", "max": 10.0, "min": 0.0, "name": "CA_SP0_ARM_L3", "shortDesc": "Arm length for swash plate servo 3", "type": "Float"}, {"category": "Standard", "default": 3, "group": "Geometry", "name": "CA_SP0_COUNT", "shortDesc": "Number of swash plates servos", "type": "Int32", "values": [{"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV0_SLEW", "shortDesc": "Servo 0 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV1_SLEW", "shortDesc": "Servo 1 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV2_SLEW", "shortDesc": "Servo 2 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV3_SLEW", "shortDesc": "Servo 3 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV4_SLEW", "shortDesc": "Servo 4 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV5_SLEW", "shortDesc": "Servo 5 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV6_SLEW", "shortDesc": "Servo 6 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "increment": 0.05, "longDesc": "Minimum time allowed for the servo input signal to pass through the full output range. A value x means that the servo signal can only go from -1 to 1 in minimum x seconds. Zero means that slew rate limiting is disabled.", "max": 10.0, "min": 0.0, "name": "CA_SV7_SLEW", "shortDesc": "Servo 7 slew rate limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_FLAP", "shortDesc": "Control Surface 0 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_SPOIL", "shortDesc": "Control Surface 0 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS0_TRIM", "shortDesc": "Control Surface 0 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_P", "shortDesc": "Control Surface 0 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_R", "shortDesc": "Control Surface 0 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS0_TRQ_Y", "shortDesc": "Control Surface 0 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS0_TYPE", "shortDesc": "Control Surface 0 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_FLAP", "shortDesc": "Control Surface 1 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_SPOIL", "shortDesc": "Control Surface 1 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS1_TRIM", "shortDesc": "Control Surface 1 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_P", "shortDesc": "Control Surface 1 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_R", "shortDesc": "Control Surface 1 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS1_TRQ_Y", "shortDesc": "Control Surface 1 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS1_TYPE", "shortDesc": "Control Surface 1 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_FLAP", "shortDesc": "Control Surface 2 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_SPOIL", "shortDesc": "Control Surface 2 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS2_TRIM", "shortDesc": "Control Surface 2 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_P", "shortDesc": "Control Surface 2 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_R", "shortDesc": "Control Surface 2 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS2_TRQ_Y", "shortDesc": "Control Surface 2 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS2_TYPE", "shortDesc": "Control Surface 2 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_FLAP", "shortDesc": "Control Surface 3 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_SPOIL", "shortDesc": "Control Surface 3 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS3_TRIM", "shortDesc": "Control Surface 3 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_P", "shortDesc": "Control Surface 3 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_R", "shortDesc": "Control Surface 3 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS3_TRQ_Y", "shortDesc": "Control Surface 3 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS3_TYPE", "shortDesc": "Control Surface 3 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_FLAP", "shortDesc": "Control Surface 4 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_SPOIL", "shortDesc": "Control Surface 4 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS4_TRIM", "shortDesc": "Control Surface 4 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_P", "shortDesc": "Control Surface 4 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_R", "shortDesc": "Control Surface 4 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS4_TRQ_Y", "shortDesc": "Control Surface 4 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS4_TYPE", "shortDesc": "Control Surface 4 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_FLAP", "shortDesc": "Control Surface 5 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_SPOIL", "shortDesc": "Control Surface 5 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS5_TRIM", "shortDesc": "Control Surface 5 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_P", "shortDesc": "Control Surface 5 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_R", "shortDesc": "Control Surface 5 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS5_TRQ_Y", "shortDesc": "Control Surface 5 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS5_TYPE", "shortDesc": "Control Surface 5 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_FLAP", "shortDesc": "Control Surface 6 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_SPOIL", "shortDesc": "Control Surface 6 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS6_TRIM", "shortDesc": "Control Surface 6 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_P", "shortDesc": "Control Surface 6 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_R", "shortDesc": "Control Surface 6 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS6_TRQ_Y", "shortDesc": "Control Surface 6 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS6_TYPE", "shortDesc": "Control Surface 6 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_FLAP", "shortDesc": "Control Surface 7 configuration as flap", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_SPOIL", "shortDesc": "Control Surface 7 configuration as spoiler", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "longDesc": "Can be used to add an offset to the servo control.", "max": 1.0, "min": -1.0, "name": "CA_SV_CS7_TRIM", "shortDesc": "Control Surface 7 trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_P", "shortDesc": "Control Surface 7 pitch torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_R", "shortDesc": "Control Surface 7 roll torque scaling", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Geometry", "name": "CA_SV_CS7_TRQ_Y", "shortDesc": "Control Surface 7 yaw torque scaling", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS7_TYPE", "shortDesc": "Control Surface 7 type", "type": "Int32", "values": [{"description": "(Not set)", "value": 0}, {"description": "Left Aileron", "value": 1}, {"description": "Right Aileron", "value": 2}, {"description": "Elevator", "value": 3}, {"description": "Rudder", "value": 4}, {"description": "Left Elevon", "value": 5}, {"description": "Right Elevon", "value": 6}, {"description": "Left V-Tail", "value": 7}, {"description": "Right V-Tail", "value": 8}, {"description": "Left Flap", "value": 9}, {"description": "Right Flap", "value": 10}, {"description": "Airbrake", "value": 11}, {"description": "Custom", "value": 12}, {"description": "Left A-tail", "value": 13}, {"description": "Right A-tail", "value": 14}, {"description": "Single Channel Aileron", "value": 15}, {"description": "Steering Wheel", "value": 16}, {"description": "Left Spoiler", "value": 17}, {"description": "Right Spoiler", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_CS_COUNT", "shortDesc": "Total number of Control Surfaces", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}, {"description": "5", "value": 5}, {"description": "6", "value": 6}, {"description": "7", "value": 7}, {"description": "8", "value": 8}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL0_CT", "shortDesc": "Tilt 0 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL0_MAXA", "shortDesc": "Tilt Servo 0 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL0_MINA", "shortDesc": "Tilt Servo 0 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL0_TD", "shortDesc": "Tilt Servo 0 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL1_CT", "shortDesc": "Tilt 1 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL1_MAXA", "shortDesc": "Tilt Servo 1 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL1_MINA", "shortDesc": "Tilt Servo 1 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL1_TD", "shortDesc": "Tilt Servo 1 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL2_CT", "shortDesc": "Tilt 2 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL2_MAXA", "shortDesc": "Tilt Servo 2 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL2_MINA", "shortDesc": "Tilt Servo 2 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL2_TD", "shortDesc": "Tilt Servo 2 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 1, "group": "Geometry", "longDesc": "Define if this servo is used for additional control.", "name": "CA_SV_TL3_CT", "shortDesc": "Tilt 3 is used for control", "type": "Int32", "values": [{"description": "None", "value": 0}, {"description": "Yaw", "value": 1}, {"description": "Pitch", "value": 2}, {"description": "Yaw and Pitch", "value": 3}]}, {"category": "Standard", "decimalPlaces": 0, "default": 90.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the maximum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL3_MAXA", "shortDesc": "Tilt Servo 3 Tilt Angle at Maximum", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 0.0, "group": "Geometry", "longDesc": "Defines the tilt angle when the servo is at the minimum. An angle of zero means upwards.", "max": 90.0, "min": -90.0, "name": "CA_SV_TL3_MINA", "shortDesc": "Tilt Servo 3 Tilt Angle at Minimum", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Geometry", "longDesc": "Defines the direction the servo tilts towards when moving towards the maximum tilt angle. For example if the minimum tilt angle is -90, the maximum 90, and the direction 'Towards Front', the motor axis aligns with the XZ-plane, points towards -X at the minimum and +X at the maximum tilt.", "max": 359, "min": 0, "name": "CA_SV_TL3_TD", "shortDesc": "Tilt Servo 3 Tilt Direction", "type": "Int32", "values": [{"description": "Towards Front", "value": 0}, {"description": "Towards Right", "value": 90}]}, {"category": "Standard", "default": 0, "group": "Geometry", "name": "CA_SV_TL_COUNT", "shortDesc": "Total number of Tilt Servos", "type": "Int32", "values": [{"description": "0", "value": 0}, {"description": "1", "value": 1}, {"description": "2", "value": 2}, {"description": "3", "value": 3}, {"description": "4", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Hover Thrust Estimator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 10.0, "min": 1.0, "name": "HTE_ACC_GATE", "shortDesc": "Gate size for acceleration fusion", "type": "Float", "units": "SD"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Hover Thrust Estimator", "longDesc": "Sets the number of standard deviations used by the innovation consistency test.", "max": 1.0, "min": 0.0, "name": "HTE_HT_ERR_INIT", "shortDesc": "1-sigma initial hover thrust uncertainty", "type": "Float", "units": "normalized_thrust"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0036, "group": "Hover Thrust Estimator", "longDesc": "Reduce to make the hover thrust estimate more stable, increase if the real hover thrust is expected to change quickly over time.", "max": 1.0, "min": 0.0001, "name": "HTE_HT_NOISE", "shortDesc": "Hover thrust process noise", "type": "Float", "units": "normalized_thrust/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Hover Thrust Estimator", "longDesc": "Defines the range of the hover thrust estimate around MPC_THR_HOVER. A value of 0.2 with MPC_THR_HOVER at 0.5 results in a range of [0.3, 0.7]. Set to a large value if the vehicle operates in varying physical conditions that affect the required hover thrust strongly (e.g. differently sized payloads).", "max": 0.4, "min": 0.01, "name": "HTE_THR_RANGE", "shortDesc": "Max deviation from MPC_THR_HOVER", "type": "Float", "units": "normalized_thrust"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Hover Thrust Estimator", "longDesc": "Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles with large lifting surfaces.", "max": 20.0, "min": 1.0, "name": "HTE_VXY_THR", "shortDesc": "Horizontal velocity threshold for sensitivity reduction", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Hover Thrust Estimator", "longDesc": "Above this speed, the measurement noise is linearly increased to reduce the sensitivity of the estimator from biased measurement. Set to a low value on vehicles affected by air drag when climbing or descending.", "max": 10.0, "min": 1.0, "name": "HTE_VZ_THR", "shortDesc": "Vertical velocity threshold for sensitivity reduction", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.0, "group": "Land Detector", "longDesc": "Maximum airspeed allowed in the landed state", "max": 20.0, "min": 2.0, "name": "LNDFW_AIRSPD_MAX", "shortDesc": "Fixed-wing land detector: Max airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Land Detector", "longDesc": "Time the land conditions (speeds and acceleration) have to be satisfied to detect a landing.", "min": 0.1, "name": "LNDFW_TRIG_TIME", "rebootRequired": true, "shortDesc": "Fixed-wing land detection trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Land Detector", "longDesc": "Maximum horizontal velocity allowed in the landed state. A factor of 0.7 is applied in case of airspeed-less flying (either because no sensor is present or sensor data got invalid in flight).", "max": 10.0, "min": 0.5, "name": "LNDFW_VEL_XY_MAX", "shortDesc": "Fixed-wing land detector: Max horizontal velocity threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Land Detector", "longDesc": "Maximum vertical velocity allowed in the landed state.", "max": 20.0, "min": 0.1, "name": "LNDFW_VEL_Z_MAX", "shortDesc": "Fixed-wing land detector: Max vertiacal velocity threshold", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 8.0, "group": "Land Detector", "longDesc": "Maximum horizontal (x,y body axes) acceleration allowed in the landed state", "max": 15.0, "min": 2.0, "name": "LNDFW_XYACC_MAX", "shortDesc": "Fixed-wing land detector: Max horizontal acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Land Detector", "longDesc": "The height above ground below which ground effect creates barometric altitude errors. A negative value indicates no ground effect.", "min": -1.0, "name": "LNDMC_ALT_GND", "shortDesc": "Ground effect altitude for multicopters", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "Land Detector", "longDesc": "Maximum allowed angular velocity around each axis allowed in the landed state.", "name": "LNDMC_ROT_MAX", "shortDesc": "Multicopter max rotation", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Land Detector", "longDesc": "Total time it takes to go through all three land detection stages: ground contact, maybe landed, landed when all necessary conditions are constantly met.", "max": 10.0, "min": 0.1, "name": "LNDMC_TRIG_TIME", "shortDesc": "Multicopter land detection trigger time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Land Detector", "longDesc": "Maximum horizontal velocity allowed in the landed state", "name": "LNDMC_XY_VEL_MAX", "shortDesc": "Multicopter max horizontal velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.25, "group": "Land Detector", "longDesc": "Vertical velocity threshold to detect landing. Has to be set lower than the expected minimal speed for landing, which is either MPC_LAND_SPEED or MPC_LAND_CRWL. This is enforced by an automatic check.", "min": 0.0, "name": "LNDMC_Z_VEL_MAX", "shortDesc": "Multicopter vertical velocity threshold", "type": "Float", "units": "m/s"}, {"category": "System", "default": 0, "group": "Land Detector", "longDesc": "Total flight time of this autopilot. Higher 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.", "min": 0, "name": "LND_FLIGHT_T_HI", "shortDesc": "Total flight time in microseconds", "type": "Int32", "volatile": true}, {"category": "System", "default": 0, "group": "Land Detector", "longDesc": "Total flight time of this autopilot. Lower 32 bits of the value. Flight time in microseconds = (LND_FLIGHT_T_HI << 32) | LND_FLIGHT_T_LO.", "min": 0, "name": "LND_FLIGHT_T_LO", "shortDesc": "Total flight time in microseconds", "type": "Int32", "volatile": true}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "Landing Target Estimator", "longDesc": "Variance of acceleration measurement used for landing target position prediction. Higher values results in tighter following of the measurements and more lenient outlier rejection", "min": 0.01, "name": "LTEST_ACC_UNC", "shortDesc": "Acceleration uncertainty", "type": "Float", "units": "(m/s^2)^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.005, "group": "Landing Target Estimator", "longDesc": "Variance of the landing target measurement from the driver. Higher values result in less aggressive following of the measurement and a smoother output as well as fewer rejected measurements.", "name": "LTEST_MEAS_UNC", "shortDesc": "Landing target measurement uncertainty", "type": "Float", "units": "tan(rad)^2"}, {"category": "Standard", "default": 0, "group": "Landing Target Estimator", "longDesc": "Configure the mode of the landing target. Depending on the mode, the landing target observations are used differently to aid position estimation. Mode Moving: The landing target may be moving around while in the field of view of the vehicle. Landing target measurements are not used to aid positioning. Mode Stationary: The landing target is stationary. Measured velocity w.r.t. the landing target is used to aid velocity estimation.", "max": 1, "min": 0, "name": "LTEST_MODE", "shortDesc": "Landing target mode", "type": "Int32", "values": [{"description": "Moving", "value": 0}, {"description": "Stationary", "value": 1}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Landing Target Estimator", "longDesc": "Initial variance of the relative landing target position in x and y direction", "min": 0.001, "name": "LTEST_POS_UNC_IN", "shortDesc": "Initial landing target position uncertainty", "type": "Float", "units": "m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Landing Target Estimator", "longDesc": "Landing target x measurements are scaled by this factor before being used", "min": 0.01, "name": "LTEST_SCALE_X", "shortDesc": "Scale factor for sensor measurements in sensor x axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Landing Target Estimator", "longDesc": "Landing target y measurements are scaled by this factor before being used", "min": 0.01, "name": "LTEST_SCALE_Y", "shortDesc": "Scale factor for sensor measurements in sensor y axis", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_X", "rebootRequired": true, "shortDesc": "X Position of IRLOCK in body frame (forward)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_Y", "rebootRequired": true, "shortDesc": "Y Position of IRLOCK in body frame (right)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Landing Target Estimator", "name": "LTEST_SENS_POS_Z", "rebootRequired": true, "shortDesc": "Z Position of IRLOCK in body frame (downward)", "type": "Float", "units": "m"}, {"category": "Standard", "default": 2, "group": "Landing Target Estimator", "longDesc": "Default orientation of Yaw 90\u00b0", "max": 40, "min": -1, "name": "LTEST_SENS_ROT", "rebootRequired": true, "shortDesc": "Rotation of IRLOCK sensor relative to airframe", "type": "Int32", "values": [{"description": "No rotation", "value": 0}, {"description": "Yaw 45\u00b0", "value": 1}, {"description": "Yaw 90\u00b0", "value": 2}, {"description": "Yaw 135\u00b0", "value": 3}, {"description": "Yaw 180\u00b0", "value": 4}, {"description": "Yaw 225\u00b0", "value": 5}, {"description": "Yaw 270\u00b0", "value": 6}, {"description": "Yaw 315\u00b0", "value": 7}]}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Landing Target Estimator", "longDesc": "Initial variance of the relative landing target velocity in x and y directions", "min": 0.001, "name": "LTEST_VEL_UNC_IN", "shortDesc": "Initial landing target velocity uncertainty", "type": "Float", "units": "(m/s)^2"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.012, "group": "Local Position Estimator", "longDesc": "Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz) Larger than data sheet to account for tilt error.", "max": 2.0, "min": 1e-05, "name": "LPE_ACC_XY", "shortDesc": "Accelerometer xy noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.02, "group": "Local Position Estimator", "longDesc": "Data sheet noise density = 150ug/sqrt(Hz) = 0.0015 m/s^2/sqrt(Hz)", "max": 2.0, "min": 1e-05, "name": "LPE_ACC_Z", "shortDesc": "Accelerometer z noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Local Position Estimator", "max": 100.0, "min": 0.01, "name": "LPE_BAR_Z", "shortDesc": "Barometric presssure altitude z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 3.0, "group": "Local Position Estimator", "max": 5.0, "min": 1.0, "name": "LPE_EPH_MAX", "shortDesc": "Max EPH allowed for GPS initialization", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 5.0, "group": "Local Position Estimator", "max": 5.0, "min": 1.0, "name": "LPE_EPV_MAX", "shortDesc": "Max EPV allowed for GPS initialization", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Local Position Estimator", "longDesc": "By initializing the estimator to the LPE_LAT/LON parameters when global information is unavailable", "max": 1, "min": 0, "name": "LPE_FAKE_ORIGIN", "shortDesc": "Enable publishing of a fake global position (e.g for AUTO missions using Optical Flow)", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.001, "group": "Local Position Estimator", "max": 2.0, "min": 0.0, "name": "LPE_FGYRO_HP", "shortDesc": "Flow gyro high pass filter cut off frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_FLW_OFF_Z", "shortDesc": "Optical flow z offset from center", "type": "Float", "units": "m"}, {"category": "Standard", "default": 150, "group": "Local Position Estimator", "max": 255, "min": 0, "name": "LPE_FLW_QMIN", "shortDesc": "Optical flow minimum quality threshold", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 3, "default": 7.0, "group": "Local Position Estimator", "max": 10.0, "min": 0.1, "name": "LPE_FLW_R", "shortDesc": "Optical flow rotation (roll/pitch) noise gain", "type": "Float", "units": "m/s/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 7.0, "group": "Local Position Estimator", "max": 10.0, "min": 0.0, "name": "LPE_FLW_RR", "shortDesc": "Optical flow angular velocity noise gain", "type": "Float", "units": "m/rad"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.3, "group": "Local Position Estimator", "max": 10.0, "min": 0.1, "name": "LPE_FLW_SCALE", "shortDesc": "Optical flow scale", "type": "Float", "units": "m"}, {"bitmask": [{"description": "fuse GPS, requires GPS for alt. init", "index": 0}, {"description": "fuse optical flow", "index": 1}, {"description": "fuse vision position", "index": 2}, {"description": "fuse landing target", "index": 3}, {"description": "fuse land detector", "index": 4}, {"description": "pub agl as lpos down", "index": 5}, {"description": "flow gyro compensation", "index": 6}, {"description": "fuse baro", "index": 7}], "category": "Standard", "default": 145, "group": "Local Position Estimator", "longDesc": "Set bits in the following positions to enable: 0 : Set to true to fuse GPS data if available, also requires GPS for altitude init 1 : Set to true to fuse optical flow data if available 2 : Set to true to fuse vision position 3 : Set to true to enable landing target 4 : Set to true to fuse land detector 5 : Set to true to publish AGL as local position down component 6 : Set to true to enable flow gyro compensation 7 : Set to true to enable baro fusion default (145 - GPS, baro, land detector)", "max": 255, "min": 0, "name": "LPE_FUSION", "shortDesc": "Integer bitmask controlling data fusion", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.29, "group": "Local Position Estimator", "max": 0.4, "min": 0.0, "name": "LPE_GPS_DELAY", "shortDesc": "GPS delay compensaton", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Local Position Estimator", "longDesc": "EPV used if greater than this value.", "max": 2.0, "min": 0.01, "name": "LPE_GPS_VXY", "shortDesc": "GPS xy velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.25, "group": "Local Position Estimator", "max": 2.0, "min": 0.01, "name": "LPE_GPS_VZ", "shortDesc": "GPS z velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Local Position Estimator", "max": 5.0, "min": 0.01, "name": "LPE_GPS_XY", "shortDesc": "Minimum GPS xy standard deviation, uses reported EPH if greater", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Local Position Estimator", "max": 200.0, "min": 0.01, "name": "LPE_GPS_Z", "shortDesc": "Minimum GPS z standard deviation, uses reported EPV if greater", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Local Position Estimator", "max": 10.0, "min": 0.01, "name": "LPE_LAND_VXY", "shortDesc": "Land detector xy velocity standard deviation", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.03, "group": "Local Position Estimator", "max": 10.0, "min": 0.001, "name": "LPE_LAND_Z", "shortDesc": "Land detector z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 8, "default": 47.397742, "group": "Local Position Estimator", "max": 90.0, "min": -90.0, "name": "LPE_LAT", "shortDesc": "Local origin latitude for nav w/o GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_LDR_OFF_Z", "shortDesc": "Lidar z offset from center of vehicle +down", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.03, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_LDR_Z", "shortDesc": "Lidar z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 8, "default": 8.545594, "group": "Local Position Estimator", "max": 180.0, "min": -180.0, "name": "LPE_LON", "shortDesc": "Local origin longitude for nav w/o GPS", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0001, "group": "Local Position Estimator", "max": 10.0, "min": 0.0, "name": "LPE_LT_COV", "shortDesc": "Minimum landing target standard covariance, uses reported covariance if greater", "type": "Float", "units": "m^2"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0, "name": "LPE_PN_B", "shortDesc": "Accel bias propagation noise density", "type": "Float", "units": "m/s^3/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Increase to trust measurements more. Decrease to trust model more.", "max": 1.0, "min": 0.0, "name": "LPE_PN_P", "shortDesc": "Position propagation noise density", "type": "Float", "units": "m/s/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0, "name": "LPE_PN_T", "shortDesc": "Terrain random walk noise density, hilly/outdoor (0.1), flat/Indoor (0.001)", "type": "Float", "units": "m/s/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 8, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Increase to trust measurements more. Decrease to trust model more.", "max": 1.0, "min": 0.0, "name": "LPE_PN_V", "shortDesc": "Velocity propagation noise density", "type": "Float", "units": "m/s^2/sqrt(Hz)"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Local Position Estimator", "max": 1.0, "min": -1.0, "name": "LPE_SNR_OFF_Z", "shortDesc": "Sonar z offset from center of vehicle +down", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.05, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_SNR_Z", "shortDesc": "Sonar z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "Local Position Estimator", "longDesc": "Used to calculate increased terrain random walk nosie due to movement.", "max": 100.0, "min": 0.0, "name": "LPE_T_MAX_GRADE", "shortDesc": "Terrain maximum percent grade, hilly/outdoor (100 = 45 deg), flat/Indoor (0 = 0 deg)", "type": "Float", "units": "%"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.001, "group": "Local Position Estimator", "max": 1.0, "min": 0.0001, "name": "LPE_VIC_P", "shortDesc": "Vicon position standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Local Position Estimator", "longDesc": "Set to zero to enable automatic compensation from measurement timestamps", "max": 0.1, "min": 0.0, "name": "LPE_VIS_DELAY", "shortDesc": "Vision delay compensation", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_VIS_XY", "shortDesc": "Vision xy standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "Local Position Estimator", "max": 100.0, "min": 0.01, "name": "LPE_VIS_Z", "shortDesc": "Vision z standard deviation", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.3, "group": "Local Position Estimator", "max": 1.0, "min": 0.01, "name": "LPE_VXY_PUB", "shortDesc": "Required velocity xy standard deviation to publish position", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 5.0, "group": "Local Position Estimator", "max": 1000.0, "min": 5.0, "name": "LPE_X_LP", "shortDesc": "Cut frequency for state publication", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Local Position Estimator", "max": 5.0, "min": 0.3, "name": "LPE_Z_PUB", "shortDesc": "Required z standard deviation to publish altitude/ terrain", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_0_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 0", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_0_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 0", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_0_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 0", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_0_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 0", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_0_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 0", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1200, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_0_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 0", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 14550, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 0, selected remote port will be set and used in MAVLink instance 0.", "name": "MAV_0_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 0", "type": "Int32"}, {"category": "Standard", "default": 14556, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 0, selected udp port will be set and used in MAVLink instance 0.", "name": "MAV_0_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 0", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_1_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 1", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_1_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 1", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_1_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 1", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_1_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 1", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_1_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 1", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_1_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 1", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 1, selected remote port will be set and used in MAVLink instance 1.", "name": "MAV_1_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 1", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 1, selected udp port will be set and used in MAVLink instance 1.", "name": "MAV_1_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 1", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "This allows a ground control station to automatically find the drone on the local network.", "name": "MAV_2_BROADCAST", "shortDesc": "Broadcast heartbeats on local network for MAVLink instance 2", "type": "Int32", "values": [{"description": "Never broadcast", "value": 0}, {"description": "Always broadcast", "value": 1}, {"description": "Only multicast", "value": 2}]}, {"category": "Standard", "default": 2, "group": "MAVLink", "longDesc": "This is used to force flow control on or off for the the mavlink instance. By default it is auto detected. Use when auto detection fails.", "name": "MAV_2_FLOW_CTRL", "rebootRequired": true, "shortDesc": "Enable serial flow control for instance 2", "type": "Int32", "values": [{"description": "Force off", "value": 0}, {"description": "Force on", "value": 1}, {"description": "Auto-detected", "value": 2}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If enabled, forward incoming MAVLink messages to other MAVLink ports if the message is either broadcast or the target is not the autopilot. This allows for example a GCS to talk to a camera that is connected to the autopilot via MAVLink (on a different link than the GCS).", "name": "MAV_2_FORWARD", "rebootRequired": true, "shortDesc": "Enable MAVLink Message forwarding for instance 2", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "The MAVLink Mode defines the set of streamed messages (for example the vehicle's attitude) and their sending rates.", "name": "MAV_2_MODE", "rebootRequired": true, "shortDesc": "MAVLink Mode for instance 2", "type": "Int32", "values": [{"description": "Normal", "value": 0}, {"description": "Custom", "value": 1}, {"description": "Onboard", "value": 2}, {"description": "OSD", "value": 3}, {"description": "Magic", "value": 4}, {"description": "Config", "value": 5}, {"description": "Minimal", "value": 7}, {"description": "External Vision", "value": 8}, {"description": "Gimbal", "value": 10}, {"description": "Onboard Low Bandwidth", "value": 11}, {"description": "uAvionix", "value": 12}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If enabled, MAVLink messages will be throttled according to `txbuf` field reported by radio_status. Requires a radio to send the mavlink message RADIO_STATUS.", "name": "MAV_2_RADIO_CTL", "rebootRequired": true, "shortDesc": "Enable software throttling of mavlink on instance 2", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "Configure the maximum sending rate for the MAVLink streams in Bytes/sec. If the configured streams exceed the maximum rate, the sending rate of each stream is automatically decreased. If this is set to 0 a value of half of the theoretical maximum bandwidth is used. This corresponds to baudrate/20 Bytes/s (baudrate/10 = maximum data rate on 8N1-configured links).", "min": 0, "name": "MAV_2_RATE", "rebootRequired": true, "shortDesc": "Maximum MAVLink sending rate for instance 2", "type": "Int32", "units": "B/s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 2, selected remote port will be set and used in MAVLink instance 2.", "name": "MAV_2_REMOTE_PRT", "rebootRequired": true, "shortDesc": "MAVLink Remote Port for instance 2", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If ethernet enabled and selected as configuration for MAVLink instance 2, selected udp port will be set and used in MAVLink instance 2.", "name": "MAV_2_UDP_PRT", "rebootRequired": true, "shortDesc": "MAVLink Network Port for instance 2", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "max": 250, "min": 1, "name": "MAV_COMP_ID", "rebootRequired": true, "shortDesc": "MAVLink component ID", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "If set to 1 incoming external setpoint messages will be directly forwarded to the controllers if in offboard control mode", "name": "MAV_FWDEXTSP", "shortDesc": "Forward external setpoint messages", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "Disabling the parameter hash check functionality will make the mavlink instance stream parameters continuously.", "name": "MAV_HASH_CHK_EN", "shortDesc": "Parameter hash check", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "MAVLink", "longDesc": "The mavlink heartbeat message will not be forwarded if this parameter is set to 'disabled'. The main reason for disabling heartbeats to be forwarded is because they confuse dronekit.", "name": "MAV_HB_FORW_EN", "shortDesc": "Heartbeat message forwarding", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "name": "MAV_PROTO_VER", "shortDesc": "MAVLink protocol version", "type": "Int32", "values": [{"description": "Default to 1, switch to 2 if GCS sends version 2", "value": 0}, {"description": "Always use version 1", "value": 1}, {"description": "Always use version 2", "value": 2}]}, {"category": "Standard", "default": 5, "group": "MAVLink", "longDesc": "If the connected radio stops reporting RADIO_STATUS for a certain time, a warning is triggered and, if MAV_X_RADIO_CTL is enabled, the software-flow control is reset.", "max": 250, "min": 1, "name": "MAV_RADIO_TOUT", "shortDesc": "Timeout in seconds for the RADIO_STATUS reports coming in", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "When non-zero the MAVLink app will attempt to configure the SiK radio to this ID and re-set the parameter to 0. If the value is negative it will reset the complete radio config to factory defaults. Only applies if this mavlink instance is going through a SiK radio", "max": 240, "min": -1, "name": "MAV_SIK_RADIO_ID", "shortDesc": "MAVLink SiK Radio ID", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "MAVLink", "max": 250, "min": 1, "name": "MAV_SYS_ID", "rebootRequired": true, "shortDesc": "MAVLink system ID", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "MAVLink", "max": 22, "min": 0, "name": "MAV_TYPE", "shortDesc": "MAVLink airframe type", "type": "Int32", "values": [{"description": "Generic micro air vehicle", "value": 0}, {"description": "Fixed wing aircraft", "value": 1}, {"description": "Quadrotor", "value": 2}, {"description": "Coaxial helicopter", "value": 3}, {"description": "Normal helicopter with tail rotor", "value": 4}, {"description": "Airship, controlled", "value": 7}, {"description": "Free balloon, uncontrolled", "value": 8}, {"description": "Ground rover", "value": 10}, {"description": "Surface vessel, boat, ship", "value": 11}, {"description": "Submarine", "value": 12}, {"description": "Hexarotor", "value": 13}, {"description": "Octorotor", "value": 14}, {"description": "Tricopter", "value": 15}, {"description": "VTOL Two-rotor Tailsitter", "value": 19}, {"description": "VTOL Quad-rotor Tailsitter", "value": 20}, {"description": "VTOL Tiltrotor", "value": 21}, {"description": "VTOL Standard (separate fixed rotors for hover and cruise flight)", "value": 22}, {"description": "VTOL Tailsitter", "value": 23}]}, {"category": "Standard", "default": 0, "group": "MAVLink", "longDesc": "If set to 1 incoming HIL GPS messages are parsed.", "name": "MAV_USEHILGPS", "shortDesc": "Use/Accept HIL GPS message even if not in HIL mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "Magnetometer Bias Estimator", "longDesc": "This enables continuous calibration of the magnetometers before takeoff using gyro data.", "name": "MBE_ENABLE", "rebootRequired": true, "shortDesc": "Enable online mag bias calibration", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 18.0, "group": "Magnetometer Bias Estimator", "increment": 0.1, "longDesc": "Increase to make the estimator more responsive Decrease to make the estimator more robust to noise", "max": 100.0, "min": 0.1, "name": "MBE_LEARN_GAIN", "shortDesc": "Mag bias estimator learning gain", "type": "Float"}, {"category": "Standard", "default": 1, "group": "Manual Control", "longDesc": "This determines if moving the left stick to the lower right arms and to the lower left disarms the vehicle.", "name": "MAN_ARM_GESTURE", "shortDesc": "Enable arm/disarm stick gesture", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": -1.0, "group": "Manual Control", "longDesc": "The timeout for holding the left stick to the lower left and the right stick to the lower right at the same time until the gesture kills the actuators one-way. A negative value disables the feature.", "max": 15.0, "min": -1.0, "name": "MAN_KILL_GEST_T", "shortDesc": "Trigger time for kill stick gesture", "type": "Float", "units": "s"}, {"category": "Standard", "default": 30, "group": "Mission", "longDesc": "The time in seconds the system should do open loop loiter and wait for GPS recovery before it starts descending. Set to 0 to disable. Roll angle is set to FW_GPSF_R. Does only apply for fixed-wing vehicles or VTOLs with NAV_FORCE_VT set to 0.", "max": 3600, "min": 0, "name": "FW_GPSF_LT", "shortDesc": "GPS failure loiter time", "type": "Int32", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 15.0, "group": "Mission", "increment": 0.5, "longDesc": "Roll in degrees during the loiter after the vehicle has lost GPS in an auto mode (e.g. mission or loiter).", "max": 30.0, "min": 0.0, "name": "FW_GPSF_R", "shortDesc": "GPS failure fixed roll angle", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 900.0, "group": "Mission", "increment": 100.0, "longDesc": "Failsafe check to prevent running mission stored from previous flight at a new takeoff location. Set a value of zero or less to disable. The mission will not be started if the current waypoint is more distant than MIS_DIST_1WP from the current position.", "max": 10000.0, "min": -1.0, "name": "MIS_DIST_1WP", "shortDesc": "Maximal horizontal distance from current position to first waypoint", "type": "Float", "units": "m"}, {"category": "Standard", "default": 30, "group": "Mission", "longDesc": "Minimum altitude above landing point that the vehicle will climb to after an aborted landing. Then vehicle will loiter in this altitude until further command is received. Only applies to fixed-wing vehicles.", "min": 0, "name": "MIS_LND_ABRT_ALT", "shortDesc": "Landing abort min altitude", "type": "Int32", "units": "m"}, {"category": "Standard", "default": 0, "group": "Mission", "longDesc": "If enabled, yaw commands will be sent to the mount and the vehicle will follow its heading towards the flight direction. If disabled, the vehicle will yaw towards the ROI.", "max": 1, "min": 0, "name": "MIS_MNT_YAW_CTL", "shortDesc": "Enable yaw control of the mount. (Only affects multicopters and ROI mission items)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Enable", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Mission", "increment": 1.0, "min": 0.0, "name": "MIS_PD_TO", "shortDesc": "Timeout for a successful payload deployment acknowledgement", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.5, "group": "Mission", "increment": 0.5, "longDesc": "This is the relative altitude the system will take off to if not otherwise specified.", "min": 0.0, "name": "MIS_TAKEOFF_ALT", "shortDesc": "Default take-off altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Mission", "longDesc": "Specifies if a mission has to contain a takeoff and/or mission landing. Validity of configured takeoffs/landings is checked independently of the setting here.", "name": "MIS_TKO_LAND_REQ", "shortDesc": "Mission takeoff/landing required", "type": "Int32", "values": [{"description": "No requirements", "value": 0}, {"description": "Require a takeoff", "value": 1}, {"description": "Require a landing", "value": 2}, {"description": "Require a takeoff and a landing", "value": 3}, {"description": "Require both a takeoff and a landing, or neither", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 12.0, "group": "Mission", "increment": 1.0, "max": 90.0, "min": 0.0, "name": "MIS_YAW_ERR", "shortDesc": "Max yaw error in degrees needed for waypoint heading acceptance", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Mission", "increment": 1.0, "longDesc": "If set > 0 it will ignore the target heading for normal waypoint acceptance. If the waypoint forces the heading the timeout will matter. For example on VTOL forwards transition. Mainly useful for VTOLs that have less yaw authority and might not reach target yaw in wind. Disabled by default.", "max": 20.0, "min": -1.0, "name": "MIS_YAW_TMT", "shortDesc": "Time in seconds we wait on reaching target heading at a waypoint if it is forced", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Mission", "max": 4, "min": 0, "name": "MPC_YAW_MODE", "shortDesc": "Heading behavior in autonomous modes", "type": "Int32", "values": [{"description": "towards waypoint", "value": 0}, {"description": "towards home", "value": 1}, {"description": "away from home", "value": 2}, {"description": "along trajectory", "value": 3}, {"description": "towards waypoint (yaw first)", "value": 4}]}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Mission", "increment": 0.5, "longDesc": "Default acceptance radius, overridden by acceptance radius of waypoint if set. For fixed wing the npfg switch distance is used for horizontal acceptance.", "max": 200.0, "min": 0.05, "name": "NAV_ACC_RAD", "shortDesc": "Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Mission", "name": "NAV_FORCE_VT", "shortDesc": "Force VTOL mode takeoff and land", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Mission", "longDesc": "Altitude acceptance used for the last waypoint before a fixed-wing landing. This is usually smaller than the standard vertical acceptance because close to the ground higher accuracy is required.", "max": 200.0, "min": 0.05, "name": "NAV_FW_ALTL_RAD", "shortDesc": "FW Altitude Acceptance Radius before a landing", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Mission", "increment": 0.5, "longDesc": "Acceptance radius for fixedwing altitude.", "max": 200.0, "min": 0.05, "name": "NAV_FW_ALT_RAD", "shortDesc": "FW Altitude Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 80.0, "group": "Mission", "increment": 0.5, "longDesc": "Default value of loiter radius in FW mode (e.g. for Loiter mode).", "max": 1000.0, "min": 25.0, "name": "NAV_LOITER_RAD", "shortDesc": "Loiter radius (FW only)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.8, "group": "Mission", "increment": 0.5, "longDesc": "Acceptance radius for multicopter altitude.", "max": 200.0, "min": 0.05, "name": "NAV_MC_ALT_RAD", "shortDesc": "MC Altitude Acceptance Radius", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Mission", "increment": 0.5, "longDesc": "This is the minimum altitude above Home the system will always obey in Loiter (Hold) mode if switched into this mode without specifying an altitude (e.g. through Loiter switch on RC). Doesn't affect Loiters that are part of Missions or that are entered through a reposition setpoint (\"Go to\"). Set to a negative value to disable.", "min": -1.0, "name": "NAV_MIN_LTR_ALT", "shortDesc": "Minimum Loiter altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 1, "group": "Mission", "longDesc": "Enabling this will allow the system to respond to transponder data from e.g. ADSB transponders", "name": "NAV_TRAFF_AVOID", "shortDesc": "Set traffic avoidance mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Warn only", "value": 1}, {"description": "Return mode", "value": 2}, {"description": "Land mode", "value": 3}, {"description": "Position Hold mode", "value": 4}]}, {"category": "Standard", "default": 500.0, "group": "Mission", "longDesc": "Defines a crosstrack horizontal distance", "min": 500.0, "name": "NAV_TRAFF_A_HOR", "shortDesc": "Set NAV TRAFFIC AVOID horizontal distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 500.0, "group": "Mission", "max": 500.0, "min": 10.0, "name": "NAV_TRAFF_A_VER", "shortDesc": "Set NAV TRAFFIC AVOID vertical distance", "type": "Float", "units": "m"}, {"category": "Standard", "default": 60, "group": "Mission", "longDesc": "Minimum acceptable time until collsion. Assumes constant speed over 3d distance.", "max": 900000000, "min": 1, "name": "NAV_TRAFF_COLL_T", "shortDesc": "Estimated time until collision", "type": "Int32", "units": "s"}, {"category": "Standard", "default": 0, "group": "Mixer Output", "longDesc": "The air-mode enables the mixer to increase the total thrust of the multirotor in order to keep attitude and rate control even at low and high throttle. This function should be disabled during tuning as it will help the controller to diverge if the closed-loop is unstable (i.e. the vehicle is not tuned yet). Enabling air-mode for yaw requires the use of an arming switch.", "name": "MC_AIRMODE", "shortDesc": "Multicopter air-mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Roll/Pitch", "value": 1}, {"description": "Roll/Pitch/Yaw", "value": 2}]}, {"category": "Standard", "default": 0, "group": "Mount", "longDesc": "Set to true for servo gimbal, false for passthrough. This is required for a gimbal which is not capable of stabilizing itself and relies on the IMU's attitude estimation.", "max": 2, "min": 0, "name": "MNT_DO_STAB", "shortDesc": "Stabilize the mount", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "Stabilize all axis", "value": 1}, {"description": "Stabilize yaw for absolute/lock mode.", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 90.0, "min": -90.0, "name": "MNT_LND_P_MAX", "shortDesc": "Pitch maximum when landed", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -90.0, "group": "Mount", "max": 90.0, "min": -90.0, "name": "MNT_LND_P_MIN", "shortDesc": "Pitch minimum when landed", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_PITCH", "shortDesc": "Auxiliary channel to control pitch (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_ROLL", "shortDesc": "Auxiliary channel to control roll (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Mount", "max": 6, "min": 0, "name": "MNT_MAN_YAW", "shortDesc": "Auxiliary channel to control yaw (in AUX input or manual mode)", "type": "Int32", "values": [{"description": "Disable", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 154, "group": "Mount", "longDesc": "If MNT_MODE_OUT is MAVLink protocol v2, mount configure/control commands will be sent with this component ID.", "name": "MNT_MAV_COMPID", "shortDesc": "Mavlink Component ID of the mount", "type": "Int32"}, {"category": "Standard", "default": 1, "group": "Mount", "longDesc": "If MNT_MODE_OUT is MAVLink gimbal protocol v1, mount configure/control commands will be sent with this target ID.", "name": "MNT_MAV_SYSID", "shortDesc": "Mavlink System ID of the mount", "type": "Int32"}, {"category": "Standard", "default": -1, "group": "Mount", "longDesc": "This is the protocol used between the ground station and the autopilot. Recommended is Auto, RC only or MAVLink gimbal protocol v2. The rest will be deprecated.", "max": 4, "min": -1, "name": "MNT_MODE_IN", "rebootRequired": true, "shortDesc": "Mount input mode", "type": "Int32", "values": [{"description": "DISABLED", "value": -1}, {"description": "Auto (RC and MAVLink gimbal protocol v2)", "value": 0}, {"description": "RC", "value": 1}, {"description": "MAVLINK_ROI (protocol v1, to be deprecated)", "value": 2}, {"description": "MAVLINK_DO_MOUNT (protocol v1, to be deprecated)", "value": 3}, {"description": "MAVlink gimbal protocol v2", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Mount", "longDesc": "This is the protocol used between the autopilot and a connected gimbal. Recommended is the MAVLink gimbal protocol v2 if the gimbal supports it.", "max": 2, "min": 0, "name": "MNT_MODE_OUT", "rebootRequired": true, "shortDesc": "Mount output mode", "type": "Int32", "values": [{"description": "AUX", "value": 0}, {"description": "MAVLink gimbal protocol v1", "value": 1}, {"description": "MAVLink gimbal protocol v2", "value": 2}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_PITCH", "shortDesc": "Offset for pitch channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_ROLL", "shortDesc": "Offset for roll channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "Mount", "max": 360.0, "min": -360.0, "name": "MNT_OFF_YAW", "shortDesc": "Offset for yaw channel output in degrees", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_PITCH", "shortDesc": "Range of pitch channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 90.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_ROLL", "shortDesc": "Range of roll channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": 360.0, "group": "Mount", "max": 720.0, "min": 1.0, "name": "MNT_RANGE_YAW", "shortDesc": "Range of yaw channel output in degrees (only in AUX output mode)", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 30.0, "group": "Mount", "longDesc": "Full stick input [-1..1] translats to [-pitch rate..pitch rate].", "max": 90.0, "min": 1.0, "name": "MNT_RATE_PITCH", "shortDesc": "Angular pitch rate for manual input in degrees/second", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 30.0, "group": "Mount", "longDesc": "Full stick input [-1..1] translats to [-yaw rate..yaw rate].", "max": 90.0, "min": 1.0, "name": "MNT_RATE_YAW", "shortDesc": "Angular yaw rate for manual input in degrees/second", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 1, "group": "Mount", "max": 1, "min": 0, "name": "MNT_RC_IN_MODE", "shortDesc": "Input mode for RC gimbal input", "type": "Int32", "values": [{"description": "Angle", "value": 0}, {"description": "Angular rate", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MC_ACRO_EXPO", "shortDesc": "Acro mode roll, pitch expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "Exponential factor for tuning the input curve shape. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MC_ACRO_EXPO_Y", "shortDesc": "Acro mode yaw expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_P_MAX", "shortDesc": "Acro mode maximum pitch rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_R_MAX", "shortDesc": "Acro mode maximum roll rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "\"Superexponential\" factor for refining the input curve shape tuned using MC_ACRO_EXPO. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect", "max": 0.95, "min": 0.0, "name": "MC_ACRO_SUPEXPO", "shortDesc": "Acro mode roll, pitch super expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Acro Mode", "longDesc": "\"Superexponential\" factor for refining the input curve shape tuned using MC_ACRO_EXPO_Y. 0 Pure Expo function 0.7 reasonable shape enhancement for intuitive stick feel 0.95 very strong bent input curve only near maxima have effect", "max": 0.95, "min": 0.0, "name": "MC_ACRO_SUPEXPOY", "shortDesc": "Acro mode yaw super expo factor", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 100.0, "group": "Multicopter Acro Mode", "increment": 5.0, "longDesc": "Full stick deflection leads to this rate.", "max": 1800.0, "min": 0.0, "name": "MC_ACRO_Y_MAX", "shortDesc": "Acro mode maximum yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 220.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limit for pitch rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.", "max": 1800.0, "min": 0.0, "name": "MC_PITCHRATE_MAX", "shortDesc": "Max pitch rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 6.5, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Pitch proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 12.0, "min": 0.0, "name": "MC_PITCH_P", "shortDesc": "Pitch P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 220.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limit for roll rate in manual and auto modes (except acro). Has effect for large rotations in autonomous mode, to avoid large control output and mixer saturation. This is not only limited by the vehicle's properties, but also by the maximum measurement rate of the gyro.", "max": 1800.0, "min": 0.0, "name": "MC_ROLLRATE_MAX", "shortDesc": "Max roll rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 6.5, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Roll proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 12.0, "min": 0.0, "name": "MC_ROLL_P", "shortDesc": "Roll P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 200.0, "group": "Multicopter Attitude Control", "increment": 5.0, "max": 1800.0, "min": 0.0, "name": "MC_YAWRATE_MAX", "shortDesc": "Max yaw rate", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.8, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "Yaw proportional gain, i.e. desired angular speed in rad/s for error 1 rad.", "max": 5.0, "min": 0.0, "name": "MC_YAW_P", "shortDesc": "Yaw P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "Multicopter Attitude Control", "increment": 0.1, "longDesc": "A fraction [0,1] deprioritizing yaw compared to roll and pitch in non-linear attitude control. Deprioritizing yaw is necessary because multicopters have much less control authority in yaw compared to the other axes and it makes sense because yaw is not critical for stable hovering or 3D navigation. For yaw control tuning use MC_YAW_P. This ratio has no impact on the yaw gain.", "max": 1.0, "min": 0.0, "name": "MC_YAW_WEIGHT", "shortDesc": "Yaw weight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 0, "default": 60.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limits the acceleration of the yaw setpoint to avoid large control output and mixer saturation.", "max": 360.0, "min": 5.0, "name": "MPC_YAWRAUTO_ACC", "shortDesc": "Maximum yaw acceleration in autonomous modes", "type": "Float", "units": "deg/s^2"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Attitude Control", "increment": 5.0, "longDesc": "Limits the rate of change of the yaw setpoint to avoid large control output and mixer saturation.", "max": 360.0, "min": 5.0, "name": "MPC_YAWRAUTO_MAX", "shortDesc": "Maximum yaw rate in autonomous modes", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0.4, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "max": 1.0, "min": 0.0, "name": "CP_DELAY", "shortDesc": "Average delay of the range sensor message plus the tracking delay of the position controller in seconds", "type": "Float", "units": "s"}, {"category": "Standard", "default": -1.0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode. Collision avoidance is disabled by setting this parameter to a negative value", "max": 15.0, "min": -1.0, "name": "CP_DIST", "shortDesc": "Minimum distance the vehicle should keep to all obstacles", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "name": "CP_GO_NO_DATA", "shortDesc": "Boolean to allow moving into directions where there is no sensor data (outside FOV)", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 30.0, "group": "Multicopter Position Control", "longDesc": "Only used in Position mode.", "max": 90.0, "min": 0.0, "name": "CP_GUIDE_ANG", "shortDesc": "Angle left/right from the commanded setpoint by which the collision prevention algorithm can choose to change the setpoint direction", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Position Control", "longDesc": "Setting this parameter to 0 disables the filter", "max": 2.0, "min": 0.0, "name": "MC_MAN_TILT_TAU", "shortDesc": "Manual tilt input filter time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 15.0, "min": 2.0, "name": "MPC_ACC_DOWN_MAX", "shortDesc": "Maximum downwards acceleration in climb rate controlled modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "When piloting manually, this parameter is only used in MPC_POS_MODE 4.", "max": 15.0, "min": 2.0, "name": "MPC_ACC_HOR", "shortDesc": "Acceleration for autonomous and for manual modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "MPC_POS_MODE 1 just deceleration 3 acceleration and deceleration 4 not used, use MPC_ACC_HOR instead", "max": 15.0, "min": 2.0, "name": "MPC_ACC_HOR_MAX", "shortDesc": "Maximum horizontal acceleration", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 15.0, "min": 2.0, "name": "MPC_ACC_UP_MAX", "shortDesc": "Maximum upwards acceleration in climb rate controlled modes", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "default": 2, "group": "Multicopter Position Control", "longDesc": "Set to 0 to control height relative to the earth frame origin. This origin may move up and down in flight due to sensor drift. Set to 1 to control height relative to estimated distance to ground. The vehicle will move up and down with terrain height variation. Requires a distance to ground sensor. The height controller will revert to using height above origin if the distance to ground estimate becomes invalid as indicated by the local_position.distance_bottom_valid message being false. Set to 2 to control height relative to ground (requires a distance sensor) when stationary and relative to earth frame origin when moving horizontally. The speed threshold is controlled by the MPC_HOLD_MAX_XY parameter.", "max": 2, "min": 0, "name": "MPC_ALT_MODE", "shortDesc": "Altitude reference mode", "type": "Int32", "values": [{"description": "Altitude following", "value": 0}, {"description": "Terrain following", "value": 1}, {"description": "Terrain hold", "value": 2}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Does not apply to manual throttle and direct attitude piloting by stick.", "max": 1.0, "min": 0.0, "name": "MPC_HOLD_DZ", "shortDesc": "Deadzone for sticks in manual piloted modes", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.8, "group": "Multicopter Position Control", "longDesc": "Only used with MPC_POS_MODE 0 or MPC_ALT_MODE 2", "max": 3.0, "min": 0.0, "name": "MPC_HOLD_MAX_XY", "shortDesc": "Maximum horizontal velocity for which position hold is enabled (use 0 to disable check)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "longDesc": "Only used with MPC_ALT_MODE 1", "max": 3.0, "min": 0.0, "name": "MPC_HOLD_MAX_Z", "shortDesc": "Maximum vertical velocity for which position hold is enabled (use 0 to disable check)", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 4.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother vehicle motions but also limited agility.", "max": 80.0, "min": 1.0, "name": "MPC_JERK_AUTO", "shortDesc": "Jerk limit in autonomous modes", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 0, "default": 8.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Limit the maximum jerk of the vehicle (how fast the acceleration can change). A lower value leads to smoother motions but limits agility (how fast it can change directions or break). Setting this to the maximum value essentially disables the limit. Only used with smooth MPC_POS_MODE 3 and 4.", "max": 500.0, "min": 0.5, "name": "MPC_JERK_MAX", "shortDesc": "Maximum horizontal and vertical jerk in Position/Altitude mode", "type": "Float", "units": "m/s^3"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to a value between \"MPC_Z_VEL_MAX_DN\" (or \"MPC_Z_V_AUTO_DN\") and \"MPC_LAND_SPEED\" Value needs to be higher than \"MPC_LAND_ALT2\"", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT1", "shortDesc": "Altitude for 1. step of slow landing (descend)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to \"MPC_LAND_SPEED\" Value needs to be lower than \"MPC_LAND_ALT1\"", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT2", "shortDesc": "Altitude for 2. step of slow landing (landing)", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "Multicopter Position Control", "longDesc": "Below this altitude descending velocity gets limited to \"MPC_LAND_CRWL\", if LIDAR available. No effect if LIDAR not available", "max": 122.0, "min": 0.0, "name": "MPC_LAND_ALT3", "shortDesc": "Altitude for 3. step of slow landing", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.3, "group": "Multicopter Position Control", "longDesc": "Used below MPC_LAND_ALT3 if distance sensor data is availabe.", "min": 0.1, "name": "MPC_LAND_CRWL", "shortDesc": "Land crawl descend rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 1000.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "When nudging is enabled (see MPC_LAND_RC_HELP), this controls the maximum allowed horizontal displacement from the original landing point.", "min": 0.0, "name": "MPC_LAND_RADIUS", "shortDesc": "User assisted landing radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "Using stick input the vehicle can be moved horizontally and yawed. The descend speed is amended: stick full up - 0 stick centered - MPC_LAND_SPEED stick full down - 2 * MPC_LAND_SPEED Manual override during auto modes has to be disabled to use this feature (see COM_RC_OVERRIDE).", "max": 1, "min": 0, "name": "MPC_LAND_RC_HELP", "shortDesc": "Enable nudging based on user input during autonomous land routine", "type": "Int32", "values": [{"description": "Nudging disabled", "value": 0}, {"description": "Nudging enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 0.7, "group": "Multicopter Position Control", "min": 0.6, "name": "MPC_LAND_SPEED", "shortDesc": "Landing descend rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.08, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The value is mapped to the lowest throttle stick position in Stabilized mode. Too low collective thrust leads to loss of roll/pitch/yaw torque control authority. Airmode is used to keep torque authority with zero thrust (see MC_AIRMODE).", "max": 1.0, "min": 0.0, "name": "MPC_MANTHR_MIN", "shortDesc": "Minimum collective thrust in Stabilized mode", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 0, "default": 35.0, "group": "Multicopter Position Control", "increment": 1.0, "max": 90.0, "min": 0.0, "name": "MPC_MAN_TILT_MAX", "shortDesc": "Maximal tilt angle in Stabilized or Altitude mode", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 150.0, "group": "Multicopter Position Control", "increment": 10.0, "max": 400.0, "min": 0.0, "name": "MPC_MAN_Y_MAX", "shortDesc": "Max manual yaw rate for Stabilized, Altitude, Position mode", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.08, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Not used in Stabilized mode Setting this parameter to 0 disables the filter", "max": 5.0, "min": 0.0, "name": "MPC_MAN_Y_TAU", "shortDesc": "Manual yaw rate input filter time constant", "type": "Float", "units": "s"}, {"category": "Standard", "default": 4, "group": "Multicopter Position Control", "longDesc": "The supported sub-modes are: 0 Sticks directly map to velocity setpoints without smoothing. Also applies to vertical direction and Altitude mode. Useful for velocity control tuning. 3 Sticks map to velocity but with maximum acceleration and jerk limits based on jerk optimized trajectory generator (different algorithm than 1). 4 Sticks map to acceleration and there's a virtual brake drag", "name": "MPC_POS_MODE", "shortDesc": "Position/Altitude mode variant", "type": "Int32", "values": [{"description": "Direct velocity", "value": 0}, {"description": "Smoothed velocity", "value": 3}, {"description": "Acceleration based", "value": 4}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "longDesc": "This parameter defines how the throttle stick input is mapped to collective thrust in Stabilized mode. In case the default is used ('Rescale to hover thrust'), the stick input is linearly rescaled, such that a centered stick corresponds to the hover throttle (see MPC_THR_HOVER). Select 'No Rescale' to directly map the stick 1:1 to the output. This can be useful in case the hover thrust is very low and the default would lead to too much distortion (e.g. if hover thrust is set to 20%, then 80% of the upper thrust range is squeezed into the upper half of the stick range). Note: In case MPC_THR_HOVER is set to 50%, the modes 0 and 1 are the same.", "name": "MPC_THR_CURVE", "shortDesc": "Thrust curve mapping in Stabilized Mode", "type": "Int32", "values": [{"description": "Rescale to hover thrust", "value": 0}, {"description": "No Rescale", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.5, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Mapped to center throttle stick in Stabilized mode (see MPC_THR_CURVE). Used for initialization of the hover thrust estimator (see MPC_USE_HTE). The estimated hover thrust is used as base for zero vertical acceleration in altitude control. The hover thrust is important for land detection to work correctly.", "max": 0.8, "min": 0.1, "name": "MPC_THR_HOVER", "shortDesc": "Vertical thrust required to hover", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Control", "increment": 0.05, "longDesc": "Limit allowed thrust e.g. for indoor test of overpowered vehicle.", "max": 1.0, "min": 0.0, "name": "MPC_THR_MAX", "shortDesc": "Maximum collective thrust in climb rate controlled modes", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.12, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Too low thrust leads to loss of roll/pitch/yaw torque control authority. With airmode enabled this parameters can be set to 0 while still keeping torque authority (see MC_AIRMODE).", "max": 0.5, "min": 0.05, "name": "MPC_THR_MIN", "shortDesc": "Minimum collective thrust in climb rate controlled modes", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "Margin that is kept for horizontal control when higher priority vertical thrust is saturated. To avoid completely starving horizontal control with high vertical error.", "max": 0.5, "min": 0.0, "name": "MPC_THR_XY_MARG", "shortDesc": "Horizontal thrust margin", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Absolute maximum for all velocity or acceleration controlled modes. Any higher value is truncated.", "max": 89.0, "min": 20.0, "name": "MPC_TILTMAX_AIR", "shortDesc": "Maximum tilt angle in air", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 0, "default": 12.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Tighter tilt limit during takeoff to avoid tip over.", "max": 89.0, "min": 5.0, "name": "MPC_TILTMAX_LND", "shortDesc": "Maximum tilt during inital takeoff ramp", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 3.0, "group": "Multicopter Position Control", "longDesc": "Increasing this value will make climb rate controlled takeoff slower. If it's too slow the drone might scratch the ground and tip over. A time constant of 0 disables the ramp", "max": 5.0, "min": 0.0, "name": "MPC_TKO_RAMP_T", "shortDesc": "Smooth takeoff ramp time constant", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.5, "group": "Multicopter Position Control", "max": 5.0, "min": 1.0, "name": "MPC_TKO_SPEED", "shortDesc": "Takeoff climb rate", "type": "Float", "units": "m/s"}, {"category": "Standard", "default": 1, "group": "Multicopter Position Control", "longDesc": "Disable to use the fixed parameter MPC_THR_HOVER Enable to use the hover thrust estimator", "name": "MPC_USE_HTE", "shortDesc": "Hover thrust estimator", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Multicopter Position Control", "increment": 0.5, "max": 10.0, "min": 0.0, "name": "MPC_VELD_LP", "shortDesc": "Numerical velocity derivative low pass cutoff frequency", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Must be smaller than MPC_XY_VEL_MAX. The maximum sideways and backward speed can be set differently using MPC_VEL_MAN_SIDE and MPC_VEL_MAN_BACK, respectively.", "max": 20.0, "min": 3.0, "name": "MPC_VEL_MANUAL", "shortDesc": "Maximum horizontal velocity setpoint in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.", "max": 20.0, "min": -1.0, "name": "MPC_VEL_MAN_BACK", "shortDesc": "Maximum backward velocity in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": -1.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a negative value or larger than MPC_VEL_MANUAL then MPC_VEL_MANUAL is used.", "max": 20.0, "min": -1.0, "name": "MPC_VEL_MAN_SIDE", "shortDesc": "Maximum sideways velocity in Position mode", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 5.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "e.g. in Missions, RTL, Goto if the waypoint does not specify differently", "max": 20.0, "min": 3.0, "name": "MPC_XY_CRUISE", "shortDesc": "Default horizontal velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "The integration speed of the trajectory setpoint is linearly reduced with the horizontal position tracking error. When the error is above this parameter, the integration of the trajectory is stopped to wait for the drone. This value can be adjusted depending on the tracking capabilities of the vehicle.", "max": 10.0, "min": 0.1, "name": "MPC_XY_ERR_MAX", "shortDesc": "Maximum horizontal error allowed by the trajectory generator", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_XY_MAN_EXPO", "shortDesc": "Manual position control stick exponential curve sensitivity", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.95, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective velocity in m/s per m position error", "max": 2.0, "min": 0.0, "name": "MPC_XY_P", "shortDesc": "Proportional gain for horizontal position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.5, "group": "Multicopter Position Control", "increment": 0.1, "max": 1.0, "min": 0.1, "name": "MPC_XY_TRAJ_P", "shortDesc": "Proportional gain for horizontal trajectory position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -10.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "If set to a value greater than zero, other parameters are automatically set (such as MPC_XY_VEL_MAX or MPC_VEL_MANUAL). If set to a negative value, the existing individual parameters are used.", "max": 20.0, "min": -20.0, "name": "MPC_XY_VEL_ALL", "shortDesc": "Overall Horizontal Velocity Limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative", "max": 2.0, "min": 0.1, "name": "MPC_XY_VEL_D_ACC", "shortDesc": "Differential gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.4, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as correction acceleration in m/s^2 per m velocity integral Allows to eliminate steady state errors in disturbances like wind.", "max": 60.0, "min": 0.0, "name": "MPC_XY_VEL_I_ACC", "shortDesc": "Integral gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 12.0, "group": "Multicopter Position Control", "increment": 1.0, "longDesc": "Absolute maximum for all velocity controlled modes. Any higher value is truncated.", "max": 20.0, "min": 0.0, "name": "MPC_XY_VEL_MAX", "shortDesc": "Maximum horizontal velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.8, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s velocity error", "max": 5.0, "min": 1.2, "name": "MPC_XY_VEL_P_ACC", "shortDesc": "Proportional gain for horizontal velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_YAW_EXPO", "shortDesc": "Manual control stick yaw rotation exponential curve", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.6, "group": "Multicopter Position Control", "increment": 0.01, "longDesc": "The higher the value the less sensitivity the stick has around zero while still reaching the maximum value with full stick deflection. 0 Purely linear input curve 1 Purely cubic input curve", "max": 1.0, "min": 0.0, "name": "MPC_Z_MAN_EXPO", "shortDesc": "Manual control stick vertical exponential curve", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective velocity in m/s per m position error", "max": 1.5, "min": 0.1, "name": "MPC_Z_P", "shortDesc": "Proportional gain for vertical position error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": -3.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "If set to a value greater than zero, other parameters are automatically set (such as MPC_Z_VEL_MAX_UP or MPC_LAND_SPEED). If set to a negative value, the existing individual parameters are used.", "max": 8.0, "min": -3.0, "name": "MPC_Z_VEL_ALL", "shortDesc": "Overall Vertical Velocity Limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Position Control", "increment": 0.02, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s^2 velocity derivative", "max": 2.0, "min": 0.0, "name": "MPC_Z_VEL_D_ACC", "shortDesc": "Differential gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m velocity integral", "max": 3.0, "min": 0.2, "name": "MPC_Z_VEL_I_ACC", "shortDesc": "Integral gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP", "max": 4.0, "min": 0.5, "name": "MPC_Z_VEL_MAX_DN", "shortDesc": "Maximum descent velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Absolute maximum for all climb rate controlled modes. In manually piloted modes full stick deflection commands this velocity. For default autonomous velocity see MPC_Z_V_AUTO_UP", "max": 8.0, "min": 0.5, "name": "MPC_Z_VEL_MAX_UP", "shortDesc": "Maximum ascent velocity", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "Multicopter Position Control", "increment": 0.1, "longDesc": "Defined as corrective acceleration in m/s^2 per m/s velocity error", "max": 15.0, "min": 2.0, "name": "MPC_Z_VEL_P_ACC", "shortDesc": "Proportional gain for vertical velocity error", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.5, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "For manual modes and offboard, see MPC_Z_VEL_MAX_DN", "max": 4.0, "min": 0.5, "name": "MPC_Z_V_AUTO_DN", "shortDesc": "Descent velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "Multicopter Position Control", "increment": 0.5, "longDesc": "For manually controlled modes and offboard see MPC_Z_VEL_MAX_UP", "max": 8.0, "min": 0.5, "name": "MPC_Z_V_AUTO_UP", "shortDesc": "Ascent velocity in autonomous modes", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": -0.4, "group": "Multicopter Position Control", "increment": 0.05, "longDesc": "Changes the overall responsiveness of the vehicle. The higher the value, the faster the vehicle will react. If set to a value greater than zero, other parameters are automatically set (such as the acceleration or jerk limits). If set to a negative value, the existing individual parameters are used.", "max": 1.0, "min": -1.0, "name": "SYS_VEHICLE_RESP", "shortDesc": "Responsiveness", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Control", "name": "WV_EN", "shortDesc": "Enable weathervane", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1.0, "group": "Multicopter Position Control", "max": 5.0, "min": 0.0, "name": "WV_ROLL_MIN", "shortDesc": "Minimum roll angle setpoint for weathervane controller to demand a yaw-rate", "type": "Float", "units": "deg"}, {"category": "Standard", "default": 90.0, "group": "Multicopter Position Control", "max": 120.0, "min": 0.0, "name": "WV_YRATE_MAX", "shortDesc": "Maximum yawrate the weathervane controller is allowed to demand", "type": "Float", "units": "deg/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 3.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 0.1, "name": "MC_SLOW_DEF_HVEL", "shortDesc": "Default horizontal velocity limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 0.1, "name": "MC_SLOW_DEF_VVEL", "shortDesc": "Default vertical velocity limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 45.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "This value is used in slow mode if no aux channel is mapped and no limit is commanded through MAVLink.", "min": 1.0, "name": "MC_SLOW_DEF_YAWR", "shortDesc": "Default yaw rate limit", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_HVEL", "shortDesc": "Manual input mapped to scale horizontal velocity in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_VVEL", "shortDesc": "Manual input mapped to scale vertical velocity in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "default": 0, "group": "Multicopter Position Slow Mode", "name": "MC_SLOW_MAP_YAWR", "shortDesc": "Manual input mapped to scale yaw rate in position slow mode", "type": "Int32", "values": [{"description": "No rescaling", "value": 0}, {"description": "AUX1", "value": 1}, {"description": "AUX2", "value": 2}, {"description": "AUX3", "value": 3}, {"description": "AUX4", "value": 4}, {"description": "AUX5", "value": 5}, {"description": "AUX6", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this velocity.", "min": 0.1, "name": "MC_SLOW_MIN_HVEL", "shortDesc": "Horizontal velocity lower limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this velocity.", "min": 0.1, "name": "MC_SLOW_MIN_VVEL", "shortDesc": "Vertical velocity lower limit", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 0, "default": 3.0, "group": "Multicopter Position Slow Mode", "increment": 0.1, "longDesc": "The lowest input maps and is clamped to this rate.", "min": 1.0, "name": "MC_SLOW_MIN_YAWR", "shortDesc": "Yaw rate lower limit", "type": "Float", "units": "deg/s"}, {"category": "Standard", "default": 0, "group": "Multicopter Rate Control", "longDesc": "This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery. The copter should constantly behave as if it was fully charged with reduced max acceleration at lower battery percentages. i.e. if hover is at 0.5 throttle at 100% battery, it will still be 0.5 at 60% battery.", "name": "MC_BAT_SCALE_EN", "shortDesc": "Battery power level scaler", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 4, "default": 0.003, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Pitch rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "min": 0.0, "name": "MC_PITCHRATE_D", "shortDesc": "Pitch rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_PITCHRATE_FF", "shortDesc": "Pitch rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_PITCHRATE_I", "shortDesc": "Pitch rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_PITCHRATE_K * (MC_PITCHRATE_P * error + MC_PITCHRATE_I * error_integral + MC_PITCHRATE_D * error_derivative) Set MC_PITCHRATE_P=1 to implement a PID in the ideal form. Set MC_PITCHRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.01, "name": "MC_PITCHRATE_K", "shortDesc": "Pitch rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.6, "min": 0.01, "name": "MC_PITCHRATE_P", "shortDesc": "Pitch rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Pitch rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large pitch moment trim changes.", "min": 0.0, "name": "MC_PR_INT_LIM", "shortDesc": "Pitch rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.003, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Roll rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "max": 0.01, "min": 0.0, "name": "MC_ROLLRATE_D", "shortDesc": "Roll rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_ROLLRATE_FF", "shortDesc": "Roll rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_ROLLRATE_I", "shortDesc": "Roll rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_ROLLRATE_K * (MC_ROLLRATE_P * error + MC_ROLLRATE_I * error_integral + MC_ROLLRATE_D * error_derivative) Set MC_ROLLRATE_P=1 to implement a PID in the ideal form. Set MC_ROLLRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.01, "name": "MC_ROLLRATE_K", "shortDesc": "Roll rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.15, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.5, "min": 0.01, "name": "MC_ROLLRATE_P", "shortDesc": "Roll rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Roll rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large roll moment trim changes.", "min": 0.0, "name": "MC_RR_INT_LIM", "shortDesc": "Roll rate integrator limit", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again.", "min": 0.0, "name": "MC_YAWRATE_D", "shortDesc": "Yaw rate D gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 0.0, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Improves tracking performance.", "min": 0.0, "name": "MC_YAWRATE_FF", "shortDesc": "Yaw rate feedforward", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate integral gain. Can be set to compensate static thrust difference or gravity center offset.", "min": 0.0, "name": "MC_YAWRATE_I", "shortDesc": "Yaw rate I gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 4, "default": 1.0, "group": "Multicopter Rate Control", "increment": 0.0005, "longDesc": "Global gain of the controller. This gain scales the P, I and D terms of the controller: output = MC_YAWRATE_K * (MC_YAWRATE_P * error + MC_YAWRATE_I * error_integral + MC_YAWRATE_D * error_derivative) Set MC_YAWRATE_P=1 to implement a PID in the ideal form. Set MC_YAWRATE_K=1 to implement a PID in the parallel form.", "max": 5.0, "min": 0.0, "name": "MC_YAWRATE_K", "shortDesc": "Yaw rate controller gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate proportional gain, i.e. control output for angular speed error 1 rad/s.", "max": 0.6, "min": 0.0, "name": "MC_YAWRATE_P", "shortDesc": "Yaw rate P gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.3, "group": "Multicopter Rate Control", "increment": 0.01, "longDesc": "Yaw rate integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large yaw moment trim changes.", "min": 0.0, "name": "MC_YR_INT_LIM", "shortDesc": "Yaw rate integrator limit", "type": "Float"}, {"category": "Standard", "default": 0, "group": "OSD", "longDesc": "Controls the vertical position of the crosshair display. Resolution is limited by OSD to 15 discrete values. Negative values will display the crosshairs below the horizon", "max": 8, "min": -8, "name": "OSD_CH_HEIGHT", "shortDesc": "OSD Crosshairs Height", "type": "Int32"}, {"category": "Standard", "default": 500, "group": "OSD", "longDesc": "Amount of time in milliseconds to dwell at the beginning of the display, when scrolling.", "max": 10000, "min": 100, "name": "OSD_DWELL_TIME", "shortDesc": "OSD Dwell Time (ms)", "type": "Int32"}, {"category": "Standard", "default": 3, "group": "OSD", "longDesc": "Minimum security of log level to display on the OSD.", "name": "OSD_LOG_LEVEL", "shortDesc": "OSD Warning Level", "type": "Int32"}, {"category": "Standard", "default": 125, "group": "OSD", "longDesc": "Scroll rate in milliseconds for OSD messages longer than available character width. This is lower-bounded by the nominal loop rate of this module.", "max": 1000, "min": 100, "name": "OSD_SCROLL_RATE", "shortDesc": "OSD Scroll Rate (ms)", "type": "Int32"}, {"bitmask": [{"description": "CRAFT_NAME", "index": 0}, {"description": "DISARMED", "index": 1}, {"description": "GPS_LAT", "index": 2}, {"description": "GPS_LON", "index": 3}, {"description": "GPS_SATS", "index": 4}, {"description": "GPS_SPEED", "index": 5}, {"description": "HOME_DIST", "index": 6}, {"description": "HOME_DIR", "index": 7}, {"description": "MAIN_BATT_VOLTAGE", "index": 8}, {"description": "CURRENT_DRAW", "index": 9}, {"description": "MAH_DRAWN", "index": 10}, {"description": "RSSI_VALUE", "index": 11}, {"description": "ALTITUDE", "index": 12}, {"description": "NUMERICAL_VARIO", "index": 13}, {"description": "(unused) FLYMODE", "index": 14}, {"description": "(unused) ESC_TMP", "index": 15}, {"description": "(unused) PITCH_ANGLE", "index": 16}, {"description": "(unused) ROLL_ANGLE", "index": 17}, {"description": "CROSSHAIRS", "index": 18}, {"description": "AVG_CELL_VOLTAGE", "index": 19}, {"description": "(unused) HORIZON_SIDEBARS", "index": 20}, {"description": "POWER", "index": 21}], "category": "Standard", "default": 16383, "group": "OSD", "longDesc": "Configure / toggle support display options.", "max": 4194303, "min": 0, "name": "OSD_SYMBOLS", "shortDesc": "OSD Symbol Selection", "type": "Int32"}, {"category": "Standard", "default": 0.0, "group": "PWM Outputs", "longDesc": "Minimum time allowed for the motor input signal to pass through a range of 1000 PWM units. A value x means that the motor signal can only go from 1000 to 2000 PWM in minimum x seconds. Zero means that slew rate limiting is disabled.", "min": 0.0, "name": "MOT_SLEW_MAX", "shortDesc": "Minimum motor rise time (slew rate limit)", "type": "Float", "units": "s/(1000*PWM)"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "PWM Outputs", "increment": 0.1, "longDesc": "Parameter used to model the nonlinear relationship between motor control signal (e.g. PWM) and static thrust. The model is: rel_thrust = factor * rel_signal^2 + (1-factor) * rel_signal, where rel_thrust is the normalized thrust between 0 and 1, and rel_signal is the relative motor control signal between 0 and 1.", "max": 1.0, "min": 0.0, "name": "THR_MDL_FAC", "shortDesc": "Thrust to motor control signal model parameter", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Payload Deliverer", "name": "PD_GRIPPER_EN", "rebootRequired": true, "shortDesc": "Enable Gripper actuation in Payload Deliverer", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 3.0, "group": "Payload Deliverer", "longDesc": "Maximum time Gripper will wait while the successful griper actuation isn't recognised. If the gripper has no feedback sensor, it will simply wait for this time before considering gripper actuation successful and publish a 'VehicleCommandAck' signaling successful gripper action", "min": 0.0, "name": "PD_GRIPPER_TO", "shortDesc": "Timeout for successful gripper actuation acknowledgement", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Payload Deliverer", "max": 0, "min": -1, "name": "PD_GRIPPER_TYPE", "shortDesc": "Type of Gripper (Servo, etc.)", "type": "Int32", "values": [{"description": "Undefined", "value": -1}, {"description": "Servo", "value": 0}]}, {"category": "Standard", "decimalPlaces": 1, "default": 5.0, "group": "Precision Land", "increment": 0.5, "longDesc": "Time after which the landing target is considered lost without any new measurements.", "max": 50.0, "min": 0.0, "name": "PLD_BTOUT", "shortDesc": "Landing Target Timeout", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "Precision Land", "increment": 0.1, "longDesc": "Allow final approach (without horizontal positioning) if losing landing target closer than this to the ground.", "max": 10.0, "min": 0.0, "name": "PLD_FAPPR_ALT", "shortDesc": "Final approach altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Precision Land", "increment": 0.1, "longDesc": "Start descending if closer above landing target than this.", "max": 10.0, "min": 0.0, "name": "PLD_HACC_RAD", "shortDesc": "Horizontal acceptance radius", "type": "Float", "units": "m"}, {"category": "Standard", "default": 3, "group": "Precision Land", "longDesc": "Maximum number of times to search for the landing target if it is lost during the precision landing.", "max": 100, "min": 0, "name": "PLD_MAX_SRCH", "shortDesc": "Maximum number of search attempts", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Precision Land", "increment": 0.1, "longDesc": "Altitude above home to which to climb when searching for the landing target.", "max": 100.0, "min": 0.0, "name": "PLD_SRCH_ALT", "shortDesc": "Search altitude", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 10.0, "group": "Precision Land", "increment": 0.1, "longDesc": "Time allowed to search for the landing target before falling back to normal landing.", "max": 100.0, "min": 0.0, "name": "PLD_SRCH_TOUT", "shortDesc": "Search timeout", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC10_DZ", "shortDesc": "RC channel 10 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC10_MAX", "shortDesc": "RC channel 10 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC10_MIN", "shortDesc": "RC channel 10 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC10_REV", "shortDesc": "RC channel 10 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC10_TRIM", "shortDesc": "RC channel 10 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC11_DZ", "shortDesc": "RC channel 11 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC11_MAX", "shortDesc": "RC channel 11 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC11_MIN", "shortDesc": "RC channel 11 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC11_REV", "shortDesc": "RC channel 11 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC11_TRIM", "shortDesc": "RC channel 11 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC12_DZ", "shortDesc": "RC channel 12 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC12_MAX", "shortDesc": "RC channel 12 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC12_MIN", "shortDesc": "RC channel 12 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC12_REV", "shortDesc": "RC channel 12 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC12_TRIM", "shortDesc": "RC channel 12 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC13_DZ", "shortDesc": "RC channel 13 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC13_MAX", "shortDesc": "RC channel 13 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC13_MIN", "shortDesc": "RC channel 13 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC13_REV", "shortDesc": "RC channel 13 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC13_TRIM", "shortDesc": "RC channel 13 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC14_DZ", "shortDesc": "RC channel 14 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC14_MAX", "shortDesc": "RC channel 14 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC14_MIN", "shortDesc": "RC channel 14 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC14_REV", "shortDesc": "RC channel 14 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC14_TRIM", "shortDesc": "RC channel 14 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC15_DZ", "shortDesc": "RC channel 15 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC15_MAX", "shortDesc": "RC channel 15 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC15_MIN", "shortDesc": "RC channel 15 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC15_REV", "shortDesc": "RC channel 15 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC15_TRIM", "shortDesc": "RC channel 15 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC16_DZ", "shortDesc": "RC channel 16 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC16_MAX", "shortDesc": "RC channel 16 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC16_MIN", "shortDesc": "RC channel 16 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC16_REV", "shortDesc": "RC channel 16 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC16_TRIM", "shortDesc": "RC channel 16 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC17_DZ", "shortDesc": "RC channel 17 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC17_MAX", "shortDesc": "RC channel 17 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC17_MIN", "shortDesc": "RC channel 17 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC17_REV", "shortDesc": "RC channel 17 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC17_TRIM", "shortDesc": "RC channel 17 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC18_DZ", "shortDesc": "RC channel 18 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC18_MAX", "shortDesc": "RC channel 18 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC18_MIN", "shortDesc": "RC channel 18 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC18_REV", "shortDesc": "RC channel 18 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC18_TRIM", "shortDesc": "RC channel 18 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC1_DZ", "shortDesc": "RC channel 1 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for RC channel 1", "max": 2200.0, "min": 1500.0, "name": "RC1_MAX", "shortDesc": "RC channel 1 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for RC channel 1", "max": 1500.0, "min": 800.0, "name": "RC1_MIN", "shortDesc": "RC channel 1 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC1_REV", "shortDesc": "RC channel 1 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC1_TRIM", "shortDesc": "RC channel 1 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC2_DZ", "shortDesc": "RC channel 2 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC2_MAX", "shortDesc": "RC channel 2 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC2_MIN", "shortDesc": "RC channel 2 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC2_REV", "shortDesc": "RC channel 2 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC2_TRIM", "shortDesc": "RC channel 2 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC3_DZ", "shortDesc": "RC channel 3 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC3_MAX", "shortDesc": "RC channel 3 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC3_MIN", "shortDesc": "RC channel 3 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC3_REV", "shortDesc": "RC channel 3 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC3_TRIM", "shortDesc": "RC channel 3 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC4_DZ", "shortDesc": "RC channel 4 dead zone", "type": "Float", "units": "us"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC4_MAX", "shortDesc": "RC channel 4 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC4_MIN", "shortDesc": "RC channel 4 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC4_REV", "shortDesc": "RC channel 4 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC4_TRIM", "shortDesc": "RC channel 4 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC5_DZ", "shortDesc": "RC channel 5 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC5_MAX", "shortDesc": "RC channel 5 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC5_MIN", "shortDesc": "RC channel 5 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC5_REV", "shortDesc": "RC channel 5 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC5_TRIM", "shortDesc": "RC channel 5 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC6_DZ", "shortDesc": "RC channel 6 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC6_MAX", "shortDesc": "RC channel 6 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC6_MIN", "shortDesc": "RC channel 6 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC6_REV", "shortDesc": "RC channel 6 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC6_TRIM", "shortDesc": "RC channel 6 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC7_DZ", "shortDesc": "RC channel 7 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC7_MAX", "shortDesc": "RC channel 7 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC7_MIN", "shortDesc": "RC channel 7 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC7_REV", "shortDesc": "RC channel 7 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC7_TRIM", "shortDesc": "RC channel 7 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 10.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC8_DZ", "shortDesc": "RC channel 8 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC8_MAX", "shortDesc": "RC channel 8 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC8_MIN", "shortDesc": "RC channel 8 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC8_REV", "shortDesc": "RC channel 8 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC8_TRIM", "shortDesc": "RC channel 8 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0.0, "group": "Radio Calibration", "longDesc": "The +- range of this value around the trim value will be considered as zero.", "max": 100.0, "min": 0.0, "name": "RC9_DZ", "shortDesc": "RC channel 9 dead zone", "type": "Float"}, {"category": "Standard", "default": 2000.0, "group": "Radio Calibration", "longDesc": "Maximum value for this channel.", "max": 2200.0, "min": 1500.0, "name": "RC9_MAX", "shortDesc": "RC channel 9 maximum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1000.0, "group": "Radio Calibration", "longDesc": "Minimum value for this channel.", "max": 1500.0, "min": 800.0, "name": "RC9_MIN", "shortDesc": "RC channel 9 minimum", "type": "Float", "units": "us"}, {"category": "Standard", "default": 1.0, "group": "Radio Calibration", "longDesc": "Set to -1 to reverse channel.", "max": 1.0, "min": -1.0, "name": "RC9_REV", "shortDesc": "RC channel 9 reverse", "type": "Float", "values": [{"description": "Reverse", "value": -1.0}, {"description": "Normal", "value": 1.0}]}, {"category": "Standard", "default": 1500.0, "group": "Radio Calibration", "longDesc": "Mid point value", "max": 2200.0, "min": 800.0, "name": "RC9_TRIM", "shortDesc": "RC channel 9 trim", "type": "Float", "units": "us"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "This parameter is used by Ground Station software to save the number of channels which were used during RC calibration. It is only meant for ground station use.", "max": 18, "min": 0, "name": "RC_CHAN_CNT", "shortDesc": "RC channel count", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Use RC_MAP_FAILSAFE to specify which channel is used to indicate RC loss via this threshold. By default this is the throttle channel. Set to a PWM value slightly above the PWM value for the channel (e.g. throttle) in a failsafe event, but below the minimum PWM value for the channel during normal operation. Note: The default value of 0 disables the feature (it is below the expected range).", "max": 2200, "min": 0, "name": "RC_FAILS_THR", "shortDesc": "Failsafe channel PWM threshold", "type": "Int32", "units": "us"}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera pitch", "max": 18, "min": 0, "name": "RC_MAP_AUX1", "shortDesc": "AUX1 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera roll", "max": 18, "min": 0, "name": "RC_MAP_AUX2", "shortDesc": "AUX2 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Default function: Camera azimuth / yaw", "max": 18, "min": 0, "name": "RC_MAP_AUX3", "shortDesc": "AUX3 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX4", "shortDesc": "AUX4 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX5", "shortDesc": "AUX5 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_AUX6", "shortDesc": "AUX6 Passthrough RC channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "max": 18, "min": 0, "name": "RC_MAP_ENG_MOT", "shortDesc": "RC channel to engage the main motor (for helicopters)", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Configures which RC channel is used by the receiver to indicate the signal was lost (on receivers that use output a fixed signal value to report lost signal). If set to 0, the channel mapped to throttle is used. Use RC_FAILS_THR to set the threshold indicating lost signal. By default it's below the expected range and hence disabled.", "max": 18, "min": 0, "name": "RC_MAP_FAILSAFE", "shortDesc": "Failsafe channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 1st parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM1", "shortDesc": "PARAM1 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 2nd parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM2", "shortDesc": "PARAM2 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "Can be used for parameter tuning with the RC. This one is further referenced as the 3th parameter channel. Set to 0 to deactivate *", "max": 18, "min": 0, "name": "RC_MAP_PARAM3", "shortDesc": "PARAM3 tuning channel", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading pitch inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_PITCH", "shortDesc": "Pitch control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading roll inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_ROLL", "shortDesc": "Roll control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading throttle inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_THROTTLE", "shortDesc": "Throttle control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "The channel index (starting from 1 for channel 1) indicates which channel should be used for reading yaw inputs from. A value of zero indicates the switch is not assigned.", "max": 18, "min": 0, "name": "RC_MAP_YAW", "shortDesc": "Yaw control channel mapping", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 0, "group": "Radio Calibration", "longDesc": "0: do not read RSSI from input channel 1-18: read RSSI from specified input channel Specify the range for RSSI input with RC_RSSI_PWM_MIN and RC_RSSI_PWM_MAX parameters.", "max": 18, "min": 0, "name": "RC_RSSI_PWM_CHAN", "shortDesc": "PWM input channel that provides RSSI", "type": "Int32", "values": [{"description": "Unassigned", "value": 0}, {"description": "Channel 1", "value": 1}, {"description": "Channel 2", "value": 2}, {"description": "Channel 3", "value": 3}, {"description": "Channel 4", "value": 4}, {"description": "Channel 5", "value": 5}, {"description": "Channel 6", "value": 6}, {"description": "Channel 7", "value": 7}, {"description": "Channel 8", "value": 8}, {"description": "Channel 9", "value": 9}, {"description": "Channel 10", "value": 10}, {"description": "Channel 11", "value": 11}, {"description": "Channel 12", "value": 12}, {"description": "Channel 13", "value": 13}, {"description": "Channel 14", "value": 14}, {"description": "Channel 15", "value": 15}, {"description": "Channel 16", "value": 16}, {"description": "Channel 17", "value": 17}, {"description": "Channel 18", "value": 18}]}, {"category": "Standard", "default": 2000, "group": "Radio Calibration", "longDesc": "Only used if RC_RSSI_PWM_CHAN > 0", "max": 2000, "min": 0, "name": "RC_RSSI_PWM_MAX", "shortDesc": "Max input value for RSSI reading", "type": "Int32"}, {"category": "Standard", "default": 1000, "group": "Radio Calibration", "longDesc": "Only used if RC_RSSI_PWM_CHAN > 0", "max": 2000, "min": 0, "name": "RC_RSSI_PWM_MIN", "shortDesc": "Min input value for RSSI reading", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_PITCH", "shortDesc": "Pitch trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_ROLL", "shortDesc": "Roll trim", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.0, "group": "Radio Calibration", "increment": 0.01, "longDesc": "The trim value is the actuator control value the system needs for straight and level flight.", "max": 0.5, "min": -0.5, "name": "TRIM_YAW", "shortDesc": "Yaw trim", "type": "Float"}, {"category": "Standard", "default": 0.75, "group": "Radio Switches", "longDesc": "0-1 indicate where in the full channel range the threshold sits 0 : min 1 : max sign indicates polarity of comparison positive : true when channel>th negative : true when channelth negative : true when channelth negative : true when channelth negative : true when channelth negative : true when channelth negative : true when channelth negative : true when channelth negative : true when channel= 0 the distance sensor measures will be overridden by this value", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.025, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.", "min": 0.0, "name": "SIH_IXX", "shortDesc": "Vehicle inertia about X axis", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.", "name": "SIH_IXY", "shortDesc": "Vehicle cross term inertia xy", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.", "name": "SIH_IXZ", "shortDesc": "Vehicle cross term inertia xz", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.025, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.", "min": 0.0, "name": "SIH_IYY", "shortDesc": "Vehicle inertia about Y axis", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. This value can be set to 0 for a quad symmetric about its center of mass.", "name": "SIH_IYZ", "shortDesc": "Vehicle cross term inertia yz", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.03, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "The inertia is a 3 by 3 symmetric matrix. It represents the difficulty of the vehicle to modify its angular rate.", "min": 0.0, "name": "SIH_IZZ", "shortDesc": "Vehicle inertia about Z axis", "type": "Float", "units": "kg m^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Simulation In Hardware", "increment": 0.05, "longDesc": "Physical coefficient representing the friction with air particules. The greater this value, the slower the quad will move. Drag force function of velocity: D=-KDV*V. The maximum freefall velocity can be computed as V=10*MASS/KDV [m/s]", "min": 0.0, "name": "SIH_KDV", "shortDesc": "First order drag coefficient", "type": "Float", "units": "N/(m/s)"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.025, "group": "Simulation In Hardware", "increment": 0.005, "longDesc": "Physical coefficient representing the friction with air particules during rotations. The greater this value, the slower the quad will rotate. Aerodynamic moment function of body rate: Ma=-KDW*W_B. This value can be set to 0 if unknown.", "min": 0.0, "name": "SIH_KDW", "shortDesc": "First order angular damper coefficient", "type": "Float", "units": "Nm/(rad/s)"}, {"category": "Standard", "decimalPlaces": 2, "default": 32.34, "group": "Simulation In Hardware", "increment": 0.01, "longDesc": "This value represents the Above Mean Sea Level (AMSL) altitude where the simulation begins. If using FlightGear as a visual animation, this value can be tweaked such that the vehicle lies on the ground at takeoff. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.", "max": 8848.0, "min": -420.0, "name": "SIH_LOC_H0", "shortDesc": "Initial AMSL ground altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 454671160, "group": "Simulation In Hardware", "longDesc": "This value represents the North-South location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.", "max": 850000000, "min": -850000000, "name": "SIH_LOC_LAT0", "shortDesc": "Initial geodetic latitude", "type": "Int32", "units": "deg*1e7"}, {"category": "Standard", "default": -737578370, "group": "Simulation In Hardware", "longDesc": "This value represents the East-West location on Earth where the simulation begins. A value of 45 deg should be written 450000000. LAT0, LON0, H0, MU_X, MU_Y, and MU_Z should ideally be consistent among each others to represent a physical ground location on Earth.", "max": 1800000000, "min": -1800000000, "name": "SIH_LOC_LON0", "shortDesc": "Initial geodetic longitude", "type": "Int32", "units": "deg*1e7"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Simulation In Hardware", "increment": 0.05, "longDesc": "This is the arm length generating the pitching moment This value can be measured with a ruler. This corresponds to half the distance between the front and rear motors.", "min": 0.0, "name": "SIH_L_PITCH", "shortDesc": "Pitch arm length", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.2, "group": "Simulation In Hardware", "increment": 0.05, "longDesc": "This is the arm length generating the rolling moment This value can be measured with a ruler. This corresponds to half the distance between the left and right motors.", "min": 0.0, "name": "SIH_L_ROLL", "shortDesc": "Roll arm length", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "Simulation In Hardware", "increment": 0.1, "longDesc": "This value can be measured by weighting the quad on a scale.", "min": 0.0, "name": "SIH_MASS", "shortDesc": "Vehicle mass", "type": "Float", "units": "kg"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.1, "group": "Simulation In Hardware", "increment": 0.05, "longDesc": "This is the maximum torque delivered by one propeller when the motor is running at full speed. This value is usually about few percent of the maximum thrust force.", "min": 0.0, "name": "SIH_Q_MAX", "shortDesc": "Max propeller torque", "type": "Float", "units": "Nm"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "Simulation In Hardware", "increment": 0.5, "longDesc": "This is the maximum force delivered by one propeller when the motor is running at full speed. This value is usually about 5 times the mass of the quadrotor.", "min": 0.0, "name": "SIH_T_MAX", "shortDesc": "Max propeller thrust force", "type": "Float", "units": "N"}, {"category": "Standard", "default": 0.05, "group": "Simulation In Hardware", "longDesc": "the time taken for the thruster to step from 0 to 100% should be about 4 times tau", "name": "SIH_T_TAU", "shortDesc": "thruster time constant tau", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "Simulation In Hardware", "name": "SIH_VEHICLE_TYPE", "rebootRequired": true, "shortDesc": "Vehicle type", "type": "Int32", "values": [{"description": "Multicopter", "value": 0}, {"description": "Fixed-Wing", "value": 1}, {"description": "Tailsitter", "value": 2}]}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_BARO_OFF_P", "shortDesc": "simulated barometer pressure offset", "type": "Float"}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_BARO_OFF_T", "shortDesc": "simulated barometer temperature offset", "type": "Float", "units": "celcius"}, {"category": "Standard", "default": 10, "group": "Simulator", "max": 50, "min": 0, "name": "SIM_GPS_USED", "shortDesc": "simulated GPS number of satellites used", "type": "Int32"}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_MAG_OFFSET_X", "shortDesc": "simulated magnetometer X offset", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_MAG_OFFSET_Y", "shortDesc": "simulated magnetometer Y offset", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0.0, "group": "Simulator", "name": "SIM_MAG_OFFSET_Z", "shortDesc": "simulated magnetometer Z offset", "type": "Float", "units": "gauss"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "Set to 1 to reset parameters on next system startup (setting defaults). Platform-specific values are used if available. RC* parameters are preserved.", "name": "SYS_AUTOCONFIG", "shortDesc": "Automatically configure default values", "type": "Int32", "values": [{"description": "Keep parameters", "value": 0}, {"description": "Reset parameters to airframe defaults", "value": 1}]}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "CHANGING THIS VALUE REQUIRES A RESTART. Defines the auto-start script used to bootstrap the system.", "max": 9999999, "min": 0, "name": "SYS_AUTOSTART", "rebootRequired": true, "shortDesc": "Auto-start script index", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "If enabled, update the bootloader on the next boot. WARNING: do not cut the power during an update process, otherwise you will have to recover using some alternative method (e.g. JTAG). Instructions: - Insert an SD card - Enable this parameter - Reboot the board (plug the power or send a reboot command) - Wait until the board comes back up (or at least 2 minutes) - If it does not come back, check the file bootlog.txt on the SD card", "name": "SYS_BL_UPDATE", "rebootRequired": true, "shortDesc": "Bootloader update", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)", "max": 1, "min": 0, "name": "SYS_CAL_ACCEL", "shortDesc": "Enable auto start of accelerometer thermal calibration at the next power up", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)", "max": 1, "min": 0, "name": "SYS_CAL_BARO", "shortDesc": "Enable auto start of barometer thermal calibration at the next power up", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "0 : Set to 0 to do nothing 1 : Set to 1 to start a calibration at next boot This parameter is reset to zero when the temperature calibration starts. default (0, no calibration)", "max": 1, "min": 0, "name": "SYS_CAL_GYRO", "shortDesc": "Enable auto start of rate gyro thermal calibration at the next power up", "type": "Int32"}, {"category": "Standard", "default": 24, "group": "System", "longDesc": "A temperature increase greater than this value is required during calibration. Calibration will complete for each sensor when the temperature increase above the starting temperature exceeds the value set by SYS_CAL_TDEL. If the temperature rise is insufficient, the calibration will continue indefinitely and the board will need to be repowered to exit.", "min": 10, "name": "SYS_CAL_TDEL", "shortDesc": "Required temperature rise during thermal calibration", "type": "Int32", "units": "celcius"}, {"category": "Standard", "default": 10, "group": "System", "longDesc": "Temperature calibration will not start if the temperature of any sensor is higher than the value set by SYS_CAL_TMAX.", "name": "SYS_CAL_TMAX", "shortDesc": "Maximum starting temperature for thermal calibration", "type": "Int32", "units": "celcius"}, {"category": "Standard", "default": 5, "group": "System", "longDesc": "Temperature calibration for each sensor will ignore data if the temperature is lower than the value set by SYS_CAL_TMIN.", "name": "SYS_CAL_TMIN", "shortDesc": "Minimum starting temperature for thermal calibration", "type": "Int32", "units": "celcius"}, {"category": "Standard", "default": 0, "group": "System", "name": "SYS_DM_BACKEND", "rebootRequired": true, "shortDesc": "Dataman storage backend", "type": "Int32", "values": [{"description": "Disabled", "value": -1}, {"description": "default (SD card)", "value": 0}, {"description": "RAM (not persistent)", "value": 1}]}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "If enabled, future sensor calibrations will be stored to /fs/mtd_caldata. Note: this is only supported on boards with a separate calibration storage /fs/mtd_caldata.", "name": "SYS_FAC_CAL_MODE", "shortDesc": "Enable factory calibration mode", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "All sensors", "value": 1}, {"description": "All sensors except mag", "value": 2}]}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "If enabled allows MAVLink INJECT_FAILURE commands. WARNING: the failures can easily cause crashes and are to be used with caution!", "name": "SYS_FAILURE_EN", "shortDesc": "Enable failure injection", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "System", "longDesc": "Disable this if the board has no barometer, such as some of the Omnibus F4 SD variants. If disabled, the preflight checks will not check for the presence of a barometer.", "name": "SYS_HAS_BARO", "rebootRequired": true, "shortDesc": "Control if the vehicle has a barometer", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "System", "longDesc": "Disable this if the system has no GPS. If disabled, the sensors hub will not process sensor_gps, and GPS will not be available for the rest of the system.", "name": "SYS_HAS_GPS", "rebootRequired": true, "shortDesc": "Control if the vehicle has a GPS", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 1, "group": "System", "longDesc": "Set this to 0 if the board has no magnetometer. If set to 0, the preflight checks will not check for the presence of a magnetometer, otherwise N sensors are required.", "name": "SYS_HAS_MAG", "rebootRequired": true, "shortDesc": "Control if the vehicle has a magnetometer", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "The preflight check will fail if fewer than this number of distance sensors with valid data is present. Disable the check with 0.", "max": 4, "min": 0, "name": "SYS_HAS_NUM_DIST", "shortDesc": "Number of distance sensors to check being available", "type": "Int32"}, {"category": "Standard", "default": 0, "group": "System", "longDesc": "While enabled the system will boot in Hardware-In-The-Loop (HITL) or Simulation-In-Hardware (SIH) mode and not enable all sensors and checks. When disabled the same vehicle can be flown normally. Set to 'external HITL', if the system should perform as if it were a real vehicle (the only difference to a real system is then only the parameter value, which can be used for log analysis).", "name": "SYS_HITL", "rebootRequired": true, "shortDesc": "Enable HITL/SIH mode on next boot", "type": "Int32", "values": [{"description": "external HITL", "value": -1}, {"description": "HITL and SIH disabled", "value": 0}, {"description": "HITL enabled", "value": 1}, {"description": "SIH enabled", "value": 2}]}, {"category": "Standard", "default": 2, "group": "System", "longDesc": "Set the group of estimators used for multicopters and VTOLs", "name": "SYS_MC_EST_GROUP", "rebootRequired": true, "shortDesc": "Set multicopter estimator group", "type": "Int32", "values": [{"description": "local_position_estimator, attitude_estimator_q (unsupported)", "value": 1}, {"description": "ekf2 (recommended)", "value": 2}, {"description": "Q attitude estimator (no position)", "value": 3}]}, {"category": "Standard", "default": 1.0, "group": "System", "longDesc": "Set to 0 to disable, 1 for maximum brightness", "name": "SYS_RGB_MAXBRT", "shortDesc": "RGB Led brightness limit", "type": "Float", "units": "%"}, {"category": "Standard", "default": 1, "group": "System", "name": "SYS_STCK_EN", "shortDesc": "Enable stack checking", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 2, "group": "Testing", "name": "TEST_1", "shortDesc": "TEST_1", "type": "Int32"}, {"category": "Standard", "default": 4, "group": "Testing", "name": "TEST_2", "shortDesc": "TEST_2", "type": "Int32"}, {"category": "Standard", "default": 5.0, "group": "Testing", "name": "TEST_3", "shortDesc": "TEST_3", "type": "Float"}, {"category": "Standard", "default": 0.01, "group": "Testing", "name": "TEST_D", "shortDesc": "TEST_D", "type": "Float"}, {"category": "Standard", "default": 2.0, "group": "Testing", "name": "TEST_DEV", "shortDesc": "TEST_DEV", "type": "Float"}, {"category": "Standard", "default": 10.0, "group": "Testing", "name": "TEST_D_LP", "shortDesc": "TEST_D_LP", "type": "Float"}, {"category": "Standard", "default": 10.0, "group": "Testing", "name": "TEST_HP", "shortDesc": "TEST_HP", "type": "Float"}, {"category": "Standard", "default": 0.1, "group": "Testing", "name": "TEST_I", "shortDesc": "TEST_I", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "Testing", "name": "TEST_I_MAX", "shortDesc": "TEST_I_MAX", "type": "Float"}, {"category": "Standard", "default": 10.0, "group": "Testing", "name": "TEST_LP", "shortDesc": "TEST_LP", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "Testing", "name": "TEST_MAX", "shortDesc": "TEST_MAX", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "Testing", "name": "TEST_MEAN", "shortDesc": "TEST_MEAN", "type": "Float"}, {"category": "Standard", "default": -1.0, "group": "Testing", "name": "TEST_MIN", "shortDesc": "TEST_MIN", "type": "Float"}, {"category": "Standard", "default": 0.2, "group": "Testing", "name": "TEST_P", "shortDesc": "TEST_P", "type": "Float"}, {"category": "Standard", "default": 12345678, "group": "Testing", "name": "TEST_PARAMS", "shortDesc": "TEST_PARAMS", "type": "Int32"}, {"category": "Standard", "default": 16, "group": "Testing", "name": "TEST_RC2_X", "shortDesc": "TEST_RC2_X", "type": "Int32"}, {"category": "Standard", "default": 8, "group": "Testing", "name": "TEST_RC_X", "shortDesc": "TEST_RC_X", "type": "Int32"}, {"category": "Standard", "default": 0.5, "group": "Testing", "name": "TEST_TRIM", "shortDesc": "TEST_TRIM", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_A0_ID", "shortDesc": "ID of Accelerometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_A0_TMAX", "shortDesc": "Accelerometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_TMIN", "shortDesc": "Accelerometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_A0_TREF", "shortDesc": "Accelerometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X0_0", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X0_1", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X0_2", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X1_0", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X1_1", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X1_2", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X2_0", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X2_1", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X2_2", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X3_0", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X3_1", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A0_X3_2", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_A1_ID", "shortDesc": "ID of Accelerometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_A1_TMAX", "shortDesc": "Accelerometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_TMIN", "shortDesc": "Accelerometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_A1_TREF", "shortDesc": "Accelerometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X0_0", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X0_1", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X0_2", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X1_0", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X1_1", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X1_2", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X2_0", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X2_1", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X2_2", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X3_0", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X3_1", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A1_X3_2", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_A2_ID", "shortDesc": "ID of Accelerometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_A2_TMAX", "shortDesc": "Accelerometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_TMIN", "shortDesc": "Accelerometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_A2_TREF", "shortDesc": "Accelerometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X0_0", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X0_1", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X0_2", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X1_0", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X1_1", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X1_2", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X2_0", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X2_1", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X2_2", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X3_0", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X3_1", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A2_X3_2", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_A3_ID", "shortDesc": "ID of Accelerometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_A3_TMAX", "shortDesc": "Accelerometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_TMIN", "shortDesc": "Accelerometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_A3_TREF", "shortDesc": "Accelerometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X0_0", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X0_1", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X0_2", "shortDesc": "Accelerometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X1_0", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X1_1", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X1_2", "shortDesc": "Accelerometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X2_0", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X2_1", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X2_2", "shortDesc": "Accelerometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X3_0", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X3_1", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_A3_X3_2", "shortDesc": "Accelerometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Thermal Compensation", "name": "TC_A_ENABLE", "rebootRequired": true, "shortDesc": "Thermal compensation for accelerometer sensors", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_B0_ID", "shortDesc": "ID of Barometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 75.0, "group": "Thermal Compensation", "name": "TC_B0_TMAX", "shortDesc": "Barometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 5.0, "group": "Thermal Compensation", "name": "TC_B0_TMIN", "shortDesc": "Barometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 40.0, "group": "Thermal Compensation", "name": "TC_B0_TREF", "shortDesc": "Barometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X0", "shortDesc": "Barometer offset temperature ^0 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X1", "shortDesc": "Barometer offset temperature ^1 polynomial coefficients", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X2", "shortDesc": "Barometer offset temperature ^2 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X3", "shortDesc": "Barometer offset temperature ^3 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X4", "shortDesc": "Barometer offset temperature ^4 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B0_X5", "shortDesc": "Barometer offset temperature ^5 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_B1_ID", "shortDesc": "ID of Barometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 75.0, "group": "Thermal Compensation", "name": "TC_B1_TMAX", "shortDesc": "Barometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 5.0, "group": "Thermal Compensation", "name": "TC_B1_TMIN", "shortDesc": "Barometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 40.0, "group": "Thermal Compensation", "name": "TC_B1_TREF", "shortDesc": "Barometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X0", "shortDesc": "Barometer offset temperature ^0 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X1", "shortDesc": "Barometer offset temperature ^1 polynomial coefficients", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X2", "shortDesc": "Barometer offset temperature ^2 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X3", "shortDesc": "Barometer offset temperature ^3 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X4", "shortDesc": "Barometer offset temperature ^4 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B1_X5", "shortDesc": "Barometer offset temperature ^5 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_B2_ID", "shortDesc": "ID of Barometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 75.0, "group": "Thermal Compensation", "name": "TC_B2_TMAX", "shortDesc": "Barometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 5.0, "group": "Thermal Compensation", "name": "TC_B2_TMIN", "shortDesc": "Barometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 40.0, "group": "Thermal Compensation", "name": "TC_B2_TREF", "shortDesc": "Barometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X0", "shortDesc": "Barometer offset temperature ^0 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X1", "shortDesc": "Barometer offset temperature ^1 polynomial coefficients", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X2", "shortDesc": "Barometer offset temperature ^2 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X3", "shortDesc": "Barometer offset temperature ^3 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X4", "shortDesc": "Barometer offset temperature ^4 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B2_X5", "shortDesc": "Barometer offset temperature ^5 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_B3_ID", "shortDesc": "ID of Barometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 75.0, "group": "Thermal Compensation", "name": "TC_B3_TMAX", "shortDesc": "Barometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 5.0, "group": "Thermal Compensation", "name": "TC_B3_TMIN", "shortDesc": "Barometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 40.0, "group": "Thermal Compensation", "name": "TC_B3_TREF", "shortDesc": "Barometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X0", "shortDesc": "Barometer offset temperature ^0 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X1", "shortDesc": "Barometer offset temperature ^1 polynomial coefficients", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X2", "shortDesc": "Barometer offset temperature ^2 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X3", "shortDesc": "Barometer offset temperature ^3 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X4", "shortDesc": "Barometer offset temperature ^4 polynomial coefficient", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_B3_X5", "shortDesc": "Barometer offset temperature ^5 polynomial coefficient", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Thermal Compensation", "name": "TC_B_ENABLE", "rebootRequired": true, "shortDesc": "Thermal compensation for barometric pressure sensors", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_G0_ID", "shortDesc": "ID of Gyro that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_G0_TMAX", "shortDesc": "Gyro calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_TMIN", "shortDesc": "Gyro calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_G0_TREF", "shortDesc": "Gyro calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X0_0", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X0_1", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X0_2", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X1_0", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X1_1", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X1_2", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X2_0", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X2_1", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X2_2", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X3_0", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X3_1", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G0_X3_2", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_G1_ID", "shortDesc": "ID of Gyro that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_G1_TMAX", "shortDesc": "Gyro calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_TMIN", "shortDesc": "Gyro calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_G1_TREF", "shortDesc": "Gyro calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X0_0", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X0_1", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X0_2", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X1_0", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X1_1", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X1_2", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X2_0", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X2_1", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X2_2", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X3_0", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X3_1", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G1_X3_2", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_G2_ID", "shortDesc": "ID of Gyro that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_G2_TMAX", "shortDesc": "Gyro calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_TMIN", "shortDesc": "Gyro calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_G2_TREF", "shortDesc": "Gyro calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X0_0", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X0_1", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X0_2", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X1_0", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X1_1", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X1_2", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X2_0", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X2_1", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X2_2", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X3_0", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X3_1", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G2_X3_2", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_G3_ID", "shortDesc": "ID of Gyro that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_G3_TMAX", "shortDesc": "Gyro calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_TMIN", "shortDesc": "Gyro calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_G3_TREF", "shortDesc": "Gyro calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X0_0", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X0_1", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X0_2", "shortDesc": "Gyro rate offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X1_0", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X1_1", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X1_2", "shortDesc": "Gyro rate offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X2_0", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X2_1", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X2_2", "shortDesc": "Gyro rate offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X3_0", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X3_1", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_G3_X3_2", "shortDesc": "Gyro rate offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Thermal Compensation", "name": "TC_G_ENABLE", "rebootRequired": true, "shortDesc": "Thermal compensation for rate gyro sensors", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_M0_ID", "shortDesc": "ID of Magnetometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_M0_TMAX", "shortDesc": "Magnetometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_TMIN", "shortDesc": "Magnetometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_M0_TREF", "shortDesc": "Magnetometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X0_0", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X0_1", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X0_2", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X1_0", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X1_1", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X1_2", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X2_0", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X2_1", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X2_2", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X3_0", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X3_1", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M0_X3_2", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_M1_ID", "shortDesc": "ID of Magnetometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_M1_TMAX", "shortDesc": "Magnetometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_TMIN", "shortDesc": "Magnetometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_M1_TREF", "shortDesc": "Magnetometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X0_0", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X0_1", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X0_2", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X1_0", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X1_1", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X1_2", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X2_0", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X2_1", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X2_2", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X3_0", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X3_1", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M1_X3_2", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_M2_ID", "shortDesc": "ID of Magnetometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_M2_TMAX", "shortDesc": "Magnetometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_TMIN", "shortDesc": "Magnetometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_M2_TREF", "shortDesc": "Magnetometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X0_0", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X0_1", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X0_2", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X1_0", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X1_1", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X1_2", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X2_0", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X2_1", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X2_2", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X3_0", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X3_1", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M2_X3_2", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0, "group": "Thermal Compensation", "name": "TC_M3_ID", "shortDesc": "ID of Magnetometer that the calibration is for", "type": "Int32"}, {"category": "System", "default": 100.0, "group": "Thermal Compensation", "name": "TC_M3_TMAX", "shortDesc": "Magnetometer calibration maximum temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_TMIN", "shortDesc": "Magnetometer calibration minimum temperature", "type": "Float"}, {"category": "System", "default": 25.0, "group": "Thermal Compensation", "name": "TC_M3_TREF", "shortDesc": "Magnetometer calibration reference temperature", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X0_0", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X0_1", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X0_2", "shortDesc": "Magnetometer offset temperature ^0 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X1_0", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X1_1", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X1_2", "shortDesc": "Magnetometer offset temperature ^1 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X2_0", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X2_1", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X2_2", "shortDesc": "Magnetometer offset temperature ^2 polynomial coefficient - Z axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X3_0", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - X axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X3_1", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Y axis", "type": "Float"}, {"category": "System", "default": 0.0, "group": "Thermal Compensation", "name": "TC_M3_X3_2", "shortDesc": "Magnetometer offset temperature ^3 polynomial coefficient - Z axis", "type": "Float"}, {"category": "Standard", "default": 0, "group": "Thermal Compensation", "name": "TC_M_ENABLE", "rebootRequired": true, "shortDesc": "Thermal compensation for magnetometer sensors", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0.0, "group": "UUV Attitude Control", "name": "UUV_DIRCT_PITCH", "shortDesc": "Direct pitch input", "type": "Float"}, {"category": "Standard", "default": 0.0, "group": "UUV Attitude Control", "name": "UUV_DIRCT_ROLL", "shortDesc": "Direct roll input", "type": "Float"}, {"category": "Standard", "default": 0.0, "group": "UUV Attitude Control", "name": "UUV_DIRCT_THRUST", "shortDesc": "Direct thrust input", "type": "Float"}, {"category": "Standard", "default": 0.0, "group": "UUV Attitude Control", "name": "UUV_DIRCT_YAW", "shortDesc": "Direct yaw input", "type": "Float"}, {"category": "Standard", "default": 0, "group": "UUV Attitude Control", "name": "UUV_INPUT_MODE", "shortDesc": "Select Input Mode", "type": "Int32", "values": [{"description": "use Attitude Setpoints", "value": 0}, {"description": "Direct Feedthrough", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "UUV Attitude Control", "name": "UUV_PITCH_D", "shortDesc": "Pitch differential gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "UUV Attitude Control", "name": "UUV_PITCH_P", "shortDesc": "Pitch proportional gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.5, "group": "UUV Attitude Control", "name": "UUV_ROLL_D", "shortDesc": "Roll differential gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "UUV Attitude Control", "name": "UUV_ROLL_P", "shortDesc": "Roll proportional gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "UUV Attitude Control", "name": "UUV_YAW_D", "shortDesc": "Yaw differential gain", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 4.0, "group": "UUV Attitude Control", "name": "UUV_YAW_P", "shortDesc": "Yawh proportional gain", "type": "Float"}, {"category": "Standard", "default": 0.2, "group": "UUV Position Control", "name": "UUV_GAIN_X_D", "shortDesc": "Gain of D controller X", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "UUV Position Control", "name": "UUV_GAIN_X_P", "shortDesc": "Gain of P controller X", "type": "Float"}, {"category": "Standard", "default": 0.2, "group": "UUV Position Control", "name": "UUV_GAIN_Y_D", "shortDesc": "Gain of D controller Y", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "UUV Position Control", "name": "UUV_GAIN_Y_P", "shortDesc": "Gain of P controller Y", "type": "Float"}, {"category": "Standard", "default": 0.2, "group": "UUV Position Control", "name": "UUV_GAIN_Z_D", "shortDesc": "Gain of D controller Z", "type": "Float"}, {"category": "Standard", "default": 1.0, "group": "UUV Position Control", "name": "UUV_GAIN_Z_P", "shortDesc": "Gain of P controller Z", "type": "Float"}, {"category": "Standard", "default": 1, "group": "UUV Position Control", "name": "UUV_STAB_MODE", "shortDesc": "Stabilization mode(1) or Position Control(0)", "type": "Int32", "values": [{"description": "Position Control", "value": 0}, {"description": "Stabilization Mode", "value": 1}]}, {"category": "Standard", "default": 2130706433, "group": "UXRCE-DDS Client", "longDesc": "If ethernet is enabled and is the selected configuration for uXRCE-DDS, the selected Agent IP address will be set and used. Decimal dot notation is not supported. IP address must be provided in int32 format. For example, 192.168.1.2 is mapped to -1062731518; 127.0.0.1 is mapped to 2130706433.", "name": "UXRCE_DDS_AG_IP", "rebootRequired": true, "shortDesc": "uXRCE-DDS Agent IP address", "type": "Int32"}, {"category": "System", "default": 0, "group": "UXRCE-DDS Client", "longDesc": "uXRCE-DDS domain ID", "name": "UXRCE_DDS_DOM_ID", "rebootRequired": true, "shortDesc": "uXRCE-DDS domain ID", "type": "Int32"}, {"category": "System", "default": 1, "group": "UXRCE-DDS Client", "longDesc": "uXRCE-DDS key, must be different from zero. In a single agent - multi client configuration, each client must have a unique session key.", "name": "UXRCE_DDS_KEY", "rebootRequired": true, "shortDesc": "uXRCE-DDS session key", "type": "Int32"}, {"category": "Standard", "default": 8888, "group": "UXRCE-DDS Client", "longDesc": "If ethernet is enabled and is the selected configuration for uXRCE-DDS, the selected UDP port will be set and used.", "max": 65535, "min": 0, "name": "UXRCE_DDS_PRT", "rebootRequired": true, "shortDesc": "uXRCE-DDS UDP port", "type": "Int32"}, {"category": "System", "default": 0, "group": "UXRCE-DDS Client", "longDesc": "Set the participant configuration on the Agent's system. 0: Use the default configuration. 1: Restrict messages to localhost (use in combination with ROS_LOCALHOST_ONLY=1). 2: Use a custom participant with the profile name \"px4_participant\".", "max": 2, "min": 0, "name": "UXRCE_DDS_PTCFG", "rebootRequired": true, "shortDesc": "uXRCE-DDS participant configuration", "type": "Int32", "values": [{"description": "Default", "value": 0}, {"description": "Localhost-only", "value": 1}, {"description": "Custom participant", "value": 2}]}, {"category": "System", "default": 0, "group": "UXRCE-DDS Client", "longDesc": "When enabled along with UXRCE_DDS_SYNCT, uxrce_dds_client will set the system clock using the agents UTC timestamp.", "name": "UXRCE_DDS_SYNCC", "rebootRequired": true, "shortDesc": "Enable uXRCE-DDS system clock synchronization", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "System", "default": 1, "group": "UXRCE-DDS Client", "longDesc": "When enabled, uxrce_dds_client will synchronize the timestamps of the incoming and outgoing messages measuring the offset between the Agent OS time and the PX4 time.", "name": "UXRCE_DDS_SYNCT", "rebootRequired": true, "shortDesc": "Enable uXRCE-DDS timestamp synchronization", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "decimalPlaces": 2, "default": 8.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Airspeed at which we can start blending both fw and mc controls. Set to 0 to disable.", "max": 30.0, "min": 0.0, "name": "VT_ARSP_BLEND", "shortDesc": "Transition blending airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Airspeed at which we can switch to fw mode", "max": 30.0, "min": 0.0, "name": "VT_ARSP_TRANS", "shortDesc": "Transition airspeed", "type": "Float", "units": "m/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Time in seconds it takes to tilt form VT_TILT_FW to VT_TILT_MC.", "max": 10.0, "min": 0.1, "name": "VT_BT_TILT_DUR", "shortDesc": "Duration motor tilt up in backtransition", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "VTOL Attitude Control", "increment": 0.05, "max": 0.3, "min": 0.0, "name": "VT_B_DEC_I", "shortDesc": "Backtransition deceleration setpoint to pitch I gain", "type": "Float", "units": "rad s/m"}, {"category": "Standard", "decimalPlaces": 2, "default": 2.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Used to calculate back transition distance in an auto mode. For standard vtol and tiltrotors a controller is used to track this value during the transition.", "max": 10.0, "min": 0.5, "name": "VT_B_DEC_MSS", "shortDesc": "Approximate deceleration during back transition", "type": "Float", "units": "m/s^2"}, {"category": "Standard", "decimalPlaces": 2, "default": 10.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Transition is also declared over if the groundspeed drops below MPC_XY_CRUISE.", "max": 20.0, "min": 0.1, "name": "VT_B_TRANS_DUR", "shortDesc": "Maximum duration of a back transition", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": 3.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "This sets the duration during which the MC motors ramp up to the commanded thrust during the back transition stage.", "max": 20.0, "min": 0.0, "name": "VT_B_TRANS_RAMP", "shortDesc": "Back transition MC motor ramp up time", "type": "Float", "units": "s"}, {"category": "Standard", "default": 1, "group": "VTOL Attitude Control", "longDesc": "If set to 1 the control surfaces are locked at the disarmed value in multicopter mode.", "name": "VT_ELEV_MC_LOCK", "shortDesc": "Lock control surfaces in hover", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled", "value": 1}]}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "longDesc": "This feature can be used to avoid the plane having to pitch nose down in order to move forward. Prevents large, negative lift from pitching nose down into wind. Fixed-wing forward actuators refers to puller/pusher (standard VTOL), or forward-tilt (tiltrotor VTOL). Only active if demanded down pitch is below VT_PITCH_MIN. Use VT_FWD_THRUST_SC to tune it. Only active (if enabled) in Altitude, Position and Auto modes, not in Stabilized.", "name": "VT_FWD_THRUST_EN", "shortDesc": "Use fixed-wing actuation in hover to accelerate forward", "type": "Int32", "values": [{"description": "Disabled", "value": 0}, {"description": "Enabled (except LANDING)", "value": 1}, {"description": "Enabled if distance to ground above MPC_LAND_ALT1", "value": 2}, {"description": "Enabled if distance to ground above MPC_LAND_ALT2", "value": 3}, {"description": "Enabled constantly", "value": 4}, {"description": "Enabled if distance to ground above MPC_LAND_ALT1 (except LANDING)", "value": 5}, {"description": "Enabled if distance to ground above MPC_LAND_ALT2 (except LANDING)", "value": 6}]}, {"category": "Standard", "decimalPlaces": 2, "default": 0.7, "group": "VTOL Attitude Control", "increment": 0.01, "longDesc": "Scale applied to the demanded down-pitch to get the fixed-wing forward actuation in hover mode. Enabled via VT_FWD_THRUST_EN.", "max": 2.0, "min": 0.0, "name": "VT_FWD_THRUST_SC", "shortDesc": "Fixed-wing actuation thrust scale for hover forward flight", "type": "Float"}, {"bitmask": [{"description": "Yaw", "index": 0}, {"description": "Roll", "index": 1}, {"description": "Pitch", "index": 2}], "category": "Standard", "default": 0, "group": "VTOL Attitude Control", "longDesc": "Enable differential thrust seperately for roll, pitch, yaw in forward (fixed-wing) mode. The effectiveness of differential thrust around the corresponding axis can be tuned by setting VT_FW_DIFTHR_S_R / VT_FW_DIFTHR_S_P / VT_FW_DIFTHR_S_Y.", "max": 7, "min": 0, "name": "VT_FW_DIFTHR_EN", "shortDesc": "Differential thrust in forwards flight", "type": "Int32"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.", "max": 2.0, "min": 0.0, "name": "VT_FW_DIFTHR_S_P", "shortDesc": "Pitch differential thrust factor in forward flight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.", "max": 2.0, "min": 0.0, "name": "VT_FW_DIFTHR_S_R", "shortDesc": "Roll differential thrust factor in forward flight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.1, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Differential thrust in forward flight is enabled via VT_FW_DIFTHR_EN.", "max": 2.0, "min": 0.0, "name": "VT_FW_DIFTHR_S_Y", "shortDesc": "Yaw differential thrust factor in forward flight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Minimum altitude for fixed-wing flight. When the vehicle is in fixed-wing mode and the altitude drops below this altitude (relative altitude above local origin), it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT.", "max": 200.0, "min": 0.0, "name": "VT_FW_MIN_ALT", "shortDesc": "Quad-chute altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "increment": 1, "longDesc": "Maximum height above the ground (if available, otherwise above Home if available, otherwise above the local origin) where triggering a quad-chute is possible. At high altitudes there is a big risk to deplete the battery and therefore crash if quad-chuting there.", "min": 0, "name": "VT_FW_QC_HMAX", "shortDesc": "Quad-chute maximum height", "type": "Int32", "units": "m"}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "longDesc": "Absolute pitch threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.", "max": 180, "min": 0, "name": "VT_FW_QC_P", "shortDesc": "Quad-chute max pitch threshold", "type": "Int32", "units": "deg"}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "longDesc": "Absolute roll threshold for quad-chute triggering in FW mode. Above this the vehicle will transition back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.", "max": 180, "min": 0, "name": "VT_FW_QC_R", "shortDesc": "Quad-chute max roll threshold", "type": "Int32", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 5.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Time in seconds used for a transition", "max": 20.0, "min": 0.1, "name": "VT_F_TRANS_DUR", "shortDesc": "Duration of a front transition", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "VT_F_TRANS_THR", "shortDesc": "Target throttle value for the transition to fixed-wing flight", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 6.0, "group": "VTOL Attitude Control", "increment": 0.5, "longDesc": "The duration of the front transition when there is no airspeed feedback available.", "max": 30.0, "min": 1.0, "name": "VT_F_TR_OL_TM", "shortDesc": "Airspeed-less front transition time (open loop)", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 1, "default": -5.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Overrides VT_PITCH_MIN when the vehicle is in LAND mode (hovering). During landing it can be beneficial to reduce the pitch angle to reduce the generated lift in head wind.", "max": 45.0, "min": -10.0, "name": "VT_LND_PITCH_MIN", "shortDesc": "Minimum pitch angle during hover landing", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 1, "default": -5.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Any pitch setpoint below this value is translated to a forward force by the fixed-wing forward actuation if VT_FW_TRHUST_EN is set to 1.", "max": 45.0, "min": -10.0, "name": "VT_PITCH_MIN", "shortDesc": "Minimum pitch angle during hover", "type": "Float", "units": "deg"}, {"category": "Standard", "decimalPlaces": 2, "default": 0.33, "group": "VTOL Attitude Control", "increment": 0.01, "longDesc": "Defines the slew rate of the puller/pusher throttle during transitions. Zero will deactivate the slew rate limiting and thus produce an instant throttle rise to the transition throttle VT_F_TRANS_THR.", "min": 0.0, "name": "VT_PSHER_SLEW", "shortDesc": "Pusher throttle ramp up slew rate", "type": "Float", "units": "1/s"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Altitude error threshold for quad-chute triggering during fixed-wing flight. The check is only active if altitude is controlled and the vehicle is below the current altitude reference. The altitude error is relative to the highest altitude the vehicle has achieved since it has flown below the current altitude reference. Set to 0 do disable.", "max": 200.0, "min": 0.0, "name": "VT_QC_ALT_LOSS", "shortDesc": "Quad-chute uncommanded descent threshold", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 20.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Altitude loss threshold for quad-chute triggering during VTOL transition to fixed-wing flight in altitude-controlled flight modes. Active until 5s after completing transition to fixed-wing. If the current altitude is more than this value below the altitude at the beginning of the transition, it will instantly switch back to MC mode and execute behavior defined in COM_QC_ACT. Set to 0 do disable this threshold.", "max": 50.0, "min": 0.0, "name": "VT_QC_T_ALT_LOSS", "shortDesc": "Quad-chute transition altitude loss threshold", "type": "Float", "units": "m"}, {"category": "Standard", "decimalPlaces": 1, "default": 0.0, "group": "VTOL Attitude Control", "increment": 0.1, "max": 1.0, "min": -1.0, "name": "VT_SPOILER_MC_LD", "shortDesc": "Spoiler setting while landing (hover)", "type": "Float", "units": "norm"}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "VT_TILT_FW", "shortDesc": "Normalized tilt in FW", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.0, "group": "VTOL Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "VT_TILT_MC", "shortDesc": "Normalized tilt in Hover", "type": "Float"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.4, "group": "VTOL Attitude Control", "increment": 0.01, "max": 1.0, "min": 0.0, "name": "VT_TILT_TRANS", "shortDesc": "Normalized tilt in transition to FW", "type": "Float"}, {"category": "Standard", "decimalPlaces": 1, "default": 2.0, "group": "VTOL Attitude Control", "increment": 0.1, "longDesc": "Minimum time in seconds for front transition.", "max": 20.0, "min": 0.0, "name": "VT_TRANS_MIN_TM", "shortDesc": "Front transition minimum time", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 3, "default": 0.5, "group": "VTOL Attitude Control", "increment": 0.01, "longDesc": "Time in seconds it takes to tilt form VT_TILT_TRANS to VT_TILT_FW.", "max": 5.0, "min": 0.1, "name": "VT_TRANS_P2_DUR", "shortDesc": "Duration of front transition phase 2", "type": "Float", "units": "s"}, {"category": "Standard", "decimalPlaces": 2, "default": 15.0, "group": "VTOL Attitude Control", "increment": 1.0, "longDesc": "Time in seconds after which transition will be cancelled. Disabled if set to 0.", "max": 30.0, "min": 0.1, "name": "VT_TRANS_TIMEOUT", "shortDesc": "Front transition timeout", "type": "Float", "units": "s"}, {"category": "Standard", "default": 0, "group": "VTOL Attitude Control", "max": 2, "min": 0, "name": "VT_TYPE", "rebootRequired": true, "shortDesc": "VTOL Type (Tailsitter=0, Tiltrotor=1, Standard=2)", "type": "Int32", "values": [{"description": "Tailsitter", "value": 0}, {"description": "Tiltrotor", "value": 1}, {"description": "Standard", "value": 2}]}, {"category": "Standard", "decimalPlaces": 3, "default": 1.0, "group": "VTOL Attitude Control", "increment": 0.01, "longDesc": "The desired gain to convert roll sp into yaw rate sp.", "max": 3.0, "min": 0.0, "name": "WV_GAIN", "shortDesc": "Weather-vane roll angle to yawrate", "type": "Float", "units": "Hz"}, {"category": "Standard", "decimalPlaces": 1, "default": 80.0, "group": "VTOL Takeoff", "increment": 1.0, "longDesc": "Altitude relative to home at which vehicle will loiter after front transition.", "max": 300.0, "min": 20.0, "name": "VTO_LOITER_ALT", "shortDesc": "VTOL Takeoff relative loiter altitude", "type": "Float", "units": "m"}, {"category": "Standard", "default": 0, "group": "Miscellaneous", "name": "UUV_SKIP_CTRL", "shortDesc": "Skip the controller", "type": "Int32", "values": [{"description": "use the module's controller", "value": 0}, {"description": "skip the controller and feedthrough the setpoints", "value": 1}]}], "translation": {"items": {"parameters": {"list": {"items": {"bitmask": {"list": {"key": "index", "translate": ["description"]}}, "values": {"list": {"key": "value", "translate": ["description"]}}}, "key": "name", "translate": ["shortDesc", "longDesc"], "translate-global": ["category", "group"]}}}}, "version": 1} \ No newline at end of file diff --git a/public/en/middleware/graph_full.json b/public/en/middleware/graph_full.json new file mode 100644 index 000000000000..7fa2f0803d76 --- /dev/null +++ b/public/en/middleware/graph_full.json @@ -0,0 +1 @@ +{"nodes": [{"id": "m_fw_autotune_attitude_control", "name": "fw_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_autotune_attitude_control", "name": "mc_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_landing_target_estimator", "name": "landing_target_estimator", "type": "Module", "color": "#666666"}, {"id": "m_temperature_compensation", "name": "temperature_compensation", "type": "Module", "color": "#666666"}, {"id": "m_local_position_estimator", "name": "local_position_estimator", "type": "Module", "color": "#666666"}, {"id": "m_lightware_laser_serial", "name": "lightware_laser_serial", "type": "Module", "color": "#666666"}, {"id": "m_lightware_sf45_serial", "name": "lightware_sf45_serial", "type": "Module", "color": "#666666"}, {"id": "m_pm_selector_auterion", "name": "pm_selector_auterion", "type": "Module", "color": "#666666"}, {"id": "m_attitude_estimator_q", "name": "attitude_estimator_q", "type": "Module", "color": "#666666"}, {"id": "m_lightware_laser_i2c", "name": "lightware_laser_i2c", "type": "Module", "color": "#666666"}, {"id": "m_airship_att_control", "name": "airship_att_control", "type": "Module", "color": "#666666"}, {"id": "m_flight_mode_manager", "name": "flight_mode_manager", "type": "Module", "color": "#666666"}, {"id": "m_sensor_airspeed_sim", "name": "sensor_airspeed_sim", "type": "Module", "color": "#666666"}, {"id": "m_mag_bias_estimator", "name": "mag_bias_estimator", "type": "Module", "color": "#666666"}, {"id": "m_io_bypass_control", "name": "io_bypass_control", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_is31fl3195", "name": "rgbled_is31fl3195", "type": "Module", "color": "#666666"}, {"id": "m_rover_pos_control", "name": "rover_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_airspeed_selector", "name": "airspeed_selector", "type": "Module", "color": "#666666"}, {"id": "m_simulator_mavlink", "name": "simulator_mavlink", "type": "Module", "color": "#666666"}, {"id": "m_battery_simulator", "name": "battery_simulator", "type": "Module", "color": "#666666"}, {"id": "m_payload_deliverer", "name": "payload_deliverer", "type": "Module", "color": "#666666"}, {"id": "m_control_allocator", "name": "control_allocator", "type": "Module", "color": "#666666"}, {"id": "m_vtol_att_control", "name": "vtol_att_control", "type": "Module", "color": "#666666"}, {"id": "m_uxrce_dds_client", "name": "uxrce_dds_client", "type": "Module", "color": "#666666"}, {"id": "m_gyro_calibration", "name": "gyro_calibration", "type": "Module", "color": "#666666"}, {"id": "m_template_module", "name": "template_module", "type": "Module", "color": "#666666"}, {"id": "m_pca9685_pwm_out", "name": "pca9685_pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_ncp5623c", "name": "rgbled_ncp5623c", "type": "Module", "color": "#666666"}, {"id": "m_frsky_telemetry", "name": "frsky_telemetry", "type": "Module", "color": "#666666"}, {"id": "m_camera_feedback", "name": "camera_feedback", "type": "Module", "color": "#666666"}, {"id": "m_fw_rate_control", "name": "fw_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_uuv_pos_control", "name": "uuv_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_uuv_att_control", "name": "uuv_att_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_rate_control", "name": "mc_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_baro_sim", "name": "sensor_baro_sim", "type": "Module", "color": "#666666"}, {"id": "m_camera_capture", "name": "camera_capture", "type": "Module", "color": "#666666"}, {"id": "m_ulanding_radar", "name": "ulanding_radar", "type": "Module", "color": "#666666"}, {"id": "m_hott_telemetry", "name": "hott_telemetry", "type": "Module", "color": "#666666"}, {"id": "m_camera_trigger", "name": "camera_trigger", "type": "Module", "color": "#666666"}, {"id": "m_manual_control", "name": "manual_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_pos_control", "name": "mc_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_att_control", "name": "mc_att_control", "type": "Module", "color": "#666666"}, {"id": "m_battery_status", "name": "battery_status", "type": "Module", "color": "#666666"}, {"id": "m_fw_pos_control", "name": "fw_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_fw_att_control", "name": "fw_att_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_gps_sim", "name": "sensor_gps_sim", "type": "Module", "color": "#666666"}, {"id": "m_sensor_mag_sim", "name": "sensor_mag_sim", "type": "Module", "color": "#666666"}, {"id": "m_actuator_test", "name": "actuator_test", "type": "Module", "color": "#666666"}, {"id": "m_linux_pwm_out", "name": "linux_pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_safety_button", "name": "safety_button", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_lp5562", "name": "rgbled_lp5562", "type": "Module", "color": "#666666"}, {"id": "m_rpm_simulator", "name": "rpm_simulator", "type": "Module", "color": "#666666"}, {"id": "m_land_detector", "name": "land_detector", "type": "Module", "color": "#666666"}, {"id": "m_simulator_sih", "name": "simulator_sih", "type": "Module", "color": "#666666"}, {"id": "m_tune_control", "name": "tune_control", "type": "Module", "color": "#666666"}, {"id": "m_i2c_launcher", "name": "i2c_launcher", "type": "Module", "color": "#666666"}, {"id": "m_ets_airspeed", "name": "ets_airspeed", "type": "Module", "color": "#666666"}, {"id": "m_sagetech_mxs", "name": "sagetech_mxs", "type": "Module", "color": "#666666"}, {"id": "m_led_control", "name": "led_control", "type": "Module", "color": "#666666"}, {"id": "m_mpu9250_i2c", "name": "mpu9250_i2c", "type": "Module", "color": "#666666"}, {"id": "m_pps_capture", "name": "pps_capture", "type": "Module", "color": "#666666"}, {"id": "m_lsm9ds1_mag", "name": "lsm9ds1_mag", "type": "Module", "color": "#666666"}, {"id": "m_esc_battery", "name": "esc_battery", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out_sim", "name": "pwm_out_sim", "type": "Module", "color": "#666666"}, {"id": "m_microbench", "name": "microbench", "type": "Module", "color": "#666666"}, {"id": "m_bmi088_i2c", "name": "bmi088_i2c", "type": "Module", "color": "#666666"}, {"id": "m_iam20680hp", "name": "iam20680hp", "type": "Module", "color": "#666666"}, {"id": "m_ll40ls_pwm", "name": "ll40ls_pwm", "type": "Module", "color": "#666666"}, {"id": "m_leddar_one", "name": "leddar_one", "type": "Module", "color": "#666666"}, {"id": "m_teraranger", "name": "teraranger", "type": "Module", "color": "#666666"}, {"id": "m_batt_smbus", "name": "batt_smbus", "type": "Module", "color": "#666666"}, {"id": "m_uavcannode", "name": "uavcannode", "type": "Module", "color": "#666666"}, {"id": "m_tone_alarm", "name": "tone_alarm", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_pwm", "name": "rgbled_pwm", "type": "Module", "color": "#666666"}, {"id": "m_iridiumsbd", "name": "iridiumsbd", "type": "Module", "color": "#666666"}, {"id": "m_send_event", "name": "send_event", "type": "Module", "color": "#666666"}, {"id": "m_adis16477", "name": "adis16477", "type": "Module", "color": "#666666"}, {"id": "m_adis16507", "name": "adis16507", "type": "Module", "color": "#666666"}, {"id": "m_adis16497", "name": "adis16497", "type": "Module", "color": "#666666"}, {"id": "m_adis16470", "name": "adis16470", "type": "Module", "color": "#666666"}, {"id": "m_adis16448", "name": "adis16448", "type": "Module", "color": "#666666"}, {"id": "m_icm42688p", "name": "icm42688p", "type": "Module", "color": "#666666"}, {"id": "m_icm40609d", "name": "icm40609d", "type": "Module", "color": "#666666"}, {"id": "m_icm42670p", "name": "icm42670p", "type": "Module", "color": "#666666"}, {"id": "m_icm20608g", "name": "icm20608g", "type": "Module", "color": "#666666"}, {"id": "m_pwm_input", "name": "pwm_input", "type": "Module", "color": "#666666"}, {"id": "m_tattu_can", "name": "tattu_can", "type": "Module", "color": "#666666"}, {"id": "m_board_adc", "name": "board_adc", "type": "Module", "color": "#666666"}, {"id": "m_rpi_rc_in", "name": "rpi_rc_in", "type": "Module", "color": "#666666"}, {"id": "m_vectornav", "name": "vectornav", "type": "Module", "color": "#666666"}, {"id": "m_ms5525dso", "name": "ms5525dso", "type": "Module", "color": "#666666"}, {"id": "m_mpl3115a2", "name": "mpl3115a2", "type": "Module", "color": "#666666"}, {"id": "m_tcbp001ta", "name": "tcbp001ta", "type": "Module", "color": "#666666"}, {"id": "m_uwb_sr150", "name": "uwb_sr150", "type": "Module", "color": "#666666"}, {"id": "m_thoneflow", "name": "thoneflow", "type": "Module", "color": "#666666"}, {"id": "m_lsm303agr", "name": "lsm303agr", "type": "Module", "color": "#666666"}, {"id": "m_commander", "name": "commander", "type": "Module", "color": "#666666"}, {"id": "m_navigator", "name": "navigator", "type": "Module", "color": "#666666"}, {"id": "m_rc_update", "name": "rc_update", "type": "Module", "color": "#666666"}, {"id": "m_gz_bridge", "name": "gz_bridge", "type": "Module", "color": "#666666"}, {"id": "m_icm20602", "name": "icm20602", "type": "Module", "color": "#666666"}, {"id": "m_iim42652", "name": "iim42652", "type": "Module", "color": "#666666"}, {"id": "m_icm42605", "name": "icm42605", "type": "Module", "color": "#666666"}, {"id": "m_icm20689", "name": "icm20689", "type": "Module", "color": "#666666"}, {"id": "m_iim42653", "name": "iim42653", "type": "Module", "color": "#666666"}, {"id": "m_icm45686", "name": "icm45686", "type": "Module", "color": "#666666"}, {"id": "m_icm20649", "name": "icm20649", "type": "Module", "color": "#666666"}, {"id": "m_icm20948", "name": "icm20948", "type": "Module", "color": "#666666"}, {"id": "m_modal_io", "name": "modal_io", "type": "Module", "color": "#666666"}, {"id": "m_mappydot", "name": "mappydot", "type": "Module", "color": "#666666"}, {"id": "m_ms4525do", "name": "ms4525do", "type": "Module", "color": "#666666"}, {"id": "m_icp201xx", "name": "icp201xx", "type": "Module", "color": "#666666"}, {"id": "m_icp101xx", "name": "icp101xx", "type": "Module", "color": "#666666"}, {"id": "m_roboclaw", "name": "roboclaw", "type": "Module", "color": "#666666"}, {"id": "m_neopixel", "name": "neopixel", "type": "Module", "color": "#666666"}, {"id": "m_rc_input", "name": "rc_input", "type": "Module", "color": "#666666"}, {"id": "m_vcm1193l", "name": "vcm1193l", "type": "Module", "color": "#666666"}, {"id": "m_qmc5883l", "name": "qmc5883l", "type": "Module", "color": "#666666"}, {"id": "m_gyro_fft", "name": "gyro_fft", "type": "Module", "color": "#666666"}, {"id": "m_load_mon", "name": "load_mon", "type": "Module", "color": "#666666"}, {"id": "m_failure", "name": "failure", "type": "Module", "color": "#666666"}, {"id": "m_lsm303d", "name": "lsm303d", "type": "Module", "color": "#666666"}, {"id": "m_lsm9ds1", "name": "lsm9ds1", "type": "Module", "color": "#666666"}, {"id": "m_mpu6000", "name": "mpu6000", "type": "Module", "color": "#666666"}, {"id": "m_mpu9250", "name": "mpu9250", "type": "Module", "color": "#666666"}, {"id": "m_mpu6500", "name": "mpu6500", "type": "Module", "color": "#666666"}, {"id": "m_crsf_rc", "name": "crsf_rc", "type": "Module", "color": "#666666"}, {"id": "m_ads1115", "name": "ads1115", "type": "Module", "color": "#666666"}, {"id": "m_afbrs50", "name": "afbrs50", "type": "Module", "color": "#666666"}, {"id": "m_vl53l1x", "name": "vl53l1x", "type": "Module", "color": "#666666"}, {"id": "m_cm8jl65", "name": "cm8jl65", "type": "Module", "color": "#666666"}, {"id": "m_tf02pro", "name": "tf02pro", "type": "Module", "color": "#666666"}, {"id": "m_vl53l0x", "name": "vl53l0x", "type": "Module", "color": "#666666"}, {"id": "m_gy_us42", "name": "gy_us42", "type": "Module", "color": "#666666"}, {"id": "m_tap_esc", "name": "tap_esc", "type": "Module", "color": "#666666"}, {"id": "m_asp5033", "name": "asp5033", "type": "Module", "color": "#666666"}, {"id": "m_lps22hb", "name": "lps22hb", "type": "Module", "color": "#666666"}, {"id": "m_mpc2520", "name": "mpc2520", "type": "Module", "color": "#666666"}, {"id": "m_lps33hw", "name": "lps33hw", "type": "Module", "color": "#666666"}, {"id": "m_msp_osd", "name": "msp_osd", "type": "Module", "color": "#666666"}, {"id": "m_pcf8583", "name": "pcf8583", "type": "Module", "color": "#666666"}, {"id": "m_pmw3901", "name": "pmw3901", "type": "Module", "color": "#666666"}, {"id": "m_paw3902", "name": "paw3902", "type": "Module", "color": "#666666"}, {"id": "m_px4flow", "name": "px4flow", "type": "Module", "color": "#666666"}, {"id": "m_paa3905", "name": "paa3905", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out", "name": "pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_ist8308", "name": "ist8308", "type": "Module", "color": "#666666"}, {"id": "m_ist8310", "name": "ist8310", "type": "Module", "color": "#666666"}, {"id": "m_hmc5883", "name": "hmc5883", "type": "Module", "color": "#666666"}, {"id": "m_ak09916", "name": "ak09916", "type": "Module", "color": "#666666"}, {"id": "m_lis3mdl", "name": "lis3mdl", "type": "Module", "color": "#666666"}, {"id": "m_mavlink", "name": "mavlink", "type": "Module", "color": "#666666"}, {"id": "m_dataman", "name": "dataman", "type": "Module", "color": "#666666"}, {"id": "m_sensors", "name": "sensors", "type": "Module", "color": "#666666"}, {"id": "m_ina226", "name": "ina226", "type": "Module", "color": "#666666"}, {"id": "m_ina228", "name": "ina228", "type": "Module", "color": "#666666"}, {"id": "m_ina220", "name": "ina220", "type": "Module", "color": "#666666"}, {"id": "m_voxlpm", "name": "voxlpm", "type": "Module", "color": "#666666"}, {"id": "m_ina238", "name": "ina238", "type": "Module", "color": "#666666"}, {"id": "m_cyphal", "name": "cyphal", "type": "Module", "color": "#666666"}, {"id": "m_heater", "name": "heater", "type": "Module", "color": "#666666"}, {"id": "m_l3gd20", "name": "l3gd20", "type": "Module", "color": "#666666"}, {"id": "m_bmi270", "name": "bmi270", "type": "Module", "color": "#666666"}, {"id": "m_bmi085", "name": "bmi085", "type": "Module", "color": "#666666"}, {"id": "m_bmi055", "name": "bmi055", "type": "Module", "color": "#666666"}, {"id": "m_bmi088", "name": "bmi088", "type": "Module", "color": "#666666"}, {"id": "m_uavcan", "name": "uavcan", "type": "Module", "color": "#666666"}, {"id": "m_mb12xx", "name": "mb12xx", "type": "Module", "color": "#666666"}, {"id": "m_ll40ls", "name": "ll40ls", "type": "Module", "color": "#666666"}, {"id": "m_pga460", "name": "pga460", "type": "Module", "color": "#666666"}, {"id": "m_tfmini", "name": "tfmini", "type": "Module", "color": "#666666"}, {"id": "m_irlock", "name": "irlock", "type": "Module", "color": "#666666"}, {"id": "m_ms4515", "name": "ms4515", "type": "Module", "color": "#666666"}, {"id": "m_dps310", "name": "dps310", "type": "Module", "color": "#666666"}, {"id": "m_lps25h", "name": "lps25h", "type": "Module", "color": "#666666"}, {"id": "m_bmp280", "name": "bmp280", "type": "Module", "color": "#666666"}, {"id": "m_ms5611", "name": "ms5611", "type": "Module", "color": "#666666"}, {"id": "m_bmp388", "name": "bmp388", "type": "Module", "color": "#666666"}, {"id": "m_ms5837", "name": "ms5837", "type": "Module", "color": "#666666"}, {"id": "m_atxxxx", "name": "atxxxx", "type": "Module", "color": "#666666"}, {"id": "m_rgbled", "name": "rgbled", "type": "Module", "color": "#666666"}, {"id": "m_batmon", "name": "batmon", "type": "Module", "color": "#666666"}, {"id": "m_bmm150", "name": "bmm150", "type": "Module", "color": "#666666"}, {"id": "m_rm3100", "name": "rm3100", "type": "Module", "color": "#666666"}, {"id": "m_ak8963", "name": "ak8963", "type": "Module", "color": "#666666"}, {"id": "m_gimbal", "name": "gimbal", "type": "Module", "color": "#666666"}, {"id": "m_logger", "name": "logger", "type": "Module", "color": "#666666"}, {"id": "m_tests", "name": "tests", "type": "Module", "color": "#666666"}, {"id": "m_sht3x", "name": "sht3x", "type": "Module", "color": "#666666"}, {"id": "m_px4io", "name": "px4io", "type": "Module", "color": "#666666"}, {"id": "m_srf05", "name": "srf05", "type": "Module", "color": "#666666"}, {"id": "m_srf02", "name": "srf02", "type": "Module", "color": "#666666"}, {"id": "m_sdp3x", "name": "sdp3x", "type": "Module", "color": "#666666"}, {"id": "m_spl06", "name": "spl06", "type": "Module", "color": "#666666"}, {"id": "m_dshot", "name": "dshot", "type": "Module", "color": "#666666"}, {"id": "m_ekf2", "name": "ekf2", "type": "Module", "color": "#666666"}, {"id": "m_gps", "name": "gps", "type": "Module", "color": "#666666"}, {"id": "m_bst", "name": "bst", "type": "Module", "color": "#666666"}, {"id": "t_vehicle_angular_velocity_groundtruth", "name": "vehicle_angular_velocity_groundtruth", "type": "topic", "color": "#d841bc", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAngularVelocity.msg"}, {"id": "t_vehicle_global_position_groundtruth", "name": "vehicle_global_position_groundtruth", "type": "topic", "color": "#417cd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_vehicle_local_position_groundtruth", "name": "vehicle_local_position_groundtruth", "type": "topic", "color": "#c5d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_position_controller_landing_status", "name": "position_controller_landing_status", "type": "topic", "color": "#73d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_set_manual_control", "name": "gimbal_manager_set_manual_control", "type": "topic", "color": "#41d8b3", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_autotune_attitude_control_status", "name": "autotune_attitude_control_status", "type": "topic", "color": "#d841c9", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position_setpoint", "name": "vehicle_local_position_setpoint", "type": "topic", "color": "#41d875", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_attitude_status", "name": "gimbal_device_attitude_status", "type": "topic", "color": "#4197d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_groundtruth", "name": "vehicle_attitude_groundtruth", "type": "topic", "color": "#d86341", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitude.msg"}, {"id": "t_fw_virtual_attitude_setpoint", "name": "fw_virtual_attitude_setpoint", "type": "topic", "color": "#d89341", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_register_ext_component_reply", "name": "register_ext_component_reply", "type": "topic", "color": "#41acd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mc_virtual_attitude_setpoint", "name": "mc_virtual_attitude_setpoint", "type": "topic", "color": "#9541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_gimbal_manager_set_attitude", "name": "gimbal_manager_set_attitude", "type": "topic", "color": "#41d89e", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_position_controller_status", "name": "position_controller_status", "type": "topic", "color": "#bed841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_controls_status_0", "name": "actuator_controls_status_0", "type": "topic", "color": "#41d860", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorControlsStatus.msg"}, {"id": "t_gimbal_device_set_attitude", "name": "gimbal_device_set_attitude", "type": "topic", "color": "#41d5d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_information", "name": "gimbal_manager_information", "type": "topic", "color": "#d841b5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_selector_status", "name": "estimator_selector_status", "type": "topic", "color": "#8ed841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_information", "name": "gimbal_device_information", "type": "topic", "color": "#41c7d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_setpoint", "name": "vehicle_attitude_setpoint", "type": "topic", "color": "#5041d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_position_setpoint_triplet", "name": "position_setpoint_triplet", "type": "topic", "color": "#cc41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_control_allocator_status", "name": "control_allocator_status", "type": "topic", "color": "#41d87c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_uavcan_parameter_request", "name": "uavcan_parameter_request", "type": "topic", "color": "#7341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tiltrotor_extra_controls", "name": "tiltrotor_extra_controls", "type": "topic", "color": "#d841c3", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_visual_odometry", "name": "vehicle_visual_odometry", "type": "topic", "color": "#41d845", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_failure_detector_status", "name": "failure_detector_status", "type": "topic", "color": "#41d85a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_global_position", "name": "vehicle_global_position", "type": "topic", "color": "#41d897", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_manual_control_setpoint", "name": "manual_control_setpoint", "type": "topic", "color": "#4175d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ManualControlSetpoint.msg"}, {"id": "t_launch_detection_status", "name": "launch_detection_status", "type": "topic", "color": "#4160d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_manual_control_switches", "name": "manual_control_switches", "type": "topic", "color": "#4a41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_thrust_setpoint", "name": "vehicle_thrust_setpoint", "type": "topic", "color": "#8741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleThrustSetpoint.msg"}, {"id": "t_vehicle_torque_setpoint", "name": "vehicle_torque_setpoint", "type": "topic", "color": "#d841ae", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleTorqueSetpoint.msg"}, {"id": "t_vehicle_rates_setpoint", "name": "vehicle_rates_setpoint", "type": "topic", "color": "#d88c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_status_flags", "name": "estimator_status_flags", "type": "topic", "color": "#416ed8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_mocap_odometry", "name": "vehicle_mocap_odometry", "type": "topic", "color": "#7a41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_uavcan_parameter_value", "name": "uavcan_parameter_value", "type": "topic", "color": "#9c41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position", "name": "vehicle_local_position", "type": "topic", "color": "#d84163", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_offboard_control_mode", "name": "offboard_control_mode", "type": "topic", "color": "#d8ae41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_sensor_bias", "name": "estimator_sensor_bias", "type": "topic", "color": "#50d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_status", "name": "gimbal_manager_status", "type": "topic", "color": "#41d86e", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_land_detected", "name": "vehicle_land_detected", "type": "topic", "color": "#d84185", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_differential_pressure", "name": "differential_pressure", "type": "topic", "color": "#d8416a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_servos_trim", "name": "actuator_servos_trim", "type": "topic", "color": "#7ad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_outputs_sim", "name": "actuator_outputs_sim", "type": "topic", "color": "#6c41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_vehicle_control_mode", "name": "vehicle_control_mode", "type": "topic", "color": "#a341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleControlMode.msg"}, {"id": "t_vehicle_constraints", "name": "vehicle_constraints", "type": "topic", "color": "#d84e41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_optical_flow", "name": "sensor_optical_flow", "type": "topic", "color": "#d86a41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command_ack", "name": "vehicle_command_ack", "type": "topic", "color": "#d89a41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vtol_vehicle_status", "name": "vtol_vehicle_status", "type": "topic", "color": "#d8a041", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_target_pose", "name": "landing_target_pose", "type": "topic", "color": "#41d853", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_figure_eight_status", "name": "figure_eight_status", "type": "topic", "color": "#41d8c7", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_trajectory_setpoint", "name": "trajectory_setpoint", "type": "topic", "color": "#6541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensors_status_imu", "name": "sensors_status_imu", "type": "topic", "color": "#b0d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed_validated", "name": "airspeed_validated", "type": "topic", "color": "#9cd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_transponder_report", "name": "transponder_report", "type": "topic", "color": "#87d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_power_button_state", "name": "power_button_state", "type": "topic", "color": "#41d88a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear_wheel", "name": "landing_gear_wheel", "type": "topic", "color": "#41ced8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu_status", "name": "vehicle_imu_status", "type": "topic", "color": "#d341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_spoilers_setpoint", "name": "spoilers_setpoint", "type": "topic", "color": "#d3d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_sensor_hygrometer", "name": "sensor_hygrometer", "type": "topic", "color": "#57d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mount_orientation", "name": "mount_orientation", "type": "topic", "color": "#41b9d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_rtl_time_estimate", "name": "rtl_time_estimate", "type": "topic", "color": "#418ad8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_v1_command", "name": "gimbal_v1_command", "type": "topic", "color": "#4167d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_iridiumsbd_status", "name": "iridiumsbd_status", "type": "topic", "color": "#4145d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_correction", "name": "sensor_correction", "type": "topic", "color": "#5741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gyro_fifo", "name": "sensor_gyro_fifo", "type": "topic", "color": "#d84141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_collision_report", "name": "collision_report", "type": "topic", "color": "#d85541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_outputs", "name": "actuator_outputs", "type": "topic", "color": "#d8bc41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_rc_parameter_map", "name": "rc_parameter_map", "type": "topic", "color": "#d8d741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_response", "name": "dataman_response", "type": "topic", "color": "#b7d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_telemetry_status", "name": "telemetry_status", "type": "topic", "color": "#80d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_status", "name": "estimator_status", "type": "topic", "color": "#41d8c0", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude", "name": "vehicle_attitude", "type": "topic", "color": "#4190d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_vehicle_odometry", "name": "vehicle_odometry", "type": "topic", "color": "#d8415c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_sensor_selection", "name": "sensor_selection", "type": "topic", "color": "#d84147", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gps_inject_data", "name": "gps_inject_data", "type": "topic", "color": "#d88541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_controls", "name": "gimbal_controls", "type": "topic", "color": "#d8b541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_key_value", "name": "debug_key_value", "type": "topic", "color": "#ccd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_motors", "name": "actuator_motors", "type": "topic", "color": "#5ed841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_distance_sensor", "name": "distance_sensor", "type": "topic", "color": "#41d867", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_request", "name": "dataman_request", "type": "topic", "color": "#41d8ac", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command", "name": "vehicle_command", "type": "topic", "color": "#415ad8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_sensor_combined", "name": "sensor_combined", "type": "topic", "color": "#8e41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_geofence_result", "name": "geofence_result", "type": "topic", "color": "#d841a0", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream_ack", "name": "ulog_stream_ack", "type": "topic", "color": "#d8414e", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_satellite_info", "name": "satellite_info", "type": "topic", "color": "#d8a741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mission_result", "name": "mission_result", "type": "topic", "color": "#d8c941", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_failsafe_flags", "name": "failsafe_flags", "type": "topic", "color": "#a9d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_armed", "name": "actuator_armed", "type": "topic", "color": "#41d8a5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_takeoff_status", "name": "takeoff_status", "type": "topic", "color": "#41d8ce", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_battery_status", "name": "battery_status", "type": "topic", "color": "#41b3d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_flaps_setpoint", "name": "flaps_setpoint", "type": "topic", "color": "#414cd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_camera_capture", "name": "camera_capture", "type": "topic", "color": "#a941d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_action_request", "name": "action_request", "type": "topic", "color": "#d841d7", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_trigger", "name": "camera_trigger", "type": "topic", "color": "#d8419a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_status", "name": "vehicle_status", "type": "topic", "color": "#d84177", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_test", "name": "actuator_test", "type": "topic", "color": "#d8c341", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_safety_button", "name": "safety_button", "type": "topic", "color": "#95d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_camera_status", "name": "camera_status", "type": "topic", "color": "#6cd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_irlock_report", "name": "irlock_report", "type": "topic", "color": "#4183d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_home_position", "name": "home_position", "type": "topic", "color": "#b741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_health_report", "name": "health_report", "type": "topic", "color": "#d8418c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_system_power", "name": "system_power", "type": "topic", "color": "#d87041", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_orbit_status", "name": "orbit_status", "type": "topic", "color": "#65d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_accel", "name": "sensor_accel", "type": "topic", "color": "#43d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tune_control", "name": "tune_control", "type": "topic", "color": "#5e41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_px4io_status", "name": "px4io_status", "type": "topic", "color": "#8041d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear", "name": "landing_gear", "type": "topic", "color": "#d84193", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_led_control", "name": "led_control", "type": "topic", "color": "#d87741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_value", "name": "debug_value", "type": "topic", "color": "#d8d041", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu", "name": "vehicle_imu", "type": "topic", "color": "#a3d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream", "name": "ulog_stream", "type": "topic", "color": "#4ad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gyro", "name": "sensor_gyro", "type": "topic", "color": "#41d84c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_baro", "name": "sensor_baro", "type": "topic", "color": "#419ed8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tecs_status", "name": "tecs_status", "type": "topic", "color": "#4341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_roi", "name": "vehicle_roi", "type": "topic", "color": "#b041d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_array", "name": "debug_array", "type": "topic", "color": "#c541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_pps_capture", "name": "pps_capture", "type": "topic", "color": "#d84155", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_uwb", "name": "sensor_uwb", "type": "topic", "color": "#d84741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_esc_status", "name": "esc_status", "type": "topic", "color": "#41d8b9", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_mag", "name": "sensor_mag", "type": "topic", "color": "#41d8d5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_adc_report", "name": "adc_report", "type": "topic", "color": "#4153d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_vect", "name": "debug_vect", "type": "topic", "color": "#d841a7", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gps", "name": "sensor_gps", "type": "topic", "color": "#d8417e", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/SensorGps.msg"}, {"id": "t_pwm_input", "name": "pwm_input", "type": "topic", "color": "#41a5d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_input_rc", "name": "input_rc", "type": "topic", "color": "#d85c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed", "name": "airspeed", "type": "topic", "color": "#41c0d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorAidSource1d.msg"}, {"id": "t_mission", "name": "mission", "type": "topic", "color": "#41d890", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gripper", "name": "gripper", "type": "topic", "color": "#d841d0", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_cpuload", "name": "cpuload", "type": "topic", "color": "#d84170", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_event", "name": "event", "type": "topic", "color": "#41d883", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_wind", "name": "wind", "type": "topic", "color": "#be41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/Wind.msg"}, {"id": "t_rpm", "name": "rpm", "type": "topic", "color": "#d87e41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}], "links": [{"source": "m_led_control", "target": "t_led_control", "color": "#d87741", "style": "dashed"}, {"source": "m_tests", "target": "t_dataman_request", "color": "#41d8ac", "style": "dashed"}, {"source": "m_tune_control", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_io_bypass_control", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_io_bypass_control", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_actuator_test", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_failure", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_ina226", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_ina228", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_ina220", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_voxlpm", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_ina238", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_cyphal", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_linux_pwm_out", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_linux_pwm_out", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_linux_pwm_out", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_linux_pwm_out", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_l3gd20", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_l3gd20", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_lsm303d", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_lsm303d", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_lsm9ds1", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_lsm9ds1", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_lsm9ds1", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_bmi270", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_bmi270", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_bmi270", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_bmi088_i2c", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_bmi088_i2c", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_bmi088_i2c", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_bmi085", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_bmi085", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_bmi085", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_bmi055", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_bmi055", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_bmi055", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_bmi088", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_bmi088", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_bmi088", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_adis16477", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_adis16477", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_adis16477", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_adis16507", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_adis16507", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_adis16507", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_adis16497", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_adis16497", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_adis16497", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_adis16470", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_adis16470", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_adis16470", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_icm42688p", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm42688p", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm42688p", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_mpu6000", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_mpu6000", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_mpu6000", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_iim42652", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_iim42652", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_iim42652", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm42605", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm42605", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm42605", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_mpu9250_i2c", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_mpu9250_i2c", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_mpu9250_i2c", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm40609d", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm40609d", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm40609d", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_iam20680hp", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_iam20680hp", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_iam20680hp", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm20689", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm20689", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm20689", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_iim42653", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_iim42653", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_iim42653", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm45686", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm45686", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm45686", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_mpu6500", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_mpu6500", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_mpu6500", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm42670p", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm42670p", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm42670p", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm20649", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm20649", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm20649", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm20608g", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm20608g", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm20608g", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_sht3x", "target": "t_sensor_hygrometer", "color": "#57d841", "style": "dashed"}, {"source": "m_pwm_input", "target": "t_pwm_input", "color": "#41a5d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_led_control", "color": "#d87741", "style": "dashed"}, {"source": "m_px4io", "target": "t_input_rc", "color": "#d85c41", "style": "dashed"}, {"source": "m_px4io", "target": "t_safety_button", "color": "#95d841", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_px4io", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_px4io", "target": "t_px4io_status", "color": "#8041d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_tattu_can", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_camera_capture", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_camera_capture", "target": "t_camera_trigger", "color": "#d8419a", "style": "dashed"}, {"source": "m_gps", "target": "t_satellite_info", "color": "#d8a741", "style": "dashed"}, {"source": "m_gps", "target": "t_gps_inject_data", "color": "#d88541", "style": "dashed"}, {"source": "m_gps", "target": "t_sensor_gps", "color": "#d8417e", "style": "dashed"}, {"source": "m_crsf_rc", "target": "t_input_rc", "color": "#d85c41", "style": "dashed"}, {"source": "m_ads1115", "target": "t_adc_report", "color": "#4153d8", "style": "dashed"}, {"source": "m_board_adc", "target": "t_system_power", "color": "#d87041", "style": "dashed"}, {"source": "m_board_adc", "target": "t_adc_report", "color": "#4153d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_led_control", "color": "#d87741", "style": "dashed"}, {"source": "m_uavcan", "target": "t_esc_status", "color": "#41d8b9", "style": "dashed"}, {"source": "m_uavcan", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_uavcan", "target": "t_safety_button", "color": "#95d841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_uavcan", "target": "t_uavcan_parameter_value", "color": "#9c41d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_modal_io", "target": "t_esc_status", "color": "#41d8b9", "style": "dashed"}, {"source": "m_modal_io", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_modal_io", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_modal_io", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_modal_io", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_srf05", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_mb12xx", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_afbrs50", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_srf02", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_vl53l1x", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_ll40ls_pwm", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_lightware_sf45_serial", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_lightware_laser_i2c", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_ll40ls", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_leddar_one", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_pga460", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_cm8jl65", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_lightware_laser_serial", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_teraranger", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_tf02pro", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_vl53l0x", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_gy_us42", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_ulanding_radar", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_tfmini", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_mappydot", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_rpi_rc_in", "target": "t_input_rc", "color": "#d85c41", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_esc_status", "color": "#41d8b9", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_batt_smbus", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_irlock", "target": "t_irlock_report", "color": "#4183d8", "style": "dashed"}, {"source": "m_safety_button", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_safety_button", "target": "t_led_control", "color": "#d87741", "style": "dashed"}, {"source": "m_safety_button", "target": "t_safety_button", "color": "#95d841", "style": "dashed"}, {"source": "m_safety_button", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_vectornav", "target": "t_estimator_status", "color": "#41d8c0", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_selection", "color": "#d84147", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_gps", "color": "#d8417e", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_sdp3x", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_ms5525dso", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_ms4515", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_asp5033", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_ms4525do", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_ets_airspeed", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_led_control", "color": "#d87741", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_gps_inject_data", "color": "#d88541", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_lps22hb", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_dps310", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_mpl3115a2", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_lps25h", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_bmp280", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_ms5611", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_tcbp001ta", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_spl06", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_mpc2520", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_lps33hw", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_icp201xx", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_icp101xx", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_bmp388", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_ms5837", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_tone_alarm", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_pps_capture", "target": "t_pps_capture", "color": "#d84155", "style": "dashed"}, {"source": "m_uwb_sr150", "target": "t_sensor_uwb", "color": "#d84741", "style": "dashed"}, {"source": "m_iridiumsbd", "target": "t_iridiumsbd_status", "color": "#4145d8", "style": "dashed"}, {"source": "m_hott_telemetry", "target": "t_esc_status", "color": "#41d8b9", "style": "dashed"}, {"source": "m_sagetech_mxs", "target": "t_transponder_report", "color": "#87d841", "style": "dashed"}, {"source": "m_pcf8583", "target": "t_rpm", "color": "#d87e41", "style": "dashed"}, {"source": "m_rpm_simulator", "target": "t_rpm", "color": "#d87e41", "style": "dashed"}, {"source": "m_batmon", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_rc_input", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_rc_input", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_rc_input", "target": "t_input_rc", "color": "#d85c41", "style": "dashed"}, {"source": "m_pmw3901", "target": "t_sensor_optical_flow", "color": "#d86a41", "style": "dashed"}, {"source": "m_paw3902", "target": "t_sensor_optical_flow", "color": "#d86a41", "style": "dashed"}, {"source": "m_px4flow", "target": "t_sensor_optical_flow", "color": "#d86a41", "style": "dashed"}, {"source": "m_paa3905", "target": "t_sensor_optical_flow", "color": "#d86a41", "style": "dashed"}, {"source": "m_thoneflow", "target": "t_sensor_optical_flow", "color": "#d86a41", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_dshot", "target": "t_esc_status", "color": "#41d8b9", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_dshot", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_camera_trigger", "color": "#d8419a", "style": "dashed"}, {"source": "m_bmm150", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_lsm303agr", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_vcm1193l", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_qmc5883l", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_ist8308", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_ist8310", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_hmc5883", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_rm3100", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_ak09916", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_ak8963", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_lis3mdl", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_lsm9ds1_mag", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_attitude_status", "color": "#4197d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude", "color": "#4190d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_irlock_report", "color": "#4183d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_collision_report", "color": "#d85541", "style": "dashed"}, {"source": "m_mavlink", "target": "t_camera_status", "color": "#6cd841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_input_rc", "color": "#d85c41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_visual_odometry", "color": "#41d845", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_mavlink", "target": "t_landing_target_pose", "color": "#41d853", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_optical_flow", "color": "#d86a41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_array", "color": "#c541d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_rates_setpoint", "color": "#d88c41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gps_inject_data", "color": "#d88541", "style": "dashed"}, {"source": "m_mavlink", "target": "t_fw_virtual_attitude_setpoint", "color": "#d89341", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_event", "color": "#41d883", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mission", "color": "#41d890", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_manager_set_attitude", "color": "#41d89e", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_global_position", "color": "#41d897", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_vect", "color": "#d841a7", "style": "dashed"}, {"source": "m_mavlink", "target": "t_dataman_request", "color": "#41d8ac", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_manager_set_manual_control", "color": "#41d8b3", "style": "dashed"}, {"source": "m_mavlink", "target": "t_offboard_control_mode", "color": "#d8ae41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude_setpoint", "color": "#5041d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gps", "color": "#d8417e", "style": "dashed"}, {"source": "m_mavlink", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_trajectory_setpoint", "color": "#6541d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_uavcan_parameter_request", "color": "#7341d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_rc_parameter_map", "color": "#d8d741", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_mocap_odometry", "color": "#7a41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_value", "color": "#d8d041", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_key_value", "color": "#ccd841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_information", "color": "#41c7d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_local_position", "color": "#d84163", "style": "dashed"}, {"source": "m_mavlink", "target": "t_airspeed", "color": "#41c0d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mc_virtual_attitude_setpoint", "color": "#9541d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_transponder_report", "color": "#87d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_telemetry_status", "color": "#80d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_ulog_stream_ack", "color": "#d8414e", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_commander", "target": "t_led_control", "color": "#d87741", "style": "dashed"}, {"source": "m_commander", "target": "t_failure_detector_status", "color": "#41d85a", "style": "dashed"}, {"source": "m_commander", "target": "t_health_report", "color": "#d8418c", "style": "dashed"}, {"source": "m_commander", "target": "t_failsafe_flags", "color": "#a9d841", "style": "dashed"}, {"source": "m_commander", "target": "t_register_ext_component_reply", "color": "#41acd8", "style": "dashed"}, {"source": "m_commander", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_commander", "target": "t_home_position", "color": "#b741d8", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_commander", "target": "t_power_button_state", "color": "#41d88a", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_commander", "target": "t_event", "color": "#41d883", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_control_mode", "color": "#a341d8", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_status", "color": "#d84177", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_fw_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#d841c9", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_flaps_setpoint", "color": "#414cd8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_spoilers_setpoint", "color": "#d3d841", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vtol_vehicle_status", "color": "#d8a041", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_attitude_setpoint", "color": "#5041d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_tiltrotor_extra_controls", "color": "#d841c3", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d841ae", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#8741d8", "style": "dashed"}, {"source": "m_airship_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d841ae", "style": "dashed"}, {"source": "m_airship_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#8741d8", "style": "dashed"}, {"source": "m_landing_target_estimator", "target": "t_landing_target_pose", "color": "#41d853", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_led_control", "color": "#d87741", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_sensor_correction", "color": "#5741d8", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_position_controller_status", "color": "#bed841", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_torque_setpoint", "color": "#d841ae", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_thrust_setpoint", "color": "#8741d8", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#5041d8", "style": "dashed"}, {"source": "m_camera_feedback", "target": "t_camera_capture", "color": "#a941d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_attitude_status", "color": "#4197d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_v1_command", "color": "#4167d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_manager_status", "color": "#41d86e", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_controls", "color": "#d8b541", "style": "dashed"}, {"source": "m_gimbal", "target": "t_mount_orientation", "color": "#41b9d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_manager_information", "color": "#d841b5", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_set_attitude", "color": "#41d5d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_landing_gear", "color": "#d84193", "style": "dashed"}, {"source": "m_manual_control", "target": "t_action_request", "color": "#d841d7", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_switches", "color": "#4a41d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_setpoint", "color": "#4175d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_status", "color": "#d84177", "style": "dashed"}, {"source": "m_mc_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#d841c9", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_trajectory_setpoint", "color": "#6541d8", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_landing_gear", "color": "#d84193", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_vehicle_constraints", "color": "#d84e41", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_spoilers_setpoint", "color": "#d3d841", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_flaps_setpoint", "color": "#414cd8", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d88c41", "style": "dashed"}, {"source": "m_load_mon", "target": "t_cpuload", "color": "#d84170", "style": "dashed"}, {"source": "m_uuv_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#5041d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_constraints", "color": "#d84e41", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#5041d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_trajectory_setpoint", "color": "#6541d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#41d875", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_takeoff_status", "color": "#41d8ce", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_estimator_status", "color": "#41d8c0", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_local_position", "color": "#d84163", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_odometry", "color": "#d8415c", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_global_position", "color": "#41d897", "style": "dashed"}, {"source": "m_send_event", "target": "t_tune_control", "color": "#5e41d8", "style": "dashed"}, {"source": "m_send_event", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_send_event", "target": "t_led_control", "color": "#d87741", "style": "dashed"}, {"source": "m_navigator", "target": "t_dataman_request", "color": "#41d8ac", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_land_detected", "color": "#d84185", "style": "dashed"}, {"source": "m_navigator", "target": "t_rtl_time_estimate", "color": "#418ad8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_roi", "color": "#b041d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission_result", "color": "#d8c941", "style": "dashed"}, {"source": "m_navigator", "target": "t_home_position", "color": "#b741d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_status", "color": "#d84177", "style": "dashed"}, {"source": "m_navigator", "target": "t_transponder_report", "color": "#87d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission", "color": "#41d890", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_global_position", "color": "#41d897", "style": "dashed"}, {"source": "m_navigator", "target": "t_geofence_result", "color": "#d841a0", "style": "dashed"}, {"source": "m_navigator", "target": "t_position_setpoint_triplet", "color": "#cc41d8", "style": "dashed"}, {"source": "m_airspeed_selector", "target": "t_airspeed_validated", "color": "#9cd841", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d841ae", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#8741d8", "style": "dashed"}, {"source": "m_mc_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d88c41", "style": "dashed"}, {"source": "m_battery_status", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d88c41", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_actuator_controls_status_0", "color": "#41d860", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_landing_status", "color": "#73d841", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_status", "color": "#bed841", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_landing_gear", "color": "#d84193", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_flaps_setpoint", "color": "#414cd8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_tecs_status", "color": "#4341d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_orbit_status", "color": "#65d841", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_figure_eight_status", "color": "#41d8c7", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#41d875", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_launch_detection_status", "color": "#4160d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_spoilers_setpoint", "color": "#d3d841", "style": "dashed"}, {"source": "m_attitude_estimator_q", "target": "t_vehicle_attitude", "color": "#4190d8", "style": "dashed"}, {"source": "m_dataman", "target": "t_dataman_response", "color": "#b7d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_attitude", "color": "#4190d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_sensor_bias", "color": "#50d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_wind", "color": "#be41d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status_flags", "color": "#416ed8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_global_position", "color": "#41d897", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status", "color": "#41d8c0", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_local_position", "color": "#d84163", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_odometry", "color": "#d8415c", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_selector_status", "color": "#8ed841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_sensor_selection", "color": "#d84147", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_landing_gear_wheel", "color": "#41ced8", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d88c41", "style": "dashed"}, {"source": "m_esc_battery", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_land_detector", "target": "t_vehicle_land_detected", "color": "#d84185", "style": "dashed"}, {"source": "m_rc_update", "target": "t_manual_control_switches", "color": "#4a41d8", "style": "dashed"}, {"source": "m_uxrce_dds_client", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs_sim", "color": "#6c41d8", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_sensor_gps_sim", "target": "t_sensor_gps", "color": "#d8417e", "style": "dashed"}, {"source": "m_sensor_mag_sim", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_sensor_airspeed_sim", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_local_position_groundtruth", "color": "#c5d841", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_distance_sensor", "color": "#41d867", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_airspeed", "color": "#41c0d8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_global_position_groundtruth", "color": "#417cd8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_attitude_groundtruth", "color": "#d86341", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_angular_velocity_groundtruth", "color": "#d841bc", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_gyro_fifo", "color": "#d84141", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_irlock_report", "color": "#4183d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_global_position_groundtruth", "color": "#417cd8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_input_rc", "color": "#d85c41", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_attitude_groundtruth", "color": "#d86341", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_visual_odometry", "color": "#41d845", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_optical_flow", "color": "#d86a41", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_rpm", "color": "#d87e41", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_angular_velocity_groundtruth", "color": "#d841bc", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_esc_status", "color": "#41d8b9", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_mocap_odometry", "color": "#7a41d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_mag", "color": "#41d8d5", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_local_position_groundtruth", "color": "#c5d841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_sensor_baro_sim", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_local_position_groundtruth", "color": "#c5d841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_esc_status", "color": "#41d8b9", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_global_position_groundtruth", "color": "#417cd8", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_attitude_groundtruth", "color": "#d86341", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_outputs", "color": "#d8bc41", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_test", "color": "#d8c341", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_armed", "color": "#41d8a5", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_accel", "color": "#43d841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_visual_odometry", "color": "#41d845", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_gyro", "color": "#41d84c", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_angular_velocity_groundtruth", "color": "#d841bc", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_baro", "color": "#419ed8", "style": "dashed"}, {"source": "m_battery_simulator", "target": "t_battery_status", "color": "#41b3d8", "style": "dashed"}, {"source": "m_battery_simulator", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_vehicle_command", "color": "#415ad8", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_gripper", "color": "#d841d0", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_servos_trim", "color": "#7ad841", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_control_allocator_status", "color": "#41d87c", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_motors", "color": "#5ed841", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_combined", "color": "#8e41d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensors_status_imu", "color": "#b0d841", "style": "dashed"}, {"source": "m_sensors", "target": "t_differential_pressure", "color": "#d8416a", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu", "color": "#a3d841", "style": "dashed"}, {"source": "m_sensors", "target": "t_airspeed", "color": "#41c0d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu_status", "color": "#d341d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_selection", "color": "#d84147", "style": "dashed"}, {"source": "m_logger", "target": "t_vehicle_command_ack", "color": "#d89a41", "style": "dashed"}, {"source": "m_logger", "target": "t_ulog_stream", "color": "#4ad841", "style": "dashed"}, {"source": "t_dataman_response", "target": "m_tests", "color": "#b7d841", "style": "normal"}, {"source": "t_input_rc", "target": "m_tests", "color": "#d85c41", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_io_bypass_control", "color": "#d8bc41", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_i2c_launcher", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_microbench", "color": "#d84163", "style": "normal"}, {"source": "t_sensor_gyro_fifo", "target": "m_microbench", "color": "#d84141", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_microbench", "color": "#41d84c", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_microbench", "color": "#a9d841", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_failure", "color": "#d89a41", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_template_module", "color": "#8e41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina226", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina226", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina228", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina228", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pm_selector_auterion", "color": "#41d8a5", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina220", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina220", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_voxlpm", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_voxlpm", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina238", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina238", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_cyphal", "color": "#d8c341", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_cyphal", "color": "#d8417e", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_cyphal", "color": "#41d8a5", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_heater", "color": "#43d841", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_linux_pwm_out", "color": "#41ced8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_linux_pwm_out", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_linux_pwm_out", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_linux_pwm_out", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_linux_pwm_out", "color": "#5ed841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_linux_pwm_out", "color": "#d8c341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_linux_pwm_out", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_linux_pwm_out", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_linux_pwm_out", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_linux_pwm_out", "color": "#41d8a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_px4io", "color": "#41ced8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_px4io", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_px4io", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_px4io", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_px4io", "color": "#5ed841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_px4io", "color": "#d8c341", "style": "normal"}, {"source": "t_px4io_status", "target": "m_px4io", "color": "#8041d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_px4io", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_px4io", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_px4io", "color": "#7ad841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_px4io", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_px4io", "color": "#41d8a5", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_camera_capture", "color": "#415ad8", "style": "normal"}, {"source": "t_pps_capture", "target": "m_camera_capture", "color": "#d84155", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_gps", "color": "#d88541", "style": "normal"}, {"source": "t_battery_status", "target": "m_crsf_rc", "color": "#41b3d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_crsf_rc", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_crsf_rc", "color": "#d84177", "style": "normal"}, {"source": "t_adc_report", "target": "m_board_adc", "color": "#4153d8", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_uavcan", "color": "#41ced8", "style": "normal"}, {"source": "t_led_control", "target": "m_uavcan", "color": "#d87741", "style": "normal"}, {"source": "t_landing_gear", "target": "m_uavcan", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_uavcan", "color": "#d841d0", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_uavcan", "color": "#d88541", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_uavcan", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_uavcan", "color": "#5ed841", "style": "normal"}, {"source": "t_tune_control", "target": "m_uavcan", "color": "#5e41d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_uavcan", "color": "#d8c341", "style": "normal"}, {"source": "t_uavcan_parameter_request", "target": "m_uavcan", "color": "#7341d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_uavcan", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uavcan", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_uavcan", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_uavcan", "color": "#41d8a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_modal_io", "color": "#41ced8", "style": "normal"}, {"source": "t_led_control", "target": "m_modal_io", "color": "#d87741", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_modal_io", "color": "#a341d8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_modal_io", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_modal_io", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_modal_io", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_modal_io", "color": "#5ed841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_modal_io", "color": "#d8c341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_modal_io", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_modal_io", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_modal_io", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_modal_io", "color": "#41d8a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pca9685_pwm_out", "color": "#41ced8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pca9685_pwm_out", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_pca9685_pwm_out", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pca9685_pwm_out", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pca9685_pwm_out", "color": "#5ed841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pca9685_pwm_out", "color": "#d8c341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pca9685_pwm_out", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pca9685_pwm_out", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pca9685_pwm_out", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pca9685_pwm_out", "color": "#41d8a5", "style": "normal"}, {"source": "t_pwm_input", "target": "m_ll40ls_pwm", "color": "#41a5d8", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_tap_esc", "color": "#41ced8", "style": "normal"}, {"source": "t_led_control", "target": "m_tap_esc", "color": "#d87741", "style": "normal"}, {"source": "t_landing_gear", "target": "m_tap_esc", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_tap_esc", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_tap_esc", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_tap_esc", "color": "#5ed841", "style": "normal"}, {"source": "t_tune_control", "target": "m_tap_esc", "color": "#5e41d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_tap_esc", "color": "#d8c341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_tap_esc", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_tap_esc", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_tap_esc", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_tap_esc", "color": "#41d8a5", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_safety_button", "color": "#41d8a5", "style": "normal"}, {"source": "t_tune_control", "target": "m_tone_alarm", "color": "#5e41d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_roboclaw", "color": "#41d8a5", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_pps_capture", "color": "#d8417e", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_msp_osd", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_msp_osd", "color": "#4190d8", "style": "normal"}, {"source": "t_input_rc", "target": "m_msp_osd", "color": "#d85c41", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_msp_osd", "color": "#9cd841", "style": "normal"}, {"source": "t_battery_status", "target": "m_msp_osd", "color": "#41b3d8", "style": "normal"}, {"source": "t_home_position", "target": "m_msp_osd", "color": "#b741d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_msp_osd", "color": "#41d897", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_msp_osd", "color": "#d84177", "style": "normal"}, {"source": "t_battery_status", "target": "m_atxxxx", "color": "#41b3d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_atxxxx", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_atxxxx", "color": "#d84163", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled", "color": "#d87741", "style": "normal"}, {"source": "t_led_control", "target": "m_neopixel", "color": "#d87741", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_lp5562", "color": "#d87741", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_pwm", "color": "#d87741", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_ncp5623c", "color": "#d87741", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_is31fl3195", "color": "#d87741", "style": "normal"}, {"source": "t_sensor_uwb", "target": "m_uwb_sr150", "color": "#d84741", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_frsky_telemetry", "color": "#d84163", "style": "normal"}, {"source": "t_battery_status", "target": "m_frsky_telemetry", "color": "#41b3d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_frsky_telemetry", "color": "#41d897", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_frsky_telemetry", "color": "#d84177", "style": "normal"}, {"source": "t_esc_status", "target": "m_hott_telemetry", "color": "#41d8b9", "style": "normal"}, {"source": "t_airspeed", "target": "m_hott_telemetry", "color": "#41c0d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_hott_telemetry", "color": "#41b3d8", "style": "normal"}, {"source": "t_home_position", "target": "m_hott_telemetry", "color": "#b741d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_bst", "color": "#41b3d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_bst", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_sagetech_mxs", "color": "#d84177", "style": "normal"}, {"source": "t_transponder_report", "target": "m_sagetech_mxs", "color": "#87d841", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_sagetech_mxs", "color": "#d8417e", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_sagetech_mxs", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rc_input", "color": "#4190d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_rc_input", "color": "#41b3d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_rc_input", "color": "#415ad8", "style": "normal"}, {"source": "t_adc_report", "target": "m_rc_input", "color": "#4153d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_rc_input", "color": "#d84177", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out", "color": "#41ced8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_pwm_out", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out", "color": "#5ed841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out", "color": "#d8c341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out", "color": "#41d8a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_dshot", "color": "#41ced8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_dshot", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_dshot", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_dshot", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_dshot", "color": "#5ed841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_dshot", "color": "#d8c341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_dshot", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_dshot", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_dshot", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_dshot", "color": "#41d8a5", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_camera_trigger", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_camera_trigger", "color": "#415ad8", "style": "normal"}, {"source": "t_pps_capture", "target": "m_camera_trigger", "color": "#d84155", "style": "normal"}, {"source": "t_collision_report", "target": "m_mavlink", "color": "#d85541", "style": "normal"}, {"source": "t_input_rc", "target": "m_mavlink", "color": "#d85c41", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_mavlink", "color": "#d86341", "style": "normal"}, {"source": "t_rpm", "target": "m_mavlink", "color": "#d87e41", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_mavlink", "color": "#d88541", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mavlink", "color": "#d88c41", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_mavlink", "color": "#d89a41", "style": "normal"}, {"source": "t_satellite_info", "target": "m_mavlink", "color": "#d8a741", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_mavlink", "color": "#d8bc41", "style": "normal"}, {"source": "t_mission_result", "target": "m_mavlink", "color": "#d8c941", "style": "normal"}, {"source": "t_debug_value", "target": "m_mavlink", "color": "#d8d041", "style": "normal"}, {"source": "t_debug_key_value", "target": "m_mavlink", "color": "#ccd841", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_mavlink", "color": "#c5d841", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_mavlink", "color": "#bed841", "style": "normal"}, {"source": "t_dataman_response", "target": "m_mavlink", "color": "#b7d841", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_mavlink", "color": "#a9d841", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_mavlink", "color": "#a3d841", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_mavlink", "color": "#9cd841", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_mavlink", "color": "#8ed841", "style": "normal"}, {"source": "t_transponder_report", "target": "m_mavlink", "color": "#87d841", "style": "normal"}, {"source": "t_camera_status", "target": "m_mavlink", "color": "#6cd841", "style": "normal"}, {"source": "t_orbit_status", "target": "m_mavlink", "color": "#65d841", "style": "normal"}, {"source": "t_sensor_hygrometer", "target": "m_mavlink", "color": "#57d841", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_mavlink", "color": "#50d841", "style": "normal"}, {"source": "t_ulog_stream", "target": "m_mavlink", "color": "#4ad841", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_mavlink", "color": "#41d853", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_mavlink", "color": "#41d867", "style": "normal"}, {"source": "t_gimbal_manager_status", "target": "m_mavlink", "color": "#41d86e", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_mavlink", "color": "#41d875", "style": "normal"}, {"source": "t_event", "target": "m_mavlink", "color": "#41d883", "style": "normal"}, {"source": "t_mission", "target": "m_mavlink", "color": "#41d890", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_mavlink", "color": "#41d897", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_mavlink", "color": "#41d8a5", "style": "normal"}, {"source": "t_estimator_status", "target": "m_mavlink", "color": "#41d8c0", "style": "normal"}, {"source": "t_esc_status", "target": "m_mavlink", "color": "#41d8b9", "style": "normal"}, {"source": "t_figure_eight_status", "target": "m_mavlink", "color": "#41d8c7", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mavlink", "color": "#41d8d5", "style": "normal"}, {"source": "t_gimbal_device_set_attitude", "target": "m_mavlink", "color": "#41d5d8", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_mavlink", "color": "#41c7d8", "style": "normal"}, {"source": "t_airspeed", "target": "m_mavlink", "color": "#41c0d8", "style": "normal"}, {"source": "t_mount_orientation", "target": "m_mavlink", "color": "#41b9d8", "style": "normal"}, {"source": "t_register_ext_component_reply", "target": "m_mavlink", "color": "#41acd8", "style": "normal"}, {"source": "t_battery_status", "target": "m_mavlink", "color": "#41b3d8", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_mavlink", "color": "#419ed8", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_mavlink", "color": "#4197d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mavlink", "color": "#4190d8", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_mavlink", "color": "#418ad8", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_mavlink", "color": "#417cd8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mavlink", "color": "#4175d8", "style": "normal"}, {"source": "t_gimbal_v1_command", "target": "m_mavlink", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_mavlink", "color": "#415ad8", "style": "normal"}, {"source": "t_tecs_status", "target": "m_mavlink", "color": "#4341d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_mavlink", "color": "#4a41d8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mavlink", "color": "#5041d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_mavlink", "color": "#5741d8", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_mavlink", "color": "#6c41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_mavlink", "color": "#8741d8", "style": "normal"}, {"source": "t_uavcan_parameter_value", "target": "m_mavlink", "color": "#9c41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mavlink", "color": "#a341d8", "style": "normal"}, {"source": "t_camera_capture", "target": "m_mavlink", "color": "#a941d8", "style": "normal"}, {"source": "t_home_position", "target": "m_mavlink", "color": "#b741d8", "style": "normal"}, {"source": "t_wind", "target": "m_mavlink", "color": "#be41d8", "style": "normal"}, {"source": "t_debug_array", "target": "m_mavlink", "color": "#c541d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_mavlink", "color": "#cc41d8", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_mavlink", "color": "#d341d8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mavlink", "color": "#d841c9", "style": "normal"}, {"source": "t_vehicle_angular_velocity_groundtruth", "target": "m_mavlink", "color": "#d841bc", "style": "normal"}, {"source": "t_gimbal_manager_information", "target": "m_mavlink", "color": "#d841b5", "style": "normal"}, {"source": "t_debug_vect", "target": "m_mavlink", "color": "#d841a7", "style": "normal"}, {"source": "t_geofence_result", "target": "m_mavlink", "color": "#d841a0", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_mavlink", "color": "#d8419a", "style": "normal"}, {"source": "t_health_report", "target": "m_mavlink", "color": "#d8418c", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mavlink", "color": "#d84185", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_mavlink", "color": "#d8417e", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mavlink", "color": "#d84177", "style": "normal"}, {"source": "t_cpuload", "target": "m_mavlink", "color": "#d84170", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_mavlink", "color": "#d8416a", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mavlink", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_odometry", "target": "m_mavlink", "color": "#d8415c", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_mavlink", "color": "#d84147", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_commander", "color": "#4190d8", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_commander", "color": "#418ad8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_commander", "color": "#5ed841", "style": "normal"}, {"source": "t_home_position", "target": "m_commander", "color": "#b741d8", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_commander", "color": "#50d841", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_commander", "color": "#43d841", "style": "normal"}, {"source": "t_wind", "target": "m_commander", "color": "#be41d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_commander", "color": "#41d84c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_commander", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_commander", "color": "#d341d8", "style": "normal"}, {"source": "t_system_power", "target": "m_commander", "color": "#d87041", "style": "normal"}, {"source": "t_estimator_status_flags", "target": "m_commander", "color": "#416ed8", "style": "normal"}, {"source": "t_action_request", "target": "m_commander", "color": "#d841d7", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_commander", "color": "#41d867", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_commander", "color": "#d89a41", "style": "normal"}, {"source": "t_power_button_state", "target": "m_commander", "color": "#41d88a", "style": "normal"}, {"source": "t_event", "target": "m_commander", "color": "#41d883", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_commander", "color": "#415ad8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_commander", "color": "#41d897", "style": "normal"}, {"source": "t_geofence_result", "target": "m_commander", "color": "#d841a0", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_commander", "color": "#41d8a5", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_commander", "color": "#d8a041", "style": "normal"}, {"source": "t_esc_status", "target": "m_commander", "color": "#41d8b9", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_commander", "color": "#d84185", "style": "normal"}, {"source": "t_iridiumsbd_status", "target": "m_commander", "color": "#4145d8", "style": "normal"}, {"source": "t_offboard_control_mode", "target": "m_commander", "color": "#d8ae41", "style": "normal"}, {"source": "t_estimator_status", "target": "m_commander", "color": "#41d8c0", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_commander", "color": "#4a41d8", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_commander", "color": "#d8417e", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_commander", "color": "#5741d8", "style": "normal"}, {"source": "t_mission_result", "target": "m_commander", "color": "#d8c941", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_commander", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_commander", "color": "#d84177", "style": "normal"}, {"source": "t_cpuload", "target": "m_commander", "color": "#d84170", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_commander", "color": "#b0d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_commander", "color": "#d84163", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_commander", "color": "#d8416a", "style": "normal"}, {"source": "t_safety_button", "target": "m_commander", "color": "#95d841", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_commander", "color": "#9cd841", "style": "normal"}, {"source": "t_battery_status", "target": "m_commander", "color": "#41b3d8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_commander", "color": "#8ed841", "style": "normal"}, {"source": "t_pwm_input", "target": "m_commander", "color": "#41a5d8", "style": "normal"}, {"source": "t_telemetry_status", "target": "m_commander", "color": "#80d841", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_commander", "color": "#d84147", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_commander", "color": "#419ed8", "style": "normal"}, {"source": "t_sensor_gyro_fifo", "target": "m_gyro_fft", "color": "#d84141", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_gyro_fft", "color": "#d84147", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_gyro_fft", "color": "#d341d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_gyro_fft", "color": "#41d84c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_autotune_attitude_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_autotune_attitude_control", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_vtol_att_control", "color": "#4190d8", "style": "normal"}, {"source": "t_home_position", "target": "m_vtol_att_control", "color": "#b741d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_vtol_att_control", "color": "#cc41d8", "style": "normal"}, {"source": "t_action_request", "target": "m_vtol_att_control", "color": "#d841d7", "style": "normal"}, {"source": "t_fw_virtual_attitude_setpoint", "target": "m_vtol_att_control", "color": "#d89341", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_vtol_att_control", "color": "#41d875", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_vtol_att_control", "color": "#415ad8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_vtol_att_control", "color": "#d84185", "style": "normal"}, {"source": "t_tecs_status", "target": "m_vtol_att_control", "color": "#4341d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_vtol_att_control", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_vtol_att_control", "color": "#d84163", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_vtol_att_control", "color": "#9cd841", "style": "normal"}, {"source": "t_mc_virtual_attitude_setpoint", "target": "m_vtol_att_control", "color": "#9541d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_vtol_att_control", "color": "#a341d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_airship_att_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_airship_att_control", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_landing_target_estimator", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_landing_target_estimator", "color": "#4190d8", "style": "normal"}, {"source": "t_irlock_report", "target": "m_landing_target_estimator", "color": "#4183d8", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_temperature_compensation", "color": "#43d841", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_temperature_compensation", "color": "#41d84c", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_temperature_compensation", "color": "#415ad8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_temperature_compensation", "color": "#41d8d5", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_temperature_compensation", "color": "#419ed8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_rover_pos_control", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_rover_pos_control", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rover_pos_control", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_rover_pos_control", "color": "#5041d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_rover_pos_control", "color": "#41d897", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_rover_pos_control", "color": "#6541d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_rover_pos_control", "color": "#4175d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_rover_pos_control", "color": "#cc41d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_camera_feedback", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_camera_feedback", "color": "#41d897", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_camera_feedback", "color": "#d8419a", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_camera_feedback", "color": "#4197d8", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_gimbal", "color": "#41c7d8", "style": "normal"}, {"source": "t_gimbal_manager_set_manual_control", "target": "m_gimbal", "color": "#41d8b3", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_gimbal", "color": "#4197d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_gimbal", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_gimbal", "color": "#4190d8", "style": "normal"}, {"source": "t_gimbal_manager_set_attitude", "target": "m_gimbal", "color": "#41d89e", "style": "normal"}, {"source": "t_vehicle_roi", "target": "m_gimbal", "color": "#b041d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_gimbal", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_gimbal", "color": "#415ad8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_gimbal", "color": "#41d897", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_gimbal", "color": "#cc41d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_manual_control", "color": "#4175d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_manual_control", "color": "#4a41d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_manual_control", "color": "#d84177", "style": "normal"}, {"source": "t_action_request", "target": "m_manual_control", "color": "#d841d7", "style": "normal"}, {"source": "t_actuator_controls_status_0", "target": "m_mc_autotune_attitude_control", "color": "#41d860", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#d841ae", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_autotune_attitude_control", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_flight_mode_manager", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_flight_mode_manager", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_flight_mode_manager", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_flight_mode_manager", "color": "#5041d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_flight_mode_manager", "color": "#415ad8", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_flight_mode_manager", "color": "#41d8ce", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_flight_mode_manager", "color": "#d84177", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mag_bias_estimator", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mag_bias_estimator", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_rate_control", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_rate_control", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_fw_rate_control", "color": "#d88c41", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_rate_control", "color": "#9cd841", "style": "normal"}, {"source": "t_battery_status", "target": "m_fw_rate_control", "color": "#41b3d8", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_fw_rate_control", "color": "#41d87c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_rate_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_rate_control", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_uuv_pos_control", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_pos_control", "color": "#4190d8", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_uuv_pos_control", "color": "#6541d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_pos_control", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_constraints", "target": "m_mc_pos_control", "color": "#d84e41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_pos_control", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_pos_control", "color": "#d84185", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_mc_pos_control", "color": "#6541d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_pos_control", "color": "#a341d8", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_local_position_estimator", "color": "#8e41d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_local_position_estimator", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_local_position_estimator", "color": "#4190d8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_local_position_estimator", "color": "#41d867", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_local_position_estimator", "color": "#41d853", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_local_position_estimator", "color": "#41d845", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_local_position_estimator", "color": "#7a41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_local_position_estimator", "color": "#415ad8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_local_position_estimator", "color": "#41d8a5", "style": "normal"}, {"source": "t_cpuload", "target": "m_send_event", "color": "#d84170", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_send_event", "color": "#a9d841", "style": "normal"}, {"source": "t_battery_status", "target": "m_send_event", "color": "#41b3d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_send_event", "color": "#415ad8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_send_event", "color": "#d84177", "style": "normal"}, {"source": "t_position_controller_landing_status", "target": "m_navigator", "color": "#73d841", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_navigator", "color": "#bed841", "style": "normal"}, {"source": "t_dataman_response", "target": "m_navigator", "color": "#b7d841", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_navigator", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_navigator", "color": "#d84163", "style": "normal"}, {"source": "t_home_position", "target": "m_navigator", "color": "#b741d8", "style": "normal"}, {"source": "t_transponder_report", "target": "m_navigator", "color": "#87d841", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_navigator", "color": "#41d853", "style": "normal"}, {"source": "t_wind", "target": "m_navigator", "color": "#be41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_navigator", "color": "#415ad8", "style": "normal"}, {"source": "t_mission", "target": "m_navigator", "color": "#41d890", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_navigator", "color": "#41d897", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_navigator", "color": "#d84177", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_airspeed_selector", "color": "#d8a041", "style": "normal"}, {"source": "t_estimator_status", "target": "m_airspeed_selector", "color": "#41d8c0", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_airspeed_selector", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_airspeed_selector", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_airspeed_selector", "color": "#d84163", "style": "normal"}, {"source": "t_airspeed", "target": "m_airspeed_selector", "color": "#41c0d8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_airspeed_selector", "color": "#8ed841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_airspeed_selector", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_att_control", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_att_control", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_uuv_att_control", "color": "#5041d8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_uuv_att_control", "color": "#d88c41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uuv_att_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_att_control", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_att_control", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_att_control", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mc_att_control", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mc_att_control", "color": "#5041d8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mc_att_control", "color": "#d841c9", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_att_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_att_control", "color": "#d84177", "style": "normal"}, {"source": "t_adc_report", "target": "m_battery_status", "color": "#4153d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_battery_status", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_battery_status", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_rate_control", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_rate_control", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mc_rate_control", "color": "#d88c41", "style": "normal"}, {"source": "t_battery_status", "target": "m_mc_rate_control", "color": "#41b3d8", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_mc_rate_control", "color": "#41d87c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_rate_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_rate_control", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_pos_control", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_pos_control", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_pos_control", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_pos_control", "color": "#d84185", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_pos_control", "color": "#9cd841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_pos_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_pos_control", "color": "#d84177", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_fw_pos_control", "color": "#6541d8", "style": "normal"}, {"source": "t_wind", "target": "m_fw_pos_control", "color": "#be41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_fw_pos_control", "color": "#415ad8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_fw_pos_control", "color": "#41d897", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_fw_pos_control", "color": "#cc41d8", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_attitude_estimator_q", "color": "#8e41d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_attitude_estimator_q", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_attitude_estimator_q", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_attitude_estimator_q", "color": "#7a41d8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_attitude_estimator_q", "color": "#41d845", "style": "normal"}, {"source": "t_dataman_request", "target": "m_dataman", "color": "#41d8ac", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_ekf2", "color": "#8e41d8", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_ekf2", "color": "#b0d841", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_ekf2", "color": "#d84185", "style": "normal"}, {"source": "t_airspeed", "target": "m_ekf2", "color": "#41c0d8", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_ekf2", "color": "#a3d841", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_ekf2", "color": "#41d867", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_ekf2", "color": "#9cd841", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_ekf2", "color": "#41d845", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_ekf2", "color": "#415ad8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_ekf2", "color": "#41d853", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_ekf2", "color": "#d84147", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ekf2", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_att_control", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_att_control", "color": "#d84163", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_att_control", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_att_control", "color": "#d84185", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_fw_att_control", "color": "#5041d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_att_control", "color": "#9cd841", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_fw_att_control", "color": "#d841c9", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_att_control", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_att_control", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_esc_battery", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_esc_battery", "color": "#d84177", "style": "normal"}, {"source": "t_esc_status", "target": "m_esc_battery", "color": "#41d8b9", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_land_detector", "color": "#d84163", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_land_detector", "color": "#9cd841", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_land_detector", "color": "#41d8ce", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_land_detector", "color": "#41d8a5", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_land_detector", "color": "#6541d8", "style": "normal"}, {"source": "t_launch_detection_status", "target": "m_land_detector", "color": "#4160d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_land_detector", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_land_detector", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_land_detector", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_land_detector", "color": "#d341d8", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_land_detector", "color": "#d84147", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_rc_update", "color": "#4a41d8", "style": "normal"}, {"source": "t_rc_parameter_map", "target": "m_rc_update", "color": "#d8d741", "style": "normal"}, {"source": "t_input_rc", "target": "m_rc_update", "color": "#d85c41", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_uxrce_dds_client", "color": "#d89a41", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_gyro_calibration", "color": "#43d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_gyro_calibration", "color": "#d84177", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_gyro_calibration", "color": "#5741d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_gyro_calibration", "color": "#41d84c", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out_sim", "color": "#41ced8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out_sim", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_pwm_out_sim", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out_sim", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out_sim", "color": "#5ed841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out_sim", "color": "#d8c341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out_sim", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out_sim", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out_sim", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out_sim", "color": "#41d8a5", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#c5d841", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#417cd8", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_mag_sim", "color": "#417cd8", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_sensor_mag_sim", "color": "#d86341", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_sensor_airspeed_sim", "color": "#4190d8", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_sensor_airspeed_sim", "color": "#c5d841", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_airspeed_sim", "color": "#417cd8", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_simulator_sih", "color": "#6c41d8", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_simulator_sih", "color": "#d8bc41", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_simulator_mavlink", "color": "#d8bc41", "style": "normal"}, {"source": "t_battery_status", "target": "m_simulator_mavlink", "color": "#41b3d8", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_simulator_mavlink", "color": "#6c41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_simulator_mavlink", "color": "#415ad8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_simulator_mavlink", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_baro_sim", "color": "#417cd8", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_gz_bridge", "color": "#41ced8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_gz_bridge", "color": "#d84193", "style": "normal"}, {"source": "t_gripper", "target": "m_gz_bridge", "color": "#d841d0", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_gz_bridge", "color": "#d8b541", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_gz_bridge", "color": "#5ed841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_gz_bridge", "color": "#d8c341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_gz_bridge", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_gz_bridge", "color": "#4175d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_gz_bridge", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_gz_bridge", "color": "#41d8a5", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_battery_simulator", "color": "#415ad8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_battery_simulator", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_battery_simulator", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_payload_deliverer", "color": "#415ad8", "style": "normal"}, {"source": "t_failure_detector_status", "target": "m_control_allocator", "color": "#41d85a", "style": "normal"}, {"source": "t_flaps_setpoint", "target": "m_control_allocator", "color": "#414cd8", "style": "normal"}, {"source": "t_spoilers_setpoint", "target": "m_control_allocator", "color": "#d3d841", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_control_allocator", "color": "#4a41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_control_allocator", "color": "#8741d8", "style": "normal"}, {"source": "t_tiltrotor_extra_controls", "target": "m_control_allocator", "color": "#d841c3", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_control_allocator", "color": "#d841ae", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_control_allocator", "color": "#a341d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_control_allocator", "color": "#d84177", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_sensors", "color": "#d8416a", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_sensors", "color": "#a3d841", "style": "normal"}, {"source": "t_sensor_optical_flow", "target": "m_sensors", "color": "#d86a41", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_sensors", "color": "#5741d8", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_sensors", "color": "#50d841", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_sensors", "color": "#43d841", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_sensors", "color": "#41d84c", "style": "normal"}, {"source": "t_adc_report", "target": "m_sensors", "color": "#4153d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_sensors", "color": "#a341d8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_sensors", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_sensors", "color": "#d341d8", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_sensors", "color": "#d84147", "style": "normal"}, {"source": "t_battery_status", "target": "m_logger", "color": "#41b3d8", "style": "normal"}, {"source": "t_ulog_stream_ack", "target": "m_logger", "color": "#d8414e", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_logger", "color": "#415ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_logger", "color": "#4175d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_logger", "color": "#d84177", "style": "normal"}]} \ No newline at end of file diff --git a/public/en/middleware/graph_full_no_mavlink.json b/public/en/middleware/graph_full_no_mavlink.json new file mode 100644 index 000000000000..9fbf1c08cde2 --- /dev/null +++ b/public/en/middleware/graph_full_no_mavlink.json @@ -0,0 +1 @@ +{"nodes": [{"id": "m_fw_autotune_attitude_control", "name": "fw_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_autotune_attitude_control", "name": "mc_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_landing_target_estimator", "name": "landing_target_estimator", "type": "Module", "color": "#666666"}, {"id": "m_temperature_compensation", "name": "temperature_compensation", "type": "Module", "color": "#666666"}, {"id": "m_local_position_estimator", "name": "local_position_estimator", "type": "Module", "color": "#666666"}, {"id": "m_lightware_laser_serial", "name": "lightware_laser_serial", "type": "Module", "color": "#666666"}, {"id": "m_lightware_sf45_serial", "name": "lightware_sf45_serial", "type": "Module", "color": "#666666"}, {"id": "m_pm_selector_auterion", "name": "pm_selector_auterion", "type": "Module", "color": "#666666"}, {"id": "m_attitude_estimator_q", "name": "attitude_estimator_q", "type": "Module", "color": "#666666"}, {"id": "m_lightware_laser_i2c", "name": "lightware_laser_i2c", "type": "Module", "color": "#666666"}, {"id": "m_airship_att_control", "name": "airship_att_control", "type": "Module", "color": "#666666"}, {"id": "m_flight_mode_manager", "name": "flight_mode_manager", "type": "Module", "color": "#666666"}, {"id": "m_sensor_airspeed_sim", "name": "sensor_airspeed_sim", "type": "Module", "color": "#666666"}, {"id": "m_mag_bias_estimator", "name": "mag_bias_estimator", "type": "Module", "color": "#666666"}, {"id": "m_io_bypass_control", "name": "io_bypass_control", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_is31fl3195", "name": "rgbled_is31fl3195", "type": "Module", "color": "#666666"}, {"id": "m_rover_pos_control", "name": "rover_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_airspeed_selector", "name": "airspeed_selector", "type": "Module", "color": "#666666"}, {"id": "m_simulator_mavlink", "name": "simulator_mavlink", "type": "Module", "color": "#666666"}, {"id": "m_battery_simulator", "name": "battery_simulator", "type": "Module", "color": "#666666"}, {"id": "m_payload_deliverer", "name": "payload_deliverer", "type": "Module", "color": "#666666"}, {"id": "m_control_allocator", "name": "control_allocator", "type": "Module", "color": "#666666"}, {"id": "m_vtol_att_control", "name": "vtol_att_control", "type": "Module", "color": "#666666"}, {"id": "m_uxrce_dds_client", "name": "uxrce_dds_client", "type": "Module", "color": "#666666"}, {"id": "m_gyro_calibration", "name": "gyro_calibration", "type": "Module", "color": "#666666"}, {"id": "m_template_module", "name": "template_module", "type": "Module", "color": "#666666"}, {"id": "m_pca9685_pwm_out", "name": "pca9685_pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_ncp5623c", "name": "rgbled_ncp5623c", "type": "Module", "color": "#666666"}, {"id": "m_frsky_telemetry", "name": "frsky_telemetry", "type": "Module", "color": "#666666"}, {"id": "m_camera_feedback", "name": "camera_feedback", "type": "Module", "color": "#666666"}, {"id": "m_fw_rate_control", "name": "fw_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_uuv_pos_control", "name": "uuv_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_uuv_att_control", "name": "uuv_att_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_rate_control", "name": "mc_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_baro_sim", "name": "sensor_baro_sim", "type": "Module", "color": "#666666"}, {"id": "m_camera_capture", "name": "camera_capture", "type": "Module", "color": "#666666"}, {"id": "m_ulanding_radar", "name": "ulanding_radar", "type": "Module", "color": "#666666"}, {"id": "m_hott_telemetry", "name": "hott_telemetry", "type": "Module", "color": "#666666"}, {"id": "m_camera_trigger", "name": "camera_trigger", "type": "Module", "color": "#666666"}, {"id": "m_manual_control", "name": "manual_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_pos_control", "name": "mc_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_att_control", "name": "mc_att_control", "type": "Module", "color": "#666666"}, {"id": "m_battery_status", "name": "battery_status", "type": "Module", "color": "#666666"}, {"id": "m_fw_pos_control", "name": "fw_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_fw_att_control", "name": "fw_att_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_gps_sim", "name": "sensor_gps_sim", "type": "Module", "color": "#666666"}, {"id": "m_sensor_mag_sim", "name": "sensor_mag_sim", "type": "Module", "color": "#666666"}, {"id": "m_actuator_test", "name": "actuator_test", "type": "Module", "color": "#666666"}, {"id": "m_linux_pwm_out", "name": "linux_pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_safety_button", "name": "safety_button", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_lp5562", "name": "rgbled_lp5562", "type": "Module", "color": "#666666"}, {"id": "m_land_detector", "name": "land_detector", "type": "Module", "color": "#666666"}, {"id": "m_simulator_sih", "name": "simulator_sih", "type": "Module", "color": "#666666"}, {"id": "m_tune_control", "name": "tune_control", "type": "Module", "color": "#666666"}, {"id": "m_i2c_launcher", "name": "i2c_launcher", "type": "Module", "color": "#666666"}, {"id": "m_ets_airspeed", "name": "ets_airspeed", "type": "Module", "color": "#666666"}, {"id": "m_sagetech_mxs", "name": "sagetech_mxs", "type": "Module", "color": "#666666"}, {"id": "m_led_control", "name": "led_control", "type": "Module", "color": "#666666"}, {"id": "m_mpu9250_i2c", "name": "mpu9250_i2c", "type": "Module", "color": "#666666"}, {"id": "m_pps_capture", "name": "pps_capture", "type": "Module", "color": "#666666"}, {"id": "m_lsm9ds1_mag", "name": "lsm9ds1_mag", "type": "Module", "color": "#666666"}, {"id": "m_esc_battery", "name": "esc_battery", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out_sim", "name": "pwm_out_sim", "type": "Module", "color": "#666666"}, {"id": "m_microbench", "name": "microbench", "type": "Module", "color": "#666666"}, {"id": "m_bmi088_i2c", "name": "bmi088_i2c", "type": "Module", "color": "#666666"}, {"id": "m_iam20680hp", "name": "iam20680hp", "type": "Module", "color": "#666666"}, {"id": "m_ll40ls_pwm", "name": "ll40ls_pwm", "type": "Module", "color": "#666666"}, {"id": "m_leddar_one", "name": "leddar_one", "type": "Module", "color": "#666666"}, {"id": "m_teraranger", "name": "teraranger", "type": "Module", "color": "#666666"}, {"id": "m_batt_smbus", "name": "batt_smbus", "type": "Module", "color": "#666666"}, {"id": "m_uavcannode", "name": "uavcannode", "type": "Module", "color": "#666666"}, {"id": "m_tone_alarm", "name": "tone_alarm", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_pwm", "name": "rgbled_pwm", "type": "Module", "color": "#666666"}, {"id": "m_iridiumsbd", "name": "iridiumsbd", "type": "Module", "color": "#666666"}, {"id": "m_send_event", "name": "send_event", "type": "Module", "color": "#666666"}, {"id": "m_adis16477", "name": "adis16477", "type": "Module", "color": "#666666"}, {"id": "m_adis16507", "name": "adis16507", "type": "Module", "color": "#666666"}, {"id": "m_adis16497", "name": "adis16497", "type": "Module", "color": "#666666"}, {"id": "m_adis16470", "name": "adis16470", "type": "Module", "color": "#666666"}, {"id": "m_adis16448", "name": "adis16448", "type": "Module", "color": "#666666"}, {"id": "m_icm42688p", "name": "icm42688p", "type": "Module", "color": "#666666"}, {"id": "m_icm40609d", "name": "icm40609d", "type": "Module", "color": "#666666"}, {"id": "m_icm42670p", "name": "icm42670p", "type": "Module", "color": "#666666"}, {"id": "m_icm20608g", "name": "icm20608g", "type": "Module", "color": "#666666"}, {"id": "m_pwm_input", "name": "pwm_input", "type": "Module", "color": "#666666"}, {"id": "m_tattu_can", "name": "tattu_can", "type": "Module", "color": "#666666"}, {"id": "m_board_adc", "name": "board_adc", "type": "Module", "color": "#666666"}, {"id": "m_rpi_rc_in", "name": "rpi_rc_in", "type": "Module", "color": "#666666"}, {"id": "m_vectornav", "name": "vectornav", "type": "Module", "color": "#666666"}, {"id": "m_ms5525dso", "name": "ms5525dso", "type": "Module", "color": "#666666"}, {"id": "m_mpl3115a2", "name": "mpl3115a2", "type": "Module", "color": "#666666"}, {"id": "m_tcbp001ta", "name": "tcbp001ta", "type": "Module", "color": "#666666"}, {"id": "m_uwb_sr150", "name": "uwb_sr150", "type": "Module", "color": "#666666"}, {"id": "m_thoneflow", "name": "thoneflow", "type": "Module", "color": "#666666"}, {"id": "m_lsm303agr", "name": "lsm303agr", "type": "Module", "color": "#666666"}, {"id": "m_commander", "name": "commander", "type": "Module", "color": "#666666"}, {"id": "m_navigator", "name": "navigator", "type": "Module", "color": "#666666"}, {"id": "m_rc_update", "name": "rc_update", "type": "Module", "color": "#666666"}, {"id": "m_gz_bridge", "name": "gz_bridge", "type": "Module", "color": "#666666"}, {"id": "m_icm20602", "name": "icm20602", "type": "Module", "color": "#666666"}, {"id": "m_iim42652", "name": "iim42652", "type": "Module", "color": "#666666"}, {"id": "m_icm42605", "name": "icm42605", "type": "Module", "color": "#666666"}, {"id": "m_icm20689", "name": "icm20689", "type": "Module", "color": "#666666"}, {"id": "m_iim42653", "name": "iim42653", "type": "Module", "color": "#666666"}, {"id": "m_icm45686", "name": "icm45686", "type": "Module", "color": "#666666"}, {"id": "m_icm20649", "name": "icm20649", "type": "Module", "color": "#666666"}, {"id": "m_icm20948", "name": "icm20948", "type": "Module", "color": "#666666"}, {"id": "m_modal_io", "name": "modal_io", "type": "Module", "color": "#666666"}, {"id": "m_mappydot", "name": "mappydot", "type": "Module", "color": "#666666"}, {"id": "m_ms4525do", "name": "ms4525do", "type": "Module", "color": "#666666"}, {"id": "m_icp201xx", "name": "icp201xx", "type": "Module", "color": "#666666"}, {"id": "m_icp101xx", "name": "icp101xx", "type": "Module", "color": "#666666"}, {"id": "m_roboclaw", "name": "roboclaw", "type": "Module", "color": "#666666"}, {"id": "m_neopixel", "name": "neopixel", "type": "Module", "color": "#666666"}, {"id": "m_rc_input", "name": "rc_input", "type": "Module", "color": "#666666"}, {"id": "m_vcm1193l", "name": "vcm1193l", "type": "Module", "color": "#666666"}, {"id": "m_qmc5883l", "name": "qmc5883l", "type": "Module", "color": "#666666"}, {"id": "m_gyro_fft", "name": "gyro_fft", "type": "Module", "color": "#666666"}, {"id": "m_load_mon", "name": "load_mon", "type": "Module", "color": "#666666"}, {"id": "m_failure", "name": "failure", "type": "Module", "color": "#666666"}, {"id": "m_lsm303d", "name": "lsm303d", "type": "Module", "color": "#666666"}, {"id": "m_lsm9ds1", "name": "lsm9ds1", "type": "Module", "color": "#666666"}, {"id": "m_mpu6000", "name": "mpu6000", "type": "Module", "color": "#666666"}, {"id": "m_mpu9250", "name": "mpu9250", "type": "Module", "color": "#666666"}, {"id": "m_mpu6500", "name": "mpu6500", "type": "Module", "color": "#666666"}, {"id": "m_crsf_rc", "name": "crsf_rc", "type": "Module", "color": "#666666"}, {"id": "m_ads1115", "name": "ads1115", "type": "Module", "color": "#666666"}, {"id": "m_afbrs50", "name": "afbrs50", "type": "Module", "color": "#666666"}, {"id": "m_vl53l1x", "name": "vl53l1x", "type": "Module", "color": "#666666"}, {"id": "m_cm8jl65", "name": "cm8jl65", "type": "Module", "color": "#666666"}, {"id": "m_tf02pro", "name": "tf02pro", "type": "Module", "color": "#666666"}, {"id": "m_vl53l0x", "name": "vl53l0x", "type": "Module", "color": "#666666"}, {"id": "m_gy_us42", "name": "gy_us42", "type": "Module", "color": "#666666"}, {"id": "m_tap_esc", "name": "tap_esc", "type": "Module", "color": "#666666"}, {"id": "m_asp5033", "name": "asp5033", "type": "Module", "color": "#666666"}, {"id": "m_lps22hb", "name": "lps22hb", "type": "Module", "color": "#666666"}, {"id": "m_mpc2520", "name": "mpc2520", "type": "Module", "color": "#666666"}, {"id": "m_lps33hw", "name": "lps33hw", "type": "Module", "color": "#666666"}, {"id": "m_msp_osd", "name": "msp_osd", "type": "Module", "color": "#666666"}, {"id": "m_pmw3901", "name": "pmw3901", "type": "Module", "color": "#666666"}, {"id": "m_paw3902", "name": "paw3902", "type": "Module", "color": "#666666"}, {"id": "m_px4flow", "name": "px4flow", "type": "Module", "color": "#666666"}, {"id": "m_paa3905", "name": "paa3905", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out", "name": "pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_ist8308", "name": "ist8308", "type": "Module", "color": "#666666"}, {"id": "m_ist8310", "name": "ist8310", "type": "Module", "color": "#666666"}, {"id": "m_hmc5883", "name": "hmc5883", "type": "Module", "color": "#666666"}, {"id": "m_ak09916", "name": "ak09916", "type": "Module", "color": "#666666"}, {"id": "m_lis3mdl", "name": "lis3mdl", "type": "Module", "color": "#666666"}, {"id": "m_dataman", "name": "dataman", "type": "Module", "color": "#666666"}, {"id": "m_sensors", "name": "sensors", "type": "Module", "color": "#666666"}, {"id": "m_ina226", "name": "ina226", "type": "Module", "color": "#666666"}, {"id": "m_ina228", "name": "ina228", "type": "Module", "color": "#666666"}, {"id": "m_ina220", "name": "ina220", "type": "Module", "color": "#666666"}, {"id": "m_voxlpm", "name": "voxlpm", "type": "Module", "color": "#666666"}, {"id": "m_ina238", "name": "ina238", "type": "Module", "color": "#666666"}, {"id": "m_cyphal", "name": "cyphal", "type": "Module", "color": "#666666"}, {"id": "m_heater", "name": "heater", "type": "Module", "color": "#666666"}, {"id": "m_l3gd20", "name": "l3gd20", "type": "Module", "color": "#666666"}, {"id": "m_bmi270", "name": "bmi270", "type": "Module", "color": "#666666"}, {"id": "m_bmi085", "name": "bmi085", "type": "Module", "color": "#666666"}, {"id": "m_bmi055", "name": "bmi055", "type": "Module", "color": "#666666"}, {"id": "m_bmi088", "name": "bmi088", "type": "Module", "color": "#666666"}, {"id": "m_uavcan", "name": "uavcan", "type": "Module", "color": "#666666"}, {"id": "m_mb12xx", "name": "mb12xx", "type": "Module", "color": "#666666"}, {"id": "m_ll40ls", "name": "ll40ls", "type": "Module", "color": "#666666"}, {"id": "m_pga460", "name": "pga460", "type": "Module", "color": "#666666"}, {"id": "m_tfmini", "name": "tfmini", "type": "Module", "color": "#666666"}, {"id": "m_irlock", "name": "irlock", "type": "Module", "color": "#666666"}, {"id": "m_ms4515", "name": "ms4515", "type": "Module", "color": "#666666"}, {"id": "m_dps310", "name": "dps310", "type": "Module", "color": "#666666"}, {"id": "m_lps25h", "name": "lps25h", "type": "Module", "color": "#666666"}, {"id": "m_bmp280", "name": "bmp280", "type": "Module", "color": "#666666"}, {"id": "m_ms5611", "name": "ms5611", "type": "Module", "color": "#666666"}, {"id": "m_bmp388", "name": "bmp388", "type": "Module", "color": "#666666"}, {"id": "m_ms5837", "name": "ms5837", "type": "Module", "color": "#666666"}, {"id": "m_atxxxx", "name": "atxxxx", "type": "Module", "color": "#666666"}, {"id": "m_rgbled", "name": "rgbled", "type": "Module", "color": "#666666"}, {"id": "m_batmon", "name": "batmon", "type": "Module", "color": "#666666"}, {"id": "m_bmm150", "name": "bmm150", "type": "Module", "color": "#666666"}, {"id": "m_rm3100", "name": "rm3100", "type": "Module", "color": "#666666"}, {"id": "m_ak8963", "name": "ak8963", "type": "Module", "color": "#666666"}, {"id": "m_gimbal", "name": "gimbal", "type": "Module", "color": "#666666"}, {"id": "m_logger", "name": "logger", "type": "Module", "color": "#666666"}, {"id": "m_tests", "name": "tests", "type": "Module", "color": "#666666"}, {"id": "m_px4io", "name": "px4io", "type": "Module", "color": "#666666"}, {"id": "m_srf05", "name": "srf05", "type": "Module", "color": "#666666"}, {"id": "m_srf02", "name": "srf02", "type": "Module", "color": "#666666"}, {"id": "m_sdp3x", "name": "sdp3x", "type": "Module", "color": "#666666"}, {"id": "m_spl06", "name": "spl06", "type": "Module", "color": "#666666"}, {"id": "m_dshot", "name": "dshot", "type": "Module", "color": "#666666"}, {"id": "m_ekf2", "name": "ekf2", "type": "Module", "color": "#666666"}, {"id": "m_gps", "name": "gps", "type": "Module", "color": "#666666"}, {"id": "m_bst", "name": "bst", "type": "Module", "color": "#666666"}, {"id": "t_vehicle_global_position_groundtruth", "name": "vehicle_global_position_groundtruth", "type": "topic", "color": "#d87741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_vehicle_local_position_groundtruth", "name": "vehicle_local_position_groundtruth", "type": "topic", "color": "#b1d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_position_controller_landing_status", "name": "position_controller_landing_status", "type": "topic", "color": "#41b4d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_autotune_attitude_control_status", "name": "autotune_attitude_control_status", "type": "topic", "color": "#41d8ab", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position_setpoint", "name": "vehicle_local_position_setpoint", "type": "topic", "color": "#9f41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_attitude_status", "name": "gimbal_device_attitude_status", "type": "topic", "color": "#41d8cf", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_groundtruth", "name": "vehicle_attitude_groundtruth", "type": "topic", "color": "#d8a541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitude.msg"}, {"id": "t_actuator_controls_status_0", "name": "actuator_controls_status_0", "type": "topic", "color": "#d5d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorControlsStatus.msg"}, {"id": "t_position_controller_status", "name": "position_controller_status", "type": "topic", "color": "#4441d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_position_setpoint_triplet", "name": "position_setpoint_triplet", "type": "topic", "color": "#d86541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_setpoint", "name": "vehicle_attitude_setpoint", "type": "topic", "color": "#d8d241", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_estimator_selector_status", "name": "estimator_selector_status", "type": "topic", "color": "#d84165", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tiltrotor_extra_controls", "name": "tiltrotor_extra_controls", "type": "topic", "color": "#41bdd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_control_allocator_status", "name": "control_allocator_status", "type": "topic", "color": "#4d41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_global_position", "name": "vehicle_global_position", "type": "topic", "color": "#d89241", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_vehicle_thrust_setpoint", "name": "vehicle_thrust_setpoint", "type": "topic", "color": "#56d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleThrustSetpoint.msg"}, {"id": "t_launch_detection_status", "name": "launch_detection_status", "type": "topic", "color": "#41d847", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_failure_detector_status", "name": "failure_detector_status", "type": "topic", "color": "#41d859", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_manual_control_setpoint", "name": "manual_control_setpoint", "type": "topic", "color": "#4186d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ManualControlSetpoint.msg"}, {"id": "t_vehicle_visual_odometry", "name": "vehicle_visual_odometry", "type": "topic", "color": "#4159d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_manual_control_switches", "name": "manual_control_switches", "type": "topic", "color": "#5641d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_torque_setpoint", "name": "vehicle_torque_setpoint", "type": "topic", "color": "#d84153", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleTorqueSetpoint.msg"}, {"id": "t_vehicle_rates_setpoint", "name": "vehicle_rates_setpoint", "type": "topic", "color": "#d84a41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position", "name": "vehicle_local_position", "type": "topic", "color": "#d85341", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_vehicle_mocap_odometry", "name": "vehicle_mocap_odometry", "type": "topic", "color": "#41d86b", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_estimator_status_flags", "name": "estimator_status_flags", "type": "topic", "color": "#a841d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_land_detected", "name": "vehicle_land_detected", "type": "topic", "color": "#95d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_differential_pressure", "name": "differential_pressure", "type": "topic", "color": "#8cd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_sensor_bias", "name": "estimator_sensor_bias", "type": "topic", "color": "#83d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_control_mode", "name": "vehicle_control_mode", "type": "topic", "color": "#d8c941", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleControlMode.msg"}, {"id": "t_actuator_outputs_sim", "name": "actuator_outputs_sim", "type": "topic", "color": "#8341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_actuator_servos_trim", "name": "actuator_servos_trim", "type": "topic", "color": "#d84180", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_optical_flow", "name": "sensor_optical_flow", "type": "topic", "color": "#ccd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_trajectory_setpoint", "name": "trajectory_setpoint", "type": "topic", "color": "#c3d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_target_pose", "name": "landing_target_pose", "type": "topic", "color": "#41d862", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vtol_vehicle_status", "name": "vtol_vehicle_status", "type": "topic", "color": "#41d8d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command_ack", "name": "vehicle_command_ack", "type": "topic", "color": "#41a2d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_constraints", "name": "vehicle_constraints", "type": "topic", "color": "#4199d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_power_button_state", "name": "power_button_state", "type": "topic", "color": "#41d8a2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_transponder_report", "name": "transponder_report", "type": "topic", "color": "#4174d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed_validated", "name": "airspeed_validated", "type": "topic", "color": "#4162d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensors_status_imu", "name": "sensors_status_imu", "type": "topic", "color": "#b141d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu_status", "name": "vehicle_imu_status", "type": "topic", "color": "#d84189", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear_wheel", "name": "landing_gear_wheel", "type": "topic", "color": "#d8415c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_iridiumsbd_status", "name": "iridiumsbd_status", "type": "topic", "color": "#d89c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_rtl_time_estimate", "name": "rtl_time_estimate", "type": "topic", "color": "#d8ae41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_correction", "name": "sensor_correction", "type": "topic", "color": "#41cfd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_spoilers_setpoint", "name": "spoilers_setpoint", "type": "topic", "color": "#6841d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_sensor_gyro_fifo", "name": "sensor_gyro_fifo", "type": "topic", "color": "#d86e41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_selection", "name": "sensor_selection", "type": "topic", "color": "#5fd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude", "name": "vehicle_attitude", "type": "topic", "color": "#44d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_dataman_response", "name": "dataman_response", "type": "topic", "color": "#41d874", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_outputs", "name": "actuator_outputs", "type": "topic", "color": "#d841d2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_estimator_status", "name": "estimator_status", "type": "topic", "color": "#d841c0", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_geofence_result", "name": "geofence_result", "type": "topic", "color": "#41d88f", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gps_inject_data", "name": "gps_inject_data", "type": "topic", "color": "#41d8b4", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_controls", "name": "gimbal_controls", "type": "topic", "color": "#41d8bd", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_distance_sensor", "name": "distance_sensor", "type": "topic", "color": "#418fd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_request", "name": "dataman_request", "type": "topic", "color": "#5f41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command", "name": "vehicle_command", "type": "topic", "color": "#8c41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_sensor_combined", "name": "sensor_combined", "type": "topic", "color": "#d841ae", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_motors", "name": "actuator_motors", "type": "topic", "color": "#d841a5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_armed", "name": "actuator_armed", "type": "topic", "color": "#d85c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_battery_status", "name": "battery_status", "type": "topic", "color": "#d88941", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_action_request", "name": "action_request", "type": "topic", "color": "#71d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_flaps_setpoint", "name": "flaps_setpoint", "type": "topic", "color": "#41d850", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_failsafe_flags", "name": "failsafe_flags", "type": "topic", "color": "#4147d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_status", "name": "vehicle_status", "type": "topic", "color": "#ba41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_takeoff_status", "name": "takeoff_status", "type": "topic", "color": "#cc41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mission_result", "name": "mission_result", "type": "topic", "color": "#d541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_trigger", "name": "camera_trigger", "type": "topic", "color": "#d8414a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_safety_button", "name": "safety_button", "type": "topic", "color": "#7ad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_home_position", "name": "home_position", "type": "topic", "color": "#41d8c6", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_irlock_report", "name": "irlock_report", "type": "topic", "color": "#41c6d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_test", "name": "actuator_test", "type": "topic", "color": "#417dd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_accel", "name": "sensor_accel", "type": "topic", "color": "#bad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_system_power", "name": "system_power", "type": "topic", "color": "#7a41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_px4io_status", "name": "px4io_status", "type": "topic", "color": "#d841c9", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear", "name": "landing_gear", "type": "topic", "color": "#d84177", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tune_control", "name": "tune_control", "type": "topic", "color": "#d8416e", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tecs_status", "name": "tecs_status", "type": "topic", "color": "#d84141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_pps_capture", "name": "pps_capture", "type": "topic", "color": "#d88041", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu", "name": "vehicle_imu", "type": "topic", "color": "#d8c041", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_baro", "name": "sensor_baro", "type": "topic", "color": "#68d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_roi", "name": "vehicle_roi", "type": "topic", "color": "#4dd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_led_control", "name": "led_control", "type": "topic", "color": "#7141d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gyro", "name": "sensor_gyro", "type": "topic", "color": "#d84192", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_esc_status", "name": "esc_status", "type": "topic", "color": "#d8b741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_adc_report", "name": "adc_report", "type": "topic", "color": "#9fd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_uwb", "name": "sensor_uwb", "type": "topic", "color": "#41abd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_mag", "name": "sensor_mag", "type": "topic", "color": "#d841b7", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gps", "name": "sensor_gps", "type": "topic", "color": "#d8419c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/SensorGps.msg"}, {"id": "t_pwm_input", "name": "pwm_input", "type": "topic", "color": "#41d899", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed", "name": "airspeed", "type": "topic", "color": "#41d87d", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorAidSource1d.msg"}, {"id": "t_input_rc", "name": "input_rc", "type": "topic", "color": "#9541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mission", "name": "mission", "type": "topic", "color": "#a8d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_cpuload", "name": "cpuload", "type": "topic", "color": "#41d886", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gripper", "name": "gripper", "type": "topic", "color": "#416bd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_event", "name": "event", "type": "topic", "color": "#4150d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_wind", "name": "wind", "type": "topic", "color": "#c341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/Wind.msg"}], "links": [{"source": "m_led_control", "target": "t_led_control", "color": "#7141d8", "style": "dashed"}, {"source": "m_tests", "target": "t_dataman_request", "color": "#5f41d8", "style": "dashed"}, {"source": "m_tune_control", "target": "t_tune_control", "color": "#d8416e", "style": "dashed"}, {"source": "m_io_bypass_control", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_io_bypass_control", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_actuator_test", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_failure", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_ina226", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_ina228", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_ina220", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_voxlpm", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_ina238", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_cyphal", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_linux_pwm_out", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_linux_pwm_out", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_linux_pwm_out", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_linux_pwm_out", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_l3gd20", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_l3gd20", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_lsm303d", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_lsm303d", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_lsm9ds1", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_lsm9ds1", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_lsm9ds1", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_bmi270", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_bmi270", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_bmi270", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_bmi088_i2c", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_bmi088_i2c", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_bmi088_i2c", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_bmi085", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_bmi085", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_bmi085", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_bmi055", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_bmi055", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_bmi055", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_bmi088", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_bmi088", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_bmi088", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_adis16477", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_adis16477", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_adis16477", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_adis16507", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_adis16507", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_adis16507", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_adis16497", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_adis16497", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_adis16497", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_adis16470", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_adis16470", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_adis16470", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_icm42688p", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm42688p", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm42688p", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_mpu6000", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_mpu6000", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_mpu6000", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_iim42652", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_iim42652", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_iim42652", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm42605", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm42605", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm42605", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_mpu9250_i2c", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_mpu9250_i2c", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_mpu9250_i2c", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm40609d", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm40609d", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm40609d", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_iam20680hp", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_iam20680hp", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_iam20680hp", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm20689", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm20689", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm20689", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_iim42653", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_iim42653", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_iim42653", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm45686", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm45686", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm45686", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_mpu6500", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_mpu6500", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_mpu6500", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm42670p", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm42670p", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm42670p", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm20649", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm20649", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm20649", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm20608g", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm20608g", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm20608g", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_pwm_input", "target": "t_pwm_input", "color": "#41d899", "style": "dashed"}, {"source": "m_px4io", "target": "t_px4io_status", "color": "#d841c9", "style": "dashed"}, {"source": "m_px4io", "target": "t_tune_control", "color": "#d8416e", "style": "dashed"}, {"source": "m_px4io", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_input_rc", "color": "#9541d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_px4io", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_led_control", "color": "#7141d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_px4io", "target": "t_safety_button", "color": "#7ad841", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_tattu_can", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_camera_capture", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_camera_capture", "target": "t_camera_trigger", "color": "#d8414a", "style": "dashed"}, {"source": "m_gps", "target": "t_sensor_gps", "color": "#d8419c", "style": "dashed"}, {"source": "m_gps", "target": "t_gps_inject_data", "color": "#41d8b4", "style": "dashed"}, {"source": "m_crsf_rc", "target": "t_input_rc", "color": "#9541d8", "style": "dashed"}, {"source": "m_ads1115", "target": "t_adc_report", "color": "#9fd841", "style": "dashed"}, {"source": "m_board_adc", "target": "t_system_power", "color": "#7a41d8", "style": "dashed"}, {"source": "m_board_adc", "target": "t_adc_report", "color": "#9fd841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_tune_control", "color": "#d8416e", "style": "dashed"}, {"source": "m_uavcan", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_uavcan", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_safety_button", "color": "#7ad841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_led_control", "color": "#7141d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_uavcan", "target": "t_esc_status", "color": "#d8b741", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_modal_io", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_modal_io", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_modal_io", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_modal_io", "target": "t_esc_status", "color": "#d8b741", "style": "dashed"}, {"source": "m_modal_io", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_srf05", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_mb12xx", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_afbrs50", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_srf02", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_vl53l1x", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_ll40ls_pwm", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_lightware_sf45_serial", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_lightware_laser_i2c", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_ll40ls", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_leddar_one", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_pga460", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_cm8jl65", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_lightware_laser_serial", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_teraranger", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_tf02pro", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_vl53l0x", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_gy_us42", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_ulanding_radar", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_tfmini", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_mappydot", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_rpi_rc_in", "target": "t_input_rc", "color": "#9541d8", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_esc_status", "color": "#d8b741", "style": "dashed"}, {"source": "m_tap_esc", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_batt_smbus", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_irlock", "target": "t_irlock_report", "color": "#41c6d8", "style": "dashed"}, {"source": "m_safety_button", "target": "t_safety_button", "color": "#7ad841", "style": "dashed"}, {"source": "m_safety_button", "target": "t_tune_control", "color": "#d8416e", "style": "dashed"}, {"source": "m_safety_button", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_safety_button", "target": "t_led_control", "color": "#7141d8", "style": "dashed"}, {"source": "m_vectornav", "target": "t_estimator_status", "color": "#d841c0", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_gps", "color": "#d8419c", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_selection", "color": "#5fd841", "style": "dashed"}, {"source": "m_sdp3x", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_ms5525dso", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_ms4515", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_asp5033", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_ms4525do", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_ets_airspeed", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_tune_control", "color": "#d8416e", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_led_control", "color": "#7141d8", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_uavcannode", "target": "t_gps_inject_data", "color": "#41d8b4", "style": "dashed"}, {"source": "m_lps22hb", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_dps310", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_mpl3115a2", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_lps25h", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_bmp280", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_ms5611", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_tcbp001ta", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_spl06", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_mpc2520", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_lps33hw", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_icp201xx", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_icp101xx", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_bmp388", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_ms5837", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_tone_alarm", "target": "t_tune_control", "color": "#d8416e", "style": "dashed"}, {"source": "m_pps_capture", "target": "t_pps_capture", "color": "#d88041", "style": "dashed"}, {"source": "m_uwb_sr150", "target": "t_sensor_uwb", "color": "#41abd8", "style": "dashed"}, {"source": "m_iridiumsbd", "target": "t_iridiumsbd_status", "color": "#d89c41", "style": "dashed"}, {"source": "m_hott_telemetry", "target": "t_esc_status", "color": "#d8b741", "style": "dashed"}, {"source": "m_sagetech_mxs", "target": "t_transponder_report", "color": "#4174d8", "style": "dashed"}, {"source": "m_batmon", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_rc_input", "target": "t_input_rc", "color": "#9541d8", "style": "dashed"}, {"source": "m_rc_input", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_rc_input", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_pmw3901", "target": "t_sensor_optical_flow", "color": "#ccd841", "style": "dashed"}, {"source": "m_paw3902", "target": "t_sensor_optical_flow", "color": "#ccd841", "style": "dashed"}, {"source": "m_px4flow", "target": "t_sensor_optical_flow", "color": "#ccd841", "style": "dashed"}, {"source": "m_paa3905", "target": "t_sensor_optical_flow", "color": "#ccd841", "style": "dashed"}, {"source": "m_thoneflow", "target": "t_sensor_optical_flow", "color": "#ccd841", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_dshot", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_dshot", "target": "t_esc_status", "color": "#d8b741", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_camera_trigger", "color": "#d8414a", "style": "dashed"}, {"source": "m_bmm150", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_lsm303agr", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_vcm1193l", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_qmc5883l", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_ist8308", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_ist8310", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_hmc5883", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_rm3100", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_ak09916", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_ak8963", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_lis3mdl", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_lsm9ds1_mag", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_commander", "target": "t_failsafe_flags", "color": "#4147d8", "style": "dashed"}, {"source": "m_commander", "target": "t_tune_control", "color": "#d8416e", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_control_mode", "color": "#d8c941", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_status", "color": "#ba41d8", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_commander", "target": "t_failure_detector_status", "color": "#41d859", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_commander", "target": "t_event", "color": "#4150d8", "style": "dashed"}, {"source": "m_commander", "target": "t_power_button_state", "color": "#41d8a2", "style": "dashed"}, {"source": "m_commander", "target": "t_led_control", "color": "#7141d8", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_commander", "target": "t_home_position", "color": "#41d8c6", "style": "dashed"}, {"source": "m_fw_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#41d8ab", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vtol_vehicle_status", "color": "#41d8d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_tiltrotor_extra_controls", "color": "#41bdd8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_attitude_setpoint", "color": "#d8d241", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_flaps_setpoint", "color": "#41d850", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d84153", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_spoilers_setpoint", "color": "#6841d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#56d841", "style": "dashed"}, {"source": "m_airship_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#56d841", "style": "dashed"}, {"source": "m_airship_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d84153", "style": "dashed"}, {"source": "m_landing_target_estimator", "target": "t_landing_target_pose", "color": "#41d862", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_led_control", "color": "#7141d8", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_sensor_correction", "color": "#41cfd8", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d8d241", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_thrust_setpoint", "color": "#56d841", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_position_controller_status", "color": "#4441d8", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_torque_setpoint", "color": "#d84153", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_attitude_status", "color": "#41d8cf", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_controls", "color": "#41d8bd", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_action_request", "color": "#71d841", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_status", "color": "#ba41d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_setpoint", "color": "#4186d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_switches", "color": "#5641d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_landing_gear", "color": "#d84177", "style": "dashed"}, {"source": "m_mc_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#41d8ab", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_vehicle_constraints", "color": "#4199d8", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_landing_gear", "color": "#d84177", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_trajectory_setpoint", "color": "#c3d841", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d84a41", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_spoilers_setpoint", "color": "#6841d8", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_flaps_setpoint", "color": "#41d850", "style": "dashed"}, {"source": "m_load_mon", "target": "t_cpuload", "color": "#41d886", "style": "dashed"}, {"source": "m_uuv_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d8d241", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_constraints", "color": "#4199d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_takeoff_status", "color": "#cc41d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d8d241", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#9f41d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_trajectory_setpoint", "color": "#c3d841", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_estimator_status", "color": "#d841c0", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_global_position", "color": "#d89241", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_local_position", "color": "#d85341", "style": "dashed"}, {"source": "m_send_event", "target": "t_tune_control", "color": "#d8416e", "style": "dashed"}, {"source": "m_send_event", "target": "t_led_control", "color": "#7141d8", "style": "dashed"}, {"source": "m_send_event", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission", "color": "#a8d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_transponder_report", "color": "#4174d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_status", "color": "#ba41d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_position_setpoint_triplet", "color": "#d86541", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission_result", "color": "#d541d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_land_detected", "color": "#95d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_geofence_result", "color": "#41d88f", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_dataman_request", "color": "#5f41d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_global_position", "color": "#d89241", "style": "dashed"}, {"source": "m_navigator", "target": "t_rtl_time_estimate", "color": "#d8ae41", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_roi", "color": "#4dd841", "style": "dashed"}, {"source": "m_navigator", "target": "t_home_position", "color": "#41d8c6", "style": "dashed"}, {"source": "m_airspeed_selector", "target": "t_airspeed_validated", "color": "#4162d8", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#56d841", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d84153", "style": "dashed"}, {"source": "m_mc_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d84a41", "style": "dashed"}, {"source": "m_battery_status", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d84a41", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_actuator_controls_status_0", "color": "#d5d841", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_status", "color": "#4441d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_launch_detection_status", "color": "#41d847", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_flaps_setpoint", "color": "#41d850", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_landing_status", "color": "#41b4d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_tecs_status", "color": "#d84141", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_spoilers_setpoint", "color": "#6841d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#9f41d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_landing_gear", "color": "#d84177", "style": "dashed"}, {"source": "m_attitude_estimator_q", "target": "t_vehicle_attitude", "color": "#44d841", "style": "dashed"}, {"source": "m_dataman", "target": "t_dataman_response", "color": "#41d874", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_sensor_bias", "color": "#83d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status_flags", "color": "#a841d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_local_position", "color": "#d85341", "style": "dashed"}, {"source": "m_ekf2", "target": "t_wind", "color": "#c341d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_sensor_selection", "color": "#5fd841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_global_position", "color": "#d89241", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_attitude", "color": "#44d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status", "color": "#d841c0", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_selector_status", "color": "#d84165", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d84a41", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_landing_gear_wheel", "color": "#d8415c", "style": "dashed"}, {"source": "m_esc_battery", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_land_detector", "target": "t_vehicle_land_detected", "color": "#95d841", "style": "dashed"}, {"source": "m_rc_update", "target": "t_manual_control_switches", "color": "#5641d8", "style": "dashed"}, {"source": "m_uxrce_dds_client", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs_sim", "color": "#8341d8", "style": "dashed"}, {"source": "m_sensor_gps_sim", "target": "t_sensor_gps", "color": "#d8419c", "style": "dashed"}, {"source": "m_sensor_mag_sim", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_sensor_airspeed_sim", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_distance_sensor", "color": "#418fd8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_global_position_groundtruth", "color": "#d87741", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_attitude_groundtruth", "color": "#d8a541", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_airspeed", "color": "#41d87d", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_local_position_groundtruth", "color": "#b1d841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_irlock_report", "color": "#41c6d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_input_rc", "color": "#9541d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_gyro_fifo", "color": "#d86e41", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_global_position_groundtruth", "color": "#d87741", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_attitude_groundtruth", "color": "#d8a541", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_esc_status", "color": "#d8b741", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_mag", "color": "#d841b7", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_visual_odometry", "color": "#4159d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_mocap_odometry", "color": "#41d86b", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_optical_flow", "color": "#ccd841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_local_position_groundtruth", "color": "#b1d841", "style": "dashed"}, {"source": "m_sensor_baro_sim", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_accel", "color": "#bad841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_global_position_groundtruth", "color": "#d87741", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_gyro", "color": "#d84192", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_visual_odometry", "color": "#4159d8", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_test", "color": "#417dd8", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_baro", "color": "#68d841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_attitude_groundtruth", "color": "#d8a541", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_armed", "color": "#d85c41", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_esc_status", "color": "#d8b741", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_outputs", "color": "#d841d2", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_local_position_groundtruth", "color": "#b1d841", "style": "dashed"}, {"source": "m_battery_simulator", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_battery_simulator", "target": "t_battery_status", "color": "#d88941", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_vehicle_command", "color": "#8c41d8", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_gripper", "color": "#416bd8", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_servos_trim", "color": "#d84180", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_motors", "color": "#d841a5", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_control_allocator_status", "color": "#4d41d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_combined", "color": "#d841ae", "style": "dashed"}, {"source": "m_sensors", "target": "t_differential_pressure", "color": "#8cd841", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu_status", "color": "#d84189", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_selection", "color": "#5fd841", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensors_status_imu", "color": "#b141d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_airspeed", "color": "#41d87d", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu", "color": "#d8c041", "style": "dashed"}, {"source": "m_logger", "target": "t_vehicle_command_ack", "color": "#41a2d8", "style": "dashed"}, {"source": "t_input_rc", "target": "m_tests", "color": "#9541d8", "style": "normal"}, {"source": "t_dataman_response", "target": "m_tests", "color": "#41d874", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_io_bypass_control", "color": "#d841d2", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_i2c_launcher", "color": "#ba41d8", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_microbench", "color": "#4147d8", "style": "normal"}, {"source": "t_sensor_gyro_fifo", "target": "m_microbench", "color": "#d86e41", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_microbench", "color": "#d84192", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_microbench", "color": "#d85341", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_failure", "color": "#41a2d8", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_template_module", "color": "#d841ae", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina226", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina226", "color": "#56d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina228", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina228", "color": "#56d841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pm_selector_auterion", "color": "#d85c41", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina220", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina220", "color": "#56d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_voxlpm", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_voxlpm", "color": "#56d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina238", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina238", "color": "#56d841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_cyphal", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_cyphal", "color": "#d85c41", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_cyphal", "color": "#d8419c", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_heater", "color": "#bad841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_linux_pwm_out", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_linux_pwm_out", "color": "#416bd8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_linux_pwm_out", "color": "#d841a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_linux_pwm_out", "color": "#d8415c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_linux_pwm_out", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_linux_pwm_out", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_linux_pwm_out", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_linux_pwm_out", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_linux_pwm_out", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_linux_pwm_out", "color": "#41d8bd", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_px4io", "color": "#ba41d8", "style": "normal"}, {"source": "t_px4io_status", "target": "m_px4io", "color": "#d841c9", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_px4io", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_px4io", "color": "#416bd8", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_px4io", "color": "#d8415c", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_px4io", "color": "#d841a5", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_px4io", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_px4io", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_px4io", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_px4io", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_px4io", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_px4io", "color": "#41d8bd", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_camera_capture", "color": "#8c41d8", "style": "normal"}, {"source": "t_pps_capture", "target": "m_camera_capture", "color": "#d88041", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_gps", "color": "#41d8b4", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_crsf_rc", "color": "#ba41d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_crsf_rc", "color": "#d88941", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_crsf_rc", "color": "#44d841", "style": "normal"}, {"source": "t_adc_report", "target": "m_board_adc", "color": "#9fd841", "style": "normal"}, {"source": "t_tune_control", "target": "m_uavcan", "color": "#d8416e", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_uavcan", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_uavcan", "color": "#416bd8", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_uavcan", "color": "#d8415c", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_uavcan", "color": "#d841a5", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uavcan", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_uavcan", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_uavcan", "color": "#d84177", "style": "normal"}, {"source": "t_led_control", "target": "m_uavcan", "color": "#7141d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_uavcan", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_uavcan", "color": "#d85c41", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_uavcan", "color": "#41d8b4", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_uavcan", "color": "#41d8bd", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_modal_io", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_modal_io", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_modal_io", "color": "#416bd8", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_modal_io", "color": "#d8415c", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_modal_io", "color": "#d841a5", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_modal_io", "color": "#4186d8", "style": "normal"}, {"source": "t_led_control", "target": "m_modal_io", "color": "#7141d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_modal_io", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_modal_io", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_modal_io", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_modal_io", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_modal_io", "color": "#41d8bd", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pca9685_pwm_out", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_pca9685_pwm_out", "color": "#416bd8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pca9685_pwm_out", "color": "#d841a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pca9685_pwm_out", "color": "#d8415c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pca9685_pwm_out", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pca9685_pwm_out", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pca9685_pwm_out", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pca9685_pwm_out", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pca9685_pwm_out", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pca9685_pwm_out", "color": "#41d8bd", "style": "normal"}, {"source": "t_pwm_input", "target": "m_ll40ls_pwm", "color": "#41d899", "style": "normal"}, {"source": "t_tune_control", "target": "m_tap_esc", "color": "#d8416e", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_tap_esc", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_tap_esc", "color": "#416bd8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_tap_esc", "color": "#d841a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_tap_esc", "color": "#d8415c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_tap_esc", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_tap_esc", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_tap_esc", "color": "#d84177", "style": "normal"}, {"source": "t_led_control", "target": "m_tap_esc", "color": "#7141d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_tap_esc", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_tap_esc", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_tap_esc", "color": "#41d8bd", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_safety_button", "color": "#d85c41", "style": "normal"}, {"source": "t_tune_control", "target": "m_tone_alarm", "color": "#d8416e", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_roboclaw", "color": "#d85c41", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_pps_capture", "color": "#d8419c", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_msp_osd", "color": "#ba41d8", "style": "normal"}, {"source": "t_home_position", "target": "m_msp_osd", "color": "#41d8c6", "style": "normal"}, {"source": "t_input_rc", "target": "m_msp_osd", "color": "#9541d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_msp_osd", "color": "#4162d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_msp_osd", "color": "#d88941", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_msp_osd", "color": "#d89241", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_msp_osd", "color": "#d85341", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_msp_osd", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_atxxxx", "color": "#ba41d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_atxxxx", "color": "#d88941", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_atxxxx", "color": "#d85341", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled", "color": "#7141d8", "style": "normal"}, {"source": "t_led_control", "target": "m_neopixel", "color": "#7141d8", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_lp5562", "color": "#7141d8", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_pwm", "color": "#7141d8", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_ncp5623c", "color": "#7141d8", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_is31fl3195", "color": "#7141d8", "style": "normal"}, {"source": "t_sensor_uwb", "target": "m_uwb_sr150", "color": "#41abd8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_frsky_telemetry", "color": "#ba41d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_frsky_telemetry", "color": "#d88941", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_frsky_telemetry", "color": "#d89241", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_frsky_telemetry", "color": "#d85341", "style": "normal"}, {"source": "t_battery_status", "target": "m_hott_telemetry", "color": "#d88941", "style": "normal"}, {"source": "t_esc_status", "target": "m_hott_telemetry", "color": "#d8b741", "style": "normal"}, {"source": "t_airspeed", "target": "m_hott_telemetry", "color": "#41d87d", "style": "normal"}, {"source": "t_home_position", "target": "m_hott_telemetry", "color": "#41d8c6", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_bst", "color": "#44d841", "style": "normal"}, {"source": "t_battery_status", "target": "m_bst", "color": "#d88941", "style": "normal"}, {"source": "t_transponder_report", "target": "m_sagetech_mxs", "color": "#4174d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_sagetech_mxs", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_sagetech_mxs", "color": "#95d841", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_sagetech_mxs", "color": "#d8419c", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_rc_input", "color": "#ba41d8", "style": "normal"}, {"source": "t_adc_report", "target": "m_rc_input", "color": "#9fd841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_rc_input", "color": "#8c41d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_rc_input", "color": "#d88941", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rc_input", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_pwm_out", "color": "#416bd8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out", "color": "#d841a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out", "color": "#d8415c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out", "color": "#41d8bd", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_dshot", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_dshot", "color": "#416bd8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_dshot", "color": "#d841a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_dshot", "color": "#d8415c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_dshot", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_dshot", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_dshot", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_dshot", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_dshot", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_dshot", "color": "#41d8bd", "style": "normal"}, {"source": "t_pps_capture", "target": "m_camera_trigger", "color": "#d88041", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_camera_trigger", "color": "#8c41d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_camera_trigger", "color": "#d85341", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_commander", "color": "#41d8d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_commander", "color": "#8c41d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_commander", "color": "#41cfd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_commander", "color": "#95d841", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_commander", "color": "#8cd841", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_commander", "color": "#41a2d8", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_commander", "color": "#83d841", "style": "normal"}, {"source": "t_estimator_status_flags", "target": "m_commander", "color": "#a841d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_commander", "color": "#d85341", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_commander", "color": "#b141d8", "style": "normal"}, {"source": "t_safety_button", "target": "m_commander", "color": "#7ad841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_commander", "color": "#d85c41", "style": "normal"}, {"source": "t_action_request", "target": "m_commander", "color": "#71d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_commander", "color": "#ba41d8", "style": "normal"}, {"source": "t_wind", "target": "m_commander", "color": "#c341d8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_commander", "color": "#418fd8", "style": "normal"}, {"source": "t_mission_result", "target": "m_commander", "color": "#d541d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_commander", "color": "#4186d8", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_commander", "color": "#68d841", "style": "normal"}, {"source": "t_iridiumsbd_status", "target": "m_commander", "color": "#d89c41", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_commander", "color": "#d89241", "style": "normal"}, {"source": "t_battery_status", "target": "m_commander", "color": "#d88941", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_commander", "color": "#5fd841", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_commander", "color": "#d8ae41", "style": "normal"}, {"source": "t_esc_status", "target": "m_commander", "color": "#d8b741", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_commander", "color": "#44d841", "style": "normal"}, {"source": "t_estimator_status", "target": "m_commander", "color": "#d841c0", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_commander", "color": "#d841b7", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_commander", "color": "#d841a5", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_commander", "color": "#d8419c", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_commander", "color": "#d84192", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_commander", "color": "#d84189", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_commander", "color": "#4162d8", "style": "normal"}, {"source": "t_event", "target": "m_commander", "color": "#4150d8", "style": "normal"}, {"source": "t_cpuload", "target": "m_commander", "color": "#41d886", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_commander", "color": "#d84165", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_commander", "color": "#bad841", "style": "normal"}, {"source": "t_geofence_result", "target": "m_commander", "color": "#41d88f", "style": "normal"}, {"source": "t_pwm_input", "target": "m_commander", "color": "#41d899", "style": "normal"}, {"source": "t_power_button_state", "target": "m_commander", "color": "#41d8a2", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_commander", "color": "#5641d8", "style": "normal"}, {"source": "t_system_power", "target": "m_commander", "color": "#7a41d8", "style": "normal"}, {"source": "t_home_position", "target": "m_commander", "color": "#41d8c6", "style": "normal"}, {"source": "t_sensor_gyro_fifo", "target": "m_gyro_fft", "color": "#d86e41", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_gyro_fft", "color": "#5fd841", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_gyro_fft", "color": "#d84192", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_gyro_fft", "color": "#d84189", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_autotune_attitude_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_autotune_attitude_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_vtol_att_control", "color": "#8c41d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_vtol_att_control", "color": "#95d841", "style": "normal"}, {"source": "t_tecs_status", "target": "m_vtol_att_control", "color": "#d84141", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_vtol_att_control", "color": "#9f41d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_vtol_att_control", "color": "#d85341", "style": "normal"}, {"source": "t_action_request", "target": "m_vtol_att_control", "color": "#71d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_vtol_att_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_vtol_att_control", "color": "#d86541", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_vtol_att_control", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_vtol_att_control", "color": "#d8c941", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_vtol_att_control", "color": "#4162d8", "style": "normal"}, {"source": "t_home_position", "target": "m_vtol_att_control", "color": "#41d8c6", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_airship_att_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_airship_att_control", "color": "#4186d8", "style": "normal"}, {"source": "t_irlock_report", "target": "m_landing_target_estimator", "color": "#41c6d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_landing_target_estimator", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_landing_target_estimator", "color": "#d85341", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_temperature_compensation", "color": "#8c41d8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_temperature_compensation", "color": "#d841b7", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_temperature_compensation", "color": "#bad841", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_temperature_compensation", "color": "#d84192", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_temperature_compensation", "color": "#68d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_rover_pos_control", "color": "#d8c941", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_rover_pos_control", "color": "#d86541", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_rover_pos_control", "color": "#d8d241", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_rover_pos_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_rover_pos_control", "color": "#d89241", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_rover_pos_control", "color": "#d85341", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rover_pos_control", "color": "#44d841", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_rover_pos_control", "color": "#c3d841", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_camera_feedback", "color": "#41d8cf", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_camera_feedback", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_camera_feedback", "color": "#d89241", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_camera_feedback", "color": "#d8414a", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_gimbal", "color": "#41d8cf", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_gimbal", "color": "#d86541", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_gimbal", "color": "#8c41d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_gimbal", "color": "#95d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_gimbal", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_gimbal", "color": "#d89241", "style": "normal"}, {"source": "t_vehicle_roi", "target": "m_gimbal", "color": "#4dd841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_gimbal", "color": "#44d841", "style": "normal"}, {"source": "t_action_request", "target": "m_manual_control", "color": "#71d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_manual_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_manual_control", "color": "#5641d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_manual_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_autotune_attitude_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#d84153", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_controls_status_0", "target": "m_mc_autotune_attitude_control", "color": "#d5d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_flight_mode_manager", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_flight_mode_manager", "color": "#d8c941", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_flight_mode_manager", "color": "#cc41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_flight_mode_manager", "color": "#8c41d8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_flight_mode_manager", "color": "#d8d241", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_flight_mode_manager", "color": "#95d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_flight_mode_manager", "color": "#d85341", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mag_bias_estimator", "color": "#d841b7", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mag_bias_estimator", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_rate_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_rate_control", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_rate_control", "color": "#95d841", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_rate_control", "color": "#4162d8", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_fw_rate_control", "color": "#4d41d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_rate_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_fw_rate_control", "color": "#d84a41", "style": "normal"}, {"source": "t_battery_status", "target": "m_fw_rate_control", "color": "#d88941", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_pos_control", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_uuv_pos_control", "color": "#d85341", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_pos_control", "color": "#44d841", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_uuv_pos_control", "color": "#c3d841", "style": "normal"}, {"source": "t_vehicle_constraints", "target": "m_mc_pos_control", "color": "#4199d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_pos_control", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_pos_control", "color": "#95d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_pos_control", "color": "#d85341", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_mc_pos_control", "color": "#c3d841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_local_position_estimator", "color": "#8c41d8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_local_position_estimator", "color": "#418fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_local_position_estimator", "color": "#95d841", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_local_position_estimator", "color": "#d841ae", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_local_position_estimator", "color": "#4159d8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_local_position_estimator", "color": "#41d862", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_local_position_estimator", "color": "#41d86b", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_local_position_estimator", "color": "#d85c41", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_local_position_estimator", "color": "#44d841", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_send_event", "color": "#4147d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_send_event", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_send_event", "color": "#8c41d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_send_event", "color": "#d88941", "style": "normal"}, {"source": "t_cpuload", "target": "m_send_event", "color": "#41d886", "style": "normal"}, {"source": "t_mission", "target": "m_navigator", "color": "#a8d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_navigator", "color": "#ba41d8", "style": "normal"}, {"source": "t_transponder_report", "target": "m_navigator", "color": "#4174d8", "style": "normal"}, {"source": "t_wind", "target": "m_navigator", "color": "#c341d8", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_navigator", "color": "#4441d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_navigator", "color": "#8c41d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_navigator", "color": "#95d841", "style": "normal"}, {"source": "t_position_controller_landing_status", "target": "m_navigator", "color": "#41b4d8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_navigator", "color": "#41d862", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_navigator", "color": "#d89241", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_navigator", "color": "#d85341", "style": "normal"}, {"source": "t_dataman_response", "target": "m_navigator", "color": "#41d874", "style": "normal"}, {"source": "t_home_position", "target": "m_navigator", "color": "#41d8c6", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_airspeed_selector", "color": "#ba41d8", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_airspeed_selector", "color": "#41d8d8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_airspeed_selector", "color": "#d84165", "style": "normal"}, {"source": "t_estimator_status", "target": "m_airspeed_selector", "color": "#d841c0", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_airspeed_selector", "color": "#95d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_airspeed_selector", "color": "#d85341", "style": "normal"}, {"source": "t_airspeed", "target": "m_airspeed_selector", "color": "#41d87d", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_airspeed_selector", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_att_control", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_uuv_att_control", "color": "#d8d241", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_uuv_att_control", "color": "#d84a41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uuv_att_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_att_control", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_att_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_att_control", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mc_att_control", "color": "#d8d241", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_att_control", "color": "#95d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_att_control", "color": "#4186d8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mc_att_control", "color": "#41d8ab", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_att_control", "color": "#d85341", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mc_att_control", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_battery_status", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_battery_status", "color": "#56d841", "style": "normal"}, {"source": "t_adc_report", "target": "m_battery_status", "color": "#9fd841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_rate_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_rate_control", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_rate_control", "color": "#95d841", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_mc_rate_control", "color": "#4d41d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_rate_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mc_rate_control", "color": "#d84a41", "style": "normal"}, {"source": "t_battery_status", "target": "m_mc_rate_control", "color": "#d88941", "style": "normal"}, {"source": "t_wind", "target": "m_fw_pos_control", "color": "#c341d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_pos_control", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_pos_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_fw_pos_control", "color": "#d86541", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_fw_pos_control", "color": "#8c41d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_pos_control", "color": "#95d841", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_pos_control", "color": "#4162d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_pos_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_fw_pos_control", "color": "#d89241", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_pos_control", "color": "#d85341", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_pos_control", "color": "#44d841", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_fw_pos_control", "color": "#c3d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_attitude_estimator_q", "color": "#d85341", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_attitude_estimator_q", "color": "#d841ae", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_attitude_estimator_q", "color": "#4159d8", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_attitude_estimator_q", "color": "#41d86b", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_attitude_estimator_q", "color": "#44d841", "style": "normal"}, {"source": "t_dataman_request", "target": "m_dataman", "color": "#5f41d8", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_ekf2", "color": "#b141d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ekf2", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_ekf2", "color": "#8c41d8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_ekf2", "color": "#418fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_ekf2", "color": "#95d841", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_ekf2", "color": "#d841ae", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_ekf2", "color": "#4162d8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_ekf2", "color": "#4159d8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_ekf2", "color": "#41d862", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_ekf2", "color": "#5fd841", "style": "normal"}, {"source": "t_airspeed", "target": "m_ekf2", "color": "#41d87d", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_ekf2", "color": "#d8c041", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_att_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_att_control", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_fw_att_control", "color": "#d8d241", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_att_control", "color": "#95d841", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_att_control", "color": "#4162d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_att_control", "color": "#4186d8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_fw_att_control", "color": "#41d8ab", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_att_control", "color": "#d85341", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_att_control", "color": "#44d841", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_esc_battery", "color": "#56d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_esc_battery", "color": "#ba41d8", "style": "normal"}, {"source": "t_esc_status", "target": "m_esc_battery", "color": "#d8b741", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_land_detector", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_land_detector", "color": "#d8c941", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_land_detector", "color": "#cc41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_land_detector", "color": "#56d841", "style": "normal"}, {"source": "t_launch_detection_status", "target": "m_land_detector", "color": "#41d847", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_land_detector", "color": "#4162d8", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_land_detector", "color": "#d84189", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_land_detector", "color": "#5fd841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_land_detector", "color": "#d85341", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_land_detector", "color": "#d85c41", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_land_detector", "color": "#c3d841", "style": "normal"}, {"source": "t_input_rc", "target": "m_rc_update", "color": "#9541d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_rc_update", "color": "#5641d8", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_uxrce_dds_client", "color": "#41a2d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_gyro_calibration", "color": "#ba41d8", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_gyro_calibration", "color": "#bad841", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_gyro_calibration", "color": "#d84192", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_gyro_calibration", "color": "#41cfd8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out_sim", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_pwm_out_sim", "color": "#416bd8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out_sim", "color": "#d841a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out_sim", "color": "#d8415c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out_sim", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out_sim", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out_sim", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out_sim", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out_sim", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out_sim", "color": "#41d8bd", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#b1d841", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#d87741", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_sensor_mag_sim", "color": "#d8a541", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_mag_sim", "color": "#d87741", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_airspeed_sim", "color": "#d87741", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_sensor_airspeed_sim", "color": "#b1d841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_sensor_airspeed_sim", "color": "#44d841", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_simulator_sih", "color": "#d841d2", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_simulator_sih", "color": "#8341d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_simulator_mavlink", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_simulator_mavlink", "color": "#8c41d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_simulator_mavlink", "color": "#d88941", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_simulator_mavlink", "color": "#d841d2", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_simulator_mavlink", "color": "#8341d8", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_baro_sim", "color": "#d87741", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_gz_bridge", "color": "#8c41d8", "style": "normal"}, {"source": "t_gripper", "target": "m_gz_bridge", "color": "#416bd8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_gz_bridge", "color": "#d841a5", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_gz_bridge", "color": "#d8415c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_gz_bridge", "color": "#4186d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_gz_bridge", "color": "#d84180", "style": "normal"}, {"source": "t_landing_gear", "target": "m_gz_bridge", "color": "#d84177", "style": "normal"}, {"source": "t_actuator_test", "target": "m_gz_bridge", "color": "#417dd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_gz_bridge", "color": "#d85c41", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_gz_bridge", "color": "#41d8bd", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_battery_simulator", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_battery_simulator", "color": "#56d841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_battery_simulator", "color": "#8c41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_payload_deliverer", "color": "#8c41d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_control_allocator", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_control_allocator", "color": "#d8c941", "style": "normal"}, {"source": "t_tiltrotor_extra_controls", "target": "m_control_allocator", "color": "#41bdd8", "style": "normal"}, {"source": "t_flaps_setpoint", "target": "m_control_allocator", "color": "#41d850", "style": "normal"}, {"source": "t_failure_detector_status", "target": "m_control_allocator", "color": "#41d859", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_control_allocator", "color": "#d84153", "style": "normal"}, {"source": "t_spoilers_setpoint", "target": "m_control_allocator", "color": "#6841d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_control_allocator", "color": "#5641d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_control_allocator", "color": "#56d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_sensors", "color": "#d8c941", "style": "normal"}, {"source": "t_adc_report", "target": "m_sensors", "color": "#9fd841", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_sensors", "color": "#41cfd8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_sensors", "color": "#d841b7", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_sensors", "color": "#bad841", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_sensors", "color": "#d84192", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_sensors", "color": "#8cd841", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_sensors", "color": "#d84189", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_sensors", "color": "#83d841", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_sensors", "color": "#5fd841", "style": "normal"}, {"source": "t_sensor_optical_flow", "target": "m_sensors", "color": "#ccd841", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_sensors", "color": "#d8c041", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_logger", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_logger", "color": "#8c41d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_logger", "color": "#4186d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_logger", "color": "#d88941", "style": "normal"}]} \ No newline at end of file diff --git a/public/en/middleware/graph_px4_fmu-v2.json b/public/en/middleware/graph_px4_fmu-v2.json new file mode 100644 index 000000000000..45f0d080e722 --- /dev/null +++ b/public/en/middleware/graph_px4_fmu-v2.json @@ -0,0 +1 @@ +{"nodes": [{"id": "m_flight_mode_manager", "name": "flight_mode_manager", "type": "Module", "color": "#666666"}, {"id": "m_control_allocator", "name": "control_allocator", "type": "Module", "color": "#666666"}, {"id": "m_mc_rate_control", "name": "mc_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_battery_status", "name": "battery_status", "type": "Module", "color": "#666666"}, {"id": "m_manual_control", "name": "manual_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_att_control", "name": "mc_att_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_pos_control", "name": "mc_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_land_detector", "name": "land_detector", "type": "Module", "color": "#666666"}, {"id": "m_tune_control", "name": "tune_control", "type": "Module", "color": "#666666"}, {"id": "m_tone_alarm", "name": "tone_alarm", "type": "Module", "color": "#666666"}, {"id": "m_board_adc", "name": "board_adc", "type": "Module", "color": "#666666"}, {"id": "m_commander", "name": "commander", "type": "Module", "color": "#666666"}, {"id": "m_navigator", "name": "navigator", "type": "Module", "color": "#666666"}, {"id": "m_rc_update", "name": "rc_update", "type": "Module", "color": "#666666"}, {"id": "m_mpu6000", "name": "mpu6000", "type": "Module", "color": "#666666"}, {"id": "m_lsm303d", "name": "lsm303d", "type": "Module", "color": "#666666"}, {"id": "m_hmc5883", "name": "hmc5883", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out", "name": "pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_dataman", "name": "dataman", "type": "Module", "color": "#666666"}, {"id": "m_mavlink", "name": "mavlink", "type": "Module", "color": "#666666"}, {"id": "m_sensors", "name": "sensors", "type": "Module", "color": "#666666"}, {"id": "m_ms5611", "name": "ms5611", "type": "Module", "color": "#666666"}, {"id": "m_l3gd20", "name": "l3gd20", "type": "Module", "color": "#666666"}, {"id": "m_rgbled", "name": "rgbled", "type": "Module", "color": "#666666"}, {"id": "m_logger", "name": "logger", "type": "Module", "color": "#666666"}, {"id": "m_px4io", "name": "px4io", "type": "Module", "color": "#666666"}, {"id": "m_ekf2", "name": "ekf2", "type": "Module", "color": "#666666"}, {"id": "m_gps", "name": "gps", "type": "Module", "color": "#666666"}, {"id": "t_vehicle_local_position_setpoint", "name": "vehicle_local_position_setpoint", "type": "topic", "color": "#d8ad41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_attitude_status", "name": "gimbal_device_attitude_status", "type": "topic", "color": "#41d8cd", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_register_ext_component_reply", "name": "register_ext_component_reply", "type": "topic", "color": "#7741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_setpoint", "name": "vehicle_attitude_setpoint", "type": "topic", "color": "#d84141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_position_setpoint_triplet", "name": "position_setpoint_triplet", "type": "topic", "color": "#4141d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_information", "name": "gimbal_device_information", "type": "topic", "color": "#6141d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_selector_status", "name": "estimator_selector_status", "type": "topic", "color": "#c341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_control_allocator_status", "name": "control_allocator_status", "type": "topic", "color": "#c3d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_visual_odometry", "name": "vehicle_visual_odometry", "type": "topic", "color": "#d86c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_vehicle_global_position", "name": "vehicle_global_position", "type": "topic", "color": "#d8a241", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_manual_control_switches", "name": "manual_control_switches", "type": "topic", "color": "#41d8b8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_failure_detector_status", "name": "failure_detector_status", "type": "topic", "color": "#d841a2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_manual_control_setpoint", "name": "manual_control_setpoint", "type": "topic", "color": "#d84161", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ManualControlSetpoint.msg"}, {"id": "t_estimator_status_flags", "name": "estimator_status_flags", "type": "topic", "color": "#97d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position", "name": "vehicle_local_position", "type": "topic", "color": "#41d897", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_vehicle_rates_setpoint", "name": "vehicle_rates_setpoint", "type": "topic", "color": "#d8418c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_offboard_control_mode", "name": "offboard_control_mode", "type": "topic", "color": "#d8d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_sensor_bias", "name": "estimator_sensor_bias", "type": "topic", "color": "#a2d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_land_detected", "name": "vehicle_land_detected", "type": "topic", "color": "#77d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_differential_pressure", "name": "differential_pressure", "type": "topic", "color": "#4b41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_control_mode", "name": "vehicle_control_mode", "type": "topic", "color": "#41d8a2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleControlMode.msg"}, {"id": "t_actuator_servos_trim", "name": "actuator_servos_trim", "type": "topic", "color": "#8241d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command_ack", "name": "vehicle_command_ack", "type": "topic", "color": "#d87741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_constraints", "name": "vehicle_constraints", "type": "topic", "color": "#41d86c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_trajectory_setpoint", "name": "trajectory_setpoint", "type": "topic", "color": "#41cdd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_target_pose", "name": "landing_target_pose", "type": "topic", "color": "#41add8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_optical_flow", "name": "sensor_optical_flow", "type": "topic", "color": "#d8414b", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensors_status_imu", "name": "sensors_status_imu", "type": "topic", "color": "#d88c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_power_button_state", "name": "power_button_state", "type": "topic", "color": "#41d877", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu_status", "name": "vehicle_imu_status", "type": "topic", "color": "#4182d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_transponder_report", "name": "transponder_report", "type": "topic", "color": "#d841b8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_rtl_time_estimate", "name": "rtl_time_estimate", "type": "topic", "color": "#41b8d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_outputs", "name": "actuator_outputs", "type": "topic", "color": "#d86141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_telemetry_status", "name": "telemetry_status", "type": "topic", "color": "#d8cd41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_rc_parameter_map", "name": "rc_parameter_map", "type": "topic", "color": "#56d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_response", "name": "dataman_response", "type": "topic", "color": "#414bd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_status", "name": "estimator_status", "type": "topic", "color": "#5641d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude", "name": "vehicle_attitude", "type": "topic", "color": "#cd41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_vehicle_odometry", "name": "vehicle_odometry", "type": "topic", "color": "#d841c3", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_collision_report", "name": "collision_report", "type": "topic", "color": "#d841ad", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_selection", "name": "sensor_selection", "type": "topic", "color": "#d8416c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_motors", "name": "actuator_motors", "type": "topic", "color": "#d84b41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command", "name": "vehicle_command", "type": "topic", "color": "#d89741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_ulog_stream_ack", "name": "ulog_stream_ack", "type": "topic", "color": "#b8d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gps_inject_data", "name": "gps_inject_data", "type": "topic", "color": "#add841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_key_value", "name": "debug_key_value", "type": "topic", "color": "#41d84b", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_geofence_result", "name": "geofence_result", "type": "topic", "color": "#41d88c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_combined", "name": "sensor_combined", "type": "topic", "color": "#4156d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_distance_sensor", "name": "distance_sensor", "type": "topic", "color": "#d84177", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_request", "name": "dataman_request", "type": "topic", "color": "#d84156", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mission_result", "name": "mission_result", "type": "topic", "color": "#82d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_satellite_info", "name": "satellite_info", "type": "topic", "color": "#61d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_battery_status", "name": "battery_status", "type": "topic", "color": "#41d8c3", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_status", "name": "vehicle_status", "type": "topic", "color": "#41c3d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_failsafe_flags", "name": "failsafe_flags", "type": "topic", "color": "#4161d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_takeoff_status", "name": "takeoff_status", "type": "topic", "color": "#d841cd", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_armed", "name": "actuator_armed", "type": "topic", "color": "#d84197", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_action_request", "name": "action_request", "type": "topic", "color": "#d84182", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_health_report", "name": "health_report", "type": "topic", "color": "#41d882", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_status", "name": "camera_status", "type": "topic", "color": "#41d8d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_test", "name": "actuator_test", "type": "topic", "color": "#41a2d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_home_position", "name": "home_position", "type": "topic", "color": "#8c41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_safety_button", "name": "safety_button", "type": "topic", "color": "#a241d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_sensor_accel", "name": "sensor_accel", "type": "topic", "color": "#d8c341", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear", "name": "landing_gear", "type": "topic", "color": "#8cd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_px4io_status", "name": "px4io_status", "type": "topic", "color": "#41d8ad", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_system_power", "name": "system_power", "type": "topic", "color": "#4197d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tune_control", "name": "tune_control", "type": "topic", "color": "#4177d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream", "name": "ulog_stream", "type": "topic", "color": "#cdd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu", "name": "vehicle_imu", "type": "topic", "color": "#6cd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gyro", "name": "sensor_gyro", "type": "topic", "color": "#41d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_baro", "name": "sensor_baro", "type": "topic", "color": "#416cd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_led_control", "name": "led_control", "type": "topic", "color": "#9741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_value", "name": "debug_value", "type": "topic", "color": "#ad41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_array", "name": "debug_array", "type": "topic", "color": "#b841d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gps", "name": "sensor_gps", "type": "topic", "color": "#d85641", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/SensorGps.msg"}, {"id": "t_debug_vect", "name": "debug_vect", "type": "topic", "color": "#41d856", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_adc_report", "name": "adc_report", "type": "topic", "color": "#6c41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_mag", "name": "sensor_mag", "type": "topic", "color": "#d841d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_input_rc", "name": "input_rc", "type": "topic", "color": "#4bd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed", "name": "airspeed", "type": "topic", "color": "#418cd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorAidSource1d.msg"}, {"id": "t_mission", "name": "mission", "type": "topic", "color": "#d8b841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_event", "name": "event", "type": "topic", "color": "#d88241", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_wind", "name": "wind", "type": "topic", "color": "#41d861", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/Wind.msg"}], "links": [{"source": "m_board_adc", "target": "t_system_power", "color": "#4197d8", "style": "dashed"}, {"source": "m_board_adc", "target": "t_adc_report", "color": "#6c41d8", "style": "dashed"}, {"source": "m_ms5611", "target": "t_sensor_baro", "color": "#416cd8", "style": "dashed"}, {"source": "m_gps", "target": "t_gps_inject_data", "color": "#add841", "style": "dashed"}, {"source": "m_gps", "target": "t_satellite_info", "color": "#61d841", "style": "dashed"}, {"source": "m_gps", "target": "t_sensor_gps", "color": "#d85641", "style": "dashed"}, {"source": "m_mpu6000", "target": "t_sensor_accel", "color": "#d8c341", "style": "dashed"}, {"source": "m_mpu6000", "target": "t_sensor_gyro", "color": "#41d841", "style": "dashed"}, {"source": "m_l3gd20", "target": "t_sensor_gyro", "color": "#41d841", "style": "dashed"}, {"source": "m_lsm303d", "target": "t_sensor_accel", "color": "#d8c341", "style": "dashed"}, {"source": "m_lsm303d", "target": "t_sensor_mag", "color": "#d841d8", "style": "dashed"}, {"source": "m_hmc5883", "target": "t_sensor_mag", "color": "#d841d8", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_test", "color": "#41a2d8", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_armed", "color": "#d84197", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_motors", "color": "#d84b41", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_outputs", "color": "#d86141", "style": "dashed"}, {"source": "m_px4io", "target": "t_led_control", "color": "#9741d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_test", "color": "#41a2d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_input_rc", "color": "#4bd841", "style": "dashed"}, {"source": "m_px4io", "target": "t_safety_button", "color": "#a241d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_px4io_status", "color": "#41d8ad", "style": "dashed"}, {"source": "m_px4io", "target": "t_vehicle_command_ack", "color": "#d87741", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_armed", "color": "#d84197", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_motors", "color": "#d84b41", "style": "dashed"}, {"source": "m_px4io", "target": "t_tune_control", "color": "#4177d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_vehicle_command", "color": "#d89741", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_outputs", "color": "#d86141", "style": "dashed"}, {"source": "m_tone_alarm", "target": "t_tune_control", "color": "#4177d8", "style": "dashed"}, {"source": "m_battery_status", "target": "t_battery_status", "color": "#41d8c3", "style": "dashed"}, {"source": "m_commander", "target": "t_home_position", "color": "#8c41d8", "style": "dashed"}, {"source": "m_commander", "target": "t_led_control", "color": "#9741d8", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_test", "color": "#41a2d8", "style": "dashed"}, {"source": "m_commander", "target": "t_failure_detector_status", "color": "#d841a2", "style": "dashed"}, {"source": "m_commander", "target": "t_failsafe_flags", "color": "#4161d8", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_status", "color": "#41c3d8", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_armed", "color": "#d84197", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command_ack", "color": "#d87741", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_control_mode", "color": "#41d8a2", "style": "dashed"}, {"source": "m_commander", "target": "t_event", "color": "#d88241", "style": "dashed"}, {"source": "m_commander", "target": "t_power_button_state", "color": "#41d877", "style": "dashed"}, {"source": "m_commander", "target": "t_tune_control", "color": "#4177d8", "style": "dashed"}, {"source": "m_commander", "target": "t_health_report", "color": "#41d882", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command", "color": "#d89741", "style": "dashed"}, {"source": "m_commander", "target": "t_register_ext_component_reply", "color": "#7741d8", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_control_allocator_status", "color": "#c3d841", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_motors", "color": "#d84b41", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_servos_trim", "color": "#8241d8", "style": "dashed"}, {"source": "m_dataman", "target": "t_dataman_response", "color": "#414bd8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_wind", "color": "#41d861", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_selector_status", "color": "#c341d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_attitude", "color": "#cd41d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_odometry", "color": "#d841c3", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_global_position", "color": "#d8a241", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_local_position", "color": "#41d897", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status", "color": "#5641d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_sensor_bias", "color": "#a2d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status_flags", "color": "#97d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_sensor_selection", "color": "#d8416c", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_vehicle_constraints", "color": "#41d86c", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_trajectory_setpoint", "color": "#41cdd8", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_landing_gear", "color": "#8cd841", "style": "dashed"}, {"source": "m_land_detector", "target": "t_vehicle_land_detected", "color": "#77d841", "style": "dashed"}, {"source": "m_logger", "target": "t_vehicle_command_ack", "color": "#d87741", "style": "dashed"}, {"source": "m_logger", "target": "t_ulog_stream", "color": "#cdd841", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_status", "color": "#41c3d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_action_request", "color": "#d84182", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_switches", "color": "#41d8b8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_setpoint", "color": "#d84161", "style": "dashed"}, {"source": "m_manual_control", "target": "t_landing_gear", "color": "#8cd841", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_command", "color": "#d89741", "style": "dashed"}, {"source": "m_mavlink", "target": "t_rc_parameter_map", "color": "#56d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_input_rc", "color": "#4bd841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gyro", "color": "#41d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude_setpoint", "color": "#d84141", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_key_value", "color": "#41d84b", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_vect", "color": "#41d856", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_value", "color": "#ad41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_airspeed", "color": "#418cd8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gps", "color": "#d85641", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_visual_odometry", "color": "#d86c41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_array", "color": "#b841d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude", "color": "#cd41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_mag", "color": "#d841d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command_ack", "color": "#d87741", "style": "dashed"}, {"source": "m_mavlink", "target": "t_event", "color": "#d88241", "style": "dashed"}, {"source": "m_mavlink", "target": "t_tune_control", "color": "#4177d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_baro", "color": "#416cd8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command", "color": "#d89741", "style": "dashed"}, {"source": "m_mavlink", "target": "t_transponder_report", "color": "#d841b8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_global_position", "color": "#d8a241", "style": "dashed"}, {"source": "m_mavlink", "target": "t_collision_report", "color": "#d841ad", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mission", "color": "#d8b841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_differential_pressure", "color": "#4b41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_local_position", "color": "#41d897", "style": "dashed"}, {"source": "m_mavlink", "target": "t_telemetry_status", "color": "#d8cd41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_accel", "color": "#d8c341", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_rates_setpoint", "color": "#d8418c", "style": "dashed"}, {"source": "m_mavlink", "target": "t_battery_status", "color": "#41d8c3", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_attitude_status", "color": "#41d8cd", "style": "dashed"}, {"source": "m_mavlink", "target": "t_offboard_control_mode", "color": "#d8d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_information", "color": "#6141d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_ulog_stream_ack", "color": "#b8d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_camera_status", "color": "#41d8d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gps_inject_data", "color": "#add841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_trajectory_setpoint", "color": "#41cdd8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_distance_sensor", "color": "#d84177", "style": "dashed"}, {"source": "m_mavlink", "target": "t_dataman_request", "color": "#d84156", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_optical_flow", "color": "#d8414b", "style": "dashed"}, {"source": "m_mavlink", "target": "t_landing_target_pose", "color": "#41add8", "style": "dashed"}, {"source": "m_mc_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d8418c", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#d8ad41", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_trajectory_setpoint", "color": "#41cdd8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_takeoff_status", "color": "#d841cd", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d84141", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_constraints", "color": "#41d86c", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d8418c", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_land_detected", "color": "#77d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_global_position", "color": "#d8a241", "style": "dashed"}, {"source": "m_navigator", "target": "t_home_position", "color": "#8c41d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_dataman_request", "color": "#d84156", "style": "dashed"}, {"source": "m_navigator", "target": "t_position_setpoint_triplet", "color": "#4141d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_geofence_result", "color": "#41d88c", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission", "color": "#d8b841", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_status", "color": "#41c3d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command_ack", "color": "#d87741", "style": "dashed"}, {"source": "m_navigator", "target": "t_rtl_time_estimate", "color": "#41b8d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission_result", "color": "#82d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command", "color": "#d89741", "style": "dashed"}, {"source": "m_navigator", "target": "t_transponder_report", "color": "#d841b8", "style": "dashed"}, {"source": "m_rc_update", "target": "t_manual_control_switches", "color": "#41d8b8", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu", "color": "#6cd841", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_combined", "color": "#4156d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_differential_pressure", "color": "#4b41d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_selection", "color": "#d8416c", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu_status", "color": "#4182d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensors_status_imu", "color": "#d88c41", "style": "dashed"}, {"source": "m_sensors", "target": "t_airspeed", "color": "#418cd8", "style": "dashed"}, {"source": "m_tune_control", "target": "t_tune_control", "color": "#4177d8", "style": "dashed"}, {"source": "t_adc_report", "target": "m_board_adc", "color": "#6c41d8", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_gps", "color": "#add841", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled", "color": "#9741d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out", "color": "#8241d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out", "color": "#41a2d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out", "color": "#d84197", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out", "color": "#d84b41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out", "color": "#d84161", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out", "color": "#8cd841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out", "color": "#d89741", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_px4io", "color": "#8241d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_px4io", "color": "#41a2d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_px4io", "color": "#41c3d8", "style": "normal"}, {"source": "t_px4io_status", "target": "m_px4io", "color": "#41d8ad", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_px4io", "color": "#d84197", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_px4io", "color": "#d84b41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_px4io", "color": "#d84161", "style": "normal"}, {"source": "t_landing_gear", "target": "m_px4io", "color": "#8cd841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_px4io", "color": "#d89741", "style": "normal"}, {"source": "t_tune_control", "target": "m_tone_alarm", "color": "#4177d8", "style": "normal"}, {"source": "t_adc_report", "target": "m_battery_status", "color": "#6c41d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_battery_status", "color": "#41c3d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_commander", "color": "#77d841", "style": "normal"}, {"source": "t_home_position", "target": "m_commander", "color": "#8c41d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_commander", "color": "#41d841", "style": "normal"}, {"source": "t_safety_button", "target": "m_commander", "color": "#a241d8", "style": "normal"}, {"source": "t_system_power", "target": "m_commander", "color": "#4197d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_commander", "color": "#d84b41", "style": "normal"}, {"source": "t_wind", "target": "m_commander", "color": "#41d861", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_commander", "color": "#d85641", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_commander", "color": "#c341d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_commander", "color": "#cd41d8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_commander", "color": "#d841d8", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_commander", "color": "#d87741", "style": "normal"}, {"source": "t_event", "target": "m_commander", "color": "#d88241", "style": "normal"}, {"source": "t_power_button_state", "target": "m_commander", "color": "#41d877", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_commander", "color": "#4182d8", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_commander", "color": "#416cd8", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_commander", "color": "#d88c41", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_commander", "color": "#d89741", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_commander", "color": "#d8a241", "style": "normal"}, {"source": "t_geofence_result", "target": "m_commander", "color": "#41d88c", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_commander", "color": "#4b41d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_commander", "color": "#41d897", "style": "normal"}, {"source": "t_telemetry_status", "target": "m_commander", "color": "#d8cd41", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_commander", "color": "#d8c341", "style": "normal"}, {"source": "t_estimator_status", "target": "m_commander", "color": "#5641d8", "style": "normal"}, {"source": "t_action_request", "target": "m_commander", "color": "#d84182", "style": "normal"}, {"source": "t_battery_status", "target": "m_commander", "color": "#41d8c3", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_commander", "color": "#d84197", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_commander", "color": "#41d8b8", "style": "normal"}, {"source": "t_offboard_control_mode", "target": "m_commander", "color": "#d8d841", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_commander", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_commander", "color": "#41c3d8", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_commander", "color": "#a2d841", "style": "normal"}, {"source": "t_estimator_status_flags", "target": "m_commander", "color": "#97d841", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_commander", "color": "#d8416c", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_commander", "color": "#41b8d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_commander", "color": "#d84161", "style": "normal"}, {"source": "t_mission_result", "target": "m_commander", "color": "#82d841", "style": "normal"}, {"source": "t_failure_detector_status", "target": "m_control_allocator", "color": "#d841a2", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_control_allocator", "color": "#41c3d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_control_allocator", "color": "#41d8a2", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_control_allocator", "color": "#41d8b8", "style": "normal"}, {"source": "t_dataman_request", "target": "m_dataman", "color": "#d84156", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_ekf2", "color": "#77d841", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_ekf2", "color": "#6cd841", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_ekf2", "color": "#4156d8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_ekf2", "color": "#d84177", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ekf2", "color": "#41c3d8", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_ekf2", "color": "#d88c41", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_ekf2", "color": "#d8416c", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_ekf2", "color": "#d89741", "style": "normal"}, {"source": "t_airspeed", "target": "m_ekf2", "color": "#418cd8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_ekf2", "color": "#41add8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_ekf2", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_flight_mode_manager", "color": "#77d841", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_flight_mode_manager", "color": "#d841cd", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_flight_mode_manager", "color": "#41d897", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_flight_mode_manager", "color": "#41c3d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_flight_mode_manager", "color": "#41d8a2", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_flight_mode_manager", "color": "#d84141", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_flight_mode_manager", "color": "#d89741", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_land_detector", "color": "#41cdd8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_land_detector", "color": "#41c3d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_land_detector", "color": "#41d897", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_land_detector", "color": "#d841cd", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_land_detector", "color": "#d84197", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_land_detector", "color": "#d8416c", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_land_detector", "color": "#41d8a2", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_land_detector", "color": "#4182d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_logger", "color": "#41c3d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_logger", "color": "#41d8c3", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_logger", "color": "#d84161", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_logger", "color": "#d89741", "style": "normal"}, {"source": "t_ulog_stream_ack", "target": "m_logger", "color": "#b8d841", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_manual_control", "color": "#41d8b8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_manual_control", "color": "#41c3d8", "style": "normal"}, {"source": "t_action_request", "target": "m_manual_control", "color": "#d84182", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_manual_control", "color": "#d84161", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mavlink", "color": "#d84141", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_mavlink", "color": "#d85641", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_mavlink", "color": "#d86141", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_mavlink", "color": "#d87741", "style": "normal"}, {"source": "t_event", "target": "m_mavlink", "color": "#d88241", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_mavlink", "color": "#d89741", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_mavlink", "color": "#d8a241", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_mavlink", "color": "#d8ad41", "style": "normal"}, {"source": "t_mission", "target": "m_mavlink", "color": "#d8b841", "style": "normal"}, {"source": "t_ulog_stream", "target": "m_mavlink", "color": "#cdd841", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_mavlink", "color": "#add841", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_mavlink", "color": "#a2d841", "style": "normal"}, {"source": "t_mission_result", "target": "m_mavlink", "color": "#82d841", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mavlink", "color": "#77d841", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_mavlink", "color": "#6cd841", "style": "normal"}, {"source": "t_satellite_info", "target": "m_mavlink", "color": "#61d841", "style": "normal"}, {"source": "t_input_rc", "target": "m_mavlink", "color": "#4bd841", "style": "normal"}, {"source": "t_debug_key_value", "target": "m_mavlink", "color": "#41d84b", "style": "normal"}, {"source": "t_debug_vect", "target": "m_mavlink", "color": "#41d856", "style": "normal"}, {"source": "t_wind", "target": "m_mavlink", "color": "#41d861", "style": "normal"}, {"source": "t_health_report", "target": "m_mavlink", "color": "#41d882", "style": "normal"}, {"source": "t_geofence_result", "target": "m_mavlink", "color": "#41d88c", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mavlink", "color": "#41d897", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mavlink", "color": "#41d8a2", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_mavlink", "color": "#41d8b8", "style": "normal"}, {"source": "t_battery_status", "target": "m_mavlink", "color": "#41d8c3", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_mavlink", "color": "#41d8cd", "style": "normal"}, {"source": "t_camera_status", "target": "m_mavlink", "color": "#41d8d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mavlink", "color": "#41c3d8", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_mavlink", "color": "#41b8d8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_mavlink", "color": "#41add8", "style": "normal"}, {"source": "t_airspeed", "target": "m_mavlink", "color": "#418cd8", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_mavlink", "color": "#4182d8", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_mavlink", "color": "#416cd8", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_mavlink", "color": "#4161d8", "style": "normal"}, {"source": "t_dataman_response", "target": "m_mavlink", "color": "#414bd8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_mavlink", "color": "#4141d8", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_mavlink", "color": "#4b41d8", "style": "normal"}, {"source": "t_estimator_status", "target": "m_mavlink", "color": "#5641d8", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_mavlink", "color": "#6141d8", "style": "normal"}, {"source": "t_register_ext_component_reply", "target": "m_mavlink", "color": "#7741d8", "style": "normal"}, {"source": "t_home_position", "target": "m_mavlink", "color": "#8c41d8", "style": "normal"}, {"source": "t_debug_value", "target": "m_mavlink", "color": "#ad41d8", "style": "normal"}, {"source": "t_debug_array", "target": "m_mavlink", "color": "#b841d8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_mavlink", "color": "#c341d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mavlink", "color": "#cd41d8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mavlink", "color": "#d841d8", "style": "normal"}, {"source": "t_vehicle_odometry", "target": "m_mavlink", "color": "#d841c3", "style": "normal"}, {"source": "t_transponder_report", "target": "m_mavlink", "color": "#d841b8", "style": "normal"}, {"source": "t_collision_report", "target": "m_mavlink", "color": "#d841ad", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_mavlink", "color": "#d84197", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mavlink", "color": "#d8418c", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_mavlink", "color": "#d84177", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_mavlink", "color": "#d8416c", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mavlink", "color": "#d84161", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_att_control", "color": "#77d841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mc_att_control", "color": "#cd41d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_att_control", "color": "#41d897", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_att_control", "color": "#41c3d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_att_control", "color": "#41d8a2", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mc_att_control", "color": "#d84141", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_att_control", "color": "#d84161", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_pos_control", "color": "#77d841", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_mc_pos_control", "color": "#41cdd8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_pos_control", "color": "#41d897", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_pos_control", "color": "#41d8a2", "style": "normal"}, {"source": "t_vehicle_constraints", "target": "m_mc_pos_control", "color": "#41d86c", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_rate_control", "color": "#77d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_rate_control", "color": "#41c3d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_rate_control", "color": "#41d8a2", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mc_rate_control", "color": "#d8418c", "style": "normal"}, {"source": "t_battery_status", "target": "m_mc_rate_control", "color": "#41d8c3", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_rate_control", "color": "#d84161", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_mc_rate_control", "color": "#c3d841", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_navigator", "color": "#77d841", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_navigator", "color": "#d8a241", "style": "normal"}, {"source": "t_home_position", "target": "m_navigator", "color": "#8c41d8", "style": "normal"}, {"source": "t_dataman_response", "target": "m_navigator", "color": "#414bd8", "style": "normal"}, {"source": "t_mission", "target": "m_navigator", "color": "#d8b841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_navigator", "color": "#41c3d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_navigator", "color": "#41d897", "style": "normal"}, {"source": "t_wind", "target": "m_navigator", "color": "#41d861", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_navigator", "color": "#d89741", "style": "normal"}, {"source": "t_transponder_report", "target": "m_navigator", "color": "#d841b8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_navigator", "color": "#41add8", "style": "normal"}, {"source": "t_rc_parameter_map", "target": "m_rc_update", "color": "#56d841", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_rc_update", "color": "#41d8b8", "style": "normal"}, {"source": "t_input_rc", "target": "m_rc_update", "color": "#4bd841", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_sensors", "color": "#6cd841", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_sensors", "color": "#4b41d8", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_sensors", "color": "#d8c341", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_sensors", "color": "#d841d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_sensors", "color": "#41d841", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_sensors", "color": "#a2d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_sensors", "color": "#41d8a2", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_sensors", "color": "#d8416c", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_sensors", "color": "#4182d8", "style": "normal"}, {"source": "t_adc_report", "target": "m_sensors", "color": "#6c41d8", "style": "normal"}, {"source": "t_sensor_optical_flow", "target": "m_sensors", "color": "#d8414b", "style": "normal"}]} \ No newline at end of file diff --git a/public/en/middleware/graph_px4_fmu-v4.json b/public/en/middleware/graph_px4_fmu-v4.json new file mode 100644 index 000000000000..ddc7cdae9d8d --- /dev/null +++ b/public/en/middleware/graph_px4_fmu-v4.json @@ -0,0 +1 @@ +{"nodes": [{"id": "m_fw_autotune_attitude_control", "name": "fw_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_autotune_attitude_control", "name": "mc_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_landing_target_estimator", "name": "landing_target_estimator", "type": "Module", "color": "#666666"}, {"id": "m_local_position_estimator", "name": "local_position_estimator", "type": "Module", "color": "#666666"}, {"id": "m_temperature_compensation", "name": "temperature_compensation", "type": "Module", "color": "#666666"}, {"id": "m_lightware_laser_serial", "name": "lightware_laser_serial", "type": "Module", "color": "#666666"}, {"id": "m_attitude_estimator_q", "name": "attitude_estimator_q", "type": "Module", "color": "#666666"}, {"id": "m_lightware_laser_i2c", "name": "lightware_laser_i2c", "type": "Module", "color": "#666666"}, {"id": "m_flight_mode_manager", "name": "flight_mode_manager", "type": "Module", "color": "#666666"}, {"id": "m_mag_bias_estimator", "name": "mag_bias_estimator", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_is31fl3195", "name": "rgbled_is31fl3195", "type": "Module", "color": "#666666"}, {"id": "m_airspeed_selector", "name": "airspeed_selector", "type": "Module", "color": "#666666"}, {"id": "m_control_allocator", "name": "control_allocator", "type": "Module", "color": "#666666"}, {"id": "m_rover_pos_control", "name": "rover_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_gyro_calibration", "name": "gyro_calibration", "type": "Module", "color": "#666666"}, {"id": "m_uxrce_dds_client", "name": "uxrce_dds_client", "type": "Module", "color": "#666666"}, {"id": "m_vtol_att_control", "name": "vtol_att_control", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_ncp5623c", "name": "rgbled_ncp5623c", "type": "Module", "color": "#666666"}, {"id": "m_pca9685_pwm_out", "name": "pca9685_pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_frsky_telemetry", "name": "frsky_telemetry", "type": "Module", "color": "#666666"}, {"id": "m_camera_feedback", "name": "camera_feedback", "type": "Module", "color": "#666666"}, {"id": "m_fw_rate_control", "name": "fw_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_rate_control", "name": "mc_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_baro_sim", "name": "sensor_baro_sim", "type": "Module", "color": "#666666"}, {"id": "m_uuv_att_control", "name": "uuv_att_control", "type": "Module", "color": "#666666"}, {"id": "m_uuv_pos_control", "name": "uuv_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_camera_capture", "name": "camera_capture", "type": "Module", "color": "#666666"}, {"id": "m_camera_trigger", "name": "camera_trigger", "type": "Module", "color": "#666666"}, {"id": "m_ulanding_radar", "name": "ulanding_radar", "type": "Module", "color": "#666666"}, {"id": "m_hott_telemetry", "name": "hott_telemetry", "type": "Module", "color": "#666666"}, {"id": "m_battery_status", "name": "battery_status", "type": "Module", "color": "#666666"}, {"id": "m_fw_att_control", "name": "fw_att_control", "type": "Module", "color": "#666666"}, {"id": "m_fw_pos_control", "name": "fw_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_manual_control", "name": "manual_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_att_control", "name": "mc_att_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_pos_control", "name": "mc_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_gps_sim", "name": "sensor_gps_sim", "type": "Module", "color": "#666666"}, {"id": "m_sensor_mag_sim", "name": "sensor_mag_sim", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_lp5562", "name": "rgbled_lp5562", "type": "Module", "color": "#666666"}, {"id": "m_safety_button", "name": "safety_button", "type": "Module", "color": "#666666"}, {"id": "m_land_detector", "name": "land_detector", "type": "Module", "color": "#666666"}, {"id": "m_simulator_sih", "name": "simulator_sih", "type": "Module", "color": "#666666"}, {"id": "m_actuator_test", "name": "actuator_test", "type": "Module", "color": "#666666"}, {"id": "m_tune_control", "name": "tune_control", "type": "Module", "color": "#666666"}, {"id": "m_mpu9250_i2c", "name": "mpu9250_i2c", "type": "Module", "color": "#666666"}, {"id": "m_esc_battery", "name": "esc_battery", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out_sim", "name": "pwm_out_sim", "type": "Module", "color": "#666666"}, {"id": "m_led_control", "name": "led_control", "type": "Module", "color": "#666666"}, {"id": "m_batt_smbus", "name": "batt_smbus", "type": "Module", "color": "#666666"}, {"id": "m_leddar_one", "name": "leddar_one", "type": "Module", "color": "#666666"}, {"id": "m_teraranger", "name": "teraranger", "type": "Module", "color": "#666666"}, {"id": "m_tone_alarm", "name": "tone_alarm", "type": "Module", "color": "#666666"}, {"id": "m_send_event", "name": "send_event", "type": "Module", "color": "#666666"}, {"id": "m_board_adc", "name": "board_adc", "type": "Module", "color": "#666666"}, {"id": "m_ms5525dso", "name": "ms5525dso", "type": "Module", "color": "#666666"}, {"id": "m_adis16448", "name": "adis16448", "type": "Module", "color": "#666666"}, {"id": "m_icm20608g", "name": "icm20608g", "type": "Module", "color": "#666666"}, {"id": "m_vectornav", "name": "vectornav", "type": "Module", "color": "#666666"}, {"id": "m_lsm303agr", "name": "lsm303agr", "type": "Module", "color": "#666666"}, {"id": "m_thoneflow", "name": "thoneflow", "type": "Module", "color": "#666666"}, {"id": "m_pwm_input", "name": "pwm_input", "type": "Module", "color": "#666666"}, {"id": "m_commander", "name": "commander", "type": "Module", "color": "#666666"}, {"id": "m_navigator", "name": "navigator", "type": "Module", "color": "#666666"}, {"id": "m_rc_update", "name": "rc_update", "type": "Module", "color": "#666666"}, {"id": "m_icp101xx", "name": "icp101xx", "type": "Module", "color": "#666666"}, {"id": "m_icp201xx", "name": "icp201xx", "type": "Module", "color": "#666666"}, {"id": "m_ms4525do", "name": "ms4525do", "type": "Module", "color": "#666666"}, {"id": "m_icm20602", "name": "icm20602", "type": "Module", "color": "#666666"}, {"id": "m_icm20948", "name": "icm20948", "type": "Module", "color": "#666666"}, {"id": "m_qmc5883l", "name": "qmc5883l", "type": "Module", "color": "#666666"}, {"id": "m_vcm1193l", "name": "vcm1193l", "type": "Module", "color": "#666666"}, {"id": "m_rc_input", "name": "rc_input", "type": "Module", "color": "#666666"}, {"id": "m_load_mon", "name": "load_mon", "type": "Module", "color": "#666666"}, {"id": "m_fake_gps", "name": "fake_gps", "type": "Module", "color": "#666666"}, {"id": "m_ads1115", "name": "ads1115", "type": "Module", "color": "#666666"}, {"id": "m_lps22hb", "name": "lps22hb", "type": "Module", "color": "#666666"}, {"id": "m_lps33hw", "name": "lps33hw", "type": "Module", "color": "#666666"}, {"id": "m_mpc2520", "name": "mpc2520", "type": "Module", "color": "#666666"}, {"id": "m_cm8jl65", "name": "cm8jl65", "type": "Module", "color": "#666666"}, {"id": "m_gy_us42", "name": "gy_us42", "type": "Module", "color": "#666666"}, {"id": "m_tf02pro", "name": "tf02pro", "type": "Module", "color": "#666666"}, {"id": "m_vl53l0x", "name": "vl53l0x", "type": "Module", "color": "#666666"}, {"id": "m_vl53l1x", "name": "vl53l1x", "type": "Module", "color": "#666666"}, {"id": "m_mpu9250", "name": "mpu9250", "type": "Module", "color": "#666666"}, {"id": "m_ak09916", "name": "ak09916", "type": "Module", "color": "#666666"}, {"id": "m_hmc5883", "name": "hmc5883", "type": "Module", "color": "#666666"}, {"id": "m_ist8308", "name": "ist8308", "type": "Module", "color": "#666666"}, {"id": "m_ist8310", "name": "ist8310", "type": "Module", "color": "#666666"}, {"id": "m_lis3mdl", "name": "lis3mdl", "type": "Module", "color": "#666666"}, {"id": "m_paa3905", "name": "paa3905", "type": "Module", "color": "#666666"}, {"id": "m_paw3902", "name": "paw3902", "type": "Module", "color": "#666666"}, {"id": "m_pmw3901", "name": "pmw3901", "type": "Module", "color": "#666666"}, {"id": "m_px4flow", "name": "px4flow", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out", "name": "pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_dataman", "name": "dataman", "type": "Module", "color": "#666666"}, {"id": "m_mavlink", "name": "mavlink", "type": "Module", "color": "#666666"}, {"id": "m_sensors", "name": "sensors", "type": "Module", "color": "#666666"}, {"id": "m_bmp280", "name": "bmp280", "type": "Module", "color": "#666666"}, {"id": "m_bmp388", "name": "bmp388", "type": "Module", "color": "#666666"}, {"id": "m_dps310", "name": "dps310", "type": "Module", "color": "#666666"}, {"id": "m_ms5611", "name": "ms5611", "type": "Module", "color": "#666666"}, {"id": "m_ll40ls", "name": "ll40ls", "type": "Module", "color": "#666666"}, {"id": "m_mb12xx", "name": "mb12xx", "type": "Module", "color": "#666666"}, {"id": "m_pga460", "name": "pga460", "type": "Module", "color": "#666666"}, {"id": "m_tfmini", "name": "tfmini", "type": "Module", "color": "#666666"}, {"id": "m_heater", "name": "heater", "type": "Module", "color": "#666666"}, {"id": "m_irlock", "name": "irlock", "type": "Module", "color": "#666666"}, {"id": "m_rgbled", "name": "rgbled", "type": "Module", "color": "#666666"}, {"id": "m_ak8963", "name": "ak8963", "type": "Module", "color": "#666666"}, {"id": "m_bmm150", "name": "bmm150", "type": "Module", "color": "#666666"}, {"id": "m_rm3100", "name": "rm3100", "type": "Module", "color": "#666666"}, {"id": "m_ina226", "name": "ina226", "type": "Module", "color": "#666666"}, {"id": "m_batmon", "name": "batmon", "type": "Module", "color": "#666666"}, {"id": "m_uavcan", "name": "uavcan", "type": "Module", "color": "#666666"}, {"id": "m_gimbal", "name": "gimbal", "type": "Module", "color": "#666666"}, {"id": "m_logger", "name": "logger", "type": "Module", "color": "#666666"}, {"id": "m_spl06", "name": "spl06", "type": "Module", "color": "#666666"}, {"id": "m_sdp3x", "name": "sdp3x", "type": "Module", "color": "#666666"}, {"id": "m_srf02", "name": "srf02", "type": "Module", "color": "#666666"}, {"id": "m_dshot", "name": "dshot", "type": "Module", "color": "#666666"}, {"id": "m_ekf2", "name": "ekf2", "type": "Module", "color": "#666666"}, {"id": "m_gps", "name": "gps", "type": "Module", "color": "#666666"}, {"id": "m_bst", "name": "bst", "type": "Module", "color": "#666666"}, {"id": "t_vehicle_angular_velocity_groundtruth", "name": "vehicle_angular_velocity_groundtruth", "type": "topic", "color": "#d8415e", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAngularVelocity.msg"}, {"id": "t_vehicle_global_position_groundtruth", "name": "vehicle_global_position_groundtruth", "type": "topic", "color": "#d84156", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_position_controller_landing_status", "name": "position_controller_landing_status", "type": "topic", "color": "#d8bc41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position_groundtruth", "name": "vehicle_local_position_groundtruth", "type": "topic", "color": "#41a2d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_gimbal_manager_set_manual_control", "name": "gimbal_manager_set_manual_control", "type": "topic", "color": "#417dd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_autotune_attitude_control_status", "name": "autotune_attitude_control_status", "type": "topic", "color": "#4160d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position_setpoint", "name": "vehicle_local_position_setpoint", "type": "topic", "color": "#8041d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_attitude_status", "name": "gimbal_device_attitude_status", "type": "topic", "color": "#41d867", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_groundtruth", "name": "vehicle_attitude_groundtruth", "type": "topic", "color": "#d8b541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitude.msg"}, {"id": "t_fw_virtual_attitude_setpoint", "name": "fw_virtual_attitude_setpoint", "type": "topic", "color": "#bad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_mc_virtual_attitude_setpoint", "name": "mc_virtual_attitude_setpoint", "type": "topic", "color": "#78d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_register_ext_component_reply", "name": "register_ext_component_reply", "type": "topic", "color": "#418cd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_set_attitude", "name": "gimbal_manager_set_attitude", "type": "topic", "color": "#41d876", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_set_attitude", "name": "gimbal_device_set_attitude", "type": "topic", "color": "#d88941", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_information", "name": "gimbal_manager_information", "type": "topic", "color": "#d8ae41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_position_controller_status", "name": "position_controller_status", "type": "topic", "color": "#63d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_controls_status_0", "name": "actuator_controls_status_0", "type": "topic", "color": "#d741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorControlsStatus.msg"}, {"id": "t_gimbal_device_information", "name": "gimbal_device_information", "type": "topic", "color": "#41c6d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_selector_status", "name": "estimator_selector_status", "type": "topic", "color": "#4541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_position_setpoint_triplet", "name": "position_setpoint_triplet", "type": "topic", "color": "#ba41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_setpoint", "name": "vehicle_attitude_setpoint", "type": "topic", "color": "#d8414f", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_uavcan_parameter_request", "name": "uavcan_parameter_request", "type": "topic", "color": "#6ad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tiltrotor_extra_controls", "name": "tiltrotor_extra_controls", "type": "topic", "color": "#8741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_control_allocator_status", "name": "control_allocator_status", "type": "topic", "color": "#b341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_manual_control_switches", "name": "manual_control_switches", "type": "topic", "color": "#c8d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_launch_detection_status", "name": "launch_detection_status", "type": "topic", "color": "#41d852", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_manual_control_setpoint", "name": "manual_control_setpoint", "type": "topic", "color": "#4167d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ManualControlSetpoint.msg"}, {"id": "t_vehicle_torque_setpoint", "name": "vehicle_torque_setpoint", "type": "topic", "color": "#414ad8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleTorqueSetpoint.msg"}, {"id": "t_vehicle_global_position", "name": "vehicle_global_position", "type": "topic", "color": "#4143d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_failure_detector_status", "name": "failure_detector_status", "type": "topic", "color": "#d841c4", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_visual_odometry", "name": "vehicle_visual_odometry", "type": "topic", "color": "#d841bc", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_vehicle_thrust_setpoint", "name": "vehicle_thrust_setpoint", "type": "topic", "color": "#d841a6", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleThrustSetpoint.msg"}, {"id": "t_uavcan_parameter_value", "name": "uavcan_parameter_value", "type": "topic", "color": "#41d89a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position", "name": "vehicle_local_position", "type": "topic", "color": "#41d8d5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_vehicle_mocap_odometry", "name": "vehicle_mocap_odometry", "type": "topic", "color": "#d041d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_estimator_status_flags", "name": "estimator_status_flags", "type": "topic", "color": "#d84182", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_rates_setpoint", "name": "vehicle_rates_setpoint", "type": "topic", "color": "#d8417b", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_sensor_bias", "name": "estimator_sensor_bias", "type": "topic", "color": "#d8cb41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_status", "name": "gimbal_manager_status", "type": "topic", "color": "#d8d241", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_land_detected", "name": "vehicle_land_detected", "type": "topic", "color": "#41bfd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_differential_pressure", "name": "differential_pressure", "type": "topic", "color": "#5441d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_offboard_control_mode", "name": "offboard_control_mode", "type": "topic", "color": "#d841d2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_control_mode", "name": "vehicle_control_mode", "type": "topic", "color": "#d87b41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleControlMode.msg"}, {"id": "t_actuator_outputs_sim", "name": "actuator_outputs_sim", "type": "topic", "color": "#41d884", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_actuator_servos_trim", "name": "actuator_servos_trim", "type": "topic", "color": "#c141d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_figure_eight_status", "name": "figure_eight_status", "type": "topic", "color": "#d8a641", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_target_pose", "name": "landing_target_pose", "type": "topic", "color": "#95d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_trajectory_setpoint", "name": "trajectory_setpoint", "type": "topic", "color": "#54d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command_ack", "name": "vehicle_command_ack", "type": "topic", "color": "#41d843", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_constraints", "name": "vehicle_constraints", "type": "topic", "color": "#41d5d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vtol_vehicle_status", "name": "vtol_vehicle_status", "type": "topic", "color": "#4159d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_optical_flow", "name": "sensor_optical_flow", "type": "topic", "color": "#d84174", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu_status", "name": "vehicle_imu_status", "type": "topic", "color": "#d84f41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed_validated", "name": "airspeed_validated", "type": "topic", "color": "#d85e41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_transponder_report", "name": "transponder_report", "type": "topic", "color": "#d87441", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensors_status_imu", "name": "sensors_status_imu", "type": "topic", "color": "#41d8cd", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear_wheel", "name": "landing_gear_wheel", "type": "topic", "color": "#4184d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_power_button_state", "name": "power_button_state", "type": "topic", "color": "#7841d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_v1_command", "name": "gimbal_v1_command", "type": "topic", "color": "#d88241", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_rtl_time_estimate", "name": "rtl_time_estimate", "type": "topic", "color": "#d7d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mount_orientation", "name": "mount_orientation", "type": "topic", "color": "#41b0d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_spoilers_setpoint", "name": "spoilers_setpoint", "type": "topic", "color": "#4193d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_sensor_correction", "name": "sensor_correction", "type": "topic", "color": "#5b41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_outputs", "name": "actuator_outputs", "type": "topic", "color": "#d85641", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_vehicle_attitude", "name": "vehicle_attitude", "type": "topic", "color": "#d89f41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_sensor_selection", "name": "sensor_selection", "type": "topic", "color": "#c1d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_odometry", "name": "vehicle_odometry", "type": "topic", "color": "#87d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_telemetry_status", "name": "telemetry_status", "type": "topic", "color": "#71d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_status", "name": "estimator_status", "type": "topic", "color": "#5bd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_response", "name": "dataman_response", "type": "topic", "color": "#4d41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_rc_parameter_map", "name": "rc_parameter_map", "type": "topic", "color": "#9541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_collision_report", "name": "collision_report", "type": "topic", "color": "#d841cb", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command", "name": "vehicle_command", "type": "topic", "color": "#d86c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_actuator_motors", "name": "actuator_motors", "type": "topic", "color": "#d89841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_request", "name": "dataman_request", "type": "topic", "color": "#d0d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_geofence_result", "name": "geofence_result", "type": "topic", "color": "#41d88c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_combined", "name": "sensor_combined", "type": "topic", "color": "#419ad8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_key_value", "name": "debug_key_value", "type": "topic", "color": "#4176d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_distance_sensor", "name": "distance_sensor", "type": "topic", "color": "#416fd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_controls", "name": "gimbal_controls", "type": "topic", "color": "#ab41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gps_inject_data", "name": "gps_inject_data", "type": "topic", "color": "#d84191", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream_ack", "name": "ulog_stream_ack", "type": "topic", "color": "#d84148", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_armed", "name": "actuator_armed", "type": "topic", "color": "#d86541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_failsafe_flags", "name": "failsafe_flags", "type": "topic", "color": "#d89141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_status", "name": "vehicle_status", "type": "topic", "color": "#d8c441", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_satellite_info", "name": "satellite_info", "type": "topic", "color": "#80d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_takeoff_status", "name": "takeoff_status", "type": "topic", "color": "#45d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_capture", "name": "camera_capture", "type": "topic", "color": "#41d859", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_action_request", "name": "action_request", "type": "topic", "color": "#41d87d", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_flaps_setpoint", "name": "flaps_setpoint", "type": "topic", "color": "#8e41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_mission_result", "name": "mission_result", "type": "topic", "color": "#d841b5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_trigger", "name": "camera_trigger", "type": "topic", "color": "#d841ae", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_battery_status", "name": "battery_status", "type": "topic", "color": "#d84189", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_safety_button", "name": "safety_button", "type": "topic", "color": "#9dd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_home_position", "name": "home_position", "type": "topic", "color": "#4dd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_health_report", "name": "health_report", "type": "topic", "color": "#41d8b7", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_irlock_report", "name": "irlock_report", "type": "topic", "color": "#6a41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_status", "name": "camera_status", "type": "topic", "color": "#d8416c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_test", "name": "actuator_test", "type": "topic", "color": "#d84165", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tune_control", "name": "tune_control", "type": "topic", "color": "#a4d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_orbit_status", "name": "orbit_status", "type": "topic", "color": "#41d84a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_accel", "name": "sensor_accel", "type": "topic", "color": "#41d8a2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_system_power", "name": "system_power", "type": "topic", "color": "#9d41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear", "name": "landing_gear", "type": "topic", "color": "#d84198", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_baro", "name": "sensor_baro", "type": "topic", "color": "#abd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gyro", "name": "sensor_gyro", "type": "topic", "color": "#41d860", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_array", "name": "debug_array", "type": "topic", "color": "#41d86f", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tecs_status", "name": "tecs_status", "type": "topic", "color": "#41d893", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_value", "name": "debug_value", "type": "topic", "color": "#41d8b0", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_roi", "name": "vehicle_roi", "type": "topic", "color": "#41d8c6", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream", "name": "ulog_stream", "type": "topic", "color": "#4152d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_led_control", "name": "led_control", "type": "topic", "color": "#c841d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu", "name": "vehicle_imu", "type": "topic", "color": "#d8419f", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_esc_status", "name": "esc_status", "type": "topic", "color": "#d84841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_vect", "name": "debug_vect", "type": "topic", "color": "#b3d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_mag", "name": "sensor_mag", "type": "topic", "color": "#41d8a9", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_adc_report", "name": "adc_report", "type": "topic", "color": "#41a9d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gps", "name": "sensor_gps", "type": "topic", "color": "#6341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/SensorGps.msg"}, {"id": "t_pwm_input", "name": "pwm_input", "type": "topic", "color": "#a441d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_input_rc", "name": "input_rc", "type": "topic", "color": "#41b7d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed", "name": "airspeed", "type": "topic", "color": "#7141d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorAidSource1d.msg"}, {"id": "t_mission", "name": "mission", "type": "topic", "color": "#8ed841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_cpuload", "name": "cpuload", "type": "topic", "color": "#41cdd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_event", "name": "event", "type": "topic", "color": "#d84141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_wind", "name": "wind", "type": "topic", "color": "#41d8bf", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/Wind.msg"}], "links": [{"source": "m_ads1115", "target": "t_adc_report", "color": "#41a9d8", "style": "dashed"}, {"source": "m_board_adc", "target": "t_adc_report", "color": "#41a9d8", "style": "dashed"}, {"source": "m_board_adc", "target": "t_system_power", "color": "#9d41d8", "style": "dashed"}, {"source": "m_bmp280", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_bmp388", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_dps310", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_spl06", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_icp101xx", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_icp201xx", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_lps22hb", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_lps33hw", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_mpc2520", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_ms5611", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_batt_smbus", "target": "t_battery_status", "color": "#d84189", "style": "dashed"}, {"source": "m_camera_capture", "target": "t_camera_trigger", "color": "#d841ae", "style": "dashed"}, {"source": "m_camera_capture", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_camera_trigger", "color": "#d841ae", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_ms4525do", "target": "t_differential_pressure", "color": "#5441d8", "style": "dashed"}, {"source": "m_ms5525dso", "target": "t_differential_pressure", "color": "#5441d8", "style": "dashed"}, {"source": "m_sdp3x", "target": "t_differential_pressure", "color": "#5441d8", "style": "dashed"}, {"source": "m_cm8jl65", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_gy_us42", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_leddar_one", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_lightware_laser_i2c", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_lightware_laser_serial", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_ll40ls", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_mb12xx", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_pga460", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_srf02", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_teraranger", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_tf02pro", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_tfmini", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_ulanding_radar", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_vl53l0x", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_vl53l1x", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_motors", "color": "#d89841", "style": "dashed"}, {"source": "m_dshot", "target": "t_esc_status", "color": "#d84841", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_outputs", "color": "#d85641", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_armed", "color": "#d86541", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_test", "color": "#d84165", "style": "dashed"}, {"source": "m_dshot", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_gps", "target": "t_gps_inject_data", "color": "#d84191", "style": "dashed"}, {"source": "m_gps", "target": "t_satellite_info", "color": "#80d841", "style": "dashed"}, {"source": "m_gps", "target": "t_sensor_gps", "color": "#6341d8", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_accel", "color": "#41d8a2", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_gyro", "color": "#41d860", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_accel", "color": "#41d8a2", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_gyro", "color": "#41d860", "style": "dashed"}, {"source": "m_icm20608g", "target": "t_sensor_accel", "color": "#41d8a2", "style": "dashed"}, {"source": "m_icm20608g", "target": "t_sensor_gyro", "color": "#41d860", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_accel", "color": "#41d8a2", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_gyro", "color": "#41d860", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_accel", "color": "#41d8a2", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_mpu9250", "target": "t_sensor_gyro", "color": "#41d860", "style": "dashed"}, {"source": "m_mpu9250_i2c", "target": "t_sensor_accel", "color": "#41d8a2", "style": "dashed"}, {"source": "m_mpu9250_i2c", "target": "t_sensor_gyro", "color": "#41d860", "style": "dashed"}, {"source": "m_vectornav", "target": "t_estimator_status", "color": "#5bd841", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_gps", "color": "#6341d8", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_vectornav", "target": "t_sensor_selection", "color": "#c1d841", "style": "dashed"}, {"source": "m_irlock", "target": "t_irlock_report", "color": "#6a41d8", "style": "dashed"}, {"source": "m_ak09916", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_ak8963", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_bmm150", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_hmc5883", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_ist8308", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_ist8310", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_lis3mdl", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_lsm303agr", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_qmc5883l", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_rm3100", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_vcm1193l", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_paa3905", "target": "t_sensor_optical_flow", "color": "#d84174", "style": "dashed"}, {"source": "m_paw3902", "target": "t_sensor_optical_flow", "color": "#d84174", "style": "dashed"}, {"source": "m_pmw3901", "target": "t_sensor_optical_flow", "color": "#d84174", "style": "dashed"}, {"source": "m_px4flow", "target": "t_sensor_optical_flow", "color": "#d84174", "style": "dashed"}, {"source": "m_thoneflow", "target": "t_sensor_optical_flow", "color": "#d84174", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_motors", "color": "#d89841", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_outputs", "color": "#d85641", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_armed", "color": "#d86541", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_test", "color": "#d84165", "style": "dashed"}, {"source": "m_ina226", "target": "t_battery_status", "color": "#d84189", "style": "dashed"}, {"source": "m_pwm_input", "target": "t_pwm_input", "color": "#a441d8", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_motors", "color": "#d89841", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_outputs", "color": "#d85641", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_armed", "color": "#d86541", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_test", "color": "#d84165", "style": "dashed"}, {"source": "m_rc_input", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_rc_input", "target": "t_input_rc", "color": "#41b7d8", "style": "dashed"}, {"source": "m_rc_input", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_safety_button", "target": "t_safety_button", "color": "#9dd841", "style": "dashed"}, {"source": "m_safety_button", "target": "t_led_control", "color": "#c841d8", "style": "dashed"}, {"source": "m_safety_button", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_safety_button", "target": "t_tune_control", "color": "#a4d841", "style": "dashed"}, {"source": "m_batmon", "target": "t_battery_status", "color": "#d84189", "style": "dashed"}, {"source": "m_hott_telemetry", "target": "t_esc_status", "color": "#d84841", "style": "dashed"}, {"source": "m_tone_alarm", "target": "t_tune_control", "color": "#a4d841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_motors", "color": "#d89841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_esc_status", "color": "#d84841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_outputs", "color": "#d85641", "style": "dashed"}, {"source": "m_uavcan", "target": "t_safety_button", "color": "#9dd841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_tune_control", "color": "#a4d841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_armed", "color": "#d86541", "style": "dashed"}, {"source": "m_uavcan", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_test", "color": "#d84165", "style": "dashed"}, {"source": "m_uavcan", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_uavcan", "target": "t_uavcan_parameter_value", "color": "#41d89a", "style": "dashed"}, {"source": "m_uavcan", "target": "t_led_control", "color": "#c841d8", "style": "dashed"}, {"source": "m_airspeed_selector", "target": "t_airspeed_validated", "color": "#d85e41", "style": "dashed"}, {"source": "m_attitude_estimator_q", "target": "t_vehicle_attitude", "color": "#d89f41", "style": "dashed"}, {"source": "m_battery_status", "target": "t_battery_status", "color": "#d84189", "style": "dashed"}, {"source": "m_camera_feedback", "target": "t_camera_capture", "color": "#41d859", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_status", "color": "#d8c441", "style": "dashed"}, {"source": "m_commander", "target": "t_failsafe_flags", "color": "#d89141", "style": "dashed"}, {"source": "m_commander", "target": "t_power_button_state", "color": "#7841d8", "style": "dashed"}, {"source": "m_commander", "target": "t_register_ext_component_reply", "color": "#418cd8", "style": "dashed"}, {"source": "m_commander", "target": "t_event", "color": "#d84141", "style": "dashed"}, {"source": "m_commander", "target": "t_health_report", "color": "#41d8b7", "style": "dashed"}, {"source": "m_commander", "target": "t_tune_control", "color": "#a4d841", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_armed", "color": "#d86541", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_commander", "target": "t_failure_detector_status", "color": "#d841c4", "style": "dashed"}, {"source": "m_commander", "target": "t_home_position", "color": "#4dd841", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_test", "color": "#d84165", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_control_mode", "color": "#d87b41", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_commander", "target": "t_led_control", "color": "#c841d8", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_motors", "color": "#d89841", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_servos_trim", "color": "#c141d8", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_control_allocator_status", "color": "#b341d8", "style": "dashed"}, {"source": "m_dataman", "target": "t_dataman_response", "color": "#4d41d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_local_position", "color": "#41d8d5", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_odometry", "color": "#87d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status", "color": "#5bd841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_attitude", "color": "#d89f41", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status_flags", "color": "#d84182", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_sensor_bias", "color": "#d8cb41", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_global_position", "color": "#4143d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_selector_status", "color": "#4541d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_wind", "color": "#41d8bf", "style": "dashed"}, {"source": "m_ekf2", "target": "t_sensor_selection", "color": "#c1d841", "style": "dashed"}, {"source": "m_esc_battery", "target": "t_battery_status", "color": "#d84189", "style": "dashed"}, {"source": "m_send_event", "target": "t_tune_control", "color": "#a4d841", "style": "dashed"}, {"source": "m_send_event", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_send_event", "target": "t_led_control", "color": "#c841d8", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_vehicle_constraints", "color": "#41d5d8", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_trajectory_setpoint", "color": "#54d841", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_landing_gear", "color": "#d84198", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d8417b", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_landing_gear_wheel", "color": "#4184d8", "style": "dashed"}, {"source": "m_fw_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#4160d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_orbit_status", "color": "#41d84a", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_spoilers_setpoint", "color": "#4193d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_launch_detection_status", "color": "#41d852", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_figure_eight_status", "color": "#d8a641", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_status", "color": "#63d841", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#8041d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_flaps_setpoint", "color": "#8e41d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_tecs_status", "color": "#41d893", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_landing_status", "color": "#d8bc41", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_landing_gear", "color": "#d84198", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_flaps_setpoint", "color": "#8e41d8", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_spoilers_setpoint", "color": "#4193d8", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d8417b", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_manager_information", "color": "#d8ae41", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_attitude_status", "color": "#41d867", "style": "dashed"}, {"source": "m_gimbal", "target": "t_mount_orientation", "color": "#41b0d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_manager_status", "color": "#d8d241", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_v1_command", "color": "#d88241", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_controls", "color": "#ab41d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_set_attitude", "color": "#d88941", "style": "dashed"}, {"source": "m_land_detector", "target": "t_vehicle_land_detected", "color": "#41bfd8", "style": "dashed"}, {"source": "m_landing_target_estimator", "target": "t_landing_target_pose", "color": "#95d841", "style": "dashed"}, {"source": "m_load_mon", "target": "t_cpuload", "color": "#41cdd8", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_local_position", "color": "#41d8d5", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_odometry", "color": "#87d841", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_estimator_status", "color": "#5bd841", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_global_position", "color": "#4143d8", "style": "dashed"}, {"source": "m_logger", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_logger", "target": "t_ulog_stream", "color": "#4152d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_status", "color": "#d8c441", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_switches", "color": "#c8d841", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_manual_control", "target": "t_action_request", "color": "#41d87d", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_setpoint", "color": "#4167d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_landing_gear", "color": "#d84198", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_local_position", "color": "#41d8d5", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_information", "color": "#41c6d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_event", "color": "#d84141", "style": "dashed"}, {"source": "m_mavlink", "target": "t_landing_target_pose", "color": "#95d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mission", "color": "#8ed841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_input_rc", "color": "#41b7d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_tune_control", "color": "#a4d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_transponder_report", "color": "#d87441", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mc_virtual_attitude_setpoint", "color": "#78d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_mocap_odometry", "color": "#d041d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_telemetry_status", "color": "#71d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_uavcan_parameter_request", "color": "#6ad841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude", "color": "#d89f41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_offboard_control_mode", "color": "#d841d2", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_manager_set_manual_control", "color": "#417dd8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_collision_report", "color": "#d841cb", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_visual_odometry", "color": "#d841bc", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_key_value", "color": "#4176d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_trajectory_setpoint", "color": "#54d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gps_inject_data", "color": "#d84191", "style": "dashed"}, {"source": "m_mavlink", "target": "t_battery_status", "color": "#d84189", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_array", "color": "#41d86f", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_attitude_status", "color": "#41d867", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gyro", "color": "#41d860", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_optical_flow", "color": "#d84174", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_rates_setpoint", "color": "#d8417b", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_manager_set_attitude", "color": "#41d876", "style": "dashed"}, {"source": "m_mavlink", "target": "t_camera_status", "color": "#d8416c", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_global_position", "color": "#4143d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_differential_pressure", "color": "#5441d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gps", "color": "#6341d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_dataman_request", "color": "#d0d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_irlock_report", "color": "#6a41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_airspeed", "color": "#7141d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_value", "color": "#41d8b0", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude_setpoint", "color": "#d8414f", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_accel", "color": "#41d8a2", "style": "dashed"}, {"source": "m_mavlink", "target": "t_ulog_stream_ack", "color": "#d84148", "style": "dashed"}, {"source": "m_mavlink", "target": "t_rc_parameter_map", "color": "#9541d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_fw_virtual_attitude_setpoint", "color": "#bad841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_vect", "color": "#b3d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_mc_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d8417b", "style": "dashed"}, {"source": "m_mc_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#4160d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_constraints", "color": "#41d5d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d8414f", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#8041d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_trajectory_setpoint", "color": "#54d841", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_takeoff_status", "color": "#45d841", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d8417b", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_actuator_controls_status_0", "color": "#d741d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_status", "color": "#d8c441", "style": "dashed"}, {"source": "m_navigator", "target": "t_position_setpoint_triplet", "color": "#ba41d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_land_detected", "color": "#41bfd8", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission", "color": "#8ed841", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission_result", "color": "#d841b5", "style": "dashed"}, {"source": "m_navigator", "target": "t_transponder_report", "color": "#d87441", "style": "dashed"}, {"source": "m_navigator", "target": "t_rtl_time_estimate", "color": "#d7d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_global_position", "color": "#4143d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_home_position", "color": "#4dd841", "style": "dashed"}, {"source": "m_navigator", "target": "t_geofence_result", "color": "#41d88c", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_navigator", "target": "t_dataman_request", "color": "#d0d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_roi", "color": "#41d8c6", "style": "dashed"}, {"source": "m_rc_update", "target": "t_manual_control_switches", "color": "#c8d841", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_thrust_setpoint", "color": "#d841a6", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_torque_setpoint", "color": "#414ad8", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_position_controller_status", "color": "#63d841", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d8414f", "style": "dashed"}, {"source": "m_sensors", "target": "t_airspeed", "color": "#7141d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu_status", "color": "#d84f41", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_selection", "color": "#c1d841", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu", "color": "#d8419f", "style": "dashed"}, {"source": "m_sensors", "target": "t_differential_pressure", "color": "#5441d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_combined", "color": "#419ad8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensors_status_imu", "color": "#41d8cd", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_motors", "color": "#d89841", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs", "color": "#d85641", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_armed", "color": "#d86541", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs_sim", "color": "#41d884", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_test", "color": "#d84165", "style": "dashed"}, {"source": "m_sensor_baro_sim", "target": "t_sensor_baro", "color": "#abd841", "style": "dashed"}, {"source": "m_sensor_gps_sim", "target": "t_sensor_gps", "color": "#6341d8", "style": "dashed"}, {"source": "m_sensor_mag_sim", "target": "t_sensor_mag", "color": "#41d8a9", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_angular_velocity_groundtruth", "color": "#d8415e", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_airspeed", "color": "#7141d8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_global_position_groundtruth", "color": "#d84156", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_accel", "color": "#41d8a2", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_gyro", "color": "#41d860", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_distance_sensor", "color": "#416fd8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_attitude_groundtruth", "color": "#d8b541", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_local_position_groundtruth", "color": "#41a2d8", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_led_control", "color": "#c841d8", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_sensor_correction", "color": "#5b41d8", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#d841a6", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_torque_setpoint", "color": "#414ad8", "style": "dashed"}, {"source": "m_uuv_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d8414f", "style": "dashed"}, {"source": "m_uxrce_dds_client", "target": "t_vehicle_command", "color": "#d86c41", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_spoilers_setpoint", "color": "#4193d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vtol_vehicle_status", "color": "#4159d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_attitude_setpoint", "color": "#d8414f", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_torque_setpoint", "color": "#414ad8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_tiltrotor_extra_controls", "color": "#8741d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_flaps_setpoint", "color": "#8e41d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#d841a6", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_command_ack", "color": "#41d843", "style": "dashed"}, {"source": "m_actuator_test", "target": "t_actuator_test", "color": "#d84165", "style": "dashed"}, {"source": "m_led_control", "target": "t_led_control", "color": "#c841d8", "style": "dashed"}, {"source": "m_tune_control", "target": "t_tune_control", "color": "#a4d841", "style": "dashed"}, {"source": "m_fake_gps", "target": "t_sensor_gps", "color": "#6341d8", "style": "dashed"}, {"source": "t_adc_report", "target": "m_board_adc", "color": "#41a9d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_camera_capture", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_camera_trigger", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_camera_trigger", "color": "#d86c41", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_dshot", "color": "#d89841", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_dshot", "color": "#4184d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_dshot", "color": "#d86541", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_dshot", "color": "#c141d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_dshot", "color": "#d86c41", "style": "normal"}, {"source": "t_actuator_test", "target": "m_dshot", "color": "#d84165", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_dshot", "color": "#4167d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_dshot", "color": "#ab41d8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_dshot", "color": "#d84198", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_gps", "color": "#d84191", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_heater", "color": "#41d8a2", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled", "color": "#c841d8", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_is31fl3195", "color": "#c841d8", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_lp5562", "color": "#c841d8", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_ncp5623c", "color": "#c841d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pca9685_pwm_out", "color": "#d89841", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pca9685_pwm_out", "color": "#4184d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pca9685_pwm_out", "color": "#d86541", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pca9685_pwm_out", "color": "#c141d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pca9685_pwm_out", "color": "#d86c41", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pca9685_pwm_out", "color": "#d84165", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pca9685_pwm_out", "color": "#4167d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pca9685_pwm_out", "color": "#ab41d8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pca9685_pwm_out", "color": "#d84198", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina226", "color": "#d8c441", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina226", "color": "#d841a6", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out", "color": "#d89841", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out", "color": "#4184d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out", "color": "#d86541", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out", "color": "#c141d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out", "color": "#d86c41", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out", "color": "#d84165", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out", "color": "#4167d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out", "color": "#ab41d8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out", "color": "#d84198", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_rc_input", "color": "#d8c441", "style": "normal"}, {"source": "t_battery_status", "target": "m_rc_input", "color": "#d84189", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rc_input", "color": "#d89f41", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_rc_input", "color": "#d86c41", "style": "normal"}, {"source": "t_adc_report", "target": "m_rc_input", "color": "#41a9d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_safety_button", "color": "#d86541", "style": "normal"}, {"source": "t_battery_status", "target": "m_bst", "color": "#d84189", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_bst", "color": "#d89f41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_frsky_telemetry", "color": "#41d8d5", "style": "normal"}, {"source": "t_battery_status", "target": "m_frsky_telemetry", "color": "#d84189", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_frsky_telemetry", "color": "#d8c441", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_frsky_telemetry", "color": "#4143d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_hott_telemetry", "color": "#d84189", "style": "normal"}, {"source": "t_esc_status", "target": "m_hott_telemetry", "color": "#d84841", "style": "normal"}, {"source": "t_airspeed", "target": "m_hott_telemetry", "color": "#7141d8", "style": "normal"}, {"source": "t_home_position", "target": "m_hott_telemetry", "color": "#4dd841", "style": "normal"}, {"source": "t_tune_control", "target": "m_tone_alarm", "color": "#a4d841", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_uavcan", "color": "#d84191", "style": "normal"}, {"source": "t_uavcan_parameter_request", "target": "m_uavcan", "color": "#6ad841", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_uavcan", "color": "#d89841", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_uavcan", "color": "#4184d8", "style": "normal"}, {"source": "t_tune_control", "target": "m_uavcan", "color": "#a4d841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_uavcan", "color": "#d86541", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_uavcan", "color": "#c141d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_uavcan", "color": "#d86c41", "style": "normal"}, {"source": "t_actuator_test", "target": "m_uavcan", "color": "#d84165", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uavcan", "color": "#4167d8", "style": "normal"}, {"source": "t_led_control", "target": "m_uavcan", "color": "#c841d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_uavcan", "color": "#ab41d8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_uavcan", "color": "#d84198", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_airspeed_selector", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_airspeed_selector", "color": "#d8c441", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_airspeed_selector", "color": "#d89f41", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_airspeed_selector", "color": "#4159d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_airspeed_selector", "color": "#41bfd8", "style": "normal"}, {"source": "t_estimator_status", "target": "m_airspeed_selector", "color": "#5bd841", "style": "normal"}, {"source": "t_airspeed", "target": "m_airspeed_selector", "color": "#7141d8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_airspeed_selector", "color": "#4541d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_attitude_estimator_q", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_attitude_estimator_q", "color": "#d89f41", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_attitude_estimator_q", "color": "#d041d8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_attitude_estimator_q", "color": "#d841bc", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_attitude_estimator_q", "color": "#419ad8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_battery_status", "color": "#d841a6", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_battery_status", "color": "#d8c441", "style": "normal"}, {"source": "t_adc_report", "target": "m_battery_status", "color": "#41a9d8", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_camera_feedback", "color": "#d841ae", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_camera_feedback", "color": "#4143d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_camera_feedback", "color": "#d89f41", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_camera_feedback", "color": "#41d867", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_commander", "color": "#41d8d5", "style": "normal"}, {"source": "t_cpuload", "target": "m_commander", "color": "#41cdd8", "style": "normal"}, {"source": "t_esc_status", "target": "m_commander", "color": "#d84841", "style": "normal"}, {"source": "t_event", "target": "m_commander", "color": "#d84141", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_commander", "color": "#d84f41", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_commander", "color": "#41bfd8", "style": "normal"}, {"source": "t_safety_button", "target": "m_commander", "color": "#9dd841", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_commander", "color": "#d85e41", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_commander", "color": "#d86541", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_commander", "color": "#d86c41", "style": "normal"}, {"source": "t_telemetry_status", "target": "m_commander", "color": "#71d841", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_commander", "color": "#d89841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_commander", "color": "#d89f41", "style": "normal"}, {"source": "t_offboard_control_mode", "target": "m_commander", "color": "#d841d2", "style": "normal"}, {"source": "t_estimator_status", "target": "m_commander", "color": "#5bd841", "style": "normal"}, {"source": "t_mission_result", "target": "m_commander", "color": "#d841b5", "style": "normal"}, {"source": "t_home_position", "target": "m_commander", "color": "#4dd841", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_commander", "color": "#416fd8", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_commander", "color": "#41d843", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_commander", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_commander", "color": "#d8c441", "style": "normal"}, {"source": "t_battery_status", "target": "m_commander", "color": "#d84189", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_commander", "color": "#41d860", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_commander", "color": "#4159d8", "style": "normal"}, {"source": "t_estimator_status_flags", "target": "m_commander", "color": "#d84182", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_commander", "color": "#d8cb41", "style": "normal"}, {"source": "t_action_request", "target": "m_commander", "color": "#41d87d", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_commander", "color": "#4143d8", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_commander", "color": "#d7d841", "style": "normal"}, {"source": "t_geofence_result", "target": "m_commander", "color": "#41d88c", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_commander", "color": "#4541d8", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_commander", "color": "#5441d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_commander", "color": "#5b41d8", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_commander", "color": "#6341d8", "style": "normal"}, {"source": "t_power_button_state", "target": "m_commander", "color": "#7841d8", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_commander", "color": "#41d8a2", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_commander", "color": "#41d8a9", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_commander", "color": "#c8d841", "style": "normal"}, {"source": "t_wind", "target": "m_commander", "color": "#41d8bf", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_commander", "color": "#c1d841", "style": "normal"}, {"source": "t_system_power", "target": "m_commander", "color": "#9d41d8", "style": "normal"}, {"source": "t_pwm_input", "target": "m_commander", "color": "#a441d8", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_commander", "color": "#abd841", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_commander", "color": "#41d8cd", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_control_allocator", "color": "#d8c441", "style": "normal"}, {"source": "t_spoilers_setpoint", "target": "m_control_allocator", "color": "#4193d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_control_allocator", "color": "#c8d841", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_control_allocator", "color": "#414ad8", "style": "normal"}, {"source": "t_failure_detector_status", "target": "m_control_allocator", "color": "#d841c4", "style": "normal"}, {"source": "t_tiltrotor_extra_controls", "target": "m_control_allocator", "color": "#8741d8", "style": "normal"}, {"source": "t_flaps_setpoint", "target": "m_control_allocator", "color": "#8e41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_control_allocator", "color": "#d841a6", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_control_allocator", "color": "#d87b41", "style": "normal"}, {"source": "t_dataman_request", "target": "m_dataman", "color": "#d0d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ekf2", "color": "#d8c441", "style": "normal"}, {"source": "t_airspeed", "target": "m_ekf2", "color": "#7141d8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_ekf2", "color": "#95d841", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_ekf2", "color": "#d85e41", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_ekf2", "color": "#41bfd8", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_ekf2", "color": "#c1d841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_ekf2", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_ekf2", "color": "#d841bc", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_ekf2", "color": "#419ad8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_ekf2", "color": "#416fd8", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_ekf2", "color": "#d8419f", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_ekf2", "color": "#41d8cd", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_esc_battery", "color": "#d8c441", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_esc_battery", "color": "#d841a6", "style": "normal"}, {"source": "t_esc_status", "target": "m_esc_battery", "color": "#d84841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_send_event", "color": "#d8c441", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_send_event", "color": "#d89141", "style": "normal"}, {"source": "t_cpuload", "target": "m_send_event", "color": "#41cdd8", "style": "normal"}, {"source": "t_battery_status", "target": "m_send_event", "color": "#d84189", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_send_event", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_flight_mode_manager", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_flight_mode_manager", "color": "#d8c441", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_flight_mode_manager", "color": "#d8414f", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_flight_mode_manager", "color": "#41bfd8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_flight_mode_manager", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_flight_mode_manager", "color": "#d87b41", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_flight_mode_manager", "color": "#45d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_att_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_att_control", "color": "#d8c441", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_fw_att_control", "color": "#4160d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_att_control", "color": "#d89f41", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_fw_att_control", "color": "#d8414f", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_att_control", "color": "#41bfd8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_att_control", "color": "#d85e41", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_att_control", "color": "#d87b41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_att_control", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_autotune_attitude_control", "color": "#d8c441", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_autotune_attitude_control", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_pos_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_pos_control", "color": "#d8c441", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_pos_control", "color": "#d89f41", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_fw_pos_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_pos_control", "color": "#d85e41", "style": "normal"}, {"source": "t_wind", "target": "m_fw_pos_control", "color": "#41d8bf", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_pos_control", "color": "#41bfd8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_fw_pos_control", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_fw_pos_control", "color": "#4143d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_pos_control", "color": "#d87b41", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_fw_pos_control", "color": "#54d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_pos_control", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_rate_control", "color": "#d8c441", "style": "normal"}, {"source": "t_battery_status", "target": "m_fw_rate_control", "color": "#d84189", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_rate_control", "color": "#41bfd8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_rate_control", "color": "#d85e41", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_fw_rate_control", "color": "#d8417b", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_rate_control", "color": "#d87b41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_rate_control", "color": "#4167d8", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_fw_rate_control", "color": "#b341d8", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_gimbal", "color": "#41c6d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_gimbal", "color": "#d89f41", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_gimbal", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_gimbal", "color": "#41bfd8", "style": "normal"}, {"source": "t_gimbal_manager_set_manual_control", "target": "m_gimbal", "color": "#417dd8", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_gimbal", "color": "#41d867", "style": "normal"}, {"source": "t_gimbal_manager_set_attitude", "target": "m_gimbal", "color": "#41d876", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_gimbal", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_gimbal", "color": "#4143d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_gimbal", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_roi", "target": "m_gimbal", "color": "#41d8c6", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_gyro_calibration", "color": "#d8c441", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_gyro_calibration", "color": "#41d8a2", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_gyro_calibration", "color": "#5b41d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_gyro_calibration", "color": "#41d860", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_land_detector", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_land_detector", "color": "#d8c441", "style": "normal"}, {"source": "t_launch_detection_status", "target": "m_land_detector", "color": "#41d852", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_land_detector", "color": "#d84f41", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_land_detector", "color": "#d85e41", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_land_detector", "color": "#d86541", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_land_detector", "color": "#c1d841", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_land_detector", "color": "#d841a6", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_land_detector", "color": "#54d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_land_detector", "color": "#d87b41", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_land_detector", "color": "#45d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_landing_target_estimator", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_landing_target_estimator", "color": "#d89f41", "style": "normal"}, {"source": "t_irlock_report", "target": "m_landing_target_estimator", "color": "#6a41d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_local_position_estimator", "color": "#d89f41", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_local_position_estimator", "color": "#41bfd8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_local_position_estimator", "color": "#95d841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_local_position_estimator", "color": "#d86541", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_local_position_estimator", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_local_position_estimator", "color": "#d841bc", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_local_position_estimator", "color": "#416fd8", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_local_position_estimator", "color": "#d041d8", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_local_position_estimator", "color": "#419ad8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_logger", "color": "#d8c441", "style": "normal"}, {"source": "t_battery_status", "target": "m_logger", "color": "#d84189", "style": "normal"}, {"source": "t_ulog_stream_ack", "target": "m_logger", "color": "#d84148", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_logger", "color": "#d86c41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_logger", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mag_bias_estimator", "color": "#d8c441", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mag_bias_estimator", "color": "#41d8a9", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_manual_control", "color": "#d8c441", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_manual_control", "color": "#4167d8", "style": "normal"}, {"source": "t_action_request", "target": "m_manual_control", "color": "#41d87d", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_manual_control", "color": "#c8d841", "style": "normal"}, {"source": "t_esc_status", "target": "m_mavlink", "color": "#d84841", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_mavlink", "color": "#d84f41", "style": "normal"}, {"source": "t_event", "target": "m_mavlink", "color": "#d84141", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_mavlink", "color": "#d85641", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_mavlink", "color": "#d85e41", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_mavlink", "color": "#d86541", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_mavlink", "color": "#d86c41", "style": "normal"}, {"source": "t_transponder_report", "target": "m_mavlink", "color": "#d87441", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mavlink", "color": "#d87b41", "style": "normal"}, {"source": "t_gimbal_v1_command", "target": "m_mavlink", "color": "#d88241", "style": "normal"}, {"source": "t_gimbal_device_set_attitude", "target": "m_mavlink", "color": "#d88941", "style": "normal"}, {"source": "t_figure_eight_status", "target": "m_mavlink", "color": "#d8a641", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_mavlink", "color": "#d89141", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mavlink", "color": "#d89f41", "style": "normal"}, {"source": "t_gimbal_manager_information", "target": "m_mavlink", "color": "#d8ae41", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_mavlink", "color": "#d8b541", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mavlink", "color": "#d8c441", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_mavlink", "color": "#d8cb41", "style": "normal"}, {"source": "t_gimbal_manager_status", "target": "m_mavlink", "color": "#d8d241", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_mavlink", "color": "#d7d841", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_mavlink", "color": "#c8d841", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_mavlink", "color": "#c1d841", "style": "normal"}, {"source": "t_debug_vect", "target": "m_mavlink", "color": "#b3d841", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_mavlink", "color": "#abd841", "style": "normal"}, {"source": "t_vehicle_odometry", "target": "m_mavlink", "color": "#87d841", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_mavlink", "color": "#95d841", "style": "normal"}, {"source": "t_mission", "target": "m_mavlink", "color": "#8ed841", "style": "normal"}, {"source": "t_satellite_info", "target": "m_mavlink", "color": "#80d841", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_mavlink", "color": "#63d841", "style": "normal"}, {"source": "t_estimator_status", "target": "m_mavlink", "color": "#5bd841", "style": "normal"}, {"source": "t_home_position", "target": "m_mavlink", "color": "#4dd841", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_mavlink", "color": "#41d843", "style": "normal"}, {"source": "t_orbit_status", "target": "m_mavlink", "color": "#41d84a", "style": "normal"}, {"source": "t_camera_capture", "target": "m_mavlink", "color": "#41d859", "style": "normal"}, {"source": "t_debug_array", "target": "m_mavlink", "color": "#41d86f", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_mavlink", "color": "#41d867", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_mavlink", "color": "#41d884", "style": "normal"}, {"source": "t_geofence_result", "target": "m_mavlink", "color": "#41d88c", "style": "normal"}, {"source": "t_tecs_status", "target": "m_mavlink", "color": "#41d893", "style": "normal"}, {"source": "t_uavcan_parameter_value", "target": "m_mavlink", "color": "#41d89a", "style": "normal"}, {"source": "t_debug_value", "target": "m_mavlink", "color": "#41d8b0", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mavlink", "color": "#41d8a9", "style": "normal"}, {"source": "t_health_report", "target": "m_mavlink", "color": "#41d8b7", "style": "normal"}, {"source": "t_wind", "target": "m_mavlink", "color": "#41d8bf", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mavlink", "color": "#41d8d5", "style": "normal"}, {"source": "t_cpuload", "target": "m_mavlink", "color": "#41cdd8", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_mavlink", "color": "#41c6d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mavlink", "color": "#41bfd8", "style": "normal"}, {"source": "t_input_rc", "target": "m_mavlink", "color": "#41b7d8", "style": "normal"}, {"source": "t_mount_orientation", "target": "m_mavlink", "color": "#41b0d8", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_mavlink", "color": "#41a2d8", "style": "normal"}, {"source": "t_register_ext_component_reply", "target": "m_mavlink", "color": "#418cd8", "style": "normal"}, {"source": "t_debug_key_value", "target": "m_mavlink", "color": "#4176d8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_mavlink", "color": "#416fd8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mavlink", "color": "#4167d8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mavlink", "color": "#4160d8", "style": "normal"}, {"source": "t_ulog_stream", "target": "m_mavlink", "color": "#4152d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_mavlink", "color": "#4143d8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_mavlink", "color": "#4541d8", "style": "normal"}, {"source": "t_dataman_response", "target": "m_mavlink", "color": "#4d41d8", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_mavlink", "color": "#5441d8", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_mavlink", "color": "#6341d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_mavlink", "color": "#5b41d8", "style": "normal"}, {"source": "t_airspeed", "target": "m_mavlink", "color": "#7141d8", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_mavlink", "color": "#8041d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_mavlink", "color": "#ba41d8", "style": "normal"}, {"source": "t_collision_report", "target": "m_mavlink", "color": "#d841cb", "style": "normal"}, {"source": "t_mission_result", "target": "m_mavlink", "color": "#d841b5", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_mavlink", "color": "#d841ae", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_mavlink", "color": "#d841a6", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_mavlink", "color": "#d8419f", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_mavlink", "color": "#d84191", "style": "normal"}, {"source": "t_battery_status", "target": "m_mavlink", "color": "#d84189", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mavlink", "color": "#d8417b", "style": "normal"}, {"source": "t_camera_status", "target": "m_mavlink", "color": "#d8416c", "style": "normal"}, {"source": "t_vehicle_angular_velocity_groundtruth", "target": "m_mavlink", "color": "#d8415e", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_mavlink", "color": "#d84156", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mavlink", "color": "#d8414f", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_att_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_att_control", "color": "#d8c441", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mc_att_control", "color": "#4160d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mc_att_control", "color": "#d89f41", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_att_control", "color": "#41bfd8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mc_att_control", "color": "#d8414f", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_att_control", "color": "#d87b41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_att_control", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_autotune_attitude_control", "color": "#d8c441", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#414ad8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#4167d8", "style": "normal"}, {"source": "t_actuator_controls_status_0", "target": "m_mc_autotune_attitude_control", "color": "#d741d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_pos_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_constraints", "target": "m_mc_pos_control", "color": "#41d5d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_pos_control", "color": "#41bfd8", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_mc_pos_control", "color": "#54d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_pos_control", "color": "#d87b41", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_rate_control", "color": "#d8c441", "style": "normal"}, {"source": "t_battery_status", "target": "m_mc_rate_control", "color": "#d84189", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_rate_control", "color": "#41bfd8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mc_rate_control", "color": "#d8417b", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_rate_control", "color": "#d87b41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_rate_control", "color": "#4167d8", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_mc_rate_control", "color": "#b341d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_navigator", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_navigator", "color": "#d8c441", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_navigator", "color": "#63d841", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_navigator", "color": "#41bfd8", "style": "normal"}, {"source": "t_wind", "target": "m_navigator", "color": "#41d8bf", "style": "normal"}, {"source": "t_mission", "target": "m_navigator", "color": "#8ed841", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_navigator", "color": "#95d841", "style": "normal"}, {"source": "t_transponder_report", "target": "m_navigator", "color": "#d87441", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_navigator", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_navigator", "color": "#4143d8", "style": "normal"}, {"source": "t_home_position", "target": "m_navigator", "color": "#4dd841", "style": "normal"}, {"source": "t_dataman_response", "target": "m_navigator", "color": "#4d41d8", "style": "normal"}, {"source": "t_position_controller_landing_status", "target": "m_navigator", "color": "#d8bc41", "style": "normal"}, {"source": "t_input_rc", "target": "m_rc_update", "color": "#41b7d8", "style": "normal"}, {"source": "t_rc_parameter_map", "target": "m_rc_update", "color": "#9541d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_rc_update", "color": "#c8d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_rover_pos_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rover_pos_control", "color": "#d89f41", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_rover_pos_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_rover_pos_control", "color": "#d8414f", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_rover_pos_control", "color": "#4143d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_rover_pos_control", "color": "#d87b41", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_rover_pos_control", "color": "#54d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_rover_pos_control", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_sensors", "color": "#d84f41", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_sensors", "color": "#41d8a2", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_sensors", "color": "#41d860", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_sensors", "color": "#41d8a9", "style": "normal"}, {"source": "t_sensor_optical_flow", "target": "m_sensors", "color": "#d84174", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_sensors", "color": "#c1d841", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_sensors", "color": "#d8cb41", "style": "normal"}, {"source": "t_adc_report", "target": "m_sensors", "color": "#41a9d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_sensors", "color": "#d87b41", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_sensors", "color": "#d8419f", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_sensors", "color": "#5441d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_sensors", "color": "#5b41d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out_sim", "color": "#d89841", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out_sim", "color": "#4184d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out_sim", "color": "#d86541", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out_sim", "color": "#c141d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out_sim", "color": "#d86c41", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out_sim", "color": "#d84165", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out_sim", "color": "#4167d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out_sim", "color": "#ab41d8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out_sim", "color": "#d84198", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_baro_sim", "color": "#d84156", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#d84156", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#41a2d8", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_sensor_mag_sim", "color": "#d8b541", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_mag_sim", "color": "#d84156", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_simulator_sih", "color": "#41d884", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_simulator_sih", "color": "#d85641", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_temperature_compensation", "color": "#41d8a2", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_temperature_compensation", "color": "#41d8a9", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_temperature_compensation", "color": "#41d860", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_temperature_compensation", "color": "#d86c41", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_temperature_compensation", "color": "#abd841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_att_control", "color": "#d89f41", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_uuv_att_control", "color": "#d8414f", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_uuv_att_control", "color": "#d8417b", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_att_control", "color": "#d87b41", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uuv_att_control", "color": "#4167d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_uuv_pos_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_uuv_pos_control", "color": "#54d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_pos_control", "color": "#d87b41", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_pos_control", "color": "#d89f41", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_uxrce_dds_client", "color": "#41d843", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_vtol_att_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_vtol_att_control", "color": "#ba41d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_vtol_att_control", "color": "#d85e41", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_vtol_att_control", "color": "#41bfd8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_vtol_att_control", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_vtol_att_control", "color": "#d87b41", "style": "normal"}, {"source": "t_mc_virtual_attitude_setpoint", "target": "m_vtol_att_control", "color": "#78d841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_vtol_att_control", "color": "#d89f41", "style": "normal"}, {"source": "t_home_position", "target": "m_vtol_att_control", "color": "#4dd841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_vtol_att_control", "color": "#d8c441", "style": "normal"}, {"source": "t_action_request", "target": "m_vtol_att_control", "color": "#41d87d", "style": "normal"}, {"source": "t_tecs_status", "target": "m_vtol_att_control", "color": "#41d893", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_vtol_att_control", "color": "#8041d8", "style": "normal"}, {"source": "t_fw_virtual_attitude_setpoint", "target": "m_vtol_att_control", "color": "#bad841", "style": "normal"}]} \ No newline at end of file diff --git a/public/en/middleware/graph_px4_fmu-v5.json b/public/en/middleware/graph_px4_fmu-v5.json new file mode 100644 index 000000000000..bf541c1000e0 --- /dev/null +++ b/public/en/middleware/graph_px4_fmu-v5.json @@ -0,0 +1 @@ +{"nodes": [{"id": "m_fw_autotune_attitude_control", "name": "fw_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_autotune_attitude_control", "name": "mc_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_landing_target_estimator", "name": "landing_target_estimator", "type": "Module", "color": "#666666"}, {"id": "m_local_position_estimator", "name": "local_position_estimator", "type": "Module", "color": "#666666"}, {"id": "m_temperature_compensation", "name": "temperature_compensation", "type": "Module", "color": "#666666"}, {"id": "m_lightware_laser_serial", "name": "lightware_laser_serial", "type": "Module", "color": "#666666"}, {"id": "m_attitude_estimator_q", "name": "attitude_estimator_q", "type": "Module", "color": "#666666"}, {"id": "m_lightware_laser_i2c", "name": "lightware_laser_i2c", "type": "Module", "color": "#666666"}, {"id": "m_flight_mode_manager", "name": "flight_mode_manager", "type": "Module", "color": "#666666"}, {"id": "m_mag_bias_estimator", "name": "mag_bias_estimator", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_is31fl3195", "name": "rgbled_is31fl3195", "type": "Module", "color": "#666666"}, {"id": "m_airspeed_selector", "name": "airspeed_selector", "type": "Module", "color": "#666666"}, {"id": "m_control_allocator", "name": "control_allocator", "type": "Module", "color": "#666666"}, {"id": "m_rover_pos_control", "name": "rover_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_gyro_calibration", "name": "gyro_calibration", "type": "Module", "color": "#666666"}, {"id": "m_uxrce_dds_client", "name": "uxrce_dds_client", "type": "Module", "color": "#666666"}, {"id": "m_vtol_att_control", "name": "vtol_att_control", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_ncp5623c", "name": "rgbled_ncp5623c", "type": "Module", "color": "#666666"}, {"id": "m_pca9685_pwm_out", "name": "pca9685_pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_frsky_telemetry", "name": "frsky_telemetry", "type": "Module", "color": "#666666"}, {"id": "m_camera_feedback", "name": "camera_feedback", "type": "Module", "color": "#666666"}, {"id": "m_fw_rate_control", "name": "fw_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_rate_control", "name": "mc_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_baro_sim", "name": "sensor_baro_sim", "type": "Module", "color": "#666666"}, {"id": "m_uuv_att_control", "name": "uuv_att_control", "type": "Module", "color": "#666666"}, {"id": "m_uuv_pos_control", "name": "uuv_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_camera_capture", "name": "camera_capture", "type": "Module", "color": "#666666"}, {"id": "m_camera_trigger", "name": "camera_trigger", "type": "Module", "color": "#666666"}, {"id": "m_ulanding_radar", "name": "ulanding_radar", "type": "Module", "color": "#666666"}, {"id": "m_hott_telemetry", "name": "hott_telemetry", "type": "Module", "color": "#666666"}, {"id": "m_battery_status", "name": "battery_status", "type": "Module", "color": "#666666"}, {"id": "m_fw_att_control", "name": "fw_att_control", "type": "Module", "color": "#666666"}, {"id": "m_fw_pos_control", "name": "fw_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_manual_control", "name": "manual_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_att_control", "name": "mc_att_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_pos_control", "name": "mc_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_gps_sim", "name": "sensor_gps_sim", "type": "Module", "color": "#666666"}, {"id": "m_sensor_mag_sim", "name": "sensor_mag_sim", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_lp5562", "name": "rgbled_lp5562", "type": "Module", "color": "#666666"}, {"id": "m_safety_button", "name": "safety_button", "type": "Module", "color": "#666666"}, {"id": "m_land_detector", "name": "land_detector", "type": "Module", "color": "#666666"}, {"id": "m_simulator_sih", "name": "simulator_sih", "type": "Module", "color": "#666666"}, {"id": "m_actuator_test", "name": "actuator_test", "type": "Module", "color": "#666666"}, {"id": "m_tune_control", "name": "tune_control", "type": "Module", "color": "#666666"}, {"id": "m_esc_battery", "name": "esc_battery", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out_sim", "name": "pwm_out_sim", "type": "Module", "color": "#666666"}, {"id": "m_led_control", "name": "led_control", "type": "Module", "color": "#666666"}, {"id": "m_batt_smbus", "name": "batt_smbus", "type": "Module", "color": "#666666"}, {"id": "m_leddar_one", "name": "leddar_one", "type": "Module", "color": "#666666"}, {"id": "m_teraranger", "name": "teraranger", "type": "Module", "color": "#666666"}, {"id": "m_rgbled_pwm", "name": "rgbled_pwm", "type": "Module", "color": "#666666"}, {"id": "m_tone_alarm", "name": "tone_alarm", "type": "Module", "color": "#666666"}, {"id": "m_send_event", "name": "send_event", "type": "Module", "color": "#666666"}, {"id": "m_board_adc", "name": "board_adc", "type": "Module", "color": "#666666"}, {"id": "m_ms5525dso", "name": "ms5525dso", "type": "Module", "color": "#666666"}, {"id": "m_adis16448", "name": "adis16448", "type": "Module", "color": "#666666"}, {"id": "m_icm42688p", "name": "icm42688p", "type": "Module", "color": "#666666"}, {"id": "m_lsm303agr", "name": "lsm303agr", "type": "Module", "color": "#666666"}, {"id": "m_thoneflow", "name": "thoneflow", "type": "Module", "color": "#666666"}, {"id": "m_pwm_input", "name": "pwm_input", "type": "Module", "color": "#666666"}, {"id": "m_commander", "name": "commander", "type": "Module", "color": "#666666"}, {"id": "m_navigator", "name": "navigator", "type": "Module", "color": "#666666"}, {"id": "m_rc_update", "name": "rc_update", "type": "Module", "color": "#666666"}, {"id": "m_icp101xx", "name": "icp101xx", "type": "Module", "color": "#666666"}, {"id": "m_icp201xx", "name": "icp201xx", "type": "Module", "color": "#666666"}, {"id": "m_ms4525do", "name": "ms4525do", "type": "Module", "color": "#666666"}, {"id": "m_icm20602", "name": "icm20602", "type": "Module", "color": "#666666"}, {"id": "m_icm20689", "name": "icm20689", "type": "Module", "color": "#666666"}, {"id": "m_icm20948", "name": "icm20948", "type": "Module", "color": "#666666"}, {"id": "m_qmc5883l", "name": "qmc5883l", "type": "Module", "color": "#666666"}, {"id": "m_vcm1193l", "name": "vcm1193l", "type": "Module", "color": "#666666"}, {"id": "m_rc_input", "name": "rc_input", "type": "Module", "color": "#666666"}, {"id": "m_load_mon", "name": "load_mon", "type": "Module", "color": "#666666"}, {"id": "m_fake_gps", "name": "fake_gps", "type": "Module", "color": "#666666"}, {"id": "m_ads1115", "name": "ads1115", "type": "Module", "color": "#666666"}, {"id": "m_lps22hb", "name": "lps22hb", "type": "Module", "color": "#666666"}, {"id": "m_lps33hw", "name": "lps33hw", "type": "Module", "color": "#666666"}, {"id": "m_mpc2520", "name": "mpc2520", "type": "Module", "color": "#666666"}, {"id": "m_cm8jl65", "name": "cm8jl65", "type": "Module", "color": "#666666"}, {"id": "m_gy_us42", "name": "gy_us42", "type": "Module", "color": "#666666"}, {"id": "m_tf02pro", "name": "tf02pro", "type": "Module", "color": "#666666"}, {"id": "m_vl53l0x", "name": "vl53l0x", "type": "Module", "color": "#666666"}, {"id": "m_vl53l1x", "name": "vl53l1x", "type": "Module", "color": "#666666"}, {"id": "m_ak09916", "name": "ak09916", "type": "Module", "color": "#666666"}, {"id": "m_hmc5883", "name": "hmc5883", "type": "Module", "color": "#666666"}, {"id": "m_ist8308", "name": "ist8308", "type": "Module", "color": "#666666"}, {"id": "m_ist8310", "name": "ist8310", "type": "Module", "color": "#666666"}, {"id": "m_lis3mdl", "name": "lis3mdl", "type": "Module", "color": "#666666"}, {"id": "m_paa3905", "name": "paa3905", "type": "Module", "color": "#666666"}, {"id": "m_paw3902", "name": "paw3902", "type": "Module", "color": "#666666"}, {"id": "m_pmw3901", "name": "pmw3901", "type": "Module", "color": "#666666"}, {"id": "m_px4flow", "name": "px4flow", "type": "Module", "color": "#666666"}, {"id": "m_msp_osd", "name": "msp_osd", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out", "name": "pwm_out", "type": "Module", "color": "#666666"}, {"id": "m_crsf_rc", "name": "crsf_rc", "type": "Module", "color": "#666666"}, {"id": "m_dataman", "name": "dataman", "type": "Module", "color": "#666666"}, {"id": "m_mavlink", "name": "mavlink", "type": "Module", "color": "#666666"}, {"id": "m_sensors", "name": "sensors", "type": "Module", "color": "#666666"}, {"id": "m_bmp280", "name": "bmp280", "type": "Module", "color": "#666666"}, {"id": "m_bmp388", "name": "bmp388", "type": "Module", "color": "#666666"}, {"id": "m_dps310", "name": "dps310", "type": "Module", "color": "#666666"}, {"id": "m_ms5611", "name": "ms5611", "type": "Module", "color": "#666666"}, {"id": "m_ll40ls", "name": "ll40ls", "type": "Module", "color": "#666666"}, {"id": "m_mb12xx", "name": "mb12xx", "type": "Module", "color": "#666666"}, {"id": "m_pga460", "name": "pga460", "type": "Module", "color": "#666666"}, {"id": "m_tfmini", "name": "tfmini", "type": "Module", "color": "#666666"}, {"id": "m_heater", "name": "heater", "type": "Module", "color": "#666666"}, {"id": "m_bmi055", "name": "bmi055", "type": "Module", "color": "#666666"}, {"id": "m_irlock", "name": "irlock", "type": "Module", "color": "#666666"}, {"id": "m_rgbled", "name": "rgbled", "type": "Module", "color": "#666666"}, {"id": "m_ak8963", "name": "ak8963", "type": "Module", "color": "#666666"}, {"id": "m_bmm150", "name": "bmm150", "type": "Module", "color": "#666666"}, {"id": "m_rm3100", "name": "rm3100", "type": "Module", "color": "#666666"}, {"id": "m_atxxxx", "name": "atxxxx", "type": "Module", "color": "#666666"}, {"id": "m_ina226", "name": "ina226", "type": "Module", "color": "#666666"}, {"id": "m_batmon", "name": "batmon", "type": "Module", "color": "#666666"}, {"id": "m_uavcan", "name": "uavcan", "type": "Module", "color": "#666666"}, {"id": "m_gimbal", "name": "gimbal", "type": "Module", "color": "#666666"}, {"id": "m_logger", "name": "logger", "type": "Module", "color": "#666666"}, {"id": "m_spl06", "name": "spl06", "type": "Module", "color": "#666666"}, {"id": "m_sdp3x", "name": "sdp3x", "type": "Module", "color": "#666666"}, {"id": "m_srf02", "name": "srf02", "type": "Module", "color": "#666666"}, {"id": "m_dshot", "name": "dshot", "type": "Module", "color": "#666666"}, {"id": "m_sht3x", "name": "sht3x", "type": "Module", "color": "#666666"}, {"id": "m_px4io", "name": "px4io", "type": "Module", "color": "#666666"}, {"id": "m_ekf2", "name": "ekf2", "type": "Module", "color": "#666666"}, {"id": "m_gps", "name": "gps", "type": "Module", "color": "#666666"}, {"id": "m_bst", "name": "bst", "type": "Module", "color": "#666666"}, {"id": "t_vehicle_angular_velocity_groundtruth", "name": "vehicle_angular_velocity_groundtruth", "type": "topic", "color": "#d89741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAngularVelocity.msg"}, {"id": "t_vehicle_global_position_groundtruth", "name": "vehicle_global_position_groundtruth", "type": "topic", "color": "#41d869", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_position_controller_landing_status", "name": "position_controller_landing_status", "type": "topic", "color": "#d84f41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position_groundtruth", "name": "vehicle_local_position_groundtruth", "type": "topic", "color": "#415bd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_gimbal_manager_set_manual_control", "name": "gimbal_manager_set_manual_control", "type": "topic", "color": "#d84148", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_autotune_attitude_control_status", "name": "autotune_attitude_control_status", "type": "topic", "color": "#d241d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position_setpoint", "name": "vehicle_local_position_setpoint", "type": "topic", "color": "#41d85b", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_attitude_status", "name": "gimbal_device_attitude_status", "type": "topic", "color": "#d2d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mc_virtual_attitude_setpoint", "name": "mc_virtual_attitude_setpoint", "type": "topic", "color": "#d84841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_register_ext_component_reply", "name": "register_ext_component_reply", "type": "topic", "color": "#83d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_groundtruth", "name": "vehicle_attitude_groundtruth", "type": "topic", "color": "#d841ba", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitude.msg"}, {"id": "t_fw_virtual_attitude_setpoint", "name": "fw_virtual_attitude_setpoint", "type": "topic", "color": "#d84188", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_gimbal_manager_set_attitude", "name": "gimbal_manager_set_attitude", "type": "topic", "color": "#41d877", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_position_controller_status", "name": "position_controller_status", "type": "topic", "color": "#a7d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_controls_status_0", "name": "actuator_controls_status_0", "type": "topic", "color": "#41bfd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorControlsStatus.msg"}, {"id": "t_gimbal_manager_information", "name": "gimbal_manager_information", "type": "topic", "color": "#4169d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_set_attitude", "name": "gimbal_device_set_attitude", "type": "topic", "color": "#ae41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_selector_status", "name": "estimator_selector_status", "type": "topic", "color": "#8bd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_information", "name": "gimbal_device_information", "type": "topic", "color": "#75d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_position_setpoint_triplet", "name": "position_setpoint_triplet", "type": "topic", "color": "#41d886", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_setpoint", "name": "vehicle_attitude_setpoint", "type": "topic", "color": "#d84197", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_uavcan_parameter_request", "name": "uavcan_parameter_request", "type": "topic", "color": "#4177d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tiltrotor_extra_controls", "name": "tiltrotor_extra_controls", "type": "topic", "color": "#4170d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_control_allocator_status", "name": "control_allocator_status", "type": "topic", "color": "#5841d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_failure_detector_status", "name": "failure_detector_status", "type": "topic", "color": "#b6d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_torque_setpoint", "name": "vehicle_torque_setpoint", "type": "topic", "color": "#41d8aa", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleTorqueSetpoint.msg"}, {"id": "t_manual_control_switches", "name": "manual_control_switches", "type": "topic", "color": "#41d8bf", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_launch_detection_status", "name": "launch_detection_status", "type": "topic", "color": "#41c6d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_manual_control_setpoint", "name": "manual_control_setpoint", "type": "topic", "color": "#9241d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ManualControlSetpoint.msg"}, {"id": "t_vehicle_visual_odometry", "name": "vehicle_visual_odometry", "type": "topic", "color": "#d8418f", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_vehicle_thrust_setpoint", "name": "vehicle_thrust_setpoint", "type": "topic", "color": "#d8417a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleThrustSetpoint.msg"}, {"id": "t_vehicle_global_position", "name": "vehicle_global_position", "type": "topic", "color": "#d8414f", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_estimator_status_flags", "name": "estimator_status_flags", "type": "topic", "color": "#58d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_rates_setpoint", "name": "vehicle_rates_setpoint", "type": "topic", "color": "#41d84c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position", "name": "vehicle_local_position", "type": "topic", "color": "#7541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_uavcan_parameter_value", "name": "uavcan_parameter_value", "type": "topic", "color": "#7c41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_mocap_odometry", "name": "vehicle_mocap_odometry", "type": "topic", "color": "#d841d0", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_differential_pressure", "name": "differential_pressure", "type": "topic", "color": "#d84141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_status", "name": "gimbal_manager_status", "type": "topic", "color": "#43d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_offboard_control_mode", "name": "offboard_control_mode", "type": "topic", "color": "#41d894", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_land_detected", "name": "vehicle_land_detected", "type": "topic", "color": "#419bd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_sensor_bias", "name": "estimator_sensor_bias", "type": "topic", "color": "#d84181", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_servos_trim", "name": "actuator_servos_trim", "type": "topic", "color": "#d8c241", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_control_mode", "name": "vehicle_control_mode", "type": "topic", "color": "#41d854", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleControlMode.msg"}, {"id": "t_actuator_outputs_sim", "name": "actuator_outputs_sim", "type": "topic", "color": "#41aad8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_sensor_optical_flow", "name": "sensor_optical_flow", "type": "topic", "color": "#d87a41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vtol_vehicle_status", "name": "vtol_vehicle_status", "type": "topic", "color": "#c4d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command_ack", "name": "vehicle_command_ack", "type": "topic", "color": "#41d87f", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_constraints", "name": "vehicle_constraints", "type": "topic", "color": "#41b8d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_trajectory_setpoint", "name": "trajectory_setpoint", "type": "topic", "color": "#4186d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_figure_eight_status", "name": "figure_eight_status", "type": "topic", "color": "#414cd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_target_pose", "name": "landing_target_pose", "type": "topic", "color": "#d841ac", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu_status", "name": "vehicle_imu_status", "type": "topic", "color": "#d85641", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensors_status_imu", "name": "sensors_status_imu", "type": "topic", "color": "#d86441", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_power_button_state", "name": "power_button_state", "type": "topic", "color": "#41d8a2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_transponder_report", "name": "transponder_report", "type": "topic", "color": "#41d8c6", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear_wheel", "name": "landing_gear_wheel", "type": "topic", "color": "#41b1d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed_validated", "name": "airspeed_validated", "type": "topic", "color": "#c441d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mount_orientation", "name": "mount_orientation", "type": "topic", "color": "#92d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_spoilers_setpoint", "name": "spoilers_setpoint", "type": "topic", "color": "#7cd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_rtl_time_estimate", "name": "rtl_time_estimate", "type": "topic", "color": "#9941d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_hygrometer", "name": "sensor_hygrometer", "type": "topic", "color": "#a741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_correction", "name": "sensor_correction", "type": "topic", "color": "#d841c9", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_v1_command", "name": "gimbal_v1_command", "type": "topic", "color": "#d841b3", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_sensor_selection", "name": "sensor_selection", "type": "topic", "color": "#d86c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_collision_report", "name": "collision_report", "type": "topic", "color": "#d88f41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_response", "name": "dataman_response", "type": "topic", "color": "#d8ba41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_odometry", "name": "vehicle_odometry", "type": "topic", "color": "#aed841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_estimator_status", "name": "estimator_status", "type": "topic", "color": "#51d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_rc_parameter_map", "name": "rc_parameter_map", "type": "topic", "color": "#41d862", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_outputs", "name": "actuator_outputs", "type": "topic", "color": "#41d88d", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_telemetry_status", "name": "telemetry_status", "type": "topic", "color": "#41d8b1", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude", "name": "vehicle_attitude", "type": "topic", "color": "#4154d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_gimbal_controls", "name": "gimbal_controls", "type": "topic", "color": "#d89e41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_key_value", "name": "debug_key_value", "type": "topic", "color": "#99d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_request", "name": "dataman_request", "type": "topic", "color": "#67d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_combined", "name": "sensor_combined", "type": "topic", "color": "#41d89b", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_motors", "name": "actuator_motors", "type": "topic", "color": "#41d8b8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command", "name": "vehicle_command", "type": "topic", "color": "#4194d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_distance_sensor", "name": "distance_sensor", "type": "topic", "color": "#4145d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_geofence_result", "name": "geofence_result", "type": "topic", "color": "#6741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream_ack", "name": "ulog_stream_ack", "type": "topic", "color": "#d84173", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gps_inject_data", "name": "gps_inject_data", "type": "topic", "color": "#d8416c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_trigger", "name": "camera_trigger", "type": "topic", "color": "#d87341", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_battery_status", "name": "battery_status", "type": "topic", "color": "#d8a541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_flaps_setpoint", "name": "flaps_setpoint", "type": "topic", "color": "#d8c941", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_takeoff_status", "name": "takeoff_status", "type": "topic", "color": "#cbd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_armed", "name": "actuator_armed", "type": "topic", "color": "#a0d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_satellite_info", "name": "satellite_info", "type": "topic", "color": "#4ad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_action_request", "name": "action_request", "type": "topic", "color": "#41d8d5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_failsafe_flags", "name": "failsafe_flags", "type": "topic", "color": "#41cdd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_capture", "name": "camera_capture", "type": "topic", "color": "#41a2d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_status", "name": "vehicle_status", "type": "topic", "color": "#417fd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mission_result", "name": "mission_result", "type": "topic", "color": "#b641d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_home_position", "name": "home_position", "type": "topic", "color": "#d8ac41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_test", "name": "actuator_test", "type": "topic", "color": "#d8d741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_safety_button", "name": "safety_button", "type": "topic", "color": "#41d8cd", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_irlock_report", "name": "irlock_report", "type": "topic", "color": "#418dd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_status", "name": "camera_status", "type": "topic", "color": "#d841c2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_health_report", "name": "health_report", "type": "topic", "color": "#d8419e", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_system_power", "name": "system_power", "type": "topic", "color": "#41d5d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_px4io_status", "name": "px4io_status", "type": "topic", "color": "#4341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_accel", "name": "sensor_accel", "type": "topic", "color": "#4a41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_orbit_status", "name": "orbit_status", "type": "topic", "color": "#a041d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tune_control", "name": "tune_control", "type": "topic", "color": "#d841d7", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear", "name": "landing_gear", "type": "topic", "color": "#d84156", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_roi", "name": "vehicle_roi", "type": "topic", "color": "#d88141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_array", "name": "debug_array", "type": "topic", "color": "#d8b341", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream", "name": "ulog_stream", "type": "topic", "color": "#41d845", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_led_control", "name": "led_control", "type": "topic", "color": "#41d870", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gyro", "name": "sensor_gyro", "type": "topic", "color": "#4162d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu", "name": "vehicle_imu", "type": "topic", "color": "#5141d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_value", "name": "debug_value", "type": "topic", "color": "#8341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tecs_status", "name": "tecs_status", "type": "topic", "color": "#bd41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_baro", "name": "sensor_baro", "type": "topic", "color": "#d8415d", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_esc_status", "name": "esc_status", "type": "topic", "color": "#d88841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gps", "name": "sensor_gps", "type": "topic", "color": "#d8d041", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/SensorGps.msg"}, {"id": "t_adc_report", "name": "adc_report", "type": "topic", "color": "#6041d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_mag", "name": "sensor_mag", "type": "topic", "color": "#d841a5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_vect", "name": "debug_vect", "type": "topic", "color": "#d84164", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_pwm_input", "name": "pwm_input", "type": "topic", "color": "#cb41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_input_rc", "name": "input_rc", "type": "topic", "color": "#6ed841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed", "name": "airspeed", "type": "topic", "color": "#60d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorAidSource1d.msg"}, {"id": "t_mission", "name": "mission", "type": "topic", "color": "#d85d41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_cpuload", "name": "cpuload", "type": "topic", "color": "#6e41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_event", "name": "event", "type": "topic", "color": "#bdd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_wind", "name": "wind", "type": "topic", "color": "#8b41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/Wind.msg"}], "links": [{"source": "m_ads1115", "target": "t_adc_report", "color": "#6041d8", "style": "dashed"}, {"source": "m_board_adc", "target": "t_adc_report", "color": "#6041d8", "style": "dashed"}, {"source": "m_board_adc", "target": "t_system_power", "color": "#41d5d8", "style": "dashed"}, {"source": "m_bmp280", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_bmp388", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_dps310", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_spl06", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_icp101xx", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_icp201xx", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_lps22hb", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_lps33hw", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_mpc2520", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_ms5611", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_batt_smbus", "target": "t_battery_status", "color": "#d8a541", "style": "dashed"}, {"source": "m_camera_capture", "target": "t_camera_trigger", "color": "#d87341", "style": "dashed"}, {"source": "m_camera_capture", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_camera_trigger", "color": "#d87341", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_ms4525do", "target": "t_differential_pressure", "color": "#d84141", "style": "dashed"}, {"source": "m_ms5525dso", "target": "t_differential_pressure", "color": "#d84141", "style": "dashed"}, {"source": "m_sdp3x", "target": "t_differential_pressure", "color": "#d84141", "style": "dashed"}, {"source": "m_cm8jl65", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_gy_us42", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_leddar_one", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_lightware_laser_i2c", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_lightware_laser_serial", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_ll40ls", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_mb12xx", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_pga460", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_srf02", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_teraranger", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_tf02pro", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_tfmini", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_ulanding_radar", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_vl53l0x", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_vl53l1x", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_armed", "color": "#a0d841", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_outputs", "color": "#41d88d", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_test", "color": "#d8d741", "style": "dashed"}, {"source": "m_dshot", "target": "t_esc_status", "color": "#d88841", "style": "dashed"}, {"source": "m_dshot", "target": "t_actuator_motors", "color": "#41d8b8", "style": "dashed"}, {"source": "m_dshot", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_gps", "target": "t_sensor_gps", "color": "#d8d041", "style": "dashed"}, {"source": "m_gps", "target": "t_satellite_info", "color": "#4ad841", "style": "dashed"}, {"source": "m_gps", "target": "t_gps_inject_data", "color": "#d8416c", "style": "dashed"}, {"source": "m_sht3x", "target": "t_sensor_hygrometer", "color": "#a741d8", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_gyro", "color": "#4162d8", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_adis16448", "target": "t_sensor_accel", "color": "#4a41d8", "style": "dashed"}, {"source": "m_bmi055", "target": "t_sensor_accel", "color": "#4a41d8", "style": "dashed"}, {"source": "m_bmi055", "target": "t_sensor_gyro", "color": "#4162d8", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_accel", "color": "#4a41d8", "style": "dashed"}, {"source": "m_icm20602", "target": "t_sensor_gyro", "color": "#4162d8", "style": "dashed"}, {"source": "m_icm20689", "target": "t_sensor_accel", "color": "#4a41d8", "style": "dashed"}, {"source": "m_icm20689", "target": "t_sensor_gyro", "color": "#4162d8", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_gyro", "color": "#4162d8", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_icm20948", "target": "t_sensor_accel", "color": "#4a41d8", "style": "dashed"}, {"source": "m_icm42688p", "target": "t_sensor_accel", "color": "#4a41d8", "style": "dashed"}, {"source": "m_icm42688p", "target": "t_sensor_gyro", "color": "#4162d8", "style": "dashed"}, {"source": "m_irlock", "target": "t_irlock_report", "color": "#418dd8", "style": "dashed"}, {"source": "m_ak09916", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_ak8963", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_bmm150", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_hmc5883", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_ist8308", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_ist8310", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_lis3mdl", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_lsm303agr", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_qmc5883l", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_rm3100", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_vcm1193l", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_paa3905", "target": "t_sensor_optical_flow", "color": "#d87a41", "style": "dashed"}, {"source": "m_paw3902", "target": "t_sensor_optical_flow", "color": "#d87a41", "style": "dashed"}, {"source": "m_pmw3901", "target": "t_sensor_optical_flow", "color": "#d87a41", "style": "dashed"}, {"source": "m_px4flow", "target": "t_sensor_optical_flow", "color": "#d87a41", "style": "dashed"}, {"source": "m_thoneflow", "target": "t_sensor_optical_flow", "color": "#d87a41", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_armed", "color": "#a0d841", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_outputs", "color": "#41d88d", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_test", "color": "#d8d741", "style": "dashed"}, {"source": "m_pca9685_pwm_out", "target": "t_actuator_motors", "color": "#41d8b8", "style": "dashed"}, {"source": "m_ina226", "target": "t_battery_status", "color": "#d8a541", "style": "dashed"}, {"source": "m_pwm_input", "target": "t_pwm_input", "color": "#cb41d8", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_armed", "color": "#a0d841", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_outputs", "color": "#41d88d", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_test", "color": "#d8d741", "style": "dashed"}, {"source": "m_pwm_out", "target": "t_actuator_motors", "color": "#41d8b8", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_armed", "color": "#a0d841", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_outputs", "color": "#41d88d", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_test", "color": "#d8d741", "style": "dashed"}, {"source": "m_px4io", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_px4io", "target": "t_actuator_motors", "color": "#41d8b8", "style": "dashed"}, {"source": "m_px4io", "target": "t_led_control", "color": "#41d870", "style": "dashed"}, {"source": "m_px4io", "target": "t_input_rc", "color": "#6ed841", "style": "dashed"}, {"source": "m_px4io", "target": "t_safety_button", "color": "#41d8cd", "style": "dashed"}, {"source": "m_px4io", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_px4io", "target": "t_tune_control", "color": "#d841d7", "style": "dashed"}, {"source": "m_px4io", "target": "t_px4io_status", "color": "#4341d8", "style": "dashed"}, {"source": "m_crsf_rc", "target": "t_input_rc", "color": "#6ed841", "style": "dashed"}, {"source": "m_rc_input", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_rc_input", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_rc_input", "target": "t_input_rc", "color": "#6ed841", "style": "dashed"}, {"source": "m_safety_button", "target": "t_safety_button", "color": "#41d8cd", "style": "dashed"}, {"source": "m_safety_button", "target": "t_led_control", "color": "#41d870", "style": "dashed"}, {"source": "m_safety_button", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_safety_button", "target": "t_tune_control", "color": "#d841d7", "style": "dashed"}, {"source": "m_batmon", "target": "t_battery_status", "color": "#d8a541", "style": "dashed"}, {"source": "m_hott_telemetry", "target": "t_esc_status", "color": "#d88841", "style": "dashed"}, {"source": "m_tone_alarm", "target": "t_tune_control", "color": "#d841d7", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_armed", "color": "#a0d841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_outputs", "color": "#41d88d", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_test", "color": "#d8d741", "style": "dashed"}, {"source": "m_uavcan", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_esc_status", "color": "#d88841", "style": "dashed"}, {"source": "m_uavcan", "target": "t_actuator_motors", "color": "#41d8b8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_uavcan_parameter_value", "color": "#7c41d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_led_control", "color": "#41d870", "style": "dashed"}, {"source": "m_uavcan", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_uavcan", "target": "t_safety_button", "color": "#41d8cd", "style": "dashed"}, {"source": "m_uavcan", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_uavcan", "target": "t_tune_control", "color": "#d841d7", "style": "dashed"}, {"source": "m_airspeed_selector", "target": "t_airspeed_validated", "color": "#c441d8", "style": "dashed"}, {"source": "m_attitude_estimator_q", "target": "t_vehicle_attitude", "color": "#4154d8", "style": "dashed"}, {"source": "m_battery_status", "target": "t_battery_status", "color": "#d8a541", "style": "dashed"}, {"source": "m_camera_feedback", "target": "t_camera_capture", "color": "#41a2d8", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_armed", "color": "#a0d841", "style": "dashed"}, {"source": "m_commander", "target": "t_power_button_state", "color": "#41d8a2", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_control_mode", "color": "#41d854", "style": "dashed"}, {"source": "m_commander", "target": "t_failsafe_flags", "color": "#41cdd8", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_test", "color": "#d8d741", "style": "dashed"}, {"source": "m_commander", "target": "t_register_ext_component_reply", "color": "#83d841", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_commander", "target": "t_home_position", "color": "#d8ac41", "style": "dashed"}, {"source": "m_commander", "target": "t_led_control", "color": "#41d870", "style": "dashed"}, {"source": "m_commander", "target": "t_event", "color": "#bdd841", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_status", "color": "#417fd8", "style": "dashed"}, {"source": "m_commander", "target": "t_health_report", "color": "#d8419e", "style": "dashed"}, {"source": "m_commander", "target": "t_failure_detector_status", "color": "#b6d841", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_commander", "target": "t_tune_control", "color": "#d841d7", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_motors", "color": "#41d8b8", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_servos_trim", "color": "#d8c241", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_control_allocator_status", "color": "#5841d8", "style": "dashed"}, {"source": "m_dataman", "target": "t_dataman_response", "color": "#d8ba41", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_selector_status", "color": "#8bd841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_local_position", "color": "#7541d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_wind", "color": "#8b41d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status_flags", "color": "#58d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status", "color": "#51d841", "style": "dashed"}, {"source": "m_ekf2", "target": "t_sensor_selection", "color": "#d86c41", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_sensor_bias", "color": "#d84181", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_attitude", "color": "#4154d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_global_position", "color": "#d8414f", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_odometry", "color": "#aed841", "style": "dashed"}, {"source": "m_esc_battery", "target": "t_battery_status", "color": "#d8a541", "style": "dashed"}, {"source": "m_send_event", "target": "t_led_control", "color": "#41d870", "style": "dashed"}, {"source": "m_send_event", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_send_event", "target": "t_tune_control", "color": "#d841d7", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_vehicle_constraints", "color": "#41b8d8", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_trajectory_setpoint", "color": "#4186d8", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_landing_gear", "color": "#d84156", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_vehicle_rates_setpoint", "color": "#41d84c", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_landing_gear_wheel", "color": "#41b1d8", "style": "dashed"}, {"source": "m_fw_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#d241d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_flaps_setpoint", "color": "#d8c941", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_landing_status", "color": "#d84f41", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_orbit_status", "color": "#a041d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#41d85b", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_tecs_status", "color": "#bd41d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_launch_detection_status", "color": "#41c6d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_figure_eight_status", "color": "#414cd8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_spoilers_setpoint", "color": "#7cd841", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_landing_gear", "color": "#d84156", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_status", "color": "#a7d841", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#41d84c", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_flaps_setpoint", "color": "#d8c941", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_spoilers_setpoint", "color": "#7cd841", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_v1_command", "color": "#d841b3", "style": "dashed"}, {"source": "m_gimbal", "target": "t_mount_orientation", "color": "#92d841", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_manager_status", "color": "#43d841", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_set_attitude", "color": "#ae41d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_attitude_status", "color": "#d2d841", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_controls", "color": "#d89e41", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_manager_information", "color": "#4169d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_land_detector", "target": "t_vehicle_land_detected", "color": "#419bd8", "style": "dashed"}, {"source": "m_landing_target_estimator", "target": "t_landing_target_pose", "color": "#d841ac", "style": "dashed"}, {"source": "m_load_mon", "target": "t_cpuload", "color": "#6e41d8", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_estimator_status", "color": "#51d841", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_local_position", "color": "#7541d8", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_global_position", "color": "#d8414f", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_odometry", "color": "#aed841", "style": "dashed"}, {"source": "m_logger", "target": "t_ulog_stream", "color": "#41d845", "style": "dashed"}, {"source": "m_logger", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_manual_control", "target": "t_action_request", "color": "#41d8d5", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_setpoint", "color": "#9241d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_status", "color": "#417fd8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_switches", "color": "#41d8bf", "style": "dashed"}, {"source": "m_manual_control", "target": "t_landing_gear", "color": "#d84156", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_key_value", "color": "#99d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_offboard_control_mode", "color": "#41d894", "style": "dashed"}, {"source": "m_mavlink", "target": "t_differential_pressure", "color": "#d84141", "style": "dashed"}, {"source": "m_mavlink", "target": "t_telemetry_status", "color": "#41d8b1", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_local_position", "color": "#7541d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_transponder_report", "color": "#41d8c6", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_information", "color": "#75d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mc_virtual_attitude_setpoint", "color": "#d84841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_value", "color": "#8341d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_input_rc", "color": "#6ed841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_dataman_request", "color": "#67d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_airspeed", "color": "#60d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mission", "color": "#d85d41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_optical_flow", "color": "#d87a41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_rates_setpoint", "color": "#41d84c", "style": "dashed"}, {"source": "m_mavlink", "target": "t_tune_control", "color": "#d841d7", "style": "dashed"}, {"source": "m_mavlink", "target": "t_camera_status", "color": "#d841c2", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_mocap_odometry", "color": "#d841d0", "style": "dashed"}, {"source": "m_mavlink", "target": "t_collision_report", "color": "#d88f41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_landing_target_pose", "color": "#d841ac", "style": "dashed"}, {"source": "m_mavlink", "target": "t_irlock_report", "color": "#418dd8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_battery_status", "color": "#d8a541", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_array", "color": "#d8b341", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_mavlink", "target": "t_trajectory_setpoint", "color": "#4186d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_uavcan_parameter_request", "color": "#4177d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude_setpoint", "color": "#d84197", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_visual_odometry", "color": "#d8418f", "style": "dashed"}, {"source": "m_mavlink", "target": "t_fw_virtual_attitude_setpoint", "color": "#d84188", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gyro", "color": "#4162d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gps", "color": "#d8d041", "style": "dashed"}, {"source": "m_mavlink", "target": "t_rc_parameter_map", "color": "#41d862", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude", "color": "#4154d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_attitude_status", "color": "#d2d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_ulog_stream_ack", "color": "#d84173", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_vect", "color": "#d84164", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gps_inject_data", "color": "#d8416c", "style": "dashed"}, {"source": "m_mavlink", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_manager_set_attitude", "color": "#41d877", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_mavlink", "target": "t_event", "color": "#bdd841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_global_position", "color": "#d8414f", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_manager_set_manual_control", "color": "#d84148", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_accel", "color": "#4a41d8", "style": "dashed"}, {"source": "m_mc_att_control", "target": "t_vehicle_rates_setpoint", "color": "#41d84c", "style": "dashed"}, {"source": "m_mc_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#d241d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#41d85b", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_constraints", "color": "#41b8d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_takeoff_status", "color": "#cbd841", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_trajectory_setpoint", "color": "#4186d8", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d84197", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#41d84c", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_actuator_controls_status_0", "color": "#41bfd8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_global_position", "color": "#d8414f", "style": "dashed"}, {"source": "m_navigator", "target": "t_rtl_time_estimate", "color": "#9941d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission_result", "color": "#b641d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_geofence_result", "color": "#6741d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission", "color": "#d85d41", "style": "dashed"}, {"source": "m_navigator", "target": "t_home_position", "color": "#d8ac41", "style": "dashed"}, {"source": "m_navigator", "target": "t_transponder_report", "color": "#41d8c6", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_status", "color": "#417fd8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_land_detected", "color": "#419bd8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_roi", "color": "#d88141", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_navigator", "target": "t_dataman_request", "color": "#67d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_position_setpoint_triplet", "color": "#41d886", "style": "dashed"}, {"source": "m_rc_update", "target": "t_manual_control_switches", "color": "#41d8bf", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_thrust_setpoint", "color": "#d8417a", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d84197", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_torque_setpoint", "color": "#41d8aa", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_position_controller_status", "color": "#a7d841", "style": "dashed"}, {"source": "m_sensors", "target": "t_airspeed", "color": "#60d841", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu", "color": "#5141d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_combined", "color": "#41d89b", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu_status", "color": "#d85641", "style": "dashed"}, {"source": "m_sensors", "target": "t_differential_pressure", "color": "#d84141", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensors_status_imu", "color": "#d86441", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_selection", "color": "#d86c41", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_armed", "color": "#a0d841", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs", "color": "#41d88d", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_test", "color": "#d8d741", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs_sim", "color": "#41aad8", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_motors", "color": "#41d8b8", "style": "dashed"}, {"source": "m_sensor_baro_sim", "target": "t_sensor_baro", "color": "#d8415d", "style": "dashed"}, {"source": "m_sensor_gps_sim", "target": "t_sensor_gps", "color": "#d8d041", "style": "dashed"}, {"source": "m_sensor_mag_sim", "target": "t_sensor_mag", "color": "#d841a5", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_gyro", "color": "#4162d8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_airspeed", "color": "#60d841", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_attitude_groundtruth", "color": "#d841ba", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_local_position_groundtruth", "color": "#415bd8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_angular_velocity_groundtruth", "color": "#d89741", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_global_position_groundtruth", "color": "#41d869", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_distance_sensor", "color": "#4145d8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_accel", "color": "#4a41d8", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_sensor_correction", "color": "#d841c9", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_led_control", "color": "#41d870", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#d8417a", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_torque_setpoint", "color": "#41d8aa", "style": "dashed"}, {"source": "m_uuv_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#d84197", "style": "dashed"}, {"source": "m_uxrce_dds_client", "target": "t_vehicle_command", "color": "#4194d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_flaps_setpoint", "color": "#d8c941", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_torque_setpoint", "color": "#41d8aa", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#d8417a", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_spoilers_setpoint", "color": "#7cd841", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vtol_vehicle_status", "color": "#c4d841", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_tiltrotor_extra_controls", "color": "#4170d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_attitude_setpoint", "color": "#d84197", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_command_ack", "color": "#41d87f", "style": "dashed"}, {"source": "m_actuator_test", "target": "t_actuator_test", "color": "#d8d741", "style": "dashed"}, {"source": "m_led_control", "target": "t_led_control", "color": "#41d870", "style": "dashed"}, {"source": "m_tune_control", "target": "t_tune_control", "color": "#d841d7", "style": "dashed"}, {"source": "m_fake_gps", "target": "t_sensor_gps", "color": "#d8d041", "style": "dashed"}, {"source": "t_adc_report", "target": "m_board_adc", "color": "#6041d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_camera_capture", "color": "#4194d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_camera_trigger", "color": "#7541d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_camera_trigger", "color": "#4194d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_dshot", "color": "#d8c241", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_dshot", "color": "#a0d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_dshot", "color": "#9241d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_dshot", "color": "#d8d741", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_dshot", "color": "#4194d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_dshot", "color": "#d89e41", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_dshot", "color": "#41b1d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_dshot", "color": "#41d8b8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_dshot", "color": "#d84156", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_gps", "color": "#d8416c", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_heater", "color": "#4a41d8", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled", "color": "#41d870", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_is31fl3195", "color": "#41d870", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_lp5562", "color": "#41d870", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_ncp5623c", "color": "#41d870", "style": "normal"}, {"source": "t_led_control", "target": "m_rgbled_pwm", "color": "#41d870", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_atxxxx", "color": "#7541d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_atxxxx", "color": "#417fd8", "style": "normal"}, {"source": "t_battery_status", "target": "m_atxxxx", "color": "#d8a541", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_msp_osd", "color": "#4154d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_msp_osd", "color": "#c441d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_msp_osd", "color": "#417fd8", "style": "normal"}, {"source": "t_battery_status", "target": "m_msp_osd", "color": "#d8a541", "style": "normal"}, {"source": "t_home_position", "target": "m_msp_osd", "color": "#d8ac41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_msp_osd", "color": "#7541d8", "style": "normal"}, {"source": "t_input_rc", "target": "m_msp_osd", "color": "#6ed841", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_msp_osd", "color": "#d8414f", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pca9685_pwm_out", "color": "#d8c241", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pca9685_pwm_out", "color": "#a0d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pca9685_pwm_out", "color": "#9241d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pca9685_pwm_out", "color": "#d8d741", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pca9685_pwm_out", "color": "#4194d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pca9685_pwm_out", "color": "#d89e41", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pca9685_pwm_out", "color": "#41b1d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pca9685_pwm_out", "color": "#41d8b8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pca9685_pwm_out", "color": "#d84156", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_ina226", "color": "#d8417a", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ina226", "color": "#417fd8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out", "color": "#d8c241", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out", "color": "#a0d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out", "color": "#9241d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out", "color": "#d8d741", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out", "color": "#4194d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out", "color": "#d89e41", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out", "color": "#41b1d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out", "color": "#41d8b8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out", "color": "#d84156", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_px4io", "color": "#d8c241", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_px4io", "color": "#a0d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_px4io", "color": "#9241d8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_px4io", "color": "#d84156", "style": "normal"}, {"source": "t_actuator_test", "target": "m_px4io", "color": "#d8d741", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_px4io", "color": "#4194d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_px4io", "color": "#d89e41", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_px4io", "color": "#41b1d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_px4io", "color": "#41d8b8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_px4io", "color": "#417fd8", "style": "normal"}, {"source": "t_px4io_status", "target": "m_px4io", "color": "#4341d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_crsf_rc", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_crsf_rc", "color": "#4154d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_crsf_rc", "color": "#d8a541", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rc_input", "color": "#4154d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_rc_input", "color": "#4194d8", "style": "normal"}, {"source": "t_adc_report", "target": "m_rc_input", "color": "#6041d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_rc_input", "color": "#d8a541", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_rc_input", "color": "#417fd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_safety_button", "color": "#a0d841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_bst", "color": "#4154d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_bst", "color": "#d8a541", "style": "normal"}, {"source": "t_battery_status", "target": "m_frsky_telemetry", "color": "#d8a541", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_frsky_telemetry", "color": "#7541d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_frsky_telemetry", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_frsky_telemetry", "color": "#d8414f", "style": "normal"}, {"source": "t_airspeed", "target": "m_hott_telemetry", "color": "#60d841", "style": "normal"}, {"source": "t_battery_status", "target": "m_hott_telemetry", "color": "#d8a541", "style": "normal"}, {"source": "t_home_position", "target": "m_hott_telemetry", "color": "#d8ac41", "style": "normal"}, {"source": "t_esc_status", "target": "m_hott_telemetry", "color": "#d88841", "style": "normal"}, {"source": "t_tune_control", "target": "m_tone_alarm", "color": "#d841d7", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_uavcan", "color": "#d8c241", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_uavcan", "color": "#a0d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uavcan", "color": "#9241d8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_uavcan", "color": "#d84156", "style": "normal"}, {"source": "t_actuator_test", "target": "m_uavcan", "color": "#d8d741", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_uavcan", "color": "#4194d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_uavcan", "color": "#d89e41", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_uavcan", "color": "#41b1d8", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_uavcan", "color": "#d8416c", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_uavcan", "color": "#41d8b8", "style": "normal"}, {"source": "t_led_control", "target": "m_uavcan", "color": "#41d870", "style": "normal"}, {"source": "t_uavcan_parameter_request", "target": "m_uavcan", "color": "#4177d8", "style": "normal"}, {"source": "t_tune_control", "target": "m_uavcan", "color": "#d841d7", "style": "normal"}, {"source": "t_airspeed", "target": "m_airspeed_selector", "color": "#60d841", "style": "normal"}, {"source": "t_estimator_status", "target": "m_airspeed_selector", "color": "#51d841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_airspeed_selector", "color": "#4154d8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_airspeed_selector", "color": "#8bd841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_airspeed_selector", "color": "#7541d8", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_airspeed_selector", "color": "#c4d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_airspeed_selector", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_airspeed_selector", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_attitude_estimator_q", "color": "#d841d0", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_attitude_estimator_q", "color": "#41d89b", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_attitude_estimator_q", "color": "#4154d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_attitude_estimator_q", "color": "#7541d8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_attitude_estimator_q", "color": "#d8418f", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_battery_status", "color": "#d8417a", "style": "normal"}, {"source": "t_adc_report", "target": "m_battery_status", "color": "#6041d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_battery_status", "color": "#417fd8", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_camera_feedback", "color": "#d2d841", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_camera_feedback", "color": "#d87341", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_camera_feedback", "color": "#d8414f", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_camera_feedback", "color": "#4154d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_commander", "color": "#a0d841", "style": "normal"}, {"source": "t_offboard_control_mode", "target": "m_commander", "color": "#41d894", "style": "normal"}, {"source": "t_power_button_state", "target": "m_commander", "color": "#41d8a2", "style": "normal"}, {"source": "t_telemetry_status", "target": "m_commander", "color": "#41d8b1", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_commander", "color": "#d84141", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_commander", "color": "#8bd841", "style": "normal"}, {"source": "t_geofence_result", "target": "m_commander", "color": "#6741d8", "style": "normal"}, {"source": "t_cpuload", "target": "m_commander", "color": "#6e41d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_commander", "color": "#41d8b8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_commander", "color": "#7541d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_commander", "color": "#41d8bf", "style": "normal"}, {"source": "t_wind", "target": "m_commander", "color": "#8b41d8", "style": "normal"}, {"source": "t_safety_button", "target": "m_commander", "color": "#41d8cd", "style": "normal"}, {"source": "t_action_request", "target": "m_commander", "color": "#41d8d5", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_commander", "color": "#9241d8", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_commander", "color": "#9941d8", "style": "normal"}, {"source": "t_estimator_status", "target": "m_commander", "color": "#51d841", "style": "normal"}, {"source": "t_system_power", "target": "m_commander", "color": "#41d5d8", "style": "normal"}, {"source": "t_estimator_status_flags", "target": "m_commander", "color": "#58d841", "style": "normal"}, {"source": "t_mission_result", "target": "m_commander", "color": "#b641d8", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_commander", "color": "#d85641", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_commander", "color": "#c441d8", "style": "normal"}, {"source": "t_pwm_input", "target": "m_commander", "color": "#cb41d8", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_commander", "color": "#d86441", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_commander", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_commander", "color": "#419bd8", "style": "normal"}, {"source": "t_esc_status", "target": "m_commander", "color": "#d88841", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_commander", "color": "#d841c9", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_commander", "color": "#4194d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_commander", "color": "#d8a541", "style": "normal"}, {"source": "t_home_position", "target": "m_commander", "color": "#d8ac41", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_commander", "color": "#d841a5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_commander", "color": "#417fd8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_commander", "color": "#4162d8", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_commander", "color": "#d8d041", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_commander", "color": "#4154d8", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_commander", "color": "#d84181", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_commander", "color": "#c4d841", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_commander", "color": "#d8415d", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_commander", "color": "#4145d8", "style": "normal"}, {"source": "t_event", "target": "m_commander", "color": "#bdd841", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_commander", "color": "#41d87f", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_commander", "color": "#d8414f", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_commander", "color": "#4a41d8", "style": "normal"}, {"source": "t_flaps_setpoint", "target": "m_control_allocator", "color": "#d8c941", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_control_allocator", "color": "#41d8aa", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_control_allocator", "color": "#d8417a", "style": "normal"}, {"source": "t_tiltrotor_extra_controls", "target": "m_control_allocator", "color": "#4170d8", "style": "normal"}, {"source": "t_spoilers_setpoint", "target": "m_control_allocator", "color": "#7cd841", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_control_allocator", "color": "#41d8bf", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_control_allocator", "color": "#417fd8", "style": "normal"}, {"source": "t_failure_detector_status", "target": "m_control_allocator", "color": "#b6d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_control_allocator", "color": "#41d854", "style": "normal"}, {"source": "t_dataman_request", "target": "m_dataman", "color": "#67d841", "style": "normal"}, {"source": "t_airspeed", "target": "m_ekf2", "color": "#60d841", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_ekf2", "color": "#5141d8", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_ekf2", "color": "#41d89b", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_ekf2", "color": "#d841ac", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_ekf2", "color": "#c441d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_ekf2", "color": "#4194d8", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_ekf2", "color": "#d86441", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_ekf2", "color": "#d86c41", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_ekf2", "color": "#4145d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ekf2", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_ekf2", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_ekf2", "color": "#d8418f", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_esc_battery", "color": "#d8417a", "style": "normal"}, {"source": "t_esc_status", "target": "m_esc_battery", "color": "#d88841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_esc_battery", "color": "#417fd8", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_send_event", "color": "#41cdd8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_send_event", "color": "#4194d8", "style": "normal"}, {"source": "t_cpuload", "target": "m_send_event", "color": "#6e41d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_send_event", "color": "#d8a541", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_send_event", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_flight_mode_manager", "color": "#4194d8", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_flight_mode_manager", "color": "#cbd841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_flight_mode_manager", "color": "#7541d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_flight_mode_manager", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_flight_mode_manager", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_flight_mode_manager", "color": "#d84197", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_flight_mode_manager", "color": "#41d854", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_att_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_att_control", "color": "#4154d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_att_control", "color": "#c441d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_att_control", "color": "#7541d8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_fw_att_control", "color": "#d241d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_att_control", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_att_control", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_fw_att_control", "color": "#d84197", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_att_control", "color": "#41d854", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_autotune_attitude_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_autotune_attitude_control", "color": "#417fd8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_pos_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_pos_control", "color": "#4154d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_pos_control", "color": "#41d854", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_pos_control", "color": "#c441d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_fw_pos_control", "color": "#4194d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_pos_control", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_pos_control", "color": "#7541d8", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_fw_pos_control", "color": "#4186d8", "style": "normal"}, {"source": "t_wind", "target": "m_fw_pos_control", "color": "#8b41d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_pos_control", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_fw_pos_control", "color": "#d8414f", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_fw_pos_control", "color": "#41d886", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_rate_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_rate_control", "color": "#419bd8", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_fw_rate_control", "color": "#5841d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_rate_control", "color": "#c441d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_fw_rate_control", "color": "#d8a541", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_rate_control", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_fw_rate_control", "color": "#41d84c", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_rate_control", "color": "#41d854", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_gimbal", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_gimbal", "color": "#4154d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_gimbal", "color": "#4194d8", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_gimbal", "color": "#d2d841", "style": "normal"}, {"source": "t_gimbal_manager_set_attitude", "target": "m_gimbal", "color": "#41d877", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_gimbal", "color": "#75d841", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_gimbal", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_roi", "target": "m_gimbal", "color": "#d88141", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_gimbal", "color": "#d8414f", "style": "normal"}, {"source": "t_gimbal_manager_set_manual_control", "target": "m_gimbal", "color": "#d84148", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_gimbal", "color": "#41d886", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_gyro_calibration", "color": "#4a41d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_gyro_calibration", "color": "#d841c9", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_gyro_calibration", "color": "#4162d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_gyro_calibration", "color": "#417fd8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_land_detector", "color": "#a0d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_land_detector", "color": "#41d854", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_land_detector", "color": "#d85641", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_land_detector", "color": "#d8417a", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_land_detector", "color": "#c441d8", "style": "normal"}, {"source": "t_launch_detection_status", "target": "m_land_detector", "color": "#41c6d8", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_land_detector", "color": "#d86c41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_land_detector", "color": "#7541d8", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_land_detector", "color": "#cbd841", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_land_detector", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_land_detector", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_landing_target_estimator", "color": "#7541d8", "style": "normal"}, {"source": "t_irlock_report", "target": "m_landing_target_estimator", "color": "#418dd8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_landing_target_estimator", "color": "#4154d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_local_position_estimator", "color": "#a0d841", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_local_position_estimator", "color": "#d841d0", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_local_position_estimator", "color": "#41d89b", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_local_position_estimator", "color": "#4154d8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_local_position_estimator", "color": "#d841ac", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_local_position_estimator", "color": "#4194d8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_local_position_estimator", "color": "#4145d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_local_position_estimator", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_local_position_estimator", "color": "#d8418f", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_logger", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_logger", "color": "#4194d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_logger", "color": "#d8a541", "style": "normal"}, {"source": "t_ulog_stream_ack", "target": "m_logger", "color": "#d84173", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_logger", "color": "#417fd8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mag_bias_estimator", "color": "#d841a5", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mag_bias_estimator", "color": "#417fd8", "style": "normal"}, {"source": "t_action_request", "target": "m_manual_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_manual_control", "color": "#41d8bf", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_manual_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_manual_control", "color": "#417fd8", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_mavlink", "color": "#d84141", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_mavlink", "color": "#d85641", "style": "normal"}, {"source": "t_mission", "target": "m_mavlink", "color": "#d85d41", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_mavlink", "color": "#d86c41", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_mavlink", "color": "#d87341", "style": "normal"}, {"source": "t_esc_status", "target": "m_mavlink", "color": "#d88841", "style": "normal"}, {"source": "t_collision_report", "target": "m_mavlink", "color": "#d88f41", "style": "normal"}, {"source": "t_vehicle_angular_velocity_groundtruth", "target": "m_mavlink", "color": "#d89741", "style": "normal"}, {"source": "t_battery_status", "target": "m_mavlink", "color": "#d8a541", "style": "normal"}, {"source": "t_debug_array", "target": "m_mavlink", "color": "#d8b341", "style": "normal"}, {"source": "t_home_position", "target": "m_mavlink", "color": "#d8ac41", "style": "normal"}, {"source": "t_dataman_response", "target": "m_mavlink", "color": "#d8ba41", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_mavlink", "color": "#d8d041", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_mavlink", "color": "#d2d841", "style": "normal"}, {"source": "t_event", "target": "m_mavlink", "color": "#bdd841", "style": "normal"}, {"source": "t_vehicle_odometry", "target": "m_mavlink", "color": "#aed841", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_mavlink", "color": "#a7d841", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_mavlink", "color": "#a0d841", "style": "normal"}, {"source": "t_debug_key_value", "target": "m_mavlink", "color": "#99d841", "style": "normal"}, {"source": "t_mount_orientation", "target": "m_mavlink", "color": "#92d841", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_mavlink", "color": "#8bd841", "style": "normal"}, {"source": "t_register_ext_component_reply", "target": "m_mavlink", "color": "#83d841", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_mavlink", "color": "#75d841", "style": "normal"}, {"source": "t_input_rc", "target": "m_mavlink", "color": "#6ed841", "style": "normal"}, {"source": "t_airspeed", "target": "m_mavlink", "color": "#60d841", "style": "normal"}, {"source": "t_satellite_info", "target": "m_mavlink", "color": "#4ad841", "style": "normal"}, {"source": "t_estimator_status", "target": "m_mavlink", "color": "#51d841", "style": "normal"}, {"source": "t_gimbal_manager_status", "target": "m_mavlink", "color": "#43d841", "style": "normal"}, {"source": "t_ulog_stream", "target": "m_mavlink", "color": "#41d845", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mavlink", "color": "#41d84c", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mavlink", "color": "#41d854", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_mavlink", "color": "#41d85b", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_mavlink", "color": "#41d869", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_mavlink", "color": "#41d87f", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_mavlink", "color": "#41d886", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_mavlink", "color": "#41d88d", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_mavlink", "color": "#41d8bf", "style": "normal"}, {"source": "t_transponder_report", "target": "m_mavlink", "color": "#41d8c6", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_mavlink", "color": "#41cdd8", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_mavlink", "color": "#41aad8", "style": "normal"}, {"source": "t_camera_capture", "target": "m_mavlink", "color": "#41a2d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mavlink", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_mavlink", "color": "#4194d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mavlink", "color": "#417fd8", "style": "normal"}, {"source": "t_gimbal_manager_information", "target": "m_mavlink", "color": "#4169d8", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_mavlink", "color": "#415bd8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mavlink", "color": "#4154d8", "style": "normal"}, {"source": "t_figure_eight_status", "target": "m_mavlink", "color": "#414cd8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_mavlink", "color": "#4145d8", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_mavlink", "color": "#5141d8", "style": "normal"}, {"source": "t_geofence_result", "target": "m_mavlink", "color": "#6741d8", "style": "normal"}, {"source": "t_cpuload", "target": "m_mavlink", "color": "#6e41d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mavlink", "color": "#7541d8", "style": "normal"}, {"source": "t_uavcan_parameter_value", "target": "m_mavlink", "color": "#7c41d8", "style": "normal"}, {"source": "t_debug_value", "target": "m_mavlink", "color": "#8341d8", "style": "normal"}, {"source": "t_wind", "target": "m_mavlink", "color": "#8b41d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mavlink", "color": "#9241d8", "style": "normal"}, {"source": "t_orbit_status", "target": "m_mavlink", "color": "#a041d8", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_mavlink", "color": "#9941d8", "style": "normal"}, {"source": "t_sensor_hygrometer", "target": "m_mavlink", "color": "#a741d8", "style": "normal"}, {"source": "t_tecs_status", "target": "m_mavlink", "color": "#bd41d8", "style": "normal"}, {"source": "t_gimbal_device_set_attitude", "target": "m_mavlink", "color": "#ae41d8", "style": "normal"}, {"source": "t_mission_result", "target": "m_mavlink", "color": "#b641d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_mavlink", "color": "#c441d8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mavlink", "color": "#d241d8", "style": "normal"}, {"source": "t_camera_status", "target": "m_mavlink", "color": "#d841c2", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_mavlink", "color": "#d841c9", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_mavlink", "color": "#d841ba", "style": "normal"}, {"source": "t_gimbal_v1_command", "target": "m_mavlink", "color": "#d841b3", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_mavlink", "color": "#d841ac", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mavlink", "color": "#d841a5", "style": "normal"}, {"source": "t_health_report", "target": "m_mavlink", "color": "#d8419e", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mavlink", "color": "#d84197", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_mavlink", "color": "#d84181", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_mavlink", "color": "#d8417a", "style": "normal"}, {"source": "t_debug_vect", "target": "m_mavlink", "color": "#d84164", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_mavlink", "color": "#d8416c", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_mavlink", "color": "#d8415d", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_mavlink", "color": "#d8414f", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_att_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mc_att_control", "color": "#4154d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_att_control", "color": "#7541d8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mc_att_control", "color": "#d241d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_att_control", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_att_control", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mc_att_control", "color": "#d84197", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_att_control", "color": "#41d854", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#41d8aa", "style": "normal"}, {"source": "t_actuator_controls_status_0", "target": "m_mc_autotune_attitude_control", "color": "#41bfd8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_autotune_attitude_control", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_pos_control", "color": "#41d854", "style": "normal"}, {"source": "t_vehicle_constraints", "target": "m_mc_pos_control", "color": "#41b8d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_pos_control", "color": "#7541d8", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_mc_pos_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_pos_control", "color": "#419bd8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_rate_control", "color": "#9241d8", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_mc_rate_control", "color": "#5841d8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mc_rate_control", "color": "#41d84c", "style": "normal"}, {"source": "t_battery_status", "target": "m_mc_rate_control", "color": "#d8a541", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_rate_control", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_rate_control", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_rate_control", "color": "#41d854", "style": "normal"}, {"source": "t_position_controller_landing_status", "target": "m_navigator", "color": "#d84f41", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_navigator", "color": "#d841ac", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_navigator", "color": "#4194d8", "style": "normal"}, {"source": "t_mission", "target": "m_navigator", "color": "#d85d41", "style": "normal"}, {"source": "t_home_position", "target": "m_navigator", "color": "#d8ac41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_navigator", "color": "#7541d8", "style": "normal"}, {"source": "t_wind", "target": "m_navigator", "color": "#8b41d8", "style": "normal"}, {"source": "t_transponder_report", "target": "m_navigator", "color": "#41d8c6", "style": "normal"}, {"source": "t_dataman_response", "target": "m_navigator", "color": "#d8ba41", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_navigator", "color": "#417fd8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_navigator", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_navigator", "color": "#d8414f", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_navigator", "color": "#a7d841", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_rc_update", "color": "#41d8bf", "style": "normal"}, {"source": "t_rc_parameter_map", "target": "m_rc_update", "color": "#41d862", "style": "normal"}, {"source": "t_input_rc", "target": "m_rc_update", "color": "#6ed841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_rover_pos_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rover_pos_control", "color": "#4154d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_rover_pos_control", "color": "#41d854", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_rover_pos_control", "color": "#7541d8", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_rover_pos_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_rover_pos_control", "color": "#d84197", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_rover_pos_control", "color": "#d8414f", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_rover_pos_control", "color": "#41d886", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_sensors", "color": "#4162d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_sensors", "color": "#d841c9", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_sensors", "color": "#5141d8", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_sensors", "color": "#d84181", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_sensors", "color": "#d85641", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_sensors", "color": "#d84141", "style": "normal"}, {"source": "t_adc_report", "target": "m_sensors", "color": "#6041d8", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_sensors", "color": "#d86c41", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_sensors", "color": "#d841a5", "style": "normal"}, {"source": "t_sensor_optical_flow", "target": "m_sensors", "color": "#d87a41", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_sensors", "color": "#41d854", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_sensors", "color": "#4a41d8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out_sim", "color": "#d8c241", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out_sim", "color": "#a0d841", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out_sim", "color": "#9241d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out_sim", "color": "#d8d741", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out_sim", "color": "#4194d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out_sim", "color": "#d89e41", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out_sim", "color": "#41b1d8", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out_sim", "color": "#41d8b8", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out_sim", "color": "#d84156", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_baro_sim", "color": "#41d869", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#41d869", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#415bd8", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_sensor_mag_sim", "color": "#d841ba", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_mag_sim", "color": "#41d869", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_simulator_sih", "color": "#41d88d", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_simulator_sih", "color": "#41aad8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_temperature_compensation", "color": "#4162d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_temperature_compensation", "color": "#4194d8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_temperature_compensation", "color": "#d841a5", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_temperature_compensation", "color": "#d8415d", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_temperature_compensation", "color": "#4a41d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uuv_att_control", "color": "#9241d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_att_control", "color": "#4154d8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_uuv_att_control", "color": "#41d84c", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_uuv_att_control", "color": "#d84197", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_att_control", "color": "#41d854", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_uuv_pos_control", "color": "#7541d8", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_uuv_pos_control", "color": "#4186d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_pos_control", "color": "#4154d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_pos_control", "color": "#41d854", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_uxrce_dds_client", "color": "#41d87f", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_vtol_att_control", "color": "#7541d8", "style": "normal"}, {"source": "t_mc_virtual_attitude_setpoint", "target": "m_vtol_att_control", "color": "#d84841", "style": "normal"}, {"source": "t_action_request", "target": "m_vtol_att_control", "color": "#41d8d5", "style": "normal"}, {"source": "t_tecs_status", "target": "m_vtol_att_control", "color": "#bd41d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_vtol_att_control", "color": "#c441d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_vtol_att_control", "color": "#419bd8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_vtol_att_control", "color": "#41d854", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_vtol_att_control", "color": "#41d85b", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_vtol_att_control", "color": "#4194d8", "style": "normal"}, {"source": "t_home_position", "target": "m_vtol_att_control", "color": "#d8ac41", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_vtol_att_control", "color": "#417fd8", "style": "normal"}, {"source": "t_fw_virtual_attitude_setpoint", "target": "m_vtol_att_control", "color": "#d84188", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_vtol_att_control", "color": "#4154d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_vtol_att_control", "color": "#41d886", "style": "normal"}]} \ No newline at end of file diff --git a/public/en/middleware/graph_px4_sitl.json b/public/en/middleware/graph_px4_sitl.json new file mode 100644 index 000000000000..0fcd3f28a637 --- /dev/null +++ b/public/en/middleware/graph_px4_sitl.json @@ -0,0 +1 @@ +{"nodes": [{"id": "m_fw_autotune_attitude_control", "name": "fw_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_autotune_attitude_control", "name": "mc_autotune_attitude_control", "type": "Module", "color": "#666666"}, {"id": "m_landing_target_estimator", "name": "landing_target_estimator", "type": "Module", "color": "#666666"}, {"id": "m_local_position_estimator", "name": "local_position_estimator", "type": "Module", "color": "#666666"}, {"id": "m_temperature_compensation", "name": "temperature_compensation", "type": "Module", "color": "#666666"}, {"id": "m_attitude_estimator_q", "name": "attitude_estimator_q", "type": "Module", "color": "#666666"}, {"id": "m_airship_att_control", "name": "airship_att_control", "type": "Module", "color": "#666666"}, {"id": "m_flight_mode_manager", "name": "flight_mode_manager", "type": "Module", "color": "#666666"}, {"id": "m_sensor_airspeed_sim", "name": "sensor_airspeed_sim", "type": "Module", "color": "#666666"}, {"id": "m_mag_bias_estimator", "name": "mag_bias_estimator", "type": "Module", "color": "#666666"}, {"id": "m_airspeed_selector", "name": "airspeed_selector", "type": "Module", "color": "#666666"}, {"id": "m_control_allocator", "name": "control_allocator", "type": "Module", "color": "#666666"}, {"id": "m_payload_deliverer", "name": "payload_deliverer", "type": "Module", "color": "#666666"}, {"id": "m_rover_pos_control", "name": "rover_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_battery_simulator", "name": "battery_simulator", "type": "Module", "color": "#666666"}, {"id": "m_simulator_mavlink", "name": "simulator_mavlink", "type": "Module", "color": "#666666"}, {"id": "m_fake_magnetometer", "name": "fake_magnetometer", "type": "Module", "color": "#666666"}, {"id": "m_px4_mavlink_debug", "name": "px4_mavlink_debug", "type": "Module", "color": "#666666"}, {"id": "m_work_item_example", "name": "work_item_example", "type": "Module", "color": "#666666"}, {"id": "m_gyro_calibration", "name": "gyro_calibration", "type": "Module", "color": "#666666"}, {"id": "m_uxrce_dds_client", "name": "uxrce_dds_client", "type": "Module", "color": "#666666"}, {"id": "m_vtol_att_control", "name": "vtol_att_control", "type": "Module", "color": "#666666"}, {"id": "m_camera_feedback", "name": "camera_feedback", "type": "Module", "color": "#666666"}, {"id": "m_fw_rate_control", "name": "fw_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_rate_control", "name": "mc_rate_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_baro_sim", "name": "sensor_baro_sim", "type": "Module", "color": "#666666"}, {"id": "m_uuv_att_control", "name": "uuv_att_control", "type": "Module", "color": "#666666"}, {"id": "m_uuv_pos_control", "name": "uuv_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_camera_trigger", "name": "camera_trigger", "type": "Module", "color": "#666666"}, {"id": "m_fw_att_control", "name": "fw_att_control", "type": "Module", "color": "#666666"}, {"id": "m_fw_pos_control", "name": "fw_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_manual_control", "name": "manual_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_att_control", "name": "mc_att_control", "type": "Module", "color": "#666666"}, {"id": "m_mc_pos_control", "name": "mc_pos_control", "type": "Module", "color": "#666666"}, {"id": "m_sensor_gps_sim", "name": "sensor_gps_sim", "type": "Module", "color": "#666666"}, {"id": "m_sensor_mag_sim", "name": "sensor_mag_sim", "type": "Module", "color": "#666666"}, {"id": "m_px4_simple_app", "name": "px4_simple_app", "type": "Module", "color": "#666666"}, {"id": "m_land_detector", "name": "land_detector", "type": "Module", "color": "#666666"}, {"id": "m_simulator_sih", "name": "simulator_sih", "type": "Module", "color": "#666666"}, {"id": "m_actuator_test", "name": "actuator_test", "type": "Module", "color": "#666666"}, {"id": "m_tune_control", "name": "tune_control", "type": "Module", "color": "#666666"}, {"id": "m_pwm_out_sim", "name": "pwm_out_sim", "type": "Module", "color": "#666666"}, {"id": "m_tone_alarm", "name": "tone_alarm", "type": "Module", "color": "#666666"}, {"id": "m_send_event", "name": "send_event", "type": "Module", "color": "#666666"}, {"id": "m_commander", "name": "commander", "type": "Module", "color": "#666666"}, {"id": "m_navigator", "name": "navigator", "type": "Module", "color": "#666666"}, {"id": "m_rc_update", "name": "rc_update", "type": "Module", "color": "#666666"}, {"id": "m_gz_bridge", "name": "gz_bridge", "type": "Module", "color": "#666666"}, {"id": "m_gyro_fft", "name": "gyro_fft", "type": "Module", "color": "#666666"}, {"id": "m_load_mon", "name": "load_mon", "type": "Module", "color": "#666666"}, {"id": "m_fake_gps", "name": "fake_gps", "type": "Module", "color": "#666666"}, {"id": "m_fake_imu", "name": "fake_imu", "type": "Module", "color": "#666666"}, {"id": "m_msp_osd", "name": "msp_osd", "type": "Module", "color": "#666666"}, {"id": "m_dataman", "name": "dataman", "type": "Module", "color": "#666666"}, {"id": "m_mavlink", "name": "mavlink", "type": "Module", "color": "#666666"}, {"id": "m_sensors", "name": "sensors", "type": "Module", "color": "#666666"}, {"id": "m_failure", "name": "failure", "type": "Module", "color": "#666666"}, {"id": "m_gimbal", "name": "gimbal", "type": "Module", "color": "#666666"}, {"id": "m_logger", "name": "logger", "type": "Module", "color": "#666666"}, {"id": "m_tests", "name": "tests", "type": "Module", "color": "#666666"}, {"id": "m_ekf2", "name": "ekf2", "type": "Module", "color": "#666666"}, {"id": "m_gps", "name": "gps", "type": "Module", "color": "#666666"}, {"id": "t_vehicle_angular_velocity_groundtruth", "name": "vehicle_angular_velocity_groundtruth", "type": "topic", "color": "#d84150", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAngularVelocity.msg"}, {"id": "t_vehicle_global_position_groundtruth", "name": "vehicle_global_position_groundtruth", "type": "topic", "color": "#d841c0", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_vehicle_local_position_groundtruth", "name": "vehicle_local_position_groundtruth", "type": "topic", "color": "#41d898", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_position_controller_landing_status", "name": "position_controller_landing_status", "type": "topic", "color": "#4164d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_set_manual_control", "name": "gimbal_manager_set_manual_control", "type": "topic", "color": "#d8cf41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_autotune_attitude_control_status", "name": "autotune_attitude_control_status", "type": "topic", "color": "#41d8a0", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position_setpoint", "name": "vehicle_local_position_setpoint", "type": "topic", "color": "#d8418c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_attitude_status", "name": "gimbal_device_attitude_status", "type": "topic", "color": "#4155d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_groundtruth", "name": "vehicle_attitude_groundtruth", "type": "topic", "color": "#d84841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitude.msg"}, {"id": "t_register_ext_component_reply", "name": "register_ext_component_reply", "type": "topic", "color": "#d87d41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mc_virtual_attitude_setpoint", "name": "mc_virtual_attitude_setpoint", "type": "topic", "color": "#52d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_fw_virtual_attitude_setpoint", "name": "fw_virtual_attitude_setpoint", "type": "topic", "color": "#41d8b6", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_gimbal_manager_set_attitude", "name": "gimbal_manager_set_attitude", "type": "topic", "color": "#41d891", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_information", "name": "gimbal_manager_information", "type": "topic", "color": "#41d882", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_controls_status_0", "name": "actuator_controls_status_0", "type": "topic", "color": "#41a0d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorControlsStatus.msg"}, {"id": "t_gimbal_device_set_attitude", "name": "gimbal_device_set_attitude", "type": "topic", "color": "#d841a2", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_position_controller_status", "name": "position_controller_status", "type": "topic", "color": "#d84193", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_selector_status", "name": "estimator_selector_status", "type": "topic", "color": "#d88441", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude_setpoint", "name": "vehicle_attitude_setpoint", "type": "topic", "color": "#41d84d", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_position_setpoint_triplet", "name": "position_setpoint_triplet", "type": "topic", "color": "#41d8af", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_device_information", "name": "gimbal_device_information", "type": "topic", "color": "#7041d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tiltrotor_extra_controls", "name": "tiltrotor_extra_controls", "type": "topic", "color": "#5ad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_control_allocator_status", "name": "control_allocator_status", "type": "topic", "color": "#bb41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_visual_odometry", "name": "vehicle_visual_odometry", "type": "topic", "color": "#d8b141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_vehicle_torque_setpoint", "name": "vehicle_torque_setpoint", "type": "topic", "color": "#d8b941", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleTorqueSetpoint.msg"}, {"id": "t_launch_detection_status", "name": "launch_detection_status", "type": "topic", "color": "#cad841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_manual_control_switches", "name": "manual_control_switches", "type": "topic", "color": "#70d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_global_position", "name": "vehicle_global_position", "type": "topic", "color": "#41d8cd", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleGlobalPosition.msg"}, {"id": "t_failure_detector_status", "name": "failure_detector_status", "type": "topic", "color": "#417ad8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_thrust_setpoint", "name": "vehicle_thrust_setpoint", "type": "topic", "color": "#8741d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleThrustSetpoint.msg"}, {"id": "t_manual_control_setpoint", "name": "manual_control_setpoint", "type": "topic", "color": "#d8419b", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ManualControlSetpoint.msg"}, {"id": "t_estimator_status_flags", "name": "estimator_status_flags", "type": "topic", "color": "#41d889", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_local_position", "name": "vehicle_local_position", "type": "topic", "color": "#4198d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleLocalPosition.msg"}, {"id": "t_vehicle_mocap_odometry", "name": "vehicle_mocap_odometry", "type": "topic", "color": "#ac41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_vehicle_rates_setpoint", "name": "vehicle_rates_setpoint", "type": "topic", "color": "#d84157", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_estimator_sensor_bias", "name": "estimator_sensor_bias", "type": "topic", "color": "#d85041", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_manager_status", "name": "gimbal_manager_status", "type": "topic", "color": "#d86e41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_offboard_control_mode", "name": "offboard_control_mode", "type": "topic", "color": "#41d864", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_land_detected", "name": "vehicle_land_detected", "type": "topic", "color": "#415cd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_differential_pressure", "name": "differential_pressure", "type": "topic", "color": "#d8416e", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_servos_trim", "name": "actuator_servos_trim", "type": "topic", "color": "#41d855", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_control_mode", "name": "vehicle_control_mode", "type": "topic", "color": "#41d86b", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleControlMode.msg"}, {"id": "t_actuator_outputs_sim", "name": "actuator_outputs_sim", "type": "topic", "color": "#6141d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_sensor_optical_flow", "name": "sensor_optical_flow", "type": "topic", "color": "#d8aa41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command_ack", "name": "vehicle_command_ack", "type": "topic", "color": "#bbd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_constraints", "name": "vehicle_constraints", "type": "topic", "color": "#acd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vtol_vehicle_status", "name": "vtol_vehicle_status", "type": "topic", "color": "#96d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_trajectory_setpoint", "name": "trajectory_setpoint", "type": "topic", "color": "#4bd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_figure_eight_status", "name": "figure_eight_status", "type": "topic", "color": "#4341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_target_pose", "name": "landing_target_pose", "type": "topic", "color": "#c341d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu_status", "name": "vehicle_imu_status", "type": "topic", "color": "#d86641", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed_validated", "name": "airspeed_validated", "type": "topic", "color": "#d8c041", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensors_status_imu", "name": "sensors_status_imu", "type": "topic", "color": "#4189d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_power_button_state", "name": "power_button_state", "type": "topic", "color": "#d841cf", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_transponder_report", "name": "transponder_report", "type": "topic", "color": "#d841aa", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear_wheel", "name": "landing_gear_wheel", "type": "topic", "color": "#d8417d", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_v1_command", "name": "gimbal_v1_command", "type": "topic", "color": "#41d846", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_spoilers_setpoint", "name": "spoilers_setpoint", "type": "topic", "color": "#41afd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_sensor_correction", "name": "sensor_correction", "type": "topic", "color": "#4191d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_mount_orientation", "name": "mount_orientation", "type": "topic", "color": "#d841b1", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_rtl_time_estimate", "name": "rtl_time_estimate", "type": "topic", "color": "#d84175", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_selection", "name": "sensor_selection", "type": "topic", "color": "#d88c41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_outputs", "name": "actuator_outputs", "type": "topic", "color": "#d8a241", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ActuatorOutputs.msg"}, {"id": "t_collision_report", "name": "collision_report", "type": "topic", "color": "#d8d741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_rc_parameter_map", "name": "rc_parameter_map", "type": "topic", "color": "#43d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_telemetry_status", "name": "telemetry_status", "type": "topic", "color": "#41d4d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gyro_fifo", "name": "sensor_gyro_fifo", "type": "topic", "color": "#4173d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_odometry", "name": "vehicle_odometry", "type": "topic", "color": "#7841d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleOdometry.msg"}, {"id": "t_dataman_response", "name": "dataman_response", "type": "topic", "color": "#9641d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_attitude", "name": "vehicle_attitude", "type": "topic", "color": "#d841b9", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleAttitudeSetpoint.msg"}, {"id": "t_estimator_status", "name": "estimator_status", "type": "topic", "color": "#d84166", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_geofence_result", "name": "geofence_result", "type": "topic", "color": "#d84141", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_dataman_request", "name": "dataman_request", "type": "topic", "color": "#d8c841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_motors", "name": "actuator_motors", "type": "topic", "color": "#78d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_key_value", "name": "debug_key_value", "type": "topic", "color": "#41d85c", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream_ack", "name": "ulog_stream_ack", "type": "topic", "color": "#41d873", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gimbal_controls", "name": "gimbal_controls", "type": "topic", "color": "#41d87a", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_distance_sensor", "name": "distance_sensor", "type": "topic", "color": "#41d8a7", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_command", "name": "vehicle_command", "type": "topic", "color": "#41a7d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/VehicleCommand.msg"}, {"id": "t_sensor_combined", "name": "sensor_combined", "type": "topic", "color": "#414dd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gps_inject_data", "name": "gps_inject_data", "type": "topic", "color": "#d84148", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_takeoff_status", "name": "takeoff_status", "type": "topic", "color": "#d85f41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_failsafe_flags", "name": "failsafe_flags", "type": "topic", "color": "#d87541", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_battery_status", "name": "battery_status", "type": "topic", "color": "#b4d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_capture", "name": "camera_capture", "type": "topic", "color": "#8ed841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_action_request", "name": "action_request", "type": "topic", "color": "#61d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_status", "name": "vehicle_status", "type": "topic", "color": "#41c5d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_trigger", "name": "camera_trigger", "type": "topic", "color": "#41bed8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_armed", "name": "actuator_armed", "type": "topic", "color": "#41b6d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_satellite_info", "name": "satellite_info", "type": "topic", "color": "#4182d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_flaps_setpoint", "name": "flaps_setpoint", "type": "topic", "color": "#7f41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/NormalizedUnsignedSetpoint.msg"}, {"id": "t_mission_result", "name": "mission_result", "type": "topic", "color": "#8e41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_irlock_report", "name": "irlock_report", "type": "topic", "color": "#c3d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_home_position", "name": "home_position", "type": "topic", "color": "#87d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_camera_status", "name": "camera_status", "type": "topic", "color": "#7fd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_actuator_test", "name": "actuator_test", "type": "topic", "color": "#b441d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_health_report", "name": "health_report", "type": "topic", "color": "#d841d7", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_accel", "name": "sensor_accel", "type": "topic", "color": "#a5d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tune_control", "name": "tune_control", "type": "topic", "color": "#41d8c5", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_landing_gear", "name": "landing_gear", "type": "topic", "color": "#41cdd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_orbit_status", "name": "orbit_status", "type": "topic", "color": "#6941d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_array", "name": "debug_array", "type": "topic", "color": "#d89b41", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_debug_value", "name": "debug_value", "type": "topic", "color": "#d2d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_imu", "name": "vehicle_imu", "type": "topic", "color": "#9dd841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_vehicle_roi", "name": "vehicle_roi", "type": "topic", "color": "#416bd8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_tecs_status", "name": "tecs_status", "type": "topic", "color": "#4b41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_ulog_stream", "name": "ulog_stream", "type": "topic", "color": "#5241d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gyro", "name": "sensor_gyro", "type": "topic", "color": "#ca41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_baro", "name": "sensor_baro", "type": "topic", "color": "#d8415f", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_gps", "name": "sensor_gps", "type": "topic", "color": "#d89341", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/SensorGps.msg"}, {"id": "t_debug_vect", "name": "debug_vect", "type": "topic", "color": "#41d8d4", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_sensor_mag", "name": "sensor_mag", "type": "topic", "color": "#5a41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_esc_status", "name": "esc_status", "type": "topic", "color": "#d241d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_input_rc", "name": "input_rc", "type": "topic", "color": "#9d41d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_airspeed", "name": "airspeed", "type": "topic", "color": "#a541d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/EstimatorAidSource1d.msg"}, {"id": "t_mission", "name": "mission", "type": "topic", "color": "#69d841", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_cpuload", "name": "cpuload", "type": "topic", "color": "#d841c8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_gripper", "name": "gripper", "type": "topic", "color": "#d84184", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}, {"id": "t_event", "name": "event", "type": "topic", "color": "#41d8be", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/ButtonEvent.msg"}, {"id": "t_wind", "name": "wind", "type": "topic", "color": "#4146d8", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/Wind.msg"}, {"id": "t_rpm", "name": "rpm", "type": "topic", "color": "#d85741", "url": "https://github.com/PX4/PX4-Autopilot/blob/main/msg/no_file.msg"}], "links": [{"source": "m_camera_trigger", "target": "t_camera_trigger", "color": "#41bed8", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_camera_trigger", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_gps", "target": "t_satellite_info", "color": "#4182d8", "style": "dashed"}, {"source": "m_gps", "target": "t_sensor_gps", "color": "#d89341", "style": "dashed"}, {"source": "m_gps", "target": "t_gps_inject_data", "color": "#d84148", "style": "dashed"}, {"source": "m_tone_alarm", "target": "t_tune_control", "color": "#41d8c5", "style": "dashed"}, {"source": "m_airship_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#8741d8", "style": "dashed"}, {"source": "m_airship_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d8b941", "style": "dashed"}, {"source": "m_airspeed_selector", "target": "t_airspeed_validated", "color": "#d8c041", "style": "dashed"}, {"source": "m_attitude_estimator_q", "target": "t_vehicle_attitude", "color": "#d841b9", "style": "dashed"}, {"source": "m_camera_feedback", "target": "t_camera_capture", "color": "#8ed841", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_test", "color": "#b441d8", "style": "dashed"}, {"source": "m_commander", "target": "t_tune_control", "color": "#41d8c5", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_control_mode", "color": "#41d86b", "style": "dashed"}, {"source": "m_commander", "target": "t_event", "color": "#41d8be", "style": "dashed"}, {"source": "m_commander", "target": "t_failure_detector_status", "color": "#417ad8", "style": "dashed"}, {"source": "m_commander", "target": "t_home_position", "color": "#87d841", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_commander", "target": "t_actuator_armed", "color": "#41b6d8", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_status", "color": "#41c5d8", "style": "dashed"}, {"source": "m_commander", "target": "t_failsafe_flags", "color": "#d87541", "style": "dashed"}, {"source": "m_commander", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_commander", "target": "t_register_ext_component_reply", "color": "#d87d41", "style": "dashed"}, {"source": "m_commander", "target": "t_health_report", "color": "#d841d7", "style": "dashed"}, {"source": "m_commander", "target": "t_power_button_state", "color": "#d841cf", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_motors", "color": "#78d841", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_actuator_servos_trim", "color": "#41d855", "style": "dashed"}, {"source": "m_control_allocator", "target": "t_control_allocator_status", "color": "#bb41d8", "style": "dashed"}, {"source": "m_dataman", "target": "t_dataman_response", "color": "#9641d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_odometry", "color": "#7841d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_sensor_bias", "color": "#d85041", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_global_position", "color": "#41d8cd", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_selector_status", "color": "#d88441", "style": "dashed"}, {"source": "m_ekf2", "target": "t_sensor_selection", "color": "#d88c41", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_local_position", "color": "#4198d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_vehicle_attitude", "color": "#d841b9", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status", "color": "#d84166", "style": "dashed"}, {"source": "m_ekf2", "target": "t_wind", "color": "#4146d8", "style": "dashed"}, {"source": "m_ekf2", "target": "t_estimator_status_flags", "color": "#41d889", "style": "dashed"}, {"source": "m_send_event", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_send_event", "target": "t_tune_control", "color": "#41d8c5", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_landing_gear", "color": "#41cdd8", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_trajectory_setpoint", "color": "#4bd841", "style": "dashed"}, {"source": "m_flight_mode_manager", "target": "t_vehicle_constraints", "color": "#acd841", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d84157", "style": "dashed"}, {"source": "m_fw_att_control", "target": "t_landing_gear_wheel", "color": "#d8417d", "style": "dashed"}, {"source": "m_fw_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#41d8a0", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_orbit_status", "color": "#6941d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_flaps_setpoint", "color": "#7f41d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_landing_gear", "color": "#41cdd8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_figure_eight_status", "color": "#4341d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_tecs_status", "color": "#4b41d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_status", "color": "#d84193", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_position_controller_landing_status", "color": "#4164d8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_spoilers_setpoint", "color": "#41afd8", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#d8418c", "style": "dashed"}, {"source": "m_fw_pos_control", "target": "t_launch_detection_status", "color": "#cad841", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d84157", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_flaps_setpoint", "color": "#7f41d8", "style": "dashed"}, {"source": "m_fw_rate_control", "target": "t_spoilers_setpoint", "color": "#41afd8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_v1_command", "color": "#41d846", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_controls", "color": "#41d87a", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_manager_information", "color": "#41d882", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_manager_status", "color": "#d86e41", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_set_attitude", "color": "#d841a2", "style": "dashed"}, {"source": "m_gimbal", "target": "t_gimbal_device_attitude_status", "color": "#4155d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_gimbal", "target": "t_mount_orientation", "color": "#d841b1", "style": "dashed"}, {"source": "m_land_detector", "target": "t_vehicle_land_detected", "color": "#415cd8", "style": "dashed"}, {"source": "m_landing_target_estimator", "target": "t_landing_target_pose", "color": "#c341d8", "style": "dashed"}, {"source": "m_load_mon", "target": "t_cpuload", "color": "#d841c8", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_estimator_status", "color": "#d84166", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_odometry", "color": "#7841d8", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_global_position", "color": "#41d8cd", "style": "dashed"}, {"source": "m_local_position_estimator", "target": "t_vehicle_local_position", "color": "#4198d8", "style": "dashed"}, {"source": "m_logger", "target": "t_ulog_stream", "color": "#5241d8", "style": "dashed"}, {"source": "m_logger", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_manual_control", "target": "t_landing_gear", "color": "#41cdd8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_status", "color": "#41c5d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_setpoint", "color": "#d8419b", "style": "dashed"}, {"source": "m_manual_control", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_manual_control", "target": "t_manual_control_switches", "color": "#70d841", "style": "dashed"}, {"source": "m_manual_control", "target": "t_action_request", "color": "#61d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_distance_sensor", "color": "#41d8a7", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_information", "color": "#7041d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_input_rc", "color": "#9d41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_airspeed", "color": "#a541d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_camera_status", "color": "#7fd841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mc_virtual_attitude_setpoint", "color": "#52d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_fw_virtual_attitude_setpoint", "color": "#41d8b6", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_mocap_odometry", "color": "#ac41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_event", "color": "#41d8be", "style": "dashed"}, {"source": "m_mavlink", "target": "t_trajectory_setpoint", "color": "#4bd841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_tune_control", "color": "#41d8c5", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_global_position", "color": "#41d8cd", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_rates_setpoint", "color": "#d84157", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_vect", "color": "#41d8d4", "style": "dashed"}, {"source": "m_mavlink", "target": "t_telemetry_status", "color": "#41d4d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gyro", "color": "#ca41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_rc_parameter_map", "color": "#43d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gps", "color": "#d89341", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_local_position", "color": "#4198d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_array", "color": "#d89b41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude", "color": "#d841b9", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_optical_flow", "color": "#d8aa41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_visual_odometry", "color": "#d8b141", "style": "dashed"}, {"source": "m_mavlink", "target": "t_dataman_request", "color": "#d8c841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_value", "color": "#d2d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_collision_report", "color": "#d8d741", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_manager_set_manual_control", "color": "#d8cf41", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_attitude_setpoint", "color": "#41d84d", "style": "dashed"}, {"source": "m_mavlink", "target": "t_transponder_report", "color": "#d841aa", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_gyro_fifo", "color": "#4173d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_debug_key_value", "color": "#41d85c", "style": "dashed"}, {"source": "m_mavlink", "target": "t_differential_pressure", "color": "#d8416e", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_device_attitude_status", "color": "#4155d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_offboard_control_mode", "color": "#41d864", "style": "dashed"}, {"source": "m_mavlink", "target": "t_ulog_stream_ack", "color": "#41d873", "style": "dashed"}, {"source": "m_mavlink", "target": "t_irlock_report", "color": "#c3d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_battery_status", "color": "#b4d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gimbal_manager_set_attitude", "color": "#41d891", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_baro", "color": "#d8415f", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_mag", "color": "#5a41d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_sensor_accel", "color": "#a5d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_landing_target_pose", "color": "#c341d8", "style": "dashed"}, {"source": "m_mavlink", "target": "t_mission", "color": "#69d841", "style": "dashed"}, {"source": "m_mavlink", "target": "t_gps_inject_data", "color": "#d84148", "style": "dashed"}, {"source": "m_mc_att_control", "target": "t_vehicle_rates_setpoint", "color": "#d84157", "style": "dashed"}, {"source": "m_mc_autotune_attitude_control", "target": "t_autotune_attitude_control_status", "color": "#41d8a0", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_trajectory_setpoint", "color": "#4bd841", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#41d84d", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_constraints", "color": "#acd841", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_vehicle_local_position_setpoint", "color": "#d8418c", "style": "dashed"}, {"source": "m_mc_pos_control", "target": "t_takeoff_status", "color": "#d85f41", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_vehicle_rates_setpoint", "color": "#d84157", "style": "dashed"}, {"source": "m_mc_rate_control", "target": "t_actuator_controls_status_0", "color": "#41a0d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_geofence_result", "color": "#d84141", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_navigator", "target": "t_dataman_request", "color": "#d8c841", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_global_position", "color": "#41d8cd", "style": "dashed"}, {"source": "m_navigator", "target": "t_home_position", "color": "#87d841", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission_result", "color": "#8e41d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_roi", "color": "#416bd8", "style": "dashed"}, {"source": "m_navigator", "target": "t_transponder_report", "color": "#d841aa", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_status", "color": "#41c5d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_navigator", "target": "t_position_setpoint_triplet", "color": "#41d8af", "style": "dashed"}, {"source": "m_navigator", "target": "t_vehicle_land_detected", "color": "#415cd8", "style": "dashed"}, {"source": "m_navigator", "target": "t_rtl_time_estimate", "color": "#d84175", "style": "dashed"}, {"source": "m_navigator", "target": "t_mission", "color": "#69d841", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_gripper", "color": "#d84184", "style": "dashed"}, {"source": "m_payload_deliverer", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_rc_update", "target": "t_manual_control_switches", "color": "#70d841", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_torque_setpoint", "color": "#d8b941", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_thrust_setpoint", "color": "#8741d8", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#41d84d", "style": "dashed"}, {"source": "m_rover_pos_control", "target": "t_position_controller_status", "color": "#d84193", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_combined", "color": "#414dd8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensors_status_imu", "color": "#4189d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu_status", "color": "#d86641", "style": "dashed"}, {"source": "m_sensors", "target": "t_airspeed", "color": "#a541d8", "style": "dashed"}, {"source": "m_sensors", "target": "t_sensor_selection", "color": "#d88c41", "style": "dashed"}, {"source": "m_sensors", "target": "t_differential_pressure", "color": "#d8416e", "style": "dashed"}, {"source": "m_sensors", "target": "t_vehicle_imu", "color": "#9dd841", "style": "dashed"}, {"source": "m_battery_simulator", "target": "t_battery_status", "color": "#b4d841", "style": "dashed"}, {"source": "m_battery_simulator", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_test", "color": "#b441d8", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_outputs", "color": "#d8a241", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_visual_odometry", "color": "#d8b141", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_attitude_groundtruth", "color": "#d84841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_local_position_groundtruth", "color": "#41d898", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_esc_status", "color": "#d241d8", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_baro", "color": "#d8415f", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_gyro", "color": "#ca41d8", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_armed", "color": "#41b6d8", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_sensor_accel", "color": "#a5d841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_actuator_motors", "color": "#78d841", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_differential_pressure", "color": "#d8416e", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_angular_velocity_groundtruth", "color": "#d84150", "style": "dashed"}, {"source": "m_gz_bridge", "target": "t_vehicle_global_position_groundtruth", "color": "#d841c0", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs_sim", "color": "#6141d8", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_test", "color": "#b441d8", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_outputs", "color": "#d8a241", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_armed", "color": "#41b6d8", "style": "dashed"}, {"source": "m_pwm_out_sim", "target": "t_actuator_motors", "color": "#78d841", "style": "dashed"}, {"source": "m_sensor_airspeed_sim", "target": "t_differential_pressure", "color": "#d8416e", "style": "dashed"}, {"source": "m_sensor_baro_sim", "target": "t_sensor_baro", "color": "#d8415f", "style": "dashed"}, {"source": "m_sensor_gps_sim", "target": "t_sensor_gps", "color": "#d89341", "style": "dashed"}, {"source": "m_sensor_mag_sim", "target": "t_sensor_mag", "color": "#5a41d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_attitude_groundtruth", "color": "#d84841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_input_rc", "color": "#9d41d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_rpm", "color": "#d85741", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_mocap_odometry", "color": "#ac41d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_gyro", "color": "#ca41d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_esc_status", "color": "#d241d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_global_position_groundtruth", "color": "#d841c0", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_optical_flow", "color": "#d8aa41", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_visual_odometry", "color": "#d8b141", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_gyro_fifo", "color": "#4173d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_differential_pressure", "color": "#d8416e", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_irlock_report", "color": "#c3d841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_local_position_groundtruth", "color": "#41d898", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_baro", "color": "#d8415f", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_accel", "color": "#a5d841", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_sensor_mag", "color": "#5a41d8", "style": "dashed"}, {"source": "m_simulator_mavlink", "target": "t_vehicle_angular_velocity_groundtruth", "color": "#d84150", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_distance_sensor", "color": "#41d8a7", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_attitude_groundtruth", "color": "#d84841", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_gyro_fifo", "color": "#4173d8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_local_position_groundtruth", "color": "#41d898", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_gyro", "color": "#ca41d8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_airspeed", "color": "#a541d8", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_sensor_accel", "color": "#a5d841", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_angular_velocity_groundtruth", "color": "#d84150", "style": "dashed"}, {"source": "m_simulator_sih", "target": "t_vehicle_global_position_groundtruth", "color": "#d841c0", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_sensor_correction", "color": "#4191d8", "style": "dashed"}, {"source": "m_temperature_compensation", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#8741d8", "style": "dashed"}, {"source": "m_uuv_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d8b941", "style": "dashed"}, {"source": "m_uuv_pos_control", "target": "t_vehicle_attitude_setpoint", "color": "#41d84d", "style": "dashed"}, {"source": "m_uxrce_dds_client", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vtol_vehicle_status", "color": "#96d841", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_command_ack", "color": "#bbd841", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_torque_setpoint", "color": "#d8b941", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_flaps_setpoint", "color": "#7f41d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_thrust_setpoint", "color": "#8741d8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_vehicle_attitude_setpoint", "color": "#41d84d", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_spoilers_setpoint", "color": "#41afd8", "style": "dashed"}, {"source": "m_vtol_att_control", "target": "t_tiltrotor_extra_controls", "color": "#5ad841", "style": "dashed"}, {"source": "m_actuator_test", "target": "t_actuator_test", "color": "#b441d8", "style": "dashed"}, {"source": "m_failure", "target": "t_vehicle_command", "color": "#41a7d8", "style": "dashed"}, {"source": "m_tests", "target": "t_dataman_request", "color": "#d8c841", "style": "dashed"}, {"source": "m_tune_control", "target": "t_tune_control", "color": "#41d8c5", "style": "dashed"}, {"source": "m_fake_gps", "target": "t_sensor_gps", "color": "#d89341", "style": "dashed"}, {"source": "m_fake_imu", "target": "t_sensor_gyro_fifo", "color": "#4173d8", "style": "dashed"}, {"source": "m_fake_imu", "target": "t_sensor_gyro", "color": "#ca41d8", "style": "dashed"}, {"source": "m_fake_imu", "target": "t_esc_status", "color": "#d241d8", "style": "dashed"}, {"source": "m_fake_imu", "target": "t_sensor_accel", "color": "#a5d841", "style": "dashed"}, {"source": "m_fake_magnetometer", "target": "t_sensor_mag", "color": "#5a41d8", "style": "dashed"}, {"source": "m_px4_mavlink_debug", "target": "t_debug_vect", "color": "#41d8d4", "style": "dashed"}, {"source": "m_px4_mavlink_debug", "target": "t_debug_value", "color": "#d2d841", "style": "dashed"}, {"source": "m_px4_mavlink_debug", "target": "t_debug_array", "color": "#d89b41", "style": "dashed"}, {"source": "m_px4_mavlink_debug", "target": "t_debug_key_value", "color": "#41d85c", "style": "dashed"}, {"source": "m_px4_simple_app", "target": "t_vehicle_attitude", "color": "#d841b9", "style": "dashed"}, {"source": "t_vehicle_command", "target": "m_camera_trigger", "color": "#41a7d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_camera_trigger", "color": "#4198d8", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_gps", "color": "#d84148", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_msp_osd", "color": "#d841b9", "style": "normal"}, {"source": "t_home_position", "target": "m_msp_osd", "color": "#87d841", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_msp_osd", "color": "#d8c041", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_msp_osd", "color": "#41d8cd", "style": "normal"}, {"source": "t_battery_status", "target": "m_msp_osd", "color": "#b4d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_msp_osd", "color": "#41c5d8", "style": "normal"}, {"source": "t_input_rc", "target": "m_msp_osd", "color": "#9d41d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_msp_osd", "color": "#4198d8", "style": "normal"}, {"source": "t_tune_control", "target": "m_tone_alarm", "color": "#41d8c5", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_airship_att_control", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_airship_att_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_airspeed_selector", "color": "#96d841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_airspeed_selector", "color": "#d841b9", "style": "normal"}, {"source": "t_estimator_status", "target": "m_airspeed_selector", "color": "#d84166", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_airspeed_selector", "color": "#41c5d8", "style": "normal"}, {"source": "t_airspeed", "target": "m_airspeed_selector", "color": "#a541d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_airspeed_selector", "color": "#415cd8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_airspeed_selector", "color": "#d88441", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_airspeed_selector", "color": "#4198d8", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_attitude_estimator_q", "color": "#ac41d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_attitude_estimator_q", "color": "#d841b9", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_attitude_estimator_q", "color": "#414dd8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_attitude_estimator_q", "color": "#d8b141", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_attitude_estimator_q", "color": "#4198d8", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_camera_feedback", "color": "#4155d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_camera_feedback", "color": "#d841b9", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_camera_feedback", "color": "#41bed8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_camera_feedback", "color": "#41d8cd", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_commander", "color": "#41d8a7", "style": "normal"}, {"source": "t_vtol_vehicle_status", "target": "m_commander", "color": "#96d841", "style": "normal"}, {"source": "t_geofence_result", "target": "m_commander", "color": "#d84141", "style": "normal"}, {"source": "t_home_position", "target": "m_commander", "color": "#87d841", "style": "normal"}, {"source": "t_mission_result", "target": "m_commander", "color": "#8e41d8", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_commander", "color": "#d85041", "style": "normal"}, {"source": "t_action_request", "target": "m_commander", "color": "#61d841", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_commander", "color": "#78d841", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_commander", "color": "#70d841", "style": "normal"}, {"source": "t_event", "target": "m_commander", "color": "#41d8be", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_commander", "color": "#41d8cd", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_commander", "color": "#d86641", "style": "normal"}, {"source": "t_telemetry_status", "target": "m_commander", "color": "#41d4d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_commander", "color": "#41c5d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_commander", "color": "#ca41d8", "style": "normal"}, {"source": "t_esc_status", "target": "m_commander", "color": "#d241d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_commander", "color": "#41b6d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_commander", "color": "#41a7d8", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_commander", "color": "#d88441", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_commander", "color": "#d88c41", "style": "normal"}, {"source": "t_power_button_state", "target": "m_commander", "color": "#d841cf", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_commander", "color": "#d89341", "style": "normal"}, {"source": "t_cpuload", "target": "m_commander", "color": "#d841c8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_commander", "color": "#4198d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_commander", "color": "#4191d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_commander", "color": "#d841b9", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_commander", "color": "#4189d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_commander", "color": "#d8c041", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_commander", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_commander", "color": "#415cd8", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_commander", "color": "#d84175", "style": "normal"}, {"source": "t_offboard_control_mode", "target": "m_commander", "color": "#41d864", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_commander", "color": "#d8416e", "style": "normal"}, {"source": "t_estimator_status", "target": "m_commander", "color": "#d84166", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_commander", "color": "#bbd841", "style": "normal"}, {"source": "t_wind", "target": "m_commander", "color": "#4146d8", "style": "normal"}, {"source": "t_estimator_status_flags", "target": "m_commander", "color": "#41d889", "style": "normal"}, {"source": "t_battery_status", "target": "m_commander", "color": "#b4d841", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_commander", "color": "#d8415f", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_commander", "color": "#a5d841", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_commander", "color": "#5a41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_control_allocator", "color": "#41d86b", "style": "normal"}, {"source": "t_failure_detector_status", "target": "m_control_allocator", "color": "#417ad8", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_control_allocator", "color": "#d8b941", "style": "normal"}, {"source": "t_flaps_setpoint", "target": "m_control_allocator", "color": "#7f41d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_control_allocator", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_control_allocator", "color": "#41c5d8", "style": "normal"}, {"source": "t_spoilers_setpoint", "target": "m_control_allocator", "color": "#41afd8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_control_allocator", "color": "#70d841", "style": "normal"}, {"source": "t_tiltrotor_extra_controls", "target": "m_control_allocator", "color": "#5ad841", "style": "normal"}, {"source": "t_dataman_request", "target": "m_dataman", "color": "#d8c841", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_ekf2", "color": "#41d8a7", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_ekf2", "color": "#d8b141", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_ekf2", "color": "#414dd8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_ekf2", "color": "#d8c041", "style": "normal"}, {"source": "t_sensors_status_imu", "target": "m_ekf2", "color": "#4189d8", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_ekf2", "color": "#d88c41", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_ekf2", "color": "#41c5d8", "style": "normal"}, {"source": "t_airspeed", "target": "m_ekf2", "color": "#a541d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_ekf2", "color": "#41a7d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_ekf2", "color": "#415cd8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_ekf2", "color": "#c341d8", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_ekf2", "color": "#9dd841", "style": "normal"}, {"source": "t_battery_status", "target": "m_send_event", "color": "#b4d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_send_event", "color": "#41c5d8", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_send_event", "color": "#d87541", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_send_event", "color": "#41a7d8", "style": "normal"}, {"source": "t_cpuload", "target": "m_send_event", "color": "#d841c8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_flight_mode_manager", "color": "#41d86b", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_flight_mode_manager", "color": "#41d84d", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_flight_mode_manager", "color": "#41c5d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_flight_mode_manager", "color": "#41a7d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_flight_mode_manager", "color": "#415cd8", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_flight_mode_manager", "color": "#d85f41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_flight_mode_manager", "color": "#4198d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_att_control", "color": "#d841b9", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_att_control", "color": "#41d86b", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_att_control", "color": "#d8c041", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_fw_att_control", "color": "#41d84d", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_att_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_att_control", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_att_control", "color": "#415cd8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_fw_att_control", "color": "#41d8a0", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_att_control", "color": "#4198d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_autotune_attitude_control", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_autotune_attitude_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_pos_control", "color": "#41d86b", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_fw_pos_control", "color": "#4bd841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fw_pos_control", "color": "#d841b9", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_fw_pos_control", "color": "#41d8cd", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_pos_control", "color": "#d8c041", "style": "normal"}, {"source": "t_wind", "target": "m_fw_pos_control", "color": "#4146d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_pos_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_pos_control", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_fw_pos_control", "color": "#41a7d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_fw_pos_control", "color": "#41d8af", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_pos_control", "color": "#415cd8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_fw_pos_control", "color": "#4198d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_fw_rate_control", "color": "#41d86b", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_fw_rate_control", "color": "#bb41d8", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_fw_rate_control", "color": "#d8c041", "style": "normal"}, {"source": "t_battery_status", "target": "m_fw_rate_control", "color": "#b4d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_fw_rate_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_fw_rate_control", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_fw_rate_control", "color": "#415cd8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_fw_rate_control", "color": "#d84157", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_gimbal", "color": "#d841b9", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_gimbal", "color": "#7041d8", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_gimbal", "color": "#41d8cd", "style": "normal"}, {"source": "t_gimbal_manager_set_manual_control", "target": "m_gimbal", "color": "#d8cf41", "style": "normal"}, {"source": "t_gimbal_manager_set_attitude", "target": "m_gimbal", "color": "#41d891", "style": "normal"}, {"source": "t_vehicle_roi", "target": "m_gimbal", "color": "#416bd8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_gimbal", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_gimbal", "color": "#41a7d8", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_gimbal", "color": "#41d8af", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_gimbal", "color": "#415cd8", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_gimbal", "color": "#4155d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_gyro_calibration", "color": "#4191d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_gyro_calibration", "color": "#ca41d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_gyro_calibration", "color": "#41c5d8", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_gyro_calibration", "color": "#a5d841", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_gyro_fft", "color": "#d88c41", "style": "normal"}, {"source": "t_sensor_gyro_fifo", "target": "m_gyro_fft", "color": "#4173d8", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_gyro_fft", "color": "#ca41d8", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_gyro_fft", "color": "#d86641", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_land_detector", "color": "#4bd841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_land_detector", "color": "#41d86b", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_land_detector", "color": "#d86641", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_land_detector", "color": "#d8c041", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_land_detector", "color": "#41c5d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_land_detector", "color": "#41b6d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_land_detector", "color": "#8741d8", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_land_detector", "color": "#d88c41", "style": "normal"}, {"source": "t_launch_detection_status", "target": "m_land_detector", "color": "#cad841", "style": "normal"}, {"source": "t_takeoff_status", "target": "m_land_detector", "color": "#d85f41", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_land_detector", "color": "#4198d8", "style": "normal"}, {"source": "t_irlock_report", "target": "m_landing_target_estimator", "color": "#c3d841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_landing_target_estimator", "color": "#d841b9", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_landing_target_estimator", "color": "#4198d8", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_local_position_estimator", "color": "#41d8a7", "style": "normal"}, {"source": "t_vehicle_mocap_odometry", "target": "m_local_position_estimator", "color": "#ac41d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_local_position_estimator", "color": "#d841b9", "style": "normal"}, {"source": "t_sensor_combined", "target": "m_local_position_estimator", "color": "#414dd8", "style": "normal"}, {"source": "t_vehicle_visual_odometry", "target": "m_local_position_estimator", "color": "#d8b141", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_local_position_estimator", "color": "#41b6d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_local_position_estimator", "color": "#41a7d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_local_position_estimator", "color": "#415cd8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_local_position_estimator", "color": "#c341d8", "style": "normal"}, {"source": "t_ulog_stream_ack", "target": "m_logger", "color": "#41d873", "style": "normal"}, {"source": "t_battery_status", "target": "m_logger", "color": "#b4d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_logger", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_logger", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_logger", "color": "#41a7d8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mag_bias_estimator", "color": "#5a41d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mag_bias_estimator", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_manual_control", "color": "#70d841", "style": "normal"}, {"source": "t_action_request", "target": "m_manual_control", "color": "#61d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_manual_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_manual_control", "color": "#d8419b", "style": "normal"}, {"source": "t_geofence_result", "target": "m_mavlink", "color": "#d84141", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_mavlink", "color": "#d84841", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_mavlink", "color": "#d85041", "style": "normal"}, {"source": "t_rpm", "target": "m_mavlink", "color": "#d85741", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_mavlink", "color": "#d86641", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mavlink", "color": "#d84157", "style": "normal"}, {"source": "t_gimbal_manager_status", "target": "m_mavlink", "color": "#d86e41", "style": "normal"}, {"source": "t_failsafe_flags", "target": "m_mavlink", "color": "#d87541", "style": "normal"}, {"source": "t_register_ext_component_reply", "target": "m_mavlink", "color": "#d87d41", "style": "normal"}, {"source": "t_estimator_selector_status", "target": "m_mavlink", "color": "#d88441", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_mavlink", "color": "#d88c41", "style": "normal"}, {"source": "t_sensor_gps", "target": "m_mavlink", "color": "#d89341", "style": "normal"}, {"source": "t_debug_array", "target": "m_mavlink", "color": "#d89b41", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_mavlink", "color": "#d8a241", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_mavlink", "color": "#d8c041", "style": "normal"}, {"source": "t_debug_value", "target": "m_mavlink", "color": "#d2d841", "style": "normal"}, {"source": "t_collision_report", "target": "m_mavlink", "color": "#d8d741", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_mavlink", "color": "#bbd841", "style": "normal"}, {"source": "t_battery_status", "target": "m_mavlink", "color": "#b4d841", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_mavlink", "color": "#9dd841", "style": "normal"}, {"source": "t_camera_capture", "target": "m_mavlink", "color": "#8ed841", "style": "normal"}, {"source": "t_home_position", "target": "m_mavlink", "color": "#87d841", "style": "normal"}, {"source": "t_camera_status", "target": "m_mavlink", "color": "#7fd841", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_mavlink", "color": "#70d841", "style": "normal"}, {"source": "t_mission", "target": "m_mavlink", "color": "#69d841", "style": "normal"}, {"source": "t_gimbal_v1_command", "target": "m_mavlink", "color": "#41d846", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mavlink", "color": "#41d84d", "style": "normal"}, {"source": "t_debug_key_value", "target": "m_mavlink", "color": "#41d85c", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mavlink", "color": "#41d86b", "style": "normal"}, {"source": "t_gimbal_manager_information", "target": "m_mavlink", "color": "#41d882", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_mavlink", "color": "#41d898", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mavlink", "color": "#41d8a0", "style": "normal"}, {"source": "t_distance_sensor", "target": "m_mavlink", "color": "#41d8a7", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_mavlink", "color": "#41d8af", "style": "normal"}, {"source": "t_event", "target": "m_mavlink", "color": "#41d8be", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_mavlink", "color": "#41d8cd", "style": "normal"}, {"source": "t_debug_vect", "target": "m_mavlink", "color": "#41d8d4", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mavlink", "color": "#41c5d8", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_mavlink", "color": "#41b6d8", "style": "normal"}, {"source": "t_camera_trigger", "target": "m_mavlink", "color": "#41bed8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_mavlink", "color": "#41a7d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mavlink", "color": "#4198d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_mavlink", "color": "#4191d8", "style": "normal"}, {"source": "t_satellite_info", "target": "m_mavlink", "color": "#4182d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mavlink", "color": "#415cd8", "style": "normal"}, {"source": "t_gimbal_device_attitude_status", "target": "m_mavlink", "color": "#4155d8", "style": "normal"}, {"source": "t_wind", "target": "m_mavlink", "color": "#4146d8", "style": "normal"}, {"source": "t_figure_eight_status", "target": "m_mavlink", "color": "#4341d8", "style": "normal"}, {"source": "t_tecs_status", "target": "m_mavlink", "color": "#4b41d8", "style": "normal"}, {"source": "t_ulog_stream", "target": "m_mavlink", "color": "#5241d8", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_mavlink", "color": "#5a41d8", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_mavlink", "color": "#6141d8", "style": "normal"}, {"source": "t_orbit_status", "target": "m_mavlink", "color": "#6941d8", "style": "normal"}, {"source": "t_gimbal_device_information", "target": "m_mavlink", "color": "#7041d8", "style": "normal"}, {"source": "t_vehicle_odometry", "target": "m_mavlink", "color": "#7841d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_mavlink", "color": "#8741d8", "style": "normal"}, {"source": "t_mission_result", "target": "m_mavlink", "color": "#8e41d8", "style": "normal"}, {"source": "t_dataman_response", "target": "m_mavlink", "color": "#9641d8", "style": "normal"}, {"source": "t_input_rc", "target": "m_mavlink", "color": "#9d41d8", "style": "normal"}, {"source": "t_airspeed", "target": "m_mavlink", "color": "#a541d8", "style": "normal"}, {"source": "t_esc_status", "target": "m_mavlink", "color": "#d241d8", "style": "normal"}, {"source": "t_health_report", "target": "m_mavlink", "color": "#d841d7", "style": "normal"}, {"source": "t_cpuload", "target": "m_mavlink", "color": "#d841c8", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_mavlink", "color": "#d841c0", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mavlink", "color": "#d841b9", "style": "normal"}, {"source": "t_mount_orientation", "target": "m_mavlink", "color": "#d841b1", "style": "normal"}, {"source": "t_transponder_report", "target": "m_mavlink", "color": "#d841aa", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_mavlink", "color": "#d84193", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mavlink", "color": "#d8419b", "style": "normal"}, {"source": "t_gimbal_device_set_attitude", "target": "m_mavlink", "color": "#d841a2", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_mavlink", "color": "#d8418c", "style": "normal"}, {"source": "t_rtl_time_estimate", "target": "m_mavlink", "color": "#d84175", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_mavlink", "color": "#d8416e", "style": "normal"}, {"source": "t_estimator_status", "target": "m_mavlink", "color": "#d84166", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_mavlink", "color": "#d8415f", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_mavlink", "color": "#c341d8", "style": "normal"}, {"source": "t_vehicle_angular_velocity_groundtruth", "target": "m_mavlink", "color": "#d84150", "style": "normal"}, {"source": "t_gps_inject_data", "target": "m_mavlink", "color": "#d84148", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_att_control", "color": "#41d86b", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_mc_att_control", "color": "#d841b9", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_mc_att_control", "color": "#41d84d", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_att_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_att_control", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_att_control", "color": "#415cd8", "style": "normal"}, {"source": "t_autotune_attitude_control_status", "target": "m_mc_att_control", "color": "#41d8a0", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_att_control", "color": "#4198d8", "style": "normal"}, {"source": "t_vehicle_torque_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#d8b941", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_autotune_attitude_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_autotune_attitude_control", "color": "#d8419b", "style": "normal"}, {"source": "t_actuator_controls_status_0", "target": "m_mc_autotune_attitude_control", "color": "#41a0d8", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_mc_pos_control", "color": "#4bd841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_pos_control", "color": "#41d86b", "style": "normal"}, {"source": "t_vehicle_constraints", "target": "m_mc_pos_control", "color": "#acd841", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_pos_control", "color": "#415cd8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_mc_pos_control", "color": "#4198d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_mc_rate_control", "color": "#41d86b", "style": "normal"}, {"source": "t_control_allocator_status", "target": "m_mc_rate_control", "color": "#bb41d8", "style": "normal"}, {"source": "t_battery_status", "target": "m_mc_rate_control", "color": "#b4d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_mc_rate_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_mc_rate_control", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_mc_rate_control", "color": "#415cd8", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_mc_rate_control", "color": "#d84157", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_navigator", "color": "#41d8cd", "style": "normal"}, {"source": "t_home_position", "target": "m_navigator", "color": "#87d841", "style": "normal"}, {"source": "t_wind", "target": "m_navigator", "color": "#4146d8", "style": "normal"}, {"source": "t_transponder_report", "target": "m_navigator", "color": "#d841aa", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_navigator", "color": "#41c5d8", "style": "normal"}, {"source": "t_position_controller_status", "target": "m_navigator", "color": "#d84193", "style": "normal"}, {"source": "t_dataman_response", "target": "m_navigator", "color": "#9641d8", "style": "normal"}, {"source": "t_position_controller_landing_status", "target": "m_navigator", "color": "#4164d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_navigator", "color": "#41a7d8", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_navigator", "color": "#415cd8", "style": "normal"}, {"source": "t_landing_target_pose", "target": "m_navigator", "color": "#c341d8", "style": "normal"}, {"source": "t_mission", "target": "m_navigator", "color": "#69d841", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_navigator", "color": "#4198d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_payload_deliverer", "color": "#41a7d8", "style": "normal"}, {"source": "t_manual_control_switches", "target": "m_rc_update", "color": "#70d841", "style": "normal"}, {"source": "t_input_rc", "target": "m_rc_update", "color": "#9d41d8", "style": "normal"}, {"source": "t_rc_parameter_map", "target": "m_rc_update", "color": "#43d841", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_rover_pos_control", "color": "#41d86b", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_rover_pos_control", "color": "#d841b9", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_rover_pos_control", "color": "#4bd841", "style": "normal"}, {"source": "t_vehicle_global_position", "target": "m_rover_pos_control", "color": "#41d8cd", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_rover_pos_control", "color": "#41d84d", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_rover_pos_control", "color": "#d8419b", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_rover_pos_control", "color": "#41d8af", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_rover_pos_control", "color": "#4198d8", "style": "normal"}, {"source": "t_sensor_correction", "target": "m_sensors", "color": "#4191d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_sensors", "color": "#41d86b", "style": "normal"}, {"source": "t_sensor_optical_flow", "target": "m_sensors", "color": "#d8aa41", "style": "normal"}, {"source": "t_vehicle_imu_status", "target": "m_sensors", "color": "#d86641", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_sensors", "color": "#ca41d8", "style": "normal"}, {"source": "t_estimator_sensor_bias", "target": "m_sensors", "color": "#d85041", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_sensors", "color": "#5a41d8", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_sensors", "color": "#a5d841", "style": "normal"}, {"source": "t_sensor_selection", "target": "m_sensors", "color": "#d88c41", "style": "normal"}, {"source": "t_differential_pressure", "target": "m_sensors", "color": "#d8416e", "style": "normal"}, {"source": "t_vehicle_imu", "target": "m_sensors", "color": "#9dd841", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_battery_simulator", "color": "#41a7d8", "style": "normal"}, {"source": "t_vehicle_thrust_setpoint", "target": "m_battery_simulator", "color": "#8741d8", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_battery_simulator", "color": "#41c5d8", "style": "normal"}, {"source": "t_actuator_test", "target": "m_gz_bridge", "color": "#b441d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_gz_bridge", "color": "#41d87a", "style": "normal"}, {"source": "t_landing_gear", "target": "m_gz_bridge", "color": "#41cdd8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_gz_bridge", "color": "#41d855", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_gz_bridge", "color": "#41b6d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_gz_bridge", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_gz_bridge", "color": "#41a7d8", "style": "normal"}, {"source": "t_gripper", "target": "m_gz_bridge", "color": "#d84184", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_gz_bridge", "color": "#d8417d", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_gz_bridge", "color": "#78d841", "style": "normal"}, {"source": "t_actuator_test", "target": "m_pwm_out_sim", "color": "#b441d8", "style": "normal"}, {"source": "t_gimbal_controls", "target": "m_pwm_out_sim", "color": "#41d87a", "style": "normal"}, {"source": "t_landing_gear", "target": "m_pwm_out_sim", "color": "#41cdd8", "style": "normal"}, {"source": "t_actuator_servos_trim", "target": "m_pwm_out_sim", "color": "#41d855", "style": "normal"}, {"source": "t_actuator_armed", "target": "m_pwm_out_sim", "color": "#41b6d8", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_pwm_out_sim", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_pwm_out_sim", "color": "#41a7d8", "style": "normal"}, {"source": "t_gripper", "target": "m_pwm_out_sim", "color": "#d84184", "style": "normal"}, {"source": "t_landing_gear_wheel", "target": "m_pwm_out_sim", "color": "#d8417d", "style": "normal"}, {"source": "t_actuator_motors", "target": "m_pwm_out_sim", "color": "#78d841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_sensor_airspeed_sim", "color": "#d841b9", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_airspeed_sim", "color": "#d841c0", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_sensor_airspeed_sim", "color": "#41d898", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_baro_sim", "color": "#d841c0", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#d841c0", "style": "normal"}, {"source": "t_vehicle_local_position_groundtruth", "target": "m_sensor_gps_sim", "color": "#41d898", "style": "normal"}, {"source": "t_vehicle_attitude_groundtruth", "target": "m_sensor_mag_sim", "color": "#d84841", "style": "normal"}, {"source": "t_vehicle_global_position_groundtruth", "target": "m_sensor_mag_sim", "color": "#d841c0", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_simulator_mavlink", "color": "#6141d8", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_simulator_mavlink", "color": "#d8a241", "style": "normal"}, {"source": "t_battery_status", "target": "m_simulator_mavlink", "color": "#b4d841", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_simulator_mavlink", "color": "#41c5d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_simulator_mavlink", "color": "#41a7d8", "style": "normal"}, {"source": "t_actuator_outputs_sim", "target": "m_simulator_sih", "color": "#6141d8", "style": "normal"}, {"source": "t_actuator_outputs", "target": "m_simulator_sih", "color": "#d8a241", "style": "normal"}, {"source": "t_sensor_gyro", "target": "m_temperature_compensation", "color": "#ca41d8", "style": "normal"}, {"source": "t_sensor_baro", "target": "m_temperature_compensation", "color": "#d8415f", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_temperature_compensation", "color": "#41a7d8", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_temperature_compensation", "color": "#a5d841", "style": "normal"}, {"source": "t_sensor_mag", "target": "m_temperature_compensation", "color": "#5a41d8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_att_control", "color": "#41d86b", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_att_control", "color": "#d841b9", "style": "normal"}, {"source": "t_vehicle_attitude_setpoint", "target": "m_uuv_att_control", "color": "#41d84d", "style": "normal"}, {"source": "t_manual_control_setpoint", "target": "m_uuv_att_control", "color": "#d8419b", "style": "normal"}, {"source": "t_vehicle_rates_setpoint", "target": "m_uuv_att_control", "color": "#d84157", "style": "normal"}, {"source": "t_trajectory_setpoint", "target": "m_uuv_pos_control", "color": "#4bd841", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_uuv_pos_control", "color": "#d841b9", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_uuv_pos_control", "color": "#41d86b", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_uuv_pos_control", "color": "#4198d8", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_uxrce_dds_client", "color": "#bbd841", "style": "normal"}, {"source": "t_home_position", "target": "m_vtol_att_control", "color": "#87d841", "style": "normal"}, {"source": "t_position_setpoint_triplet", "target": "m_vtol_att_control", "color": "#41d8af", "style": "normal"}, {"source": "t_action_request", "target": "m_vtol_att_control", "color": "#61d841", "style": "normal"}, {"source": "t_mc_virtual_attitude_setpoint", "target": "m_vtol_att_control", "color": "#52d841", "style": "normal"}, {"source": "t_fw_virtual_attitude_setpoint", "target": "m_vtol_att_control", "color": "#41d8b6", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_vtol_att_control", "color": "#41c5d8", "style": "normal"}, {"source": "t_vehicle_command", "target": "m_vtol_att_control", "color": "#41a7d8", "style": "normal"}, {"source": "t_vehicle_local_position", "target": "m_vtol_att_control", "color": "#4198d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_vtol_att_control", "color": "#d841b9", "style": "normal"}, {"source": "t_airspeed_validated", "target": "m_vtol_att_control", "color": "#d8c041", "style": "normal"}, {"source": "t_vehicle_local_position_setpoint", "target": "m_vtol_att_control", "color": "#d8418c", "style": "normal"}, {"source": "t_vehicle_land_detected", "target": "m_vtol_att_control", "color": "#415cd8", "style": "normal"}, {"source": "t_vehicle_control_mode", "target": "m_vtol_att_control", "color": "#41d86b", "style": "normal"}, {"source": "t_tecs_status", "target": "m_vtol_att_control", "color": "#4b41d8", "style": "normal"}, {"source": "t_vehicle_command_ack", "target": "m_failure", "color": "#bbd841", "style": "normal"}, {"source": "t_input_rc", "target": "m_tests", "color": "#9d41d8", "style": "normal"}, {"source": "t_dataman_response", "target": "m_tests", "color": "#9641d8", "style": "normal"}, {"source": "t_vehicle_attitude", "target": "m_fake_magnetometer", "color": "#d841b9", "style": "normal"}, {"source": "t_vehicle_status", "target": "m_work_item_example", "color": "#41c5d8", "style": "normal"}, {"source": "t_sensor_accel", "target": "m_work_item_example", "color": "#a5d841", "style": "normal"}]} \ No newline at end of file diff --git a/public/en/middleware/uorb_graph.js b/public/en/middleware/uorb_graph.js new file mode 100644 index 000000000000..7b4e67edd925 --- /dev/null +++ b/public/en/middleware/uorb_graph.js @@ -0,0 +1,483 @@ +// the d3.js script might not yet be loaded (because it's not in ), so we +// wrap everything in a function and retry until d3 is available +function initializeGraph() { + if (typeof d3 === 'undefined') { + // try again later + setTimeout(initializeGraph, 500); + return; + } + + +var graph_option = document.getElementById("select-graph"); +var default_json_file = graph_option.value; +var minOpacity = 0.1; // opacity when a node/link is faded + +/* search field: highlight all matching nodes on text change */ +var g_filterText = ""; +function searchTextChanged() { + var textField = document.getElementById("search"); + var searchText = textField.value; + var opacity = minOpacity; + if (searchText == "" || document.activeElement != textField) { + opacity = 1; + g_filterText = ""; + } else { + g_filterText = searchText; + } + + /* change opacity */ + // TODO: call fade() instead? + node.style("stroke-opacity", function(o) { + thisOpacity = o.name.includes(searchText) ? 1 : opacity; + this.setAttribute('fill-opacity', thisOpacity); + return thisOpacity; + }); + + text.style("stroke-opacity", function(o) { + thisOpacity = o.name.includes(searchText) ? 1 : opacity; + this.setAttribute('fill-opacity', thisOpacity); + return thisOpacity; + }); + link.style("stroke-opacity", function(o) { + return opacity; + }); +} +document.getElementById("search").addEventListener("keyup", searchTextChanged); +document.getElementById("search").addEventListener("focusout", searchTextChanged); +document.getElementById("search").addEventListener("focusin", searchTextChanged); +document.getElementById("select-graph").addEventListener("change", reloadSimulation); + + + +var svg = d3.select("#svg-graph"), + width = +svg.attr("width"), + height = +svg.attr("height"); + + +var collisionForce = rectCollide() + .size(function (d) { return [d.width+10, d.height+6]; }); + +var boxForce = boundedBox() + .bounds([[0, 0], [width, height]]) + .size(function (d) { return [d.width, d.height]; }); + +var simulation = d3.forceSimulation() + .velocityDecay(0.3) // default: 0.4 + // alpha: initially 1, then reduced at each step, reducing the forces, so + // that the simulation comes to a stop eventually + .alphaMin(0.0001) // default: 0.001 + .alphaDecay(0.0428) // default: 0.0228 + //.alphaTarget(1) // enabling this will make sure the simulation never comes + // to a stop (and the nodes will either keep fighting for their position, or + // find an equilibrium) + .force("link", d3.forceLink().id(function(d) { return d.id; }) + .distance(100)//.strength(0.02) // default: 30, 1 / Math.min(count(link.source), count(link.target)); + // distance: desired link distance +// .iterations(1) // default: 1, greater = increased rigidity + ) + .force("charge", d3.forceManyBody().strength(-250)) // decrease to make the + // graph spread more (distance has a similar effect, but affects the + // leaf nodes more) + .force('box', boxForce) // keep the nodes inside the visible area + .force('collision', collisionForce) + .force("center", d3.forceCenter(width / 2, height / 2)); + +// SVG elements +var node = null; +var text = null; +var link = null; + +function loadSimulation(json_file_name) { + + d3.json(json_file_name, function(error, graph) { + if (error) throw error; + + // module filtering (does not remove 'orphaned' topics) + /* + var ignored_modules = ["mavlink", "commander"]; + for (var i = 0; i < ignored_modules.length; ++i) { + var module_id = "m_"+ignored_modules[i]; + // links + for (var j = 0; j < graph.links.length; ++j) { + if (graph.links[j].source == module_id || + graph.links[j].target == module_id) { + graph.links.splice(j, 1); + --j; + } + } + // nodes + for (var j = 0; j < graph.nodes.length; ++j) { + if (graph.nodes[j].id == module_id) { + graph.nodes.splice(j, 1); + --j; + } + } + } + */ + + // change style for bidirectional edges + const edgeMap = new Map(); + var i = 0; + while(i show it + } else if (d.name.includes(g_filterText)) { + thisOpacity = invertedOpacity; + } else { + thisOpacity = opacity; + } + } else { + thisOpacity = opacity; + } + + this.setAttribute('fill-opacity', thisOpacity); + return thisOpacity; + } + + node.style("stroke-opacity", nodeOpacity); + text.style("stroke-opacity", nodeOpacity); + + var linkOpacity = opacity; + var linkOpacityConnected = 1; + if (g_filterText != "") { + if (d.name.includes(g_filterText)) { + linkOpacityConnected = invertedOpacity; + } else { + linkOpacityConnected = minOpacity; + } + linkOpacity = minOpacity; + } + link.style("stroke-opacity", function(o) { + return o.source === d || o.target === d ? + linkOpacityConnected : linkOpacity; + }); + }; + } + + }); +} + +function reloadSimulation(e) { + json_file_name = e.target.value; + console.log(json_file_name); + d3.selectAll("svg > *").remove(); + loadSimulation(json_file_name); + simulation.alpha(1).restart(); +} + +/* initial graph */ +loadSimulation(default_json_file); + + +function rectCollide() { + var nodes, sizes, masses; + var size = constant([0, 0]); + var strength = 0.3; + var iterations = 20; + + function force() { + var node, size, mass, xi, yi; + var i = -1; + while (++i < iterations) { iterate(); } + + function iterate() { + var j = -1; + var tree = d3.quadtree(nodes, xCenter, yCenter).visitAfter(prepare); + + while (++j < nodes.length) { + node = nodes[j]; + size = sizes[j]; + mass = masses[j]; + xi = xCenter(node); + yi = yCenter(node); + + tree.visit(apply); + } + } + + function apply(quad, x0, y0, x1, y1) { + var data = quad.data; + var xSize = (size[0] + quad.size[0]) / 2; + var ySize = (size[1] + quad.size[1]) / 2; + if (data) { + if (data.index <= node.index) { return; } + + var x = xi - xCenter(data); + var y = yi - yCenter(data); + var xd = Math.abs(x) - xSize; + var yd = Math.abs(y) - ySize; + + if (xd < 0 && yd < 0) { + var l = Math.sqrt(x * x + y * y); + var m = masses[data.index] / (mass + masses[data.index]); + + if (l > 0.000001) { + if (xd > yd) { + node.vx -= (x *= xd / l * strength) * m; + data.vx += x * (1 - m); + } else { + node.vy -= (y *= yd / l * strength) * m; + data.vy += y * (1 - m); + } + } + } + } + + return x0 > xi + xSize || y0 > yi + ySize || + x1 < xi - xSize || y1 < yi - ySize; + } + + function prepare(quad) { + if (quad.data) { + quad.size = sizes[quad.data.index]; + } else { + quad.size = [0, 0]; + var i = -1; + while (++i < 4) { + if (quad[i] && quad[i].size) { + quad.size[0] = Math.max(quad.size[0], quad[i].size[0]); + quad.size[1] = Math.max(quad.size[1], quad[i].size[1]); + } + } + } + } + } + + function xCenter(d) { return d.x + d.vx; } + function yCenter(d) { return d.y + d.vy; } + + force.initialize = function (_) { + sizes = (nodes = _).map(size); + masses = sizes.map(function (d) { return d[0] * d[1] }); + } + + force.size = function (_) { + return (arguments.length + ? (size = typeof _ === 'function' ? _ : constant(_), force) + : size); + } + + force.strength = function (_) { + return (arguments.length ? (strength = +_, force) : strength); + } + + force.iterations = function (_) { + return (arguments.length ? (iterations = +_, force) : iterations); + } + + return force; +} + +function boundedBox() { + var nodes, sizes; + var bounds; + var size = constant([0, 0]); + + function force() { + var node, size; + var xi, x0, x1, yi, y0, y1; + var i = -1; + while (++i < nodes.length) { + node = nodes[i]; + size = sizes[i]; + xi = node.x + node.vx; + x0 = bounds[0][0] - (xi - size[0]/2); + x1 = bounds[1][0] - (xi + size[0]/2); + yi = node.y + node.vy; + y0 = bounds[0][1] - (yi - size[1]/2); + y1 = bounds[1][1] - (yi + size[1]/2); + if (x0 > 0 || x1 < 0) { + node.x += node.vx; + node.vx = -node.vx; + if (node.vx < x0) { node.x += x0 - node.vx; } + if (node.vx > x1) { node.x += x1 - node.vx; } + } + if (y0 > 0 || y1 < 0) { + node.y += node.vy; + node.vy = -node.vy; + if (node.vy < y0) { node.vy += y0 - node.vy; } + if (node.vy > y1) { node.vy += y1 - node.vy; } + } + } + } + + force.initialize = function (_) { + sizes = (nodes = _).map(size); + } + + force.bounds = function (_) { + return (arguments.length ? (bounds = _, force) : bounds); + } + + force.size = function (_) { + return (arguments.length + ? (size = typeof _ === 'function' ? _ : constant(_), force) + : size); + } + + return force; +} + + +function constant(_) { + return function () { return _; } +} + +} // initializeGraph() + +initializeGraph(); diff --git a/public/logo_pro_small.png b/public/logo_pro_small.png new file mode 100644 index 0000000000000000000000000000000000000000..170e45efd5e6ed590131a74b561e9d40f84bd50c GIT binary patch literal 84864 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

^0u4-Cu-_4#Tq6s~kQE?hwz^4NVSDX>KpBuLK6 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 + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/px4-text.svg b/public/px4-text.svg new file mode 100644 index 000000000000..28387c477eed --- /dev/null +++ b/public/px4-text.svg @@ -0,0 +1,110 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + From 972a695f9919988e4b652a24ca69f4b032d71a5f Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 07:37:03 +1100 Subject: [PATCH 06/20] Move the public files out of en tree - they are now not localised --- public/{en => }/config/failsafe/index.html | 0 public/{en => }/config/failsafe/index.js | 0 public/{en => }/config/failsafe/index.wasm | Bin .../{en => }/config/failsafe/parameters.json | 0 public/{en => }/middleware/graph_full.json | 0 .../middleware/graph_full_no_mavlink.json | 0 .../{en => }/middleware/graph_px4_fmu-v2.json | 0 .../{en => }/middleware/graph_px4_fmu-v4.json | 0 .../{en => }/middleware/graph_px4_fmu-v5.json | 0 .../{en => }/middleware/graph_px4_sitl.json | 0 public/middleware/index.html | 31 ++++++++++++++++++ public/{en => }/middleware/uorb_graph.js | 0 12 files changed, 31 insertions(+) rename public/{en => }/config/failsafe/index.html (100%) rename public/{en => }/config/failsafe/index.js (100%) rename public/{en => }/config/failsafe/index.wasm (100%) rename public/{en => }/config/failsafe/parameters.json (100%) rename public/{en => }/middleware/graph_full.json (100%) rename public/{en => }/middleware/graph_full_no_mavlink.json (100%) rename public/{en => }/middleware/graph_px4_fmu-v2.json (100%) rename public/{en => }/middleware/graph_px4_fmu-v4.json (100%) rename public/{en => }/middleware/graph_px4_fmu-v5.json (100%) rename public/{en => }/middleware/graph_px4_sitl.json (100%) create mode 100644 public/middleware/index.html rename public/{en => }/middleware/uorb_graph.js (100%) diff --git a/public/en/config/failsafe/index.html b/public/config/failsafe/index.html similarity index 100% rename from public/en/config/failsafe/index.html rename to public/config/failsafe/index.html diff --git a/public/en/config/failsafe/index.js b/public/config/failsafe/index.js similarity index 100% rename from public/en/config/failsafe/index.js rename to public/config/failsafe/index.js diff --git a/public/en/config/failsafe/index.wasm b/public/config/failsafe/index.wasm similarity index 100% rename from public/en/config/failsafe/index.wasm rename to public/config/failsafe/index.wasm diff --git a/public/en/config/failsafe/parameters.json b/public/config/failsafe/parameters.json similarity index 100% rename from public/en/config/failsafe/parameters.json rename to public/config/failsafe/parameters.json diff --git a/public/en/middleware/graph_full.json b/public/middleware/graph_full.json similarity index 100% rename from public/en/middleware/graph_full.json rename to public/middleware/graph_full.json diff --git a/public/en/middleware/graph_full_no_mavlink.json b/public/middleware/graph_full_no_mavlink.json similarity index 100% rename from public/en/middleware/graph_full_no_mavlink.json rename to public/middleware/graph_full_no_mavlink.json diff --git a/public/en/middleware/graph_px4_fmu-v2.json b/public/middleware/graph_px4_fmu-v2.json similarity index 100% rename from public/en/middleware/graph_px4_fmu-v2.json rename to public/middleware/graph_px4_fmu-v2.json diff --git a/public/en/middleware/graph_px4_fmu-v4.json b/public/middleware/graph_px4_fmu-v4.json similarity index 100% rename from public/en/middleware/graph_px4_fmu-v4.json rename to public/middleware/graph_px4_fmu-v4.json diff --git a/public/en/middleware/graph_px4_fmu-v5.json b/public/middleware/graph_px4_fmu-v5.json similarity index 100% rename from public/en/middleware/graph_px4_fmu-v5.json rename to public/middleware/graph_px4_fmu-v5.json diff --git a/public/en/middleware/graph_px4_sitl.json b/public/middleware/graph_px4_sitl.json similarity index 100% rename from public/en/middleware/graph_px4_sitl.json rename to public/middleware/graph_px4_sitl.json diff --git a/public/middleware/index.html b/public/middleware/index.html new file mode 100644 index 000000000000..7a8ad4e26d9e --- /dev/null +++ b/public/middleware/index.html @@ -0,0 +1,31 @@ + + + + + + + FUN AND GAMES + + + + Search: Preset: + +
+ + + + + diff --git a/public/en/middleware/uorb_graph.js b/public/middleware/uorb_graph.js similarity index 100% rename from public/en/middleware/uorb_graph.js rename to public/middleware/uorb_graph.js From 3f7c5225d001de2511afeab0b455322f98f56e75 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 07:37:35 +1100 Subject: [PATCH 07/20] Remove spurious sidebar debug --- .vitepress/get_sidebar.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.vitepress/get_sidebar.js b/.vitepress/get_sidebar.js index f0f3103c0145..2115881f8028 100644 --- a/.vitepress/get_sidebar.js +++ b/.vitepress/get_sidebar.js @@ -248,7 +248,7 @@ function parseGitbookSidebarToVuepress(sidebarContent, lang) { module.exports = { sidebar: function (lang) { const summaryfile_path = path.resolve(__dirname, "..", lang, "SUMMARY.md"); - console.log("DEBUG: summaryfile_path: " + summaryfile_path); + //console.log("DEBUG: summaryfile_path: " + summaryfile_path); let data = ""; try { @@ -259,10 +259,9 @@ module.exports = { } const module_sidebar = parseGitbookSidebarToVuepress(data, lang); - console.log(`DEBUG: Before`); - console.log(`DEBUG: ${JSON.stringify(module_sidebar)}`); - - console.log(`DEBUG: After`); + //console.log(`DEBUG: Before`); + //console.log(`DEBUG: ${JSON.stringify(module_sidebar)}`); + //console.log(`DEBUG: After`); return module_sidebar; }, }; From 9fa7579c41cb0bc2d09cd2eee0e4912f7b358814 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 07:38:07 +1100 Subject: [PATCH 08/20] Update uorb.graph and safety so they import from public --- en/config/safety_simulation.md | 7 ++++++- en/middleware/uorb_graph.md | 17 ++++------------- ko/middleware/uorb_graph.md | 10 +++++----- zh/middleware/uorb_graph.md | 10 +++++----- 4 files changed, 20 insertions(+), 24 deletions(-) diff --git a/en/config/safety_simulation.md b/en/config/safety_simulation.md index b10098cb7913..5783d76274a2 100644 --- a/en/config/safety_simulation.md +++ b/en/config/safety_simulation.md @@ -25,4 +25,9 @@ The simulation can also be executed locally in order to test a specific version make run_failsafe_web_server ``` - + + + + diff --git a/en/middleware/uorb_graph.md b/en/middleware/uorb_graph.md index fc090181264c..4b7164e5377d 100644 --- a/en/middleware/uorb_graph.md +++ b/en/middleware/uorb_graph.md @@ -4,20 +4,11 @@ This page provides a uORB publication/subscription graph that shows the communic It is based on information that is extracted directly from the source code. Usage instructions are provided [below](#graph-properties). + -Search: -Preset: -
- - - + ## Graph Properties diff --git a/ko/middleware/uorb_graph.md b/ko/middleware/uorb_graph.md index 16457546d3d9..c2210cef0d26 100644 --- a/ko/middleware/uorb_graph.md +++ b/ko/middleware/uorb_graph.md @@ -3,11 +3,11 @@ 모듈들간의 통신을 보여주는 uORB Pub/Sub 그래프를 제공합니다. It is based on information that is extracted directly from the source code. 사용 명령어는 [아래](#graph-properties)을 참고하십시오. -검색: 재설정 -
- - - + + + ## 그래프 속성 diff --git a/zh/middleware/uorb_graph.md b/zh/middleware/uorb_graph.md index 85dc4f0d79c9..877451c87f47 100644 --- a/zh/middleware/uorb_graph.md +++ b/zh/middleware/uorb_graph.md @@ -3,11 +3,11 @@ This page provides a uORB publication/subscription graph that shows the communication between modules. It is based on information that is extracted directly from the source code. Usage instructions are provided [below](#graph-properties). -Search: Preset: -
- - - + + + ## Graph Properties From 3686706b2cef888ca71bb42ea0a97ba4565c24c3 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 07:41:26 +1100 Subject: [PATCH 09/20] Exclude tr from build --- .vitepress/config.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vitepress/config.mjs b/.vitepress/config.mjs index 751bec981713..8b4d3a20ece9 100644 --- a/.vitepress/config.mjs +++ b/.vitepress/config.mjs @@ -11,7 +11,7 @@ export default defineConfig({ base: process.env.BRANCH_NAME ? "/" + process.env.BRANCH_NAME + "/" : "/px4_user_guide/", - srcExclude: ["de/**/*.md", "ja/**/*.md", "ru/**/*.md"], + srcExclude: ["de/**/*.md", "ja/**/*.md", "ru/**/*.md", "tr/**/*.md"], markdown: { math: true, From e848c22390026bae70635d48b7552bf59ae9a3f7 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 17:53:01 +1100 Subject: [PATCH 10/20] Delete LANGS.md - not used anymore --- LANGS.md | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 LANGS.md diff --git a/LANGS.md b/LANGS.md deleted file mode 100644 index 7e7a9804128c..000000000000 --- a/LANGS.md +++ /dev/null @@ -1,4 +0,0 @@ -* [English](en/) -* [Chinese (中文)](zh/) - - From cb485c39f9dbc8e5f2038b88383b5c8985cc10a1 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 19:55:57 +1100 Subject: [PATCH 11/20] Add build options with bigger Javascript memory --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 3658b239032b..96b7d8e54e89 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,8 @@ "scripts": { "docs:dev": "vitepress dev .", "docs:build": "vitepress build .", + "docs:buildwin": "set NODE_OPTIONS=--max_old_space_size=8192 && vitepress build .", + "docs:build_ubuntu": "NODE_OPTIONS='--max-old-space-size=8192' vitepress build .", "docs:preview": "vitepress preview .", "start": "yarn docs:dev", "linkcheck": "markdown_link_checker_sc -d en -i assets" From 86c7ff19502119208ded2bc9423f5c1836898415 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 19:59:57 +1100 Subject: [PATCH 12/20] Redirect based on site title for contrib pages - ENG --- en/contribute/README.md | 10 ++++++++-- en/contribute/dev_call.md | 10 ++++++++-- en/contribute/support.md | 10 ++++++++-- en/test_and_ci/test_flights.md | 10 ++++++++-- 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/en/contribute/README.md b/en/contribute/README.md index 15f8bc58f0c8..5f589a375899 100644 --- a/en/contribute/README.md +++ b/en/contribute/README.md @@ -1,7 +1,13 @@ # Community -

-

This page may be out of date

.

The latest version can be found here.

+ + +
+
+

This page may be out out of date. See the latest version.

diff --git a/en/contribute/dev_call.md b/en/contribute/dev_call.md index 19db989a9a81..3c7a7b70b832 100644 --- a/en/contribute/dev_call.md +++ b/en/contribute/dev_call.md @@ -1,7 +1,13 @@ # Weekly Community Q&A Call (Previously "Dev Call") -
-

This page may be out of date

.

The latest version can be found here.

+ + +
+
+

This page may be out out of date. See the latest version.

diff --git a/en/contribute/support.md b/en/contribute/support.md index 39f47fd0f973..f997d8c526e6 100644 --- a/en/contribute/support.md +++ b/en/contribute/support.md @@ -1,7 +1,13 @@ # Support -
-

This page may be out of date

.

The latest version can be found here.

+ + +
+
+

This page may be out out of date. See the latest version.

diff --git a/en/test_and_ci/test_flights.md b/en/test_and_ci/test_flights.md index fdcce095eb56..720af7a24123 100644 --- a/en/test_and_ci/test_flights.md +++ b/en/test_and_ci/test_flights.md @@ -1,7 +1,13 @@ # Tests Flights -
-

This page may be out of date

.

The latest version can be found here.

+ + +
+
+

This page may be out out of date. See the latest version.

From 365d35da5e8e02a21053ba500910e066f4486126 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 20:04:45 +1100 Subject: [PATCH 13/20] Redirect based on site title for contrib pages - TRANSLATIONS - REVERT ALL BEFORE MERGE --- de/contribute/README.md | 4 ---- de/contribute/dev_call.md | 5 ----- de/contribute/support.md | 5 ----- de/test_and_ci/test_flights.md | 5 ----- ja/contribute/README.md | 5 ----- ja/contribute/dev_call.md | 5 ----- ja/contribute/support.md | 5 ----- ja/test_and_ci/test_flights.md | 5 ----- ko/contribute/README.md | 5 ----- ko/contribute/dev_call.md | 5 ----- ko/contribute/support.md | 5 ----- ko/test_and_ci/test_flights.md | 5 ----- ru/contribute/README.md | 5 ----- ru/contribute/dev_call.md | 5 ----- ru/contribute/support.md | 5 ----- ru/test_and_ci/test_flights.md | 5 ----- tr/contribute/README.md | 5 ----- tr/contribute/dev_call.md | 5 ----- tr/contribute/support.md | 5 ----- tr/test_and_ci/test_flights.md | 5 ----- zh/contribute/README.md | 5 ----- zh/contribute/dev_call.md | 5 ----- zh/contribute/support.md | 5 ----- zh/test_and_ci/test_flights.md | 5 ----- 24 files changed, 119 deletions(-) diff --git a/de/contribute/README.md b/de/contribute/README.md index 15f8bc58f0c8..b7457b22b5a2 100644 --- a/de/contribute/README.md +++ b/de/contribute/README.md @@ -1,9 +1,5 @@ # Community -
-

This page may be out of date

.

The latest version can be found here.

-
-
Welcome to the PX4 Community! diff --git a/de/contribute/dev_call.md b/de/contribute/dev_call.md index 19db989a9a81..0be354023d25 100644 --- a/de/contribute/dev_call.md +++ b/de/contribute/dev_call.md @@ -1,10 +1,5 @@ # Weekly Community Q&A Call (Previously "Dev Call") -
-

This page may be out of date

.

The latest version can be found here.

-
-
- The PX4 dev team and community come together to discuss any topic of interest to the community, ranging from sorting out issues to satisfying your curiosity. ## Who should attend? diff --git a/de/contribute/support.md b/de/contribute/support.md index 56af17328ecd..ad24eded7dc4 100644 --- a/de/contribute/support.md +++ b/de/contribute/support.md @@ -1,10 +1,5 @@ # Support -
-

This page may be out of date

.

The latest version can be found here.

-
-
- This section shows how you can get help from the core dev team and the wider community. ## Forums and Chat diff --git a/de/test_and_ci/test_flights.md b/de/test_and_ci/test_flights.md index 8691da223a1e..d5e74e3a99bc 100644 --- a/de/test_and_ci/test_flights.md +++ b/de/test_and_ci/test_flights.md @@ -1,10 +1,5 @@ # Tests Flights -
-

This page may be out of date

.

The latest version can be found here.

-
-
- Test flights are important for quality assurance. When submitting [Pull Requests](../contribute/code.md#pull-requests) for new functionality or bug fixes you should provide information about the feature-relative tests performed, along with accompanying flight logs. diff --git a/ja/contribute/README.md b/ja/contribute/README.md index 15f8bc58f0c8..0ca87f5f39a6 100644 --- a/ja/contribute/README.md +++ b/ja/contribute/README.md @@ -1,10 +1,5 @@ # Community -
-

This page may be out of date

.

The latest version can be found here.

-
-
- Welcome to the PX4 Community! :::tip diff --git a/ja/contribute/dev_call.md b/ja/contribute/dev_call.md index 19db989a9a81..0be354023d25 100644 --- a/ja/contribute/dev_call.md +++ b/ja/contribute/dev_call.md @@ -1,10 +1,5 @@ # Weekly Community Q&A Call (Previously "Dev Call") -
-

This page may be out of date

.

The latest version can be found here.

-
-
- The PX4 dev team and community come together to discuss any topic of interest to the community, ranging from sorting out issues to satisfying your curiosity. ## Who should attend? diff --git a/ja/contribute/support.md b/ja/contribute/support.md index 56af17328ecd..ad24eded7dc4 100644 --- a/ja/contribute/support.md +++ b/ja/contribute/support.md @@ -1,10 +1,5 @@ # Support -
-

This page may be out of date

.

The latest version can be found here.

-
-
- This section shows how you can get help from the core dev team and the wider community. ## Forums and Chat diff --git a/ja/test_and_ci/test_flights.md b/ja/test_and_ci/test_flights.md index 8691da223a1e..d5e74e3a99bc 100644 --- a/ja/test_and_ci/test_flights.md +++ b/ja/test_and_ci/test_flights.md @@ -1,10 +1,5 @@ # Tests Flights -
-

This page may be out of date

.

The latest version can be found here.

-
-
- Test flights are important for quality assurance. When submitting [Pull Requests](../contribute/code.md#pull-requests) for new functionality or bug fixes you should provide information about the feature-relative tests performed, along with accompanying flight logs. diff --git a/ko/contribute/README.md b/ko/contribute/README.md index c43f67930c48..416be5dda1ce 100644 --- a/ko/contribute/README.md +++ b/ko/contribute/README.md @@ -1,10 +1,5 @@ # Community -
-

이 페이지는 오래된 페이지입니다.

.

The latest version can be found here.

-
-
- Welcome to the PX4 Community! :::tip diff --git a/ko/contribute/dev_call.md b/ko/contribute/dev_call.md index bf0f3c628df8..48de5fe0f89f 100644 --- a/ko/contribute/dev_call.md +++ b/ko/contribute/dev_call.md @@ -1,10 +1,5 @@ # Weekly Community Q&A Call (Previously "Dev Call") -
-

이 페이지는 오래된 페이지입니다.

.

The latest version can be found here.

-
-
- The PX4 dev team and community come together to discuss any topic of interest to the community, ranging from sorting out issues to satisfying your curiosity. ## Who should attend? diff --git a/ko/contribute/support.md b/ko/contribute/support.md index 53177fef5890..43d081fc0d64 100644 --- a/ko/contribute/support.md +++ b/ko/contribute/support.md @@ -1,10 +1,5 @@ # 지원 방법 -
-

이 페이지는 오래된 페이지입니다.

.

The latest version can be found here.

-
-
- 이 절에서는 핵심 개발팀과 커뮤니티의 지원을 받는 방법을 알려드립니다. ## 포럼 및 채팅 diff --git a/ko/test_and_ci/test_flights.md b/ko/test_and_ci/test_flights.md index bb7aca9d4d52..594ef6d95bdb 100644 --- a/ko/test_and_ci/test_flights.md +++ b/ko/test_and_ci/test_flights.md @@ -1,10 +1,5 @@ # 시험 비행 -
-

이 페이지는 오래되었습니다.

.

The latest version can be found here.

-
-
- 시험 비행은 품질 보증에 매우 중요한 과정입니다. When submitting [Pull Requests](../contribute/code.md#pull-requests) for new functionality or bug fixes you should provide information about the feature-relative tests performed, along with accompanying flight logs. diff --git a/ru/contribute/README.md b/ru/contribute/README.md index 15f8bc58f0c8..0ca87f5f39a6 100644 --- a/ru/contribute/README.md +++ b/ru/contribute/README.md @@ -1,10 +1,5 @@ # Community -
-

This page may be out of date

.

The latest version can be found here.

-
-
- Welcome to the PX4 Community! :::tip diff --git a/ru/contribute/dev_call.md b/ru/contribute/dev_call.md index 19db989a9a81..0be354023d25 100644 --- a/ru/contribute/dev_call.md +++ b/ru/contribute/dev_call.md @@ -1,10 +1,5 @@ # Weekly Community Q&A Call (Previously "Dev Call") -
-

This page may be out of date

.

The latest version can be found here.

-
-
- The PX4 dev team and community come together to discuss any topic of interest to the community, ranging from sorting out issues to satisfying your curiosity. ## Who should attend? diff --git a/ru/contribute/support.md b/ru/contribute/support.md index 56af17328ecd..ad24eded7dc4 100644 --- a/ru/contribute/support.md +++ b/ru/contribute/support.md @@ -1,10 +1,5 @@ # Support -
-

This page may be out of date

.

The latest version can be found here.

-
-
- This section shows how you can get help from the core dev team and the wider community. ## Forums and Chat diff --git a/ru/test_and_ci/test_flights.md b/ru/test_and_ci/test_flights.md index 8691da223a1e..d5e74e3a99bc 100644 --- a/ru/test_and_ci/test_flights.md +++ b/ru/test_and_ci/test_flights.md @@ -1,10 +1,5 @@ # Tests Flights -
-

This page may be out of date

.

The latest version can be found here.

-
-
- Test flights are important for quality assurance. When submitting [Pull Requests](../contribute/code.md#pull-requests) for new functionality or bug fixes you should provide information about the feature-relative tests performed, along with accompanying flight logs. diff --git a/tr/contribute/README.md b/tr/contribute/README.md index 15f8bc58f0c8..0ca87f5f39a6 100644 --- a/tr/contribute/README.md +++ b/tr/contribute/README.md @@ -1,10 +1,5 @@ # Community -
-

This page may be out of date

.

The latest version can be found here.

-
-
- Welcome to the PX4 Community! :::tip diff --git a/tr/contribute/dev_call.md b/tr/contribute/dev_call.md index 19db989a9a81..0be354023d25 100644 --- a/tr/contribute/dev_call.md +++ b/tr/contribute/dev_call.md @@ -1,10 +1,5 @@ # Weekly Community Q&A Call (Previously "Dev Call") -
-

This page may be out of date

.

The latest version can be found here.

-
-
- The PX4 dev team and community come together to discuss any topic of interest to the community, ranging from sorting out issues to satisfying your curiosity. ## Who should attend? diff --git a/tr/contribute/support.md b/tr/contribute/support.md index 56af17328ecd..ad24eded7dc4 100644 --- a/tr/contribute/support.md +++ b/tr/contribute/support.md @@ -1,10 +1,5 @@ # Support -
-

This page may be out of date

.

The latest version can be found here.

-
-
- This section shows how you can get help from the core dev team and the wider community. ## Forums and Chat diff --git a/tr/test_and_ci/test_flights.md b/tr/test_and_ci/test_flights.md index 8691da223a1e..d5e74e3a99bc 100644 --- a/tr/test_and_ci/test_flights.md +++ b/tr/test_and_ci/test_flights.md @@ -1,10 +1,5 @@ # Tests Flights -
-

This page may be out of date

.

The latest version can be found here.

-
-
- Test flights are important for quality assurance. When submitting [Pull Requests](../contribute/code.md#pull-requests) for new functionality or bug fixes you should provide information about the feature-relative tests performed, along with accompanying flight logs. diff --git a/zh/contribute/README.md b/zh/contribute/README.md index 15f8bc58f0c8..0ca87f5f39a6 100644 --- a/zh/contribute/README.md +++ b/zh/contribute/README.md @@ -1,10 +1,5 @@ # Community -
-

This page may be out of date

.

The latest version can be found here.

-
-
- Welcome to the PX4 Community! :::tip diff --git a/zh/contribute/dev_call.md b/zh/contribute/dev_call.md index a9063da89a52..9de24cb40c23 100644 --- a/zh/contribute/dev_call.md +++ b/zh/contribute/dev_call.md @@ -1,10 +1,5 @@ # Weekly Community Q&A Call (Previously "Dev Call") -
-

This page may be out of date

.

The latest version can be found here.

-
-
- The PX4 dev team and community come together to discuss any topic of interest to the community, ranging from sorting out issues to satisfying your curiosity. ## Who should attend? diff --git a/zh/contribute/support.md b/zh/contribute/support.md index f201625ccf93..23d77f3ec4ab 100644 --- a/zh/contribute/support.md +++ b/zh/contribute/support.md @@ -1,10 +1,5 @@ # 技术支持 -
-

This page may be out of date

.

The latest version can be found here.

-
-
- This section shows how you can get help from the core dev team and the wider community. ## 论坛和聊天 diff --git a/zh/test_and_ci/test_flights.md b/zh/test_and_ci/test_flights.md index b97adf9437fa..426d5c972d73 100644 --- a/zh/test_and_ci/test_flights.md +++ b/zh/test_and_ci/test_flights.md @@ -1,10 +1,5 @@ # 测试飞行 -
-

This page may be out of date

.

The latest version can be found here.

-
-
- 测试飞行对于质量保证很重要。 When submitting [Pull Requests](../contribute/code.md#pull-requests) for new functionality or bug fixes you should provide information about the feature-relative tests performed, along with accompanying flight logs. From 5c8b8a5749eab5ffed6e2d6efa09b8187a5109e2 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 20:08:33 +1100 Subject: [PATCH 14/20] Ignore dead links - needs to be renabled at very end --- .vitepress/config.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/.vitepress/config.mjs b/.vitepress/config.mjs index 8b4d3a20ece9..ab86ca343f1f 100644 --- a/.vitepress/config.mjs +++ b/.vitepress/config.mjs @@ -12,6 +12,7 @@ export default defineConfig({ ? "/" + process.env.BRANCH_NAME + "/" : "/px4_user_guide/", srcExclude: ["de/**/*.md", "ja/**/*.md", "ru/**/*.md", "tr/**/*.md"], + ignoreDeadLinks: true, markdown: { math: true, From 8d53d65e60569dcaa07a5bebea7555b277b700a8 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 14 Dec 2023 20:36:46 +1100 Subject: [PATCH 15/20] .gitignore: add .vitepress/.temp/ --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 803683658a47..f10bf1421516 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ node_modules/ #docs/.vitepress/dist/ .vitepress/cache/ .vitepress/dist/ +.vitepress/.temp/ + From a75093971b65598c671980c1fb7fec2261fbdb27 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Fri, 15 Dec 2023 06:09:30 +1100 Subject: [PATCH 16/20] Algolia enabled if deployed --- .vitepress/config.mjs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.vitepress/config.mjs b/.vitepress/config.mjs index ab86ca343f1f..114e97abe426 100644 --- a/.vitepress/config.mjs +++ b/.vitepress/config.mjs @@ -61,6 +61,20 @@ export default defineConfig({ text: "Edit on GitHub", }, + search: { + provider: process.env.BRANCH_NAME ? "algolia" : "local", + //provider: "local", + //provider: "algolia", + options: { + appId: "HHWW7I44JO", + apiKey: "48919e1dffc6e0ce4c0d6331343d2c0e", + indexName: "px4", + searchParameters: { + facetFilters: [`version:${process.env.BRANCH_NAME}`], + }, + }, + }, + nav: [ { text: "PX4", From 443c36838ca1fe7aca40491512ba2352307ec765 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 21 Feb 2024 20:03:57 +1100 Subject: [PATCH 17/20] Add redirect component --- .vitepress/theme/components/Redirect.vue | 19 +++++++++++++++++++ .vitepress/theme/index.js | 5 ++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 .vitepress/theme/components/Redirect.vue diff --git a/.vitepress/theme/components/Redirect.vue b/.vitepress/theme/components/Redirect.vue new file mode 100644 index 000000000000..3b847adc6588 --- /dev/null +++ b/.vitepress/theme/components/Redirect.vue @@ -0,0 +1,19 @@ + + + + \ No newline at end of file diff --git a/.vitepress/theme/index.js b/.vitepress/theme/index.js index 2df647a16885..ecab1636433b 100644 --- a/.vitepress/theme/index.js +++ b/.vitepress/theme/index.js @@ -8,6 +8,9 @@ import { onMounted, watch, nextTick } from "vue"; import { useRoute } from "vitepress"; import mediumZoom from "medium-zoom"; +// Support redirect plugin +import Redirect from "./components/Redirect.vue"; + /** @type {import('vitepress').Theme} */ export default { extends: DefaultTheme, @@ -17,7 +20,7 @@ export default { }); }, enhanceApp({ app, router, siteData }) { - // ... + app.component("Redirect", Redirect); //Redirect plugin }, // to support medium zoom: https://github.com/vuejs/vitepress/issues/854 From 3121c3a8ee5889c4784894ad18444928c03cfe6a Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Wed, 21 Feb 2024 21:13:48 +1100 Subject: [PATCH 18/20] Vitepress - exclude UK build by default --- .vitepress/config.mjs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.vitepress/config.mjs b/.vitepress/config.mjs index 114e97abe426..e29e1093796b 100644 --- a/.vitepress/config.mjs +++ b/.vitepress/config.mjs @@ -11,7 +11,13 @@ export default defineConfig({ base: process.env.BRANCH_NAME ? "/" + process.env.BRANCH_NAME + "/" : "/px4_user_guide/", - srcExclude: ["de/**/*.md", "ja/**/*.md", "ru/**/*.md", "tr/**/*.md"], + srcExclude: [ + "de/**/*.md", + "ja/**/*.md", + "ru/**/*.md", + "tr/**/*.md", + "uk/**/*.md", + ], ignoreDeadLinks: true, markdown: { math: true, @@ -51,7 +57,9 @@ export default defineConfig({ // other locale specific properties... }, }, - + async transformPageData(pageData, { siteConfig }) { + console.log(pageData.filePath); + }, themeConfig: { // https://vitepress.dev/reference/default-theme-config logo: "/px4-logo.svg", From 49272446ee3e65464e92729e2ca50b981a60e926 Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 22 Feb 2024 07:34:13 +1100 Subject: [PATCH 19/20] Add build fail logging of current page --- .vitepress/config.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/.vitepress/config.mjs b/.vitepress/config.mjs index e29e1093796b..7a71d26c5147 100644 --- a/.vitepress/config.mjs +++ b/.vitepress/config.mjs @@ -57,6 +57,7 @@ export default defineConfig({ // other locale specific properties... }, }, + //Logs every page loaded on build. Good way to catch errors not caught by other things. async transformPageData(pageData, { siteConfig }) { console.log(pageData.filePath); }, From 75c23300144046017195f0b9dde6ee84388c4fcb Mon Sep 17 00:00:00 2001 From: Hamish Willee Date: Thu, 22 Feb 2024 08:21:46 +1100 Subject: [PATCH 20/20] Add deploy github workflow test --- .github/workflows/deploy.yml | 68 ++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/deploy.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000000..c0e90bcbe127 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,68 @@ +# Sample workflow for building and deploying a VitePress site to GitHub Pages +# +name: Deploy VitePress site to Pages + +on: + # Runs on pushes targeting the `main` branch. Change this to `master` if you're + # using the `master` branch as the default branch. + push: + branches: [main] + pull_request: + branches: + - '*' + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: pages + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + #with: + #fetch-depth: 0 # Not needed if lastUpdated is not enabled + + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 18 + cache: npm # or pnpm / yarn + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Install dependencies + #run: npm ci # or pnpm install / yarn install / bun install + run: yarn install + - name: Build with VitePress + run: | + yarn docs:build_ubuntu + touch .vitepress/dist/.nojekyll + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: .vitepress/dist + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + needs: build + runs-on: ubuntu-latest + name: Deploy + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 \ No newline at end of file