mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-31 15:00:04 +08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2c8a3e9c43 |
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#! /bin/bash
|
||||
|
||||
# exit when any command fails
|
||||
set -e
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
if [[ $# -eq 0 ]] ; then
|
||||
exit 0
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
# Flash PX4 to a device running AuterionOS in the local network
|
||||
if [ "$1" == "-h" ] || [ "$1" == "--help" ] || [ $# -lt 2 ]; then
|
||||
echo "Usage: $0 -f <firmware.px4|.elf> [-c <configuration_dir>] -d <IP/Device> [-u <user>] [-p <ssh_port>] [--revert]"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
# This script is meant to be used by the build_all.yml workflow in a github runner
|
||||
# Please only modify if you know what you are doing
|
||||
set -e
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#! /bin/bash
|
||||
# Copy a git diff between two commits if msg versioning is added
|
||||
|
||||
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
mkdir artifacts
|
||||
cp **/**/*.px4 artifacts/ 2>/dev/null || true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
# This script runs the fuzz tests from a given binary for a certain amount of time
|
||||
set -e
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#! /bin/bash
|
||||
# Copy msgs and the message translation node into a ROS workspace directory
|
||||
|
||||
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#! /bin/bash
|
||||
|
||||
if [ -z ${PX4_DOCKER_REPO+x} ]; then
|
||||
PX4_DOCKER_REPO="px4io/px4-dev:v1.17.0-beta1"
|
||||
|
||||
@@ -0,0 +1,402 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Optical flow CAN transport latency analysis.
|
||||
|
||||
Estimates the pipeline delay from the flow sensor measurement to the FC-side
|
||||
sensor_optical_flow timestamp by cross-correlating the flow sensor's onboard
|
||||
gyro (delta_angle) with the FC's own gyro (sensor_combined).
|
||||
|
||||
The flow sensor's delta_angle is an integrated gyro over each measurement
|
||||
interval. Dividing by integration_timespan gives the average angular rate,
|
||||
which should match the FC's gyro with only a CAN transport delay offset.
|
||||
|
||||
Usage:
|
||||
python3 flow_sensor_latency.py <log.ulg> [--output-dir <dir>]
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
|
||||
import numpy as np
|
||||
from scipy import signal as sig
|
||||
|
||||
try:
|
||||
from pyulog import ULog
|
||||
except ImportError:
|
||||
print("Error: pyulog not installed. Run: pip install pyulog", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
try:
|
||||
import matplotlib
|
||||
matplotlib.use("Agg")
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.backends.backend_pdf import PdfPages
|
||||
except ImportError:
|
||||
print("Error: matplotlib not installed. Run: pip install matplotlib", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ULog helpers
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def get_topic(ulog, name, multi_id=0):
|
||||
for d in ulog.data_list:
|
||||
if d.name == name and d.multi_id == multi_id:
|
||||
return d
|
||||
return None
|
||||
|
||||
|
||||
def us_to_s(ts_us, start_us):
|
||||
return (ts_us.astype(np.int64) - np.int64(start_us)) / 1e6
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Signal processing
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def butter_highpass(cutoff_hz, fs, order=2):
|
||||
nyq = fs / 2.0
|
||||
return sig.butter(order, cutoff_hz / nyq, btype="high")
|
||||
|
||||
|
||||
def parabolic_peak(cc, lags_s):
|
||||
"""Refine cross-correlation peak with parabolic interpolation."""
|
||||
idx = np.argmax(np.abs(cc))
|
||||
if idx == 0 or idx == len(cc) - 1:
|
||||
return lags_s[idx], cc[idx]
|
||||
y0, y1, y2 = np.abs(cc[idx - 1]), np.abs(cc[idx]), np.abs(cc[idx + 1])
|
||||
dt = lags_s[1] - lags_s[0]
|
||||
denom = y0 - 2 * y1 + y2
|
||||
if abs(denom) < 1e-12:
|
||||
return lags_s[idx], cc[idx]
|
||||
offset = 0.5 * (y0 - y2) / denom
|
||||
return lags_s[idx] + offset * dt, cc[idx]
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Data extraction
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def extract_flow_gyro(ulog):
|
||||
"""Extract angular rate from the flow sensor's onboard gyro."""
|
||||
d = get_topic(ulog, "sensor_optical_flow")
|
||||
if d is None:
|
||||
return None
|
||||
|
||||
t0 = ulog.start_timestamp
|
||||
t = us_to_s(d.data["timestamp_sample"], t0)
|
||||
dt_us = d.data["integration_timespan_us"].astype(np.float64)
|
||||
quality = d.data["quality"]
|
||||
|
||||
# Convert integrated delta_angle to angular rate (rad/s)
|
||||
valid = (quality > 0) & (dt_us > 100)
|
||||
t = t[valid]
|
||||
dt_s = dt_us[valid] / 1e6
|
||||
|
||||
rate_x = d.data["delta_angle[0]"][valid] / dt_s
|
||||
rate_y = d.data["delta_angle[1]"][valid] / dt_s
|
||||
|
||||
fs = 1.0 / np.median(np.diff(t))
|
||||
return {"time_s": t, "rate_x": rate_x, "rate_y": rate_y, "fs": fs}
|
||||
|
||||
|
||||
def extract_fc_gyro(ulog):
|
||||
"""Extract FC gyro rate from sensor_combined (highest rate available)."""
|
||||
d = get_topic(ulog, "sensor_combined")
|
||||
if d is None:
|
||||
return None
|
||||
|
||||
t0 = ulog.start_timestamp
|
||||
t = us_to_s(d.data["timestamp"], t0)
|
||||
gx = d.data["gyro_rad[0]"]
|
||||
gy = d.data["gyro_rad[1]"]
|
||||
|
||||
fs = 1.0 / np.median(np.diff(t))
|
||||
return {"time_s": t, "rate_x": gx, "rate_y": gy, "fs": fs}
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Cross-correlation
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def cross_correlate_delay(ref_time, ref_signal, test_time, test_signal,
|
||||
max_lag_s=0.1, grid_fs=None):
|
||||
"""
|
||||
Cross-correlate two signals on a common time grid.
|
||||
Positive lag = test is delayed relative to ref.
|
||||
"""
|
||||
t_start = max(ref_time[0], test_time[0])
|
||||
t_end = min(ref_time[-1], test_time[-1])
|
||||
if t_end - t_start < 1.0:
|
||||
return None
|
||||
|
||||
if grid_fs is None:
|
||||
grid_fs = max(1.0 / np.median(np.diff(ref_time)),
|
||||
1.0 / np.median(np.diff(test_time)))
|
||||
grid_fs = max(grid_fs, 1000.0)
|
||||
|
||||
t_grid = np.arange(t_start, t_end, 1.0 / grid_fs)
|
||||
ref_i = np.interp(t_grid, ref_time, ref_signal)
|
||||
test_i = np.interp(t_grid, test_time, test_signal)
|
||||
|
||||
# HP filter to remove bias
|
||||
b_hp, a_hp = butter_highpass(0.5, grid_fs, order=2)
|
||||
ref_i = sig.filtfilt(b_hp, a_hp, ref_i)
|
||||
test_i = sig.filtfilt(b_hp, a_hp, test_i)
|
||||
|
||||
max_lag_samples = int(max_lag_s * grid_fs)
|
||||
# np.correlate(a, b)[mid + k] peaks at k = -D when b is delayed by D
|
||||
cc_full = np.correlate(ref_i, test_i, mode="full")
|
||||
mid = len(ref_i) - 1
|
||||
cc = cc_full[mid - max_lag_samples:mid + max_lag_samples + 1]
|
||||
# Negate lags so positive = test delayed
|
||||
lags = -np.arange(-max_lag_samples, max_lag_samples + 1) / grid_fs
|
||||
|
||||
norm = np.sqrt(np.sum(ref_i**2) * np.sum(test_i**2))
|
||||
cc = cc / norm if norm > 0 else cc
|
||||
|
||||
peak_lag, peak_cc = parabolic_peak(cc, lags)
|
||||
return {"lags_s": lags, "cc": cc, "peak_lag_s": peak_lag, "peak_cc": peak_cc,
|
||||
"grid_fs": grid_fs}
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Plotting
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def topic_info(time_s, name, field, role):
|
||||
"""Return dict of topic metadata for the methodology table."""
|
||||
n = len(time_s)
|
||||
dur = time_s[-1] - time_s[0] if n > 1 else 0
|
||||
dt = np.median(np.diff(time_s)) if n > 1 else 0
|
||||
rate = 1.0 / dt if dt > 0 else 0
|
||||
return {"topic": name, "field": field.strip(), "role": role,
|
||||
"samples": n, "rate_hz": rate, "duration_s": dur}
|
||||
|
||||
|
||||
def format_topic_table(infos):
|
||||
"""Format a list of topic_info dicts into a fixed-width table string."""
|
||||
hdr = (f" {'Topic':<25s} {'Field':<22s} {'Role':<10s}"
|
||||
f" {'Samples':>7s} {'Rate':>8s} {'Duration':>8s}")
|
||||
sep = " " + "-" * len(hdr.strip())
|
||||
rows = [hdr, sep]
|
||||
for t in infos:
|
||||
rows.append(
|
||||
f" {t['topic']:<25s} {t['field']:<22s} {t['role']:<10s}"
|
||||
f" {t['samples']:>7d} {t['rate_hz']:>7.1f}Hz {t['duration_s']:>7.1f}s"
|
||||
)
|
||||
return "\n".join(rows)
|
||||
|
||||
|
||||
def make_report(log_path, flow_gyro, fc_gyro, xcorr_x, xcorr_y, output_dir,
|
||||
topic_lines):
|
||||
log_name = os.path.splitext(os.path.basename(log_path))[0]
|
||||
pdf_path = os.path.join(output_dir, f"{log_name}_flow_latency.pdf")
|
||||
|
||||
with PdfPages(pdf_path) as pdf:
|
||||
# --- Page 1: Raw gyro overlay ---
|
||||
fig, axes = plt.subplots(2, 1, figsize=(12, 7), sharex=True)
|
||||
fig.suptitle(f"Flow Sensor Latency — {log_name}", fontsize=13)
|
||||
|
||||
for ax, axis_label, flow_key, fc_key in [
|
||||
(axes[0], "X (roll)", "rate_x", "rate_x"),
|
||||
(axes[1], "Y (pitch)", "rate_y", "rate_y"),
|
||||
]:
|
||||
ax.plot(fc_gyro["time_s"], fc_gyro[fc_key], "b-", lw=0.4,
|
||||
alpha=0.6, label="FC gyro")
|
||||
ax.plot(flow_gyro["time_s"], flow_gyro[flow_key], "r-", lw=0.4,
|
||||
alpha=0.6, label="flow gyro")
|
||||
ax.set_ylabel(f"{axis_label} rate [rad/s]")
|
||||
ax.legend(fontsize=8)
|
||||
ax.grid(True, alpha=0.3)
|
||||
|
||||
axes[1].set_xlabel("Time [s]")
|
||||
plt.tight_layout()
|
||||
pdf.savefig(fig)
|
||||
plt.close(fig)
|
||||
|
||||
# --- Page 2: Cross-correlation ---
|
||||
fig, axes = plt.subplots(2, 1, figsize=(12, 7))
|
||||
fig.suptitle("Cross-Correlation: flow gyro vs FC gyro", fontsize=13)
|
||||
|
||||
for ax, xc, label in [
|
||||
(axes[0], xcorr_x, "X axis (roll)"),
|
||||
(axes[1], xcorr_y, "Y axis (pitch)"),
|
||||
]:
|
||||
lags_ms = xc["lags_s"] * 1000
|
||||
ax.plot(lags_ms, xc["cc"], "b-", lw=1.0)
|
||||
peak_ms = xc["peak_lag_s"] * 1000
|
||||
ax.axvline(peak_ms, color="r", ls="--", lw=1.5,
|
||||
label=f"peak = {peak_ms:.1f} ms (r = {xc['peak_cc']:.3f})")
|
||||
ax.axvline(0, color="gray", ls=":", lw=0.8)
|
||||
ax.set_xlabel("Lag [ms] (positive = flow lags FC)")
|
||||
ax.set_ylabel("Normalized correlation")
|
||||
ax.set_title(label)
|
||||
ax.legend(fontsize=10)
|
||||
ax.grid(True, alpha=0.3)
|
||||
|
||||
plt.tight_layout()
|
||||
pdf.savefig(fig)
|
||||
plt.close(fig)
|
||||
|
||||
# --- Page 3: Aligned overlay ---
|
||||
avg_delay = 0.5 * (xcorr_x["peak_lag_s"] + xcorr_y["peak_lag_s"])
|
||||
fig, axes = plt.subplots(2, 1, figsize=(12, 7), sharex=True)
|
||||
fig.suptitle(f"After delay correction ({avg_delay*1000:.1f} ms)", fontsize=13)
|
||||
|
||||
t_start = max(flow_gyro["time_s"][0], fc_gyro["time_s"][0])
|
||||
t_end = min(flow_gyro["time_s"][-1], fc_gyro["time_s"][-1])
|
||||
t_grid = np.arange(t_start, t_end, 1.0 / 1000.0)
|
||||
|
||||
for ax, axis_label, flow_key, fc_key in [
|
||||
(axes[0], "X (roll)", "rate_x", "rate_x"),
|
||||
(axes[1], "Y (pitch)", "rate_y", "rate_y"),
|
||||
]:
|
||||
fc_i = np.interp(t_grid, fc_gyro["time_s"], fc_gyro[fc_key])
|
||||
flow_i = np.interp(t_grid, flow_gyro["time_s"] - avg_delay,
|
||||
flow_gyro[flow_key])
|
||||
ax.plot(t_grid, fc_i, "b-", lw=0.5, alpha=0.6, label="FC gyro")
|
||||
ax.plot(t_grid, flow_i, "r-", lw=0.5, alpha=0.6,
|
||||
label=f"flow gyro (shifted {avg_delay*1000:.1f} ms)")
|
||||
ax.set_ylabel(f"{axis_label} rate [rad/s]")
|
||||
ax.legend(fontsize=8)
|
||||
ax.grid(True, alpha=0.3)
|
||||
|
||||
axes[1].set_xlabel("Time [s]")
|
||||
plt.tight_layout()
|
||||
pdf.savefig(fig)
|
||||
plt.close(fig)
|
||||
|
||||
# --- Page 4: Methodology ---
|
||||
delay_x_ms = xcorr_x["peak_lag_s"] * 1000
|
||||
delay_y_ms = xcorr_y["peak_lag_s"] * 1000
|
||||
grid_hz = xcorr_x["grid_fs"]
|
||||
resolution_ms = 1000.0 / grid_hz
|
||||
topic_table = format_topic_table(topic_lines)
|
||||
|
||||
fig = plt.figure(figsize=(12, 9))
|
||||
fig.text(0.05, 0.95, "Methodology", fontsize=14, fontweight="bold",
|
||||
verticalalignment="top")
|
||||
text = (
|
||||
"This script estimates the total pipeline delay between the flow sensor\n"
|
||||
"measurement and its FC-side timestamp.\n"
|
||||
"\n"
|
||||
f"{topic_table}\n"
|
||||
"\n"
|
||||
f" Cross-correlation grid: {grid_hz:.0f} Hz (resolution: {resolution_ms:.1f} ms)\n"
|
||||
"\n"
|
||||
f" Result: X (roll): {delay_x_ms:+.1f} ± {resolution_ms/2:.1f} ms "
|
||||
f"(r = {xcorr_x['peak_cc']:.3f})\n"
|
||||
f" Y (pitch): {delay_y_ms:+.1f} ± {resolution_ms/2:.1f} ms "
|
||||
f"(r = {xcorr_y['peak_cc']:.3f})\n"
|
||||
f" Average: {avg_delay*1000:+.1f} ± {resolution_ms/2:.1f} ms\n"
|
||||
"\n"
|
||||
"Method:\n"
|
||||
" 1. Extract the flow sensor's onboard gyro (test signal):\n"
|
||||
" - Read sensor_optical_flow.delta_angle[0,1] (integrated gyro, radians).\n"
|
||||
" - Divide by integration_timespan_us to get average angular rate (rad/s).\n"
|
||||
" - The flow sensor's IMU (e.g. ICM42688P on ARK Flow) measures the same\n"
|
||||
" rotation as the FC gyro, but its timestamp includes CAN transport delay.\n"
|
||||
"\n"
|
||||
" 2. Extract the FC's own gyro (reference signal, no CAN delay):\n"
|
||||
" - Read sensor_combined.gyro_rad[0,1] (instantaneous rate, rad/s).\n"
|
||||
" - This is the FC's directly-connected IMU.\n"
|
||||
"\n"
|
||||
" 3. Cross-correlate each axis independently:\n"
|
||||
" - Interpolate both signals onto a common 1000 Hz grid.\n"
|
||||
" - High-pass filter at 0.5 Hz (zero-phase) to remove bias.\n"
|
||||
" - Compute normalized cross-correlation.\n"
|
||||
" - Parabolic interpolation around the peak gives sub-sample resolution.\n"
|
||||
" Positive lag = flow sensor timestamp is late (delayed).\n"
|
||||
" Accuracy is ± half a grid sample with parabolic interpolation.\n"
|
||||
)
|
||||
fig.text(0.05, 0.88, text, fontsize=9.5, fontfamily="monospace",
|
||||
verticalalignment="top")
|
||||
pdf.savefig(fig)
|
||||
plt.close(fig)
|
||||
|
||||
return pdf_path
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Main
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Flow sensor CAN latency analysis")
|
||||
parser.add_argument("log", help="ULog file (.ulg)")
|
||||
parser.add_argument("--output-dir", help="Output directory (default: logs/<name>/)")
|
||||
args = parser.parse_args()
|
||||
|
||||
log_path = os.path.abspath(args.log)
|
||||
if not os.path.isfile(log_path):
|
||||
print(f"Error: {log_path} not found", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
if args.output_dir:
|
||||
output_dir = args.output_dir
|
||||
else:
|
||||
log_name = os.path.splitext(os.path.basename(log_path))[0]
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
px4_root = os.path.abspath(os.path.join(script_dir, "..", ".."))
|
||||
output_dir = os.path.join(px4_root, "logs", log_name)
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
print(f"Loading {log_path} ...")
|
||||
ulog = ULog(log_path)
|
||||
|
||||
flow_gyro = extract_flow_gyro(ulog)
|
||||
if flow_gyro is None or len(flow_gyro["time_s"]) < 50:
|
||||
print("Error: insufficient sensor_optical_flow data", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
fc_gyro = extract_fc_gyro(ulog)
|
||||
if fc_gyro is None or len(fc_gyro["time_s"]) < 50:
|
||||
print("Error: insufficient sensor_combined data", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
print(f"Flow gyro: {len(flow_gyro['time_s'])} samples, {flow_gyro['fs']:.0f} Hz")
|
||||
print(f"FC gyro: {len(fc_gyro['time_s'])} samples, {fc_gyro['fs']:.0f} Hz")
|
||||
|
||||
# Cross-correlate each axis independently
|
||||
xcorr_x = cross_correlate_delay(
|
||||
fc_gyro["time_s"], fc_gyro["rate_x"],
|
||||
flow_gyro["time_s"], flow_gyro["rate_x"],
|
||||
max_lag_s=0.1, grid_fs=1000.0,
|
||||
)
|
||||
xcorr_y = cross_correlate_delay(
|
||||
fc_gyro["time_s"], fc_gyro["rate_y"],
|
||||
flow_gyro["time_s"], flow_gyro["rate_y"],
|
||||
max_lag_s=0.1, grid_fs=1000.0,
|
||||
)
|
||||
|
||||
if xcorr_x is None or xcorr_y is None:
|
||||
print("Error: cross-correlation failed (insufficient overlap)", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
avg_delay = 0.5 * (xcorr_x["peak_lag_s"] + xcorr_y["peak_lag_s"])
|
||||
|
||||
print(f"\n{'='*50}")
|
||||
print(f"Estimated flow sensor pipeline delay:")
|
||||
print(f" X axis (roll): {xcorr_x['peak_lag_s']*1000:+.1f} ms "
|
||||
f"(r = {xcorr_x['peak_cc']:.3f})")
|
||||
print(f" Y axis (pitch): {xcorr_y['peak_lag_s']*1000:+.1f} ms "
|
||||
f"(r = {xcorr_y['peak_cc']:.3f})")
|
||||
print(f" Average: {avg_delay*1000:+.1f} ms")
|
||||
print(f"{'='*50}")
|
||||
|
||||
topic_lines = [
|
||||
topic_info(flow_gyro["time_s"], "sensor_optical_flow", "delta_angle[0,1]", "test"),
|
||||
topic_info(fc_gyro["time_s"], "sensor_combined", "gyro_rad[0,1]", "reference"),
|
||||
]
|
||||
|
||||
pdf_path = make_report(log_path, flow_gyro, fc_gyro, xcorr_x, xcorr_y, output_dir,
|
||||
topic_lines)
|
||||
print(f"\nReport: {pdf_path}")
|
||||
return pdf_path
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,525 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Range sensor CAN transport latency analysis.
|
||||
|
||||
Estimates the total pipeline delay from AFBRS50 measurement to the FC-side
|
||||
distance_sensor timestamp by cross-correlating range rate with IMU-derived
|
||||
vertical velocity. The lag at peak correlation is the transport delay.
|
||||
|
||||
Method:
|
||||
1. Rotate body-frame accel to NED using attitude quaternion, subtract gravity
|
||||
2. High-pass filter and integrate to get IMU vertical velocity (drift-free)
|
||||
3. Differentiate distance_sensor to get range rate
|
||||
4. Cross-correlate range rate with -vz_imu (sign: range decreases when vz>0)
|
||||
5. Parabolic interpolation around peak for sub-sample resolution
|
||||
|
||||
Usage:
|
||||
python3 range_sensor_latency.py <log.ulg> [--output-dir <dir>]
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
|
||||
import numpy as np
|
||||
from scipy import signal as sig
|
||||
|
||||
try:
|
||||
from pyulog import ULog
|
||||
except ImportError:
|
||||
print("Error: pyulog not installed. Run: pip install pyulog", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
try:
|
||||
import matplotlib
|
||||
matplotlib.use("Agg")
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.backends.backend_pdf import PdfPages
|
||||
except ImportError:
|
||||
print("Error: matplotlib not installed. Run: pip install matplotlib", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
GRAVITY = 9.80665
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ULog helpers
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def get_topic(ulog, name, multi_id=0):
|
||||
for d in ulog.data_list:
|
||||
if d.name == name and d.multi_id == multi_id:
|
||||
return d
|
||||
return None
|
||||
|
||||
|
||||
def us_to_s(ts_us, start_us):
|
||||
return (ts_us.astype(np.int64) - np.int64(start_us)) / 1e6
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Signal processing
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def butter_highpass(cutoff_hz, fs, order=2):
|
||||
nyq = fs / 2.0
|
||||
return sig.butter(order, cutoff_hz / nyq, btype="high")
|
||||
|
||||
|
||||
def butter_lowpass(cutoff_hz, fs, order=2):
|
||||
nyq = fs / 2.0
|
||||
return sig.butter(order, cutoff_hz / nyq, btype="low")
|
||||
|
||||
|
||||
def quat_rotate_z(q0, q1, q2, q3, ax, ay, az):
|
||||
"""Rotate body-frame vector to NED and return only the Z (down) component."""
|
||||
return (2.0 * (q1 * q3 - q0 * q2) * ax
|
||||
+ 2.0 * (q2 * q3 + q0 * q1) * ay
|
||||
+ (q0**2 - q1**2 - q2**2 + q3**2) * az)
|
||||
|
||||
|
||||
def parabolic_peak(cc, lags_s):
|
||||
"""Refine cross-correlation peak with parabolic interpolation."""
|
||||
idx = np.argmax(np.abs(cc))
|
||||
if idx == 0 or idx == len(cc) - 1:
|
||||
return lags_s[idx], cc[idx]
|
||||
y0, y1, y2 = np.abs(cc[idx - 1]), np.abs(cc[idx]), np.abs(cc[idx + 1])
|
||||
dt = lags_s[1] - lags_s[0]
|
||||
# Parabolic interpolation: offset from idx in samples
|
||||
offset = 0.5 * (y0 - y2) / (y0 - 2 * y1 + y2)
|
||||
return lags_s[idx] + offset * dt, cc[idx]
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Data extraction
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def extract_imu_vz(ulog):
|
||||
"""
|
||||
Build IMU-derived vertical velocity:
|
||||
1. Body accel from sensor_combined (high rate)
|
||||
2. Attitude quaternion from vehicle_attitude (interpolated)
|
||||
3. Rotate to NED, subtract gravity → kinematic az
|
||||
4. HP-filter + integrate → vz (drift-free)
|
||||
"""
|
||||
sc = get_topic(ulog, "sensor_combined")
|
||||
att = get_topic(ulog, "vehicle_attitude")
|
||||
if sc is None or att is None:
|
||||
return None
|
||||
|
||||
t0 = ulog.start_timestamp
|
||||
t_imu = us_to_s(sc.data["timestamp"], t0)
|
||||
ax = sc.data["accelerometer_m_s2[0]"]
|
||||
ay = sc.data["accelerometer_m_s2[1]"]
|
||||
az = sc.data["accelerometer_m_s2[2]"]
|
||||
|
||||
t_att = us_to_s(att.data["timestamp_sample"], t0)
|
||||
q0i = np.interp(t_imu, t_att, att.data["q[0]"])
|
||||
q1i = np.interp(t_imu, t_att, att.data["q[1]"])
|
||||
q2i = np.interp(t_imu, t_att, att.data["q[2]"])
|
||||
q3i = np.interp(t_imu, t_att, att.data["q[3]"])
|
||||
|
||||
# NED vertical accel (kinematic = specific_force_ned + gravity)
|
||||
az_ned = quat_rotate_z(q0i, q1i, q2i, q3i, ax, ay, az) + GRAVITY
|
||||
|
||||
fs_imu = 1.0 / np.median(np.diff(t_imu))
|
||||
|
||||
# HP filter to remove bias/drift, then integrate for velocity
|
||||
b_hp, a_hp = butter_highpass(0.1, fs_imu, order=2)
|
||||
az_hp = sig.filtfilt(b_hp, a_hp, az_ned)
|
||||
|
||||
dt = np.diff(t_imu, prepend=t_imu[0] - 1.0 / fs_imu)
|
||||
vz_imu = np.cumsum(az_hp * dt)
|
||||
|
||||
# HP filter the integrated velocity too, to remove any remaining drift
|
||||
vz_imu = sig.filtfilt(b_hp, a_hp, vz_imu)
|
||||
|
||||
return {"time_s": t_imu, "vz": vz_imu, "fs": fs_imu}
|
||||
|
||||
|
||||
def extract_range(ulog):
|
||||
"""Extract valid distance sensor measurements."""
|
||||
d = get_topic(ulog, "distance_sensor")
|
||||
if d is None:
|
||||
return None
|
||||
|
||||
t0 = ulog.start_timestamp
|
||||
t = us_to_s(d.data["timestamp"], t0)
|
||||
dist = d.data["current_distance"]
|
||||
quality = d.data["signal_quality"]
|
||||
|
||||
# Filter: valid quality and nonzero distance
|
||||
valid = (quality > 0) & (dist > 0.01)
|
||||
return {"time_s": t[valid], "distance": dist[valid]}
|
||||
|
||||
|
||||
def extract_ekf_vz(ulog):
|
||||
"""Extract EKF vertical velocity for comparison."""
|
||||
d = get_topic(ulog, "vehicle_local_position")
|
||||
if d is None:
|
||||
return None
|
||||
t0 = ulog.start_timestamp
|
||||
return {
|
||||
"time_s": us_to_s(d.data["timestamp"], t0),
|
||||
"vz": d.data["vz"],
|
||||
}
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Cross-correlation analysis
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def compute_range_rate(range_data, lp_cutoff_hz=5.0):
|
||||
"""Differentiate and low-pass filter range measurements."""
|
||||
t = range_data["time_s"]
|
||||
d = range_data["distance"]
|
||||
|
||||
if len(t) < 10:
|
||||
return None
|
||||
|
||||
dt = np.diff(t)
|
||||
rate = np.diff(d) / dt
|
||||
t_rate = 0.5 * (t[:-1] + t[1:])
|
||||
|
||||
# Low-pass filter to reduce derivative noise
|
||||
fs = 1.0 / np.median(dt)
|
||||
if lp_cutoff_hz < fs / 2:
|
||||
b_lp, a_lp = butter_lowpass(lp_cutoff_hz, fs, order=2)
|
||||
rate = sig.filtfilt(b_lp, a_lp, rate)
|
||||
|
||||
return {"time_s": t_rate, "rate": rate, "fs": fs}
|
||||
|
||||
|
||||
def cross_correlate_delay(ref_time, ref_signal, test_time, test_signal,
|
||||
max_lag_s=0.1, grid_fs=None):
|
||||
"""
|
||||
Cross-correlate two signals on a common time grid.
|
||||
Returns (lags_s, cc_normalized, peak_lag_s, peak_cc).
|
||||
"""
|
||||
# Common time window
|
||||
t_start = max(ref_time[0], test_time[0])
|
||||
t_end = min(ref_time[-1], test_time[-1])
|
||||
if t_end - t_start < 1.0:
|
||||
return None
|
||||
|
||||
if grid_fs is None:
|
||||
grid_fs = 1.0 / min(np.median(np.diff(ref_time)),
|
||||
np.median(np.diff(test_time)))
|
||||
# Bump grid to at least 1000 Hz for reasonable resolution
|
||||
grid_fs = max(grid_fs, 1000.0)
|
||||
|
||||
t_grid = np.arange(t_start, t_end, 1.0 / grid_fs)
|
||||
ref_i = np.interp(t_grid, ref_time, ref_signal)
|
||||
test_i = np.interp(t_grid, test_time, test_signal)
|
||||
|
||||
# Remove means
|
||||
ref_i -= np.mean(ref_i)
|
||||
test_i -= np.mean(test_i)
|
||||
|
||||
max_lag_samples = int(max_lag_s * grid_fs)
|
||||
# np.correlate(a, b)[mid + k] peaks at k = -D when b is delayed by D.
|
||||
# Negate the lag axis so positive = test delayed relative to ref.
|
||||
cc_full = np.correlate(ref_i, test_i, mode="full")
|
||||
mid = len(ref_i) - 1
|
||||
cc = cc_full[mid - max_lag_samples:mid + max_lag_samples + 1]
|
||||
lags = -np.arange(-max_lag_samples, max_lag_samples + 1) / grid_fs
|
||||
|
||||
# Normalize
|
||||
norm = np.sqrt(np.sum(ref_i**2) * np.sum(test_i**2))
|
||||
cc = cc / norm if norm > 0 else cc
|
||||
|
||||
peak_lag, peak_cc = parabolic_peak(cc, lags)
|
||||
return {"lags_s": lags, "cc": cc, "peak_lag_s": peak_lag, "peak_cc": peak_cc,
|
||||
"grid_fs": grid_fs}
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Plotting
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def topic_info(time_s, name, field, role):
|
||||
"""Return dict of topic metadata for the methodology table."""
|
||||
n = len(time_s)
|
||||
dur = time_s[-1] - time_s[0] if n > 1 else 0
|
||||
dt = np.median(np.diff(time_s)) if n > 1 else 0
|
||||
rate = 1.0 / dt if dt > 0 else 0
|
||||
return {"topic": name, "field": field.strip(), "role": role,
|
||||
"samples": n, "rate_hz": rate, "duration_s": dur}
|
||||
|
||||
|
||||
def format_topic_table(infos):
|
||||
"""Format a list of topic_info dicts into a fixed-width table string."""
|
||||
hdr = (f" {'Topic':<25s} {'Field':<22s} {'Role':<10s}"
|
||||
f" {'Samples':>7s} {'Rate':>8s} {'Duration':>8s}")
|
||||
sep = " " + "-" * len(hdr.strip())
|
||||
rows = [hdr, sep]
|
||||
for t in infos:
|
||||
rows.append(
|
||||
f" {t['topic']:<25s} {t['field']:<22s} {t['role']:<10s}"
|
||||
f" {t['samples']:>7d} {t['rate_hz']:>7.1f}Hz {t['duration_s']:>7.1f}s"
|
||||
)
|
||||
return "\n".join(rows)
|
||||
|
||||
|
||||
def make_report(log_path, range_data, range_rate, imu_vz, ekf_vz, xcorr_imu,
|
||||
xcorr_ekf, output_dir, topic_lines):
|
||||
"""Generate PDF report."""
|
||||
log_name = os.path.splitext(os.path.basename(log_path))[0]
|
||||
pdf_path = os.path.join(output_dir, f"{log_name}_range_latency.pdf")
|
||||
|
||||
with PdfPages(pdf_path) as pdf:
|
||||
# --- Page 1: Raw data overview ---
|
||||
fig, axes = plt.subplots(3, 1, figsize=(12, 9), sharex=True)
|
||||
fig.suptitle(f"Range Sensor Latency Analysis — {log_name}", fontsize=13)
|
||||
|
||||
axes[0].plot(range_data["time_s"], range_data["distance"], "b-", lw=0.6)
|
||||
axes[0].set_ylabel("Range [m]")
|
||||
axes[0].set_title("Distance sensor")
|
||||
axes[0].grid(True, alpha=0.3)
|
||||
|
||||
axes[1].plot(range_rate["time_s"], range_rate["rate"], "r-", lw=0.6,
|
||||
label="range rate")
|
||||
axes[1].set_ylabel("Range rate [m/s]")
|
||||
axes[1].set_title(f"Range rate (LP {5.0:.0f} Hz)")
|
||||
axes[1].grid(True, alpha=0.3)
|
||||
|
||||
axes[2].plot(imu_vz["time_s"], -imu_vz["vz"], "g-", lw=0.4, alpha=0.7,
|
||||
label="-vz_imu")
|
||||
if ekf_vz is not None:
|
||||
axes[2].plot(ekf_vz["time_s"], -ekf_vz["vz"], "k-", lw=0.8,
|
||||
alpha=0.8, label="-vz_ekf")
|
||||
axes[2].set_ylabel("Velocity [m/s]")
|
||||
axes[2].set_xlabel("Time [s]")
|
||||
axes[2].set_title("Vertical velocity (negated, for comparison with range rate)")
|
||||
axes[2].legend(fontsize=8)
|
||||
axes[2].grid(True, alpha=0.3)
|
||||
plt.tight_layout()
|
||||
pdf.savefig(fig)
|
||||
plt.close(fig)
|
||||
|
||||
# --- Page 2: Cross-correlation results ---
|
||||
n_plots = 1 + (1 if xcorr_ekf is not None else 0)
|
||||
fig, axes = plt.subplots(n_plots, 1, figsize=(12, 4 * n_plots))
|
||||
if n_plots == 1:
|
||||
axes = [axes]
|
||||
fig.suptitle("Cross-Correlation: range rate vs vertical velocity", fontsize=13)
|
||||
|
||||
for ax, xc, label in [
|
||||
(axes[0], xcorr_imu, "IMU-derived vz"),
|
||||
] + ([(axes[1], xcorr_ekf, "EKF vz")] if xcorr_ekf is not None else []):
|
||||
lags_ms = xc["lags_s"] * 1000
|
||||
ax.plot(lags_ms, xc["cc"], "b-", lw=1.0)
|
||||
peak_ms = xc["peak_lag_s"] * 1000
|
||||
ax.axvline(peak_ms, color="r", ls="--", lw=1.5,
|
||||
label=f"peak = {peak_ms:.1f} ms (r = {xc['peak_cc']:.3f})")
|
||||
ax.axvline(0, color="gray", ls=":", lw=0.8)
|
||||
ax.set_xlabel("Lag [ms] (positive = range lags reference)")
|
||||
ax.set_ylabel("Normalized correlation")
|
||||
ax.set_title(f"Reference: {label} ({xc['grid_fs']:.0f} Hz grid)")
|
||||
ax.legend(fontsize=10)
|
||||
ax.grid(True, alpha=0.3)
|
||||
|
||||
plt.tight_layout()
|
||||
pdf.savefig(fig)
|
||||
plt.close(fig)
|
||||
|
||||
# --- Page 3: Aligned overlay ---
|
||||
fig, axes = plt.subplots(2, 1, figsize=(12, 7), sharex=True)
|
||||
fig.suptitle("Range rate vs -vz_imu: before and after delay correction",
|
||||
fontsize=13)
|
||||
|
||||
# Common time window for overlay
|
||||
t_start = max(range_rate["time_s"][0], imu_vz["time_s"][0])
|
||||
t_end = min(range_rate["time_s"][-1], imu_vz["time_s"][-1])
|
||||
t_grid = np.arange(t_start, t_end, 1.0 / 1000.0)
|
||||
|
||||
rr_i = np.interp(t_grid, range_rate["time_s"], range_rate["rate"])
|
||||
vz_i = np.interp(t_grid, imu_vz["time_s"], -imu_vz["vz"])
|
||||
# Normalize for visual comparison
|
||||
rr_norm = (rr_i - np.mean(rr_i)) / (np.std(rr_i) + 1e-10)
|
||||
vz_norm = (vz_i - np.mean(vz_i)) / (np.std(vz_i) + 1e-10)
|
||||
|
||||
axes[0].plot(t_grid, vz_norm, "g-", lw=0.6, alpha=0.7, label="-vz_imu")
|
||||
axes[0].plot(t_grid, rr_norm, "r-", lw=0.6, alpha=0.7, label="range rate")
|
||||
axes[0].set_title("Before correction (original timestamps)")
|
||||
axes[0].set_ylabel("Normalized")
|
||||
axes[0].legend(fontsize=8)
|
||||
axes[0].grid(True, alpha=0.3)
|
||||
|
||||
# Shift range rate by estimated delay
|
||||
delay = xcorr_imu["peak_lag_s"]
|
||||
rr_shifted = np.interp(t_grid, range_rate["time_s"] - delay,
|
||||
range_rate["rate"])
|
||||
rr_s_norm = (rr_shifted - np.mean(rr_shifted)) / (np.std(rr_shifted) + 1e-10)
|
||||
|
||||
axes[1].plot(t_grid, vz_norm, "g-", lw=0.6, alpha=0.7, label="-vz_imu")
|
||||
axes[1].plot(t_grid, rr_s_norm, "r-", lw=0.6, alpha=0.7,
|
||||
label=f"range rate (shifted {delay*1000:.1f} ms)")
|
||||
axes[1].set_title(f"After correction (delay = {delay*1000:.1f} ms)")
|
||||
axes[1].set_xlabel("Time [s]")
|
||||
axes[1].set_ylabel("Normalized")
|
||||
axes[1].legend(fontsize=8)
|
||||
axes[1].grid(True, alpha=0.3)
|
||||
|
||||
plt.tight_layout()
|
||||
pdf.savefig(fig)
|
||||
plt.close(fig)
|
||||
|
||||
# --- Page 4: Methodology ---
|
||||
delay_ms = xcorr_imu["peak_lag_s"] * 1000
|
||||
grid_hz = xcorr_imu["grid_fs"]
|
||||
resolution_ms = 1000.0 / grid_hz
|
||||
topic_table = format_topic_table(topic_lines)
|
||||
|
||||
fig = plt.figure(figsize=(12, 9))
|
||||
fig.text(0.05, 0.95, "Methodology", fontsize=14, fontweight="bold",
|
||||
verticalalignment="top")
|
||||
text = (
|
||||
"This script estimates the total pipeline delay between the range sensor\n"
|
||||
"measurement and its FC-side timestamp.\n"
|
||||
"\n"
|
||||
f"{topic_table}\n"
|
||||
"\n"
|
||||
f" Cross-correlation grid: {grid_hz:.0f} Hz (resolution: {resolution_ms:.1f} ms)\n"
|
||||
"\n"
|
||||
f" Result: {delay_ms:+.1f} ± {resolution_ms/2:.1f} ms "
|
||||
f"(r = {xcorr_imu['peak_cc']:.3f})\n"
|
||||
"\n"
|
||||
"Method:\n"
|
||||
" 1. Build an IMU-derived vertical velocity (reference signal):\n"
|
||||
" - Rotate sensor_combined accelerometer to NED using vehicle_attitude\n"
|
||||
" quaternion, subtract gravity to get kinematic vertical acceleration.\n"
|
||||
" - High-pass filter at 0.1 Hz (zero-phase) and integrate to get vz.\n"
|
||||
" - High-pass filter the velocity to remove drift.\n"
|
||||
" This signal has no CAN delay (FC IMU is directly connected).\n"
|
||||
"\n"
|
||||
" 2. Compute range rate (test signal):\n"
|
||||
" - Differentiate distance_sensor.current_distance via finite differences.\n"
|
||||
" - Low-pass filter at 5 Hz (zero-phase) to reduce derivative noise.\n"
|
||||
" For a downward-facing sensor, range_rate ≈ -vz.\n"
|
||||
"\n"
|
||||
" 3. Cross-correlate:\n"
|
||||
" - Interpolate both signals onto a common 1000 Hz grid.\n"
|
||||
" - Remove means and compute normalized cross-correlation.\n"
|
||||
" - The lag at peak correlation is the estimated delay.\n"
|
||||
" - Parabolic interpolation around the peak gives sub-sample resolution.\n"
|
||||
" Positive lag = range sensor timestamp is late (delayed).\n"
|
||||
" Accuracy is ± half a grid sample with parabolic interpolation.\n"
|
||||
)
|
||||
fig.text(0.05, 0.88, text, fontsize=9.5, fontfamily="monospace",
|
||||
verticalalignment="top")
|
||||
pdf.savefig(fig)
|
||||
plt.close(fig)
|
||||
|
||||
return pdf_path
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Main
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Range sensor CAN latency analysis")
|
||||
parser.add_argument("log", help="ULog file (.ulg)")
|
||||
parser.add_argument("--output-dir", help="Output directory (default: logs/<name>/)")
|
||||
args = parser.parse_args()
|
||||
|
||||
log_path = os.path.abspath(args.log)
|
||||
if not os.path.isfile(log_path):
|
||||
print(f"Error: {log_path} not found", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
# Output directory
|
||||
if args.output_dir:
|
||||
output_dir = args.output_dir
|
||||
else:
|
||||
log_name = os.path.splitext(os.path.basename(log_path))[0]
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
px4_root = os.path.abspath(os.path.join(script_dir, "..", ".."))
|
||||
output_dir = os.path.join(px4_root, "logs", log_name)
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
print(f"Loading {log_path} ...")
|
||||
ulog = ULog(log_path)
|
||||
|
||||
# --- Extract data ---
|
||||
range_data = extract_range(ulog)
|
||||
if range_data is None or len(range_data["time_s"]) < 20:
|
||||
print("Error: insufficient distance_sensor data", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
range_rate = compute_range_rate(range_data, lp_cutoff_hz=5.0)
|
||||
if range_rate is None:
|
||||
print("Error: could not compute range rate", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
imu_vz = extract_imu_vz(ulog)
|
||||
if imu_vz is None:
|
||||
print("Error: could not build IMU vertical velocity "
|
||||
"(need sensor_combined + vehicle_attitude)", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
ekf_vz = extract_ekf_vz(ulog)
|
||||
|
||||
# --- Cross-correlation ---
|
||||
print(f"Distance sensor: {len(range_data['time_s'])} valid samples, "
|
||||
f"{range_rate['fs']:.0f} Hz")
|
||||
print(f"IMU accel: {len(imu_vz['time_s'])} samples, {imu_vz['fs']:.0f} Hz")
|
||||
|
||||
# range_rate ≈ -vz for downward-facing sensor (range decreases when descending)
|
||||
# So correlate range_rate with -vz_imu
|
||||
xcorr_imu = cross_correlate_delay(
|
||||
imu_vz["time_s"], -imu_vz["vz"],
|
||||
range_rate["time_s"], range_rate["rate"],
|
||||
max_lag_s=0.1, grid_fs=1000.0,
|
||||
)
|
||||
if xcorr_imu is None:
|
||||
print("Error: cross-correlation failed (insufficient overlap)", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
xcorr_ekf = None
|
||||
if ekf_vz is not None:
|
||||
xcorr_ekf = cross_correlate_delay(
|
||||
ekf_vz["time_s"], -ekf_vz["vz"],
|
||||
range_rate["time_s"], range_rate["rate"],
|
||||
max_lag_s=0.1, grid_fs=1000.0,
|
||||
)
|
||||
|
||||
# --- Results ---
|
||||
delay_ms = xcorr_imu["peak_lag_s"] * 1000
|
||||
print(f"\n{'='*50}")
|
||||
print(f"Estimated range sensor pipeline delay:")
|
||||
print(f" IMU cross-correlation: {delay_ms:+.1f} ms "
|
||||
f"(r = {xcorr_imu['peak_cc']:.3f})")
|
||||
if xcorr_ekf is not None:
|
||||
print(f" EKF cross-correlation: {xcorr_ekf['peak_lag_s']*1000:+.1f} ms "
|
||||
f"(r = {xcorr_ekf['peak_cc']:.3f})")
|
||||
print(f"{'='*50}")
|
||||
|
||||
if abs(delay_ms) < 1.0:
|
||||
print("Note: delay < 1ms — may not be resolvable at this sample rate")
|
||||
elif delay_ms < 0:
|
||||
print("Note: negative delay suggests range leads IMU — "
|
||||
"check sensor orientation / data quality")
|
||||
|
||||
# --- PDF report ---
|
||||
# Build topic summary for methodology page
|
||||
att = get_topic(ulog, "vehicle_attitude")
|
||||
att_time = us_to_s(att.data["timestamp_sample"], ulog.start_timestamp) if att else np.array([])
|
||||
topic_lines = [
|
||||
topic_info(range_data["time_s"], "distance_sensor", "current_distance", "test"),
|
||||
topic_info(imu_vz["time_s"], "sensor_combined", "accelerometer_m_s2", "reference"),
|
||||
topic_info(att_time, "vehicle_attitude", "q[0..3]", "reference"),
|
||||
]
|
||||
if ekf_vz is not None:
|
||||
topic_lines.append(
|
||||
topic_info(ekf_vz["time_s"], "vehicle_local_position", "vz", "comparison"))
|
||||
|
||||
pdf_path = make_report(log_path, range_data, range_rate, imu_vz, ekf_vz,
|
||||
xcorr_imu, xcorr_ekf, output_dir, topic_lines)
|
||||
print(f"\nReport: {pdf_path}")
|
||||
return pdf_path
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
# Script to run ShellCheck (a static analysis tool for shell scripts) over a
|
||||
# script directory
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
GREEN='\033[0;32m'
|
||||
NO_COLOR='\033[0m' # No Color
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
#
|
||||
# Setup environment to make PX4 visible to Gazebo.
|
||||
#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
# run multiple instances of the 'px4' binary, with the gazebo SITL simulation
|
||||
# It assumes px4 is already built, with 'make px4_sitl_default sitl_gazebo-classic'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
# Run multiple instances of the 'px4' binary, without starting an external simulator.
|
||||
# It assumes px4 is already built with the specified build target.
|
||||
#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
# Run this from the px4 project top level directory
|
||||
docker run -it --rm --privileged -v `pwd`:/usr/local/workspace px4io/px4-dev-nuttx-focal:2022-08-12
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Create px4-* symlinks from px4-alias.sh
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Stop voxl-px4 service if running
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
echo "*** Starting unified VOXL2 build (apps + SLPI) ***"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
echo "*** Starting unified VOXL2 build (apps + SLPI) ***"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
echo "*** Starting qurt slpi build ***"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
# Clean out the build artifacts
|
||||
# source /home/build-env.sh
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
# Push slpi image to voxl2
|
||||
adb push build/modalai_voxl2_slpi/platforms/qurt/libpx4.so /usr/lib/rfsa/adsp
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
# Push slpi image to voxl2
|
||||
adb push build/modalai_voxl2_slpi/platforms/qurt/libpx4.so /usr/lib/rfsa/adsp
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
cd Tools/simulation/gazebo-classic/sitl_gazebo-classic/src
|
||||
patch < ../../../../../boards/modalai/voxl2/gazebo-docker/patch/mavlink_interface.patch
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
# Run this from the px4 project top level directory
|
||||
docker run -it --rm -v `pwd`:/usr/local/workspace rb5-flight-px4-build-docker
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
# Copyright 2023 ModalAI Inc.
|
||||
#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
CONFIG_FILE="/etc/modalai/voxl-px4.conf"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
|
||||
# Make sure that the SLPI DSP test signature is there otherwise px4 cannot run
|
||||
# on the DSP
|
||||
|
||||
@@ -159,7 +159,7 @@ Runs after the package is installed. Common tasks:
|
||||
- Board-specific setup (e.g., DSP signature generation)
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Create px4-* symlinks
|
||||
@@ -185,7 +185,7 @@ fi
|
||||
Runs before the package is removed:
|
||||
|
||||
```bash
|
||||
#!/usr/bin/env bash
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Stop the service
|
||||
|
||||
+195
-195
@@ -95,206 +95,206 @@ They are not build into the module, and hence are neither published or subscribe
|
||||
|
||||
::: details See messages
|
||||
|
||||
- [HomePositionV0](../msg_docs/HomePositionV0.md)
|
||||
- [GimbalControls](../msg_docs/GimbalControls.md)
|
||||
- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
|
||||
- [GpioOut](../msg_docs/GpioOut.md)
|
||||
- [SensorAccel](../msg_docs/SensorAccel.md)
|
||||
- [AirspeedWind](../msg_docs/AirspeedWind.md)
|
||||
- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
|
||||
- [DatamanResponse](../msg_docs/DatamanResponse.md)
|
||||
- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
|
||||
- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
|
||||
- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
|
||||
- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
|
||||
- [VehicleRoi](../msg_docs/VehicleRoi.md)
|
||||
- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
|
||||
- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
|
||||
- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
|
||||
- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
|
||||
- [DebugArray](../msg_docs/DebugArray.md)
|
||||
- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
|
||||
- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
|
||||
- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
|
||||
- [RcChannels](../msg_docs/RcChannels.md)
|
||||
- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
|
||||
- [GainCompression](../msg_docs/GainCompression.md)
|
||||
- [VehicleStatusV2](../msg_docs/VehicleStatusV2.md)
|
||||
- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
|
||||
- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
|
||||
- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
|
||||
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
|
||||
- [DebugValue](../msg_docs/DebugValue.md)
|
||||
- [GpioConfig](../msg_docs/GpioConfig.md)
|
||||
- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
|
||||
- [GeofenceResult](../msg_docs/GeofenceResult.md)
|
||||
- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
|
||||
- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
|
||||
- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
|
||||
- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
|
||||
- [AdcReport](../msg_docs/AdcReport.md)
|
||||
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
|
||||
- [CameraTrigger](../msg_docs/CameraTrigger.md)
|
||||
- [EscEepromRead](../msg_docs/EscEepromRead.md)
|
||||
- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
|
||||
- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
|
||||
- [VelocityLimits](../msg_docs/VelocityLimits.md)
|
||||
- [LedControl](../msg_docs/LedControl.md)
|
||||
- [DatamanRequest](../msg_docs/DatamanRequest.md)
|
||||
- [WheelEncoders](../msg_docs/WheelEncoders.md)
|
||||
- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
|
||||
- [PowerButtonState](../msg_docs/PowerButtonState.md)
|
||||
- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
|
||||
- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
|
||||
- [RadioStatus](../msg_docs/RadioStatus.md)
|
||||
- [SensorTemp](../msg_docs/SensorTemp.md)
|
||||
- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
|
||||
- [GpioRequest](../msg_docs/GpioRequest.md)
|
||||
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
|
||||
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
|
||||
- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
|
||||
- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
|
||||
- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
|
||||
- [Mission](../msg_docs/Mission.md)
|
||||
- [SystemPower](../msg_docs/SystemPower.md)
|
||||
- [VehicleImu](../msg_docs/VehicleImu.md)
|
||||
- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
|
||||
- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
|
||||
- [QshellReq](../msg_docs/QshellReq.md)
|
||||
- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
|
||||
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
|
||||
- [SensorSelection](../msg_docs/SensorSelection.md)
|
||||
- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
|
||||
- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
|
||||
- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
|
||||
- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
|
||||
- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
|
||||
- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
|
||||
- [SensorsStatus](../msg_docs/SensorsStatus.md)
|
||||
- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
|
||||
- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
|
||||
- [RtlStatus](../msg_docs/RtlStatus.md)
|
||||
- [SensorUwb](../msg_docs/SensorUwb.md)
|
||||
- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
|
||||
- [RaptorStatus](../msg_docs/RaptorStatus.md)
|
||||
- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
|
||||
- [OrbTest](../msg_docs/OrbTest.md)
|
||||
- [TecsStatus](../msg_docs/TecsStatus.md)
|
||||
- [CameraStatus](../msg_docs/CameraStatus.md)
|
||||
- [GpsDump](../msg_docs/GpsDump.md)
|
||||
- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
|
||||
- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
|
||||
- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
|
||||
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
|
||||
- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
|
||||
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
|
||||
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
|
||||
- [MissionResult](../msg_docs/MissionResult.md)
|
||||
- [LogMessage](../msg_docs/LogMessage.md)
|
||||
- [QshellRetval](../msg_docs/QshellRetval.md)
|
||||
- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
|
||||
- [IrlockReport](../msg_docs/IrlockReport.md)
|
||||
- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
|
||||
- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
|
||||
- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
|
||||
- [ButtonEvent](../msg_docs/ButtonEvent.md)
|
||||
- [SensorCorrection](../msg_docs/SensorCorrection.md)
|
||||
- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
|
||||
- [DeviceInformation](../msg_docs/DeviceInformation.md)
|
||||
- [Gripper](../msg_docs/Gripper.md)
|
||||
- [SensorMag](../msg_docs/SensorMag.md)
|
||||
- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
|
||||
- [EscReport](../msg_docs/EscReport.md)
|
||||
- [VehicleOpticalFlow](../msg_docs/VehicleOpticalFlow.md)
|
||||
- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
|
||||
- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
|
||||
- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
|
||||
- [MagWorkerData](../msg_docs/MagWorkerData.md)
|
||||
- [EstimatorStates](../msg_docs/EstimatorStates.md)
|
||||
- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
|
||||
- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
|
||||
- [Cpuload](../msg_docs/Cpuload.md)
|
||||
- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
|
||||
- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
|
||||
- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
|
||||
- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
|
||||
- [PpsCapture](../msg_docs/PpsCapture.md)
|
||||
- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
|
||||
- [Event](../msg_docs/Event.md)
|
||||
- [GpioIn](../msg_docs/GpioIn.md)
|
||||
- [PowerMonitor](../msg_docs/PowerMonitor.md)
|
||||
- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
|
||||
- [RaptorInput](../msg_docs/RaptorInput.md)
|
||||
- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
|
||||
- [ActionRequest](../msg_docs/ActionRequest.md)
|
||||
- [ActuatorTest](../msg_docs/ActuatorTest.md)
|
||||
- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [SensorBaro](../msg_docs/SensorBaro.md)
|
||||
- [RegisterExtComponentRequestV0](../msg_docs/RegisterExtComponentRequestV0.md)
|
||||
- [VehicleLocalPositionV0](../msg_docs/VehicleLocalPositionV0.md)
|
||||
- [PowerButtonState](../msg_docs/PowerButtonState.md)
|
||||
- [SensorCorrection](../msg_docs/SensorCorrection.md)
|
||||
- [DifferentialPressure](../msg_docs/DifferentialPressure.md)
|
||||
- [SensorsStatus](../msg_docs/SensorsStatus.md)
|
||||
- [DebugKeyValue](../msg_docs/DebugKeyValue.md)
|
||||
- [EstimatorAidSource2d](../msg_docs/EstimatorAidSource2d.md)
|
||||
- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
|
||||
- [SensorGyro](../msg_docs/SensorGyro.md)
|
||||
- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
|
||||
- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
|
||||
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
|
||||
- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
|
||||
- [MountOrientation](../msg_docs/MountOrientation.md)
|
||||
- [HealthReport](../msg_docs/HealthReport.md)
|
||||
- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
|
||||
- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
|
||||
- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
|
||||
- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
|
||||
- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
|
||||
- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
|
||||
- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
|
||||
- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
|
||||
- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
|
||||
- [HeaterStatus](../msg_docs/HeaterStatus.md)
|
||||
- [UlogStream](../msg_docs/UlogStream.md)
|
||||
- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
|
||||
- [PwmInput](../msg_docs/PwmInput.md)
|
||||
- [EventV0](../msg_docs/EventV0.md)
|
||||
- [FollowTarget](../msg_docs/FollowTarget.md)
|
||||
- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
|
||||
- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
|
||||
- [Ping](../msg_docs/Ping.md)
|
||||
- [RcParameterMap](../msg_docs/RcParameterMap.md)
|
||||
- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
|
||||
- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
|
||||
- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
|
||||
- [Airspeed](../msg_docs/Airspeed.md)
|
||||
- [EscEepromWrite](../msg_docs/EscEepromWrite.md)
|
||||
- [BatteryInfo](../msg_docs/BatteryInfo.md)
|
||||
- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
|
||||
- [LoggerStatus](../msg_docs/LoggerStatus.md)
|
||||
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
|
||||
- [CellularStatus](../msg_docs/CellularStatus.md)
|
||||
- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
|
||||
- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
|
||||
- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
|
||||
- [MavlinkLog](../msg_docs/MavlinkLog.md)
|
||||
- [GpsInjectData](../msg_docs/GpsInjectData.md)
|
||||
- [InputRc](../msg_docs/InputRc.md)
|
||||
- [DebugVect](../msg_docs/DebugVect.md)
|
||||
- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
|
||||
- [SensorAirflow](../msg_docs/SensorAirflow.md)
|
||||
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
|
||||
- [EscStatus](../msg_docs/EscStatus.md)
|
||||
- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
|
||||
- [Vtx](../msg_docs/Vtx.md)
|
||||
- [RangingBeacon](../msg_docs/RangingBeacon.md)
|
||||
- [NeuralControl](../msg_docs/NeuralControl.md)
|
||||
- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
|
||||
- [RaptorStatus](../msg_docs/RaptorStatus.md)
|
||||
- [OrbitStatus](../msg_docs/OrbitStatus.md)
|
||||
- [VehicleAirData](../msg_docs/VehicleAirData.md)
|
||||
- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
|
||||
- [Rpm](../msg_docs/Rpm.md)
|
||||
- [RangingBeacon](../msg_docs/RangingBeacon.md)
|
||||
- [GimbalDeviceInformation](../msg_docs/GimbalDeviceInformation.md)
|
||||
- [YawEstimatorStatus](../msg_docs/YawEstimatorStatus.md)
|
||||
- [UlogStream](../msg_docs/UlogStream.md)
|
||||
- [HeaterStatus](../msg_docs/HeaterStatus.md)
|
||||
- [OpenDroneIdSelfId](../msg_docs/OpenDroneIdSelfId.md)
|
||||
- [SensorGyro](../msg_docs/SensorGyro.md)
|
||||
- [VehicleConstraints](../msg_docs/VehicleConstraints.md)
|
||||
- [AirspeedValidatedV0](../msg_docs/AirspeedValidatedV0.md)
|
||||
- [DronecanNodeStatus](../msg_docs/DronecanNodeStatus.md)
|
||||
- [DeviceInformation](../msg_docs/DeviceInformation.md)
|
||||
- [SystemPower](../msg_docs/SystemPower.md)
|
||||
- [ParameterResetRequest](../msg_docs/ParameterResetRequest.md)
|
||||
- [ButtonEvent](../msg_docs/ButtonEvent.md)
|
||||
- [MavlinkTunnel](../msg_docs/MavlinkTunnel.md)
|
||||
- [SensorGnssRelative](../msg_docs/SensorGnssRelative.md)
|
||||
- [OrbTestMedium](../msg_docs/OrbTestMedium.md)
|
||||
- [OrbTestLarge](../msg_docs/OrbTestLarge.md)
|
||||
- [GeofenceStatus](../msg_docs/GeofenceStatus.md)
|
||||
- [HoverThrustEstimate](../msg_docs/HoverThrustEstimate.md)
|
||||
- [HealthReport](../msg_docs/HealthReport.md)
|
||||
- [SensorGyroFft](../msg_docs/SensorGyroFft.md)
|
||||
- [UavcanParameterValue](../msg_docs/UavcanParameterValue.md)
|
||||
- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
|
||||
- [CameraCapture](../msg_docs/CameraCapture.md)
|
||||
- [ActuatorControlsStatus](../msg_docs/ActuatorControlsStatus.md)
|
||||
- [NavigatorMissionItem](../msg_docs/NavigatorMissionItem.md)
|
||||
- [DistanceSensorModeChangeRequest](../msg_docs/DistanceSensorModeChangeRequest.md)
|
||||
- [VehicleAirData](../msg_docs/VehicleAirData.md)
|
||||
- [RaptorInput](../msg_docs/RaptorInput.md)
|
||||
- [EstimatorBias](../msg_docs/EstimatorBias.md)
|
||||
- [LandingGearWheel](../msg_docs/LandingGearWheel.md)
|
||||
- [ControlAllocatorStatus](../msg_docs/ControlAllocatorStatus.md)
|
||||
- [OrbTest](../msg_docs/OrbTest.md)
|
||||
- [GpioConfig](../msg_docs/GpioConfig.md)
|
||||
- [EstimatorSelectorStatus](../msg_docs/EstimatorSelectorStatus.md)
|
||||
- [GpsDump](../msg_docs/GpsDump.md)
|
||||
- [TrajectorySetpoint6dof](../msg_docs/TrajectorySetpoint6dof.md)
|
||||
- [ActuatorTest](../msg_docs/ActuatorTest.md)
|
||||
- [VehicleAngularAccelerationSetpoint](../msg_docs/VehicleAngularAccelerationSetpoint.md)
|
||||
- [LogMessage](../msg_docs/LogMessage.md)
|
||||
- [NeuralControl](../msg_docs/NeuralControl.md)
|
||||
- [SatelliteInfo](../msg_docs/SatelliteInfo.md)
|
||||
- [WheelEncoders](../msg_docs/WheelEncoders.md)
|
||||
- [EscEepromRead](../msg_docs/EscEepromRead.md)
|
||||
- [RateCtrlStatus](../msg_docs/RateCtrlStatus.md)
|
||||
- [ArmingCheckReplyV0](../msg_docs/ArmingCheckReplyV0.md)
|
||||
- [SensorGyroFifo](../msg_docs/SensorGyroFifo.md)
|
||||
- [InternalCombustionEngineStatus](../msg_docs/InternalCombustionEngineStatus.md)
|
||||
- [DatamanRequest](../msg_docs/DatamanRequest.md)
|
||||
- [QshellReq](../msg_docs/QshellReq.md)
|
||||
- [EstimatorEventFlags](../msg_docs/EstimatorEventFlags.md)
|
||||
- [SensorMag](../msg_docs/SensorMag.md)
|
||||
- [InputRc](../msg_docs/InputRc.md)
|
||||
- [EstimatorSensorBias](../msg_docs/EstimatorSensorBias.md)
|
||||
- [TiltrotorExtraControls](../msg_docs/TiltrotorExtraControls.md)
|
||||
- [EscStatus](../msg_docs/EscStatus.md)
|
||||
- [ParameterSetValueResponse](../msg_docs/ParameterSetValueResponse.md)
|
||||
- [GeofenceResult](../msg_docs/GeofenceResult.md)
|
||||
- [EstimatorAidSource1d](../msg_docs/EstimatorAidSource1d.md)
|
||||
- [ActuatorOutputs](../msg_docs/ActuatorOutputs.md)
|
||||
- [CameraTrigger](../msg_docs/CameraTrigger.md)
|
||||
- [FollowTarget](../msg_docs/FollowTarget.md)
|
||||
- [SensorPreflightMag](../msg_docs/SensorPreflightMag.md)
|
||||
- [AdcReport](../msg_docs/AdcReport.md)
|
||||
- [LandingTargetInnovations](../msg_docs/LandingTargetInnovations.md)
|
||||
- [VehicleAngularVelocity](../msg_docs/VehicleAngularVelocity.md)
|
||||
- [BatteryStatusV0](../msg_docs/BatteryStatusV0.md)
|
||||
- [NavigatorStatus](../msg_docs/NavigatorStatus.md)
|
||||
- [CameraCapture](../msg_docs/CameraCapture.md)
|
||||
- [AutotuneAttitudeControlStatus](../msg_docs/AutotuneAttitudeControlStatus.md)
|
||||
- [EstimatorAidSource3d](../msg_docs/EstimatorAidSource3d.md)
|
||||
- [EscEepromWrite](../msg_docs/EscEepromWrite.md)
|
||||
- [EventV0](../msg_docs/EventV0.md)
|
||||
- [DebugValue](../msg_docs/DebugValue.md)
|
||||
- [VehicleImuStatus](../msg_docs/VehicleImuStatus.md)
|
||||
- [Cpuload](../msg_docs/Cpuload.md)
|
||||
- [GeneratorStatus](../msg_docs/GeneratorStatus.md)
|
||||
- [PurePursuitStatus](../msg_docs/PurePursuitStatus.md)
|
||||
- [IrlockReport](../msg_docs/IrlockReport.md)
|
||||
- [VehicleStatusV1](../msg_docs/VehicleStatusV1.md)
|
||||
- [EstimatorBias3d](../msg_docs/EstimatorBias3d.md)
|
||||
- [PositionControllerStatus](../msg_docs/PositionControllerStatus.md)
|
||||
- [FollowTargetStatus](../msg_docs/FollowTargetStatus.md)
|
||||
- [TuneControl](../msg_docs/TuneControl.md)
|
||||
- [CanInterfaceStatus](../msg_docs/CanInterfaceStatus.md)
|
||||
- [MagWorkerData](../msg_docs/MagWorkerData.md)
|
||||
- [Ping](../msg_docs/Ping.md)
|
||||
- [SensorGnssStatus](../msg_docs/SensorGnssStatus.md)
|
||||
- [SensorSelection](../msg_docs/SensorSelection.md)
|
||||
- [SensorHygrometer](../msg_docs/SensorHygrometer.md)
|
||||
- [TecsStatus](../msg_docs/TecsStatus.md)
|
||||
- [UavcanParameterRequest](../msg_docs/UavcanParameterRequest.md)
|
||||
- [DebugVect](../msg_docs/DebugVect.md)
|
||||
- [Vtx](../msg_docs/Vtx.md)
|
||||
- [Rpm](../msg_docs/Rpm.md)
|
||||
- [RcParameterMap](../msg_docs/RcParameterMap.md)
|
||||
- [VehicleStatusV0](../msg_docs/VehicleStatusV0.md)
|
||||
- [SensorsStatusImu](../msg_docs/SensorsStatusImu.md)
|
||||
- [FigureEightStatus](../msg_docs/FigureEightStatus.md)
|
||||
- [IridiumsbdStatus](../msg_docs/IridiumsbdStatus.md)
|
||||
- [Px4ioStatus](../msg_docs/Px4ioStatus.md)
|
||||
- [ParameterSetUsedRequest](../msg_docs/ParameterSetUsedRequest.md)
|
||||
- [CameraStatus](../msg_docs/CameraStatus.md)
|
||||
- [AirspeedWind](../msg_docs/AirspeedWind.md)
|
||||
- [VehicleImu](../msg_docs/VehicleImu.md)
|
||||
- [Airspeed](../msg_docs/Airspeed.md)
|
||||
- [InternalCombustionEngineControl](../msg_docs/InternalCombustionEngineControl.md)
|
||||
- [EstimatorStatus](../msg_docs/EstimatorStatus.md)
|
||||
- [FollowTargetEstimator](../msg_docs/FollowTargetEstimator.md)
|
||||
- [OpenDroneIdArmStatus](../msg_docs/OpenDroneIdArmStatus.md)
|
||||
- [GimbalManagerStatus](../msg_docs/GimbalManagerStatus.md)
|
||||
- [ConfigOverridesV0](../msg_docs/ConfigOverridesV0.md)
|
||||
- [ParameterSetValueRequest](../msg_docs/ParameterSetValueRequest.md)
|
||||
- [FuelTankStatus](../msg_docs/FuelTankStatus.md)
|
||||
- [CellularStatus](../msg_docs/CellularStatus.md)
|
||||
- [BatteryInfo](../msg_docs/BatteryInfo.md)
|
||||
- [SensorAirflow](../msg_docs/SensorAirflow.md)
|
||||
- [FailureDetectorStatus](../msg_docs/FailureDetectorStatus.md)
|
||||
- [PwmInput](../msg_docs/PwmInput.md)
|
||||
- [FlightPhaseEstimation](../msg_docs/FlightPhaseEstimation.md)
|
||||
- [GimbalManagerInformation](../msg_docs/GimbalManagerInformation.md)
|
||||
- [VehicleStatusV2](../msg_docs/VehicleStatusV2.md)
|
||||
- [LandingTargetPose](../msg_docs/LandingTargetPose.md)
|
||||
- [OpenDroneIdSystem](../msg_docs/OpenDroneIdSystem.md)
|
||||
- [EscReport](../msg_docs/EscReport.md)
|
||||
- [RegisterExtComponentReplyV0](../msg_docs/RegisterExtComponentReplyV0.md)
|
||||
- [GpioRequest](../msg_docs/GpioRequest.md)
|
||||
- [GimbalControls](../msg_docs/GimbalControls.md)
|
||||
- [ParameterUpdate](../msg_docs/ParameterUpdate.md)
|
||||
- [PpsCapture](../msg_docs/PpsCapture.md)
|
||||
- [VehicleAcceleration](../msg_docs/VehicleAcceleration.md)
|
||||
- [GimbalDeviceSetAttitude](../msg_docs/GimbalDeviceSetAttitude.md)
|
||||
- [GpioIn](../msg_docs/GpioIn.md)
|
||||
- [SensorBaro](../msg_docs/SensorBaro.md)
|
||||
- [MavlinkLog](../msg_docs/MavlinkLog.md)
|
||||
- [LedControl](../msg_docs/LedControl.md)
|
||||
- [RoverSpeedStatus](../msg_docs/RoverSpeedStatus.md)
|
||||
- [UlogStreamAck](../msg_docs/UlogStreamAck.md)
|
||||
- [FixedWingRunwayControl](../msg_docs/FixedWingRunwayControl.md)
|
||||
- [LaunchDetectionStatus](../msg_docs/LaunchDetectionStatus.md)
|
||||
- [NormalizedUnsignedSetpoint](../msg_docs/NormalizedUnsignedSetpoint.md)
|
||||
- [DatamanResponse](../msg_docs/DatamanResponse.md)
|
||||
- [MagnetometerBiasEstimate](../msg_docs/MagnetometerBiasEstimate.md)
|
||||
- [GimbalManagerSetAttitude](../msg_docs/GimbalManagerSetAttitude.md)
|
||||
- [EstimatorGpsStatus](../msg_docs/EstimatorGpsStatus.md)
|
||||
- [RadioStatus](../msg_docs/RadioStatus.md)
|
||||
- [ArmingCheckRequestV0](../msg_docs/ArmingCheckRequestV0.md)
|
||||
- [ActuatorArmed](../msg_docs/ActuatorArmed.md)
|
||||
- [VehicleLocalPositionSetpoint](../msg_docs/VehicleLocalPositionSetpoint.md)
|
||||
- [VehicleAttitudeSetpointV0](../msg_docs/VehicleAttitudeSetpointV0.md)
|
||||
- [SensorTemp](../msg_docs/SensorTemp.md)
|
||||
- [EstimatorInnovations](../msg_docs/EstimatorInnovations.md)
|
||||
- [VehicleMagnetometer](../msg_docs/VehicleMagnetometer.md)
|
||||
- [PositionSetpoint](../msg_docs/PositionSetpoint.md)
|
||||
- [Event](../msg_docs/Event.md)
|
||||
- [PositionControllerLandingStatus](../msg_docs/PositionControllerLandingStatus.md)
|
||||
- [RtlTimeEstimate](../msg_docs/RtlTimeEstimate.md)
|
||||
- [SensorUwb](../msg_docs/SensorUwb.md)
|
||||
- [GainCompression](../msg_docs/GainCompression.md)
|
||||
- [SensorAccelFifo](../msg_docs/SensorAccelFifo.md)
|
||||
- [LoggerStatus](../msg_docs/LoggerStatus.md)
|
||||
- [ManualControlSwitches](../msg_docs/ManualControlSwitches.md)
|
||||
- [HomePositionV0](../msg_docs/HomePositionV0.md)
|
||||
- [GimbalManagerSetManualControl](../msg_docs/GimbalManagerSetManualControl.md)
|
||||
- [RcChannels](../msg_docs/RcChannels.md)
|
||||
- [MountOrientation](../msg_docs/MountOrientation.md)
|
||||
- [VehicleGlobalPositionV0](../msg_docs/VehicleGlobalPositionV0.md)
|
||||
- [VehicleRoi](../msg_docs/VehicleRoi.md)
|
||||
- [ActionRequest](../msg_docs/ActionRequest.md)
|
||||
- [VehicleOpticalFlowVel](../msg_docs/VehicleOpticalFlowVel.md)
|
||||
- [VelocityLimits](../msg_docs/VelocityLimits.md)
|
||||
- [VehicleCommandAckV0](../msg_docs/VehicleCommandAckV0.md)
|
||||
- [TaskStackInfo](../msg_docs/TaskStackInfo.md)
|
||||
- [PowerMonitor](../msg_docs/PowerMonitor.md)
|
||||
- [OpenDroneIdOperatorId](../msg_docs/OpenDroneIdOperatorId.md)
|
||||
- [QshellRetval](../msg_docs/QshellRetval.md)
|
||||
- [ActuatorServosTrim](../msg_docs/ActuatorServosTrim.md)
|
||||
- [TakeoffStatus](../msg_docs/TakeoffStatus.md)
|
||||
- [Gripper](../msg_docs/Gripper.md)
|
||||
- [DebugArray](../msg_docs/DebugArray.md)
|
||||
- [EstimatorStates](../msg_docs/EstimatorStates.md)
|
||||
- [RoverAttitudeStatus](../msg_docs/RoverAttitudeStatus.md)
|
||||
- [FixedWingLateralGuidanceStatus](../msg_docs/FixedWingLateralGuidanceStatus.md)
|
||||
- [RtlStatus](../msg_docs/RtlStatus.md)
|
||||
- [FixedWingLateralStatus](../msg_docs/FixedWingLateralStatus.md)
|
||||
- [GpsInjectData](../msg_docs/GpsInjectData.md)
|
||||
- [GpioOut](../msg_docs/GpioOut.md)
|
||||
- [Mission](../msg_docs/Mission.md)
|
||||
- [SensorAccel](../msg_docs/SensorAccel.md)
|
||||
- [MissionResult](../msg_docs/MissionResult.md)
|
||||
- [RoverRateStatus](../msg_docs/RoverRateStatus.md)
|
||||
- [Ekf2Timestamps](../msg_docs/Ekf2Timestamps.md)
|
||||
:::
|
||||
|
||||
+1
-7
@@ -14,13 +14,7 @@
|
||||
"docs:get_alt_sidebar_windows": "python ./scripts/gen_alt_sidebar.py",
|
||||
"start": "yarn docs:dev",
|
||||
"linkcheck": "markdown_link_checker_sc -r .. -d docs -e en -i assets",
|
||||
"build_docs_metadata_ubuntu": "(cd .. && Tools/ci/metadata_sync.sh --generate && Tools/ci/metadata_sync.sh --sync) && echo 'NOTE: These metadata changes are for local testing only and do not need to be merged.'",
|
||||
"gen_fc_sections": "python3 ./scripts/fc_doc_generator/fc_doc_generator.py --apply",
|
||||
"new_fc_doc": "python3 ./scripts/fc_doc_generator/fc_doc_generator.py --new-doc --since-version v1.18",
|
||||
"check_fc_doc": "python3 ./scripts/fc_doc_generator/fc_doc_generator.py --check-doc",
|
||||
"check_fc_docs": "python3 ./scripts/fc_doc_generator/fc_doc_generator.py --check-all",
|
||||
"test_fc_doc": "python3 -m pytest scripts/fc_doc_generator/ -v",
|
||||
"update_fc_snapshots": "python3 -m pytest scripts/fc_doc_generator/ -v --update-snapshots"
|
||||
"build_docs_metadata_ubuntu": "(cd .. && Tools/ci/metadata_sync.sh --generate && Tools/ci/metadata_sync.sh --sync) && echo 'NOTE: These metadata changes are for local testing only and do not need to be merged.'"
|
||||
},
|
||||
"dependencies": {
|
||||
"@red-asuka/vitepress-plugin-tabs": "0.0.4",
|
||||
|
||||
@@ -1,156 +0,0 @@
|
||||
# fc_doc_generator
|
||||
|
||||
Auto-generates flight controller documentation sections for PX4-Autopilot
|
||||
from board source files (`boards/<vendor>/<board>/`).
|
||||
|
||||
## What it does
|
||||
|
||||
Parses PX4 board C/Kconfig source files and generates Markdown sections
|
||||
inserted into `docs/en/flight_controller/*.md` docs. Sections generated:
|
||||
|
||||
- `## Specifications` — processor, sensors, interfaces
|
||||
- `## PWM Outputs` — timer groups, DShot/BDShot capability per output
|
||||
- `## Serial` — UART → /dev/ttyS* mapping with labels and flow control
|
||||
- `## Radio Control` — RC input protocols and ports
|
||||
- `## GPS & Compass` — GPS/safety connector info
|
||||
- `## Power` — power input ports and monitor type
|
||||
- `## Telemetry Radios` — TELEM port listing
|
||||
- `## SD Card` — presence/absence
|
||||
|
||||
## File layout
|
||||
|
||||
```
|
||||
fc_doc_generator/
|
||||
├── fc_doc_generator.py # Main script (~3700 lines)
|
||||
├── pytest.ini # testpaths = tests
|
||||
├── metadata/ # Per-board cached JSON (data + wizard overrides)
|
||||
│ ├── <vendor>_<board>_data.json # Parsed board data
|
||||
│ └── <vendor>_<board>_wizard.json # User-supplied wizard overrides
|
||||
└── tests/
|
||||
├── conftest.py # snapshot fixture + board_* path fixtures
|
||||
├── fixtures/ # Minimal fake board trees
|
||||
│ ├── stm32h7_all_dshot/
|
||||
│ ├── stm32h7_mixed_io/
|
||||
│ ├── stm32h7_ppm_shared/
|
||||
│ ├── stm32h7_capture_channels/ # 8 regular + 8 initIOTimerChannelCapture outputs
|
||||
│ ├── stm32f4_no_dshot/
|
||||
│ └── imxrt_all_dshot/
|
||||
├── snapshots/ # Expected markdown output (.md files)
|
||||
├── test_parsers.py # Unit tests for parse_* functions
|
||||
├── test_compute.py # Unit tests for compute_groups / compute_bdshot
|
||||
├── test_generators.py # Snapshot tests for generate_*_section functions
|
||||
├── test_helpers.py # Unit tests for helper functions
|
||||
└── test_wizard.py # Tests for wizard cache and generate_full_template
|
||||
```
|
||||
|
||||
## Running the script
|
||||
|
||||
Run from the repo root (requires the PX4 `boards/` tree to be present):
|
||||
|
||||
```sh
|
||||
# Generate metadata JSON + fc_sections.md (no file edits):
|
||||
python docs/scripts/fc_doc_generator/fc_doc_generator.py
|
||||
|
||||
# Apply sections to existing FC docs:
|
||||
python docs/scripts/fc_doc_generator/fc_doc_generator.py --apply
|
||||
|
||||
# Apply a single section only:
|
||||
python docs/scripts/fc_doc_generator/fc_doc_generator.py --apply --section pwm_outputs
|
||||
|
||||
# Apply all sections to a single doc only (stem or filename, implies --apply):
|
||||
python docs/scripts/fc_doc_generator/fc_doc_generator.py --doc cuav_x25-evo.md
|
||||
|
||||
# Apply a single section to a single doc:
|
||||
python docs/scripts/fc_doc_generator/fc_doc_generator.py --doc cuav_x25-evo.md --section pwm_outputs
|
||||
|
||||
# Create a new stub FC doc (interactive wizard):
|
||||
python docs/scripts/fc_doc_generator/fc_doc_generator.py --new-doc
|
||||
|
||||
# Check a single doc against quality specs:
|
||||
python docs/scripts/fc_doc_generator/fc_doc_generator.py --check-doc docs/en/flight_controller/holybro_kakuteh7.md
|
||||
|
||||
# Check all FC docs:
|
||||
python docs/scripts/fc_doc_generator/fc_doc_generator.py --check-all
|
||||
```
|
||||
|
||||
Via yarn (from the `docs/` directory): `cd docs && yarn gen_fc_sections`
|
||||
|
||||
## Running tests
|
||||
|
||||
From `docs/scripts/fc_doc_generator/`:
|
||||
|
||||
```sh
|
||||
pytest # run all tests
|
||||
pytest --update-snapshots # regenerate snapshot files after intentional changes
|
||||
pytest tests/test_generators.py # specific test file
|
||||
```
|
||||
|
||||
## Snapshot tests
|
||||
|
||||
Tests in `test_generators.py` use the `snapshot` fixture from `conftest.py`.
|
||||
- Snapshot files live in `tests/snapshots/*.md`
|
||||
- To add a new snapshot test: call `snapshot("my_name.md", result)` — then run `pytest --update-snapshots` to create the file
|
||||
- After intentional generator changes: run `pytest --update-snapshots` then review diffs with `git diff tests/snapshots/`
|
||||
|
||||
## Extension pattern (adding a new section)
|
||||
|
||||
1. Write `parse_<thing>(board_path: Path) -> dict` and call it in `gather_board_data()`, merging into the entry
|
||||
2. Write `generate_<thing>_section(board_key, entry) -> str`
|
||||
3. Register both in `SECTION_GENERATORS` and `SECTION_ORDER`
|
||||
4. Add snapshot tests in `test_generators.py`
|
||||
5. Re-run `cd docs && yarn gen_fc_sections` to regenerate metadata JSON + `fc_sections.md`
|
||||
|
||||
## Key architecture notes
|
||||
|
||||
- **Parsers** read from `boards/<vendor>/<board>/` source files:
|
||||
- `nuttx-config/nsh/defconfig` — chip family, enabled UARTs, SD card
|
||||
- `src/board_config.h` — PWM count, IO board presence, GPIOs
|
||||
- `src/timer_config.cpp` — timer groups and channels
|
||||
- `default.px4board` — Kconfig board settings (serial labels, RC, GPS, drivers)
|
||||
- `nuttx-config/include/board.h` — flow control GPIO definitions
|
||||
- `init/rc.board_sensors` — sensor driver start commands; comments immediately
|
||||
preceding a sensor start line are parsed for port labels (e.g.
|
||||
`# External compass on GPS1/I2C1:` → `port_label: 'GPS1'` on that sensor entry);
|
||||
power monitor drivers (INA226/INA228/INA238) are also captured in
|
||||
`sensor_bus_info['power_monitor']`
|
||||
- `src/i2c.cpp` — authoritative I2C bus routing:
|
||||
`initI2CBusExternal(N)` = external connector; `initI2CBusInternal(N)` = on-board only.
|
||||
When present, stored in `i2c_bus_config` and enables the detailed per-bus I2C output.
|
||||
|
||||
- **Metadata JSON** in `metadata/` caches parsed data (`*_data.json`) and
|
||||
wizard-supplied overrides (`*_wizard.json`). Wizard data persists across runs
|
||||
and provides connector types, sensor names, dimensions, etc.
|
||||
|
||||
- **`BOARD_TO_DOC`** — static mapping from `vendor/board` key to doc filename.
|
||||
Boards mapped to `None` have no existing doc page yet.
|
||||
|
||||
- **Section insertion** — `_apply_section()` finds existing headings and
|
||||
replaces them, or inserts before anchor headings like `## Where to Buy`.
|
||||
The `specifications` section is special: it preserves hand-written content
|
||||
and appends generated content as a `<!-- specifications-proposed -->` comment.
|
||||
|
||||
- **Wizard** — `--new-doc` runs an interactive prompts session and caches
|
||||
answers to `metadata/<stem>_wizard.json` for future re-use.
|
||||
|
||||
## Conventions
|
||||
|
||||
- British English in doc output
|
||||
- Asset files lowercase with underscores; asset folder named after doc stem
|
||||
- Section generators emit embedded `<!-- *-source-data ... -->` JSON comments
|
||||
so the raw parsed values are visible in the doc for manual verification
|
||||
- `TODO:` placeholders are left wherever data cannot be auto-detected
|
||||
|
||||
## Development rules
|
||||
|
||||
**When modifying `fc_doc_generator.py`:**
|
||||
1. All existing tests must pass: run `pytest` from `docs/scripts/fc_doc_generator/`
|
||||
2. New functionality must have new tests (unit tests and/or snapshot tests as appropriate)
|
||||
3. Update this `CLAUDE.md` if the change affects how to run the script, the architecture, extension patterns, or conventions
|
||||
4. **Wizard JSON backward compatibility** — `metadata/*_wizard.json` files are persisted user
|
||||
data. A new tool version must work correctly with an old wizard JSON:
|
||||
- **Adding** a new field to `_WIZARD_CACHE_FIELDS`: safe — missing keys are read via
|
||||
`cached.get(...)` which returns `None`, triggering re-prompting.
|
||||
- **Renaming** an existing field or **changing its structure** (e.g. the shape of
|
||||
`i2c_buses_wizard` entries): **breaking change** — old data is silently lost or
|
||||
misinterpreted. This must be explicitly flagged in the plan and requires a migration
|
||||
strategy (e.g. read both old and new key names, or add a one-time upgrade step).
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,214 +0,0 @@
|
||||
{
|
||||
"board": "3dr/ctrl-zero-h7-oem-revg",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 3,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,282 +0,0 @@
|
||||
{
|
||||
"board": "accton-godwit/ga1",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H753",
|
||||
"total_outputs": 9,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
9
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "EXT2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": true,
|
||||
"has_dronecan_power_input": true,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388",
|
||||
"ICP-20100",
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"BMM150",
|
||||
"IST8308",
|
||||
"IST8310",
|
||||
"MMC5983MA",
|
||||
"RM3100"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/accton-godwit_ga1",
|
||||
"doc_file": "accton-godwit_ga1.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,158 +0,0 @@
|
||||
{
|
||||
"board": "airmind/mindpx-v2",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F42",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20948",
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"HMC5883L",
|
||||
"QMC5883L"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "MPU-6000",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "HMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "MPU-6000",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "HMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/mindpx",
|
||||
"doc_file": "mindpx.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
{
|
||||
"board": "ark/cannode",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F412",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
4,
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": false,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ADIS16507",
|
||||
"ICM-20948",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"SPL06"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"HMC5883L",
|
||||
"IST8308",
|
||||
"IST8310",
|
||||
"IIS2MDC",
|
||||
"LIS3MDL",
|
||||
"QMC5883L",
|
||||
"RM3100",
|
||||
"AK09916"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPL06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "HMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "IST8308",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "IIS2MDC",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "LIS3MDL",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "AK09916",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPL06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "HMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "IST8308",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "IIS2MDC",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "LIS3MDL",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "AK09916",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 2,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": false,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,245 +0,0 @@
|
||||
{
|
||||
"board": "ark/fmu-v6x",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H753",
|
||||
"total_outputs": 9,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
9
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "PX4IO/RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS5",
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": true,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": true,
|
||||
"has_dronecan_power_input": true,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"ADIS16507",
|
||||
"ICM-42688P",
|
||||
"IIM-42652"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"BMM150",
|
||||
"IST8310",
|
||||
"LIS3MDL",
|
||||
"RM3100",
|
||||
"IIS2MDC"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "BMM150",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": true,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "BMM150",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {
|
||||
"ARKV6X000": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/ark_v6x",
|
||||
"doc_file": "ark_v6x.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,203 +0,0 @@
|
||||
{
|
||||
"board": "ark/fpv",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 9,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
9
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS5",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "analog",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"BMM150",
|
||||
"HMC5883L",
|
||||
"QMC5883L",
|
||||
"IST8308",
|
||||
"IST8310",
|
||||
"LIS3MDL",
|
||||
"LSM303AGR",
|
||||
"RM3100",
|
||||
"IIS2MDC"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IIS2MDC",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IIS2MDC",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 3,
|
||||
"num_spi_buses": 2,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/ark_fpv",
|
||||
"doc_file": "ark_fpv.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,208 +0,0 @@
|
||||
{
|
||||
"board": "ark/pi6x",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": true,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"MMC5983MA",
|
||||
"IIS2MDC"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "MMC5983MA",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": true,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "MMC5983MA",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {
|
||||
"ARKPI6X000": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"num_i2c_buses": 3,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/ark_pi6x",
|
||||
"doc_file": "ark_pi6x.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
{
|
||||
"manufacturer": "Arkin Labs",
|
||||
"product": "A2M6X",
|
||||
"fmu_version": null,
|
||||
"since_version": "v1.18",
|
||||
"manufacturer_url": "TODO",
|
||||
"rc_ports_wizard": [
|
||||
{
|
||||
"label": "TODO: RC port label",
|
||||
"side": "IO"
|
||||
},
|
||||
{
|
||||
"label": "PPM",
|
||||
"side": "IO",
|
||||
"ppm_only": true
|
||||
}
|
||||
],
|
||||
"gps_ports_wizard": [
|
||||
{
|
||||
"port_key": "GPS1",
|
||||
"label": "GPS1",
|
||||
"pixhawk_standard": true,
|
||||
"full_port": true
|
||||
},
|
||||
{
|
||||
"port_key": "GPS2",
|
||||
"label": "GPS2",
|
||||
"pixhawk_standard": true,
|
||||
"full_port": false
|
||||
}
|
||||
],
|
||||
"power_ports_wizard": [
|
||||
{
|
||||
"label": "POWER",
|
||||
"connector_type": "TODO: connector type",
|
||||
"monitor_type": "analog"
|
||||
},
|
||||
{
|
||||
"label": "POWER 2",
|
||||
"connector_type": "TODO: connector type",
|
||||
"monitor_type": "dronecan"
|
||||
}
|
||||
],
|
||||
"overview_wizard": {
|
||||
"imu": [
|
||||
"ADIS16470",
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20649",
|
||||
"ICM-20948",
|
||||
"ICM-42670P",
|
||||
"ICM-42688P",
|
||||
"ICM-45686",
|
||||
"IIM-42652"
|
||||
],
|
||||
"baro": [
|
||||
"BMP388",
|
||||
"ICP-20100",
|
||||
"MS5611"
|
||||
],
|
||||
"mag": null,
|
||||
"osd": null,
|
||||
"dimensions_mm": null,
|
||||
"weight_g": null,
|
||||
"voltage_range": null,
|
||||
"usb_connector": null,
|
||||
"num_additional_adc_inputs": null,
|
||||
"sensor_variant_labels": null
|
||||
}
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
{
|
||||
"manufacturer": "Arkin Labs",
|
||||
"product": "AeroMind 6x",
|
||||
"board": "arkin/a2m6x",
|
||||
"fmu_version": null,
|
||||
"since_version": "v1.18",
|
||||
"manufacturer_url": "https://www.arkinlabs.in/aeromind-6x",
|
||||
"rc_ports_wizard": [
|
||||
{
|
||||
"label": "DSM",
|
||||
"side": "IO"
|
||||
},
|
||||
{
|
||||
"label": "PPM",
|
||||
"side": "IO",
|
||||
"ppm_only": true
|
||||
}
|
||||
],
|
||||
"gps_ports_wizard": [
|
||||
{
|
||||
"port_key": "GPS1",
|
||||
"label": "GPS & SAFETY",
|
||||
"pixhawk_standard": true,
|
||||
"full_port": true
|
||||
},
|
||||
{
|
||||
"port_key": "GPS2",
|
||||
"label": "GPS 2",
|
||||
"pixhawk_standard": true,
|
||||
"full_port": false
|
||||
}
|
||||
],
|
||||
"power_ports_wizard": [
|
||||
{
|
||||
"label": "POWER 1",
|
||||
"connector_type": "TODOCONNECTORTYPE",
|
||||
"monitor_type": "analog"
|
||||
},
|
||||
{
|
||||
"label": "POWER 2",
|
||||
"connector_type": "TODOCONNECTORTYPE",
|
||||
"monitor_type": "dronecan"
|
||||
}
|
||||
],
|
||||
"overview_wizard": {
|
||||
"imu": [
|
||||
"ICM-45686",
|
||||
"ICM-45686",
|
||||
"ICM-45686"
|
||||
],
|
||||
"baro": [
|
||||
"ICP-20100",
|
||||
"ICP-20100"
|
||||
],
|
||||
"mag": [
|
||||
"RM3100"
|
||||
],
|
||||
"osd": null,
|
||||
"width_mm": "46",
|
||||
"length_mm": "94",
|
||||
"height_mm": "38",
|
||||
"weight_g": 150.0,
|
||||
"min_voltage": null,
|
||||
"max_voltage": "6V",
|
||||
"usb_connectors": [
|
||||
"USB-C",
|
||||
"JST GH"
|
||||
],
|
||||
"num_additional_adc_inputs": null,
|
||||
"sensor_variant_labels": null
|
||||
}
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
{
|
||||
"board": "atl/mantis-edu",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F765",
|
||||
"total_outputs": null,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "analog",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MPC2520"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MPC2520",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MPC2520",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 2,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,267 +0,0 @@
|
||||
{
|
||||
"board": "auterion/fmu-v6s",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 10,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
9
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
10
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
10
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "Debug Console",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": true,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"BMM150",
|
||||
"BMM350",
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": true,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {
|
||||
"V6S013": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [
|
||||
{
|
||||
"name": "BMM150",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"V6S015": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [
|
||||
{
|
||||
"name": "BMM150",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"__other__": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [
|
||||
{
|
||||
"name": "BMM350",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 2,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": false,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,278 +0,0 @@
|
||||
{
|
||||
"board": "auterion/fmu-v6x",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H753",
|
||||
"total_outputs": 9,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
9
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "EXT2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "PX4IO/RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS5",
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": true,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": true,
|
||||
"has_dronecan_power_input": true,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"BMM150",
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "BMM150",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "BMM150",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,213 +0,0 @@
|
||||
{
|
||||
"board": "av/x-v1",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F777",
|
||||
"total_outputs": 9,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
5
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
6
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
6
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer11",
|
||||
"outputs": [
|
||||
7
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 5,
|
||||
"timer": "Timer10",
|
||||
"outputs": [
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 6,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
9
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [],
|
||||
"sensor_mag_drivers": [
|
||||
"LSM303AGR"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [
|
||||
{
|
||||
"name": "LSM303AGR",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [
|
||||
{
|
||||
"name": "LSM303AGR",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 3,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": false,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
{
|
||||
"board": "bitcraze/crazyflie21",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F405",
|
||||
"total_outputs": 4,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 1,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
{
|
||||
"board": "bitcraze/crazyflie",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F405",
|
||||
"total_outputs": 4,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"MPU-9250"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"LPS25H"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"AK8963"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "LPS25H",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "AK8963",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [
|
||||
{
|
||||
"name": "LPS25H",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "AK8963",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 1,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,230 +0,0 @@
|
||||
{
|
||||
"board": "corvon/743v1",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 10,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
10
|
||||
]
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "URT6",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": true,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"BMI270"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI270",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI270",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 1,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/corvon_743v1",
|
||||
"doc_file": "corvon_743v1.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
{
|
||||
"manufacturer": "corvon",
|
||||
"product": "arse1",
|
||||
"fmu_version": "fmu-v5x",
|
||||
"since_version": "v1.18",
|
||||
"manufacturer_url": "TODO",
|
||||
"rc_ports_wizard": [
|
||||
{
|
||||
"label": "ddd",
|
||||
"side": "IO"
|
||||
}
|
||||
],
|
||||
"gps_ports_wizard": [
|
||||
{
|
||||
"port_key": "GPS1",
|
||||
"label": "GPS1",
|
||||
"pixhawk_standard": true,
|
||||
"full_port": true
|
||||
},
|
||||
{
|
||||
"port_key": "GPS2",
|
||||
"label": "GPS2",
|
||||
"pixhawk_standard": true,
|
||||
"full_port": false
|
||||
}
|
||||
],
|
||||
"power_ports_wizard": [
|
||||
{
|
||||
"label": "POWER 1",
|
||||
"connector_type": "TODO: connector type",
|
||||
"monitor_type": "analog"
|
||||
},
|
||||
{
|
||||
"label": "POWER 2",
|
||||
"connector_type": "TODO: connector type",
|
||||
"monitor_type": "dronecan"
|
||||
}
|
||||
],
|
||||
"overview_wizard": {
|
||||
"imu": [
|
||||
"ADIS16507",
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20649",
|
||||
"ICM-20948",
|
||||
"ICM-42688P",
|
||||
"IIM-42652"
|
||||
],
|
||||
"baro": [
|
||||
"BMP388",
|
||||
"MS5611"
|
||||
],
|
||||
"mag": null,
|
||||
"osd": null,
|
||||
"dimensions_mm": null,
|
||||
"weight_g": null,
|
||||
"voltage_range": null
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
{
|
||||
"manufacturer": "corvon",
|
||||
"product": "arse",
|
||||
"fmu_version": "fmu-v5",
|
||||
"since_version": "v1.18",
|
||||
"manufacturer_url": "TODO",
|
||||
"rc_ports_wizard": [
|
||||
{
|
||||
"label": "TODO: RC port label",
|
||||
"side": "IO"
|
||||
},
|
||||
{
|
||||
"label": "PPM",
|
||||
"side": "IO",
|
||||
"ppm_only": true
|
||||
}
|
||||
],
|
||||
"gps_ports_wizard": [
|
||||
{
|
||||
"port_key": "GPS1",
|
||||
"label": "GPS1",
|
||||
"pixhawk_standard": true,
|
||||
"full_port": true
|
||||
}
|
||||
],
|
||||
"power_ports_wizard": [
|
||||
{
|
||||
"label": "POWER 1",
|
||||
"connector_type": "TODO: connector type"
|
||||
},
|
||||
{
|
||||
"label": "POWER 2",
|
||||
"connector_type": "TODO: connector type"
|
||||
}
|
||||
],
|
||||
"overview_wizard": {
|
||||
"imu": [
|
||||
"BMI055",
|
||||
"ICM-20602",
|
||||
"ICM-20689",
|
||||
"ICM-20948",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"baro": null,
|
||||
"mag": null,
|
||||
"osd": null,
|
||||
"dimensions_mm": null,
|
||||
"weight_g": null,
|
||||
"voltage_range": null
|
||||
}
|
||||
}
|
||||
@@ -1,295 +0,0 @@
|
||||
{
|
||||
"board": "cuav/7-nano",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H753",
|
||||
"total_outputs": 14,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
9,
|
||||
10,
|
||||
11
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9,
|
||||
10,
|
||||
11
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 5,
|
||||
"timer": "Timer15",
|
||||
"outputs": [
|
||||
12
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
12
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 6,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
13,
|
||||
14
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
13,
|
||||
14
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "analog",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20948",
|
||||
"IIM-42652"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP581",
|
||||
"ICP-20100"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"IIS2MDC",
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP581",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IIS2MDC",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP581",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IIS2MDC",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,280 +0,0 @@
|
||||
{
|
||||
"board": "cuav/fmu-v6x",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H753",
|
||||
"total_outputs": 9,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
9
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "EXT2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": true,
|
||||
"has_dronecan_power_input": true,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20948",
|
||||
"ICM-45686",
|
||||
"IIM-42652"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP581",
|
||||
"ICP-20100"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"RM3100",
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-45686",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP581",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-45686",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP581",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": true
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/cuav_pixhawk_v6x",
|
||||
"doc_file": "cuav_pixhawk_v6x.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,298 +0,0 @@
|
||||
{
|
||||
"board": "cuav/nora",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 14,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
8
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
13,
|
||||
14
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
13,
|
||||
14
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": true,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20649",
|
||||
"ICM-20689",
|
||||
"ICM-20948",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"RM3100",
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 6,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 6,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 6,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 6,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/cuav_nora",
|
||||
"doc_file": "cuav_nora.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,283 +0,0 @@
|
||||
{
|
||||
"board": "cuav/x25-evo",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 16,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
8
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
9,
|
||||
10,
|
||||
11
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9,
|
||||
10,
|
||||
11
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
12,
|
||||
13,
|
||||
14
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
12,
|
||||
13,
|
||||
14
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 5,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
15,
|
||||
16
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
15,
|
||||
16
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "EXT2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": true,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20948",
|
||||
"IIM-42652"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP581",
|
||||
"ICP-20100"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"RM3100",
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP581",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP581",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/cuav_x25-evo",
|
||||
"doc_file": "cuav_x25-evo.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,282 +0,0 @@
|
||||
{
|
||||
"board": "cuav/x25-super",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 16,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
8
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
9,
|
||||
10,
|
||||
11
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9,
|
||||
10,
|
||||
11
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
12,
|
||||
13,
|
||||
14
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
12,
|
||||
13,
|
||||
14
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 5,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
15,
|
||||
16
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
15,
|
||||
16
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "EXT2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": true,
|
||||
"has_dronecan_power_input": true,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"IIM-42652"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP581",
|
||||
"ICP-20100"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"RM3100",
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP581",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "IIM-42652",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP581",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/cuav_x25-super",
|
||||
"doc_file": "cuav_x25-super.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,299 +0,0 @@
|
||||
{
|
||||
"board": "cuav/x7pro",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 14,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
8
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
13,
|
||||
14
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
13,
|
||||
14
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": true,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"ADIS16470",
|
||||
"BMI088",
|
||||
"ICM-20649",
|
||||
"ICM-20689",
|
||||
"ICM-20948",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"RM3100",
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ADIS16470",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 6,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 6,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ADIS16470",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 6,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 6,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/cuav_x7",
|
||||
"doc_file": "cuav_x7.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,207 +0,0 @@
|
||||
{
|
||||
"board": "cubepilot/cubeorange",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 6,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602",
|
||||
"ICM-20649",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20649",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20649",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orange",
|
||||
"doc_file": "cubepilot_cube_orange.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,224 +0,0 @@
|
||||
{
|
||||
"board": "cubepilot/cubeorangeplus",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H747",
|
||||
"total_outputs": 6,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20649",
|
||||
"ICM-20948",
|
||||
"ICM-42688P",
|
||||
"ICM-45686"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"AK09916"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-45686",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20649",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "AK09916",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-45686",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20649",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "AK09916",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 3,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/cubepilot_cube_orangeplus",
|
||||
"doc_file": "cubepilot_cube_orangeplus.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,204 +0,0 @@
|
||||
{
|
||||
"board": "cubepilot/cubeyellow",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F777",
|
||||
"total_outputs": 6,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602",
|
||||
"ICM-20649",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20649",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20649",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/cubepilot_cube_yellow",
|
||||
"doc_file": "cubepilot_cube_yellow.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
{
|
||||
"board": "cubepilot/io-v2",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F100",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": false,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [],
|
||||
"sensor_baro_drivers": [],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 0,
|
||||
"num_spi_buses": 0,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": false,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,140 +0,0 @@
|
||||
{
|
||||
"board": "diatone/mamba-f405-mk2",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F405",
|
||||
"total_outputs": 4,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": false,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602",
|
||||
"MPU-6000",
|
||||
"MPU-9250",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP280"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"AK8963",
|
||||
"HMC5883L"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP280",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "AK8963",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP280",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "AK8963",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,76 +0,0 @@
|
||||
{
|
||||
"board": "espressif/esp32",
|
||||
"chip_family": "unknown",
|
||||
"chip_model": null,
|
||||
"total_outputs": 4,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer0",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": true,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [],
|
||||
"sensor_baro_drivers": [],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 0,
|
||||
"num_spi_buses": 0,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": false,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
{
|
||||
"board": "flywoo/gn-f405",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F405",
|
||||
"total_outputs": 4,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": false,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP280"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "MPU-6000",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP280",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "MPU-6000",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP280",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,228 +0,0 @@
|
||||
{
|
||||
"board": "gearup/airbrainh743",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 9,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
9
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS1",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": false,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"HMC5883L",
|
||||
"IST8310",
|
||||
"LIS3MDL",
|
||||
"QMC5883L",
|
||||
"IIS2MDC"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IIS2MDC",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IIS2MDC",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/gearup_airbrainh743",
|
||||
"doc_file": "gearup_airbrainh743.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,212 +0,0 @@
|
||||
{
|
||||
"board": "hkust/nxt-dual",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"SPL06"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPL06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPL06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,212 +0,0 @@
|
||||
{
|
||||
"board": "hkust/nxt-v1",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
7
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,270 +0,0 @@
|
||||
{
|
||||
"board": "holybro/durandal-v1",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 10,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": true,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20689",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": true,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {
|
||||
"VD000000": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"VD000001": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
}
|
||||
}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/durandal",
|
||||
"doc_file": "durandal.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"manufacturer": "holybro",
|
||||
"product": "durandal",
|
||||
"fmu_version": null,
|
||||
"since_version": "v1.18",
|
||||
"manufacturer_url": "https://holybro.com/",
|
||||
"rc_ports_wizard": [
|
||||
{
|
||||
"label": "RC INX",
|
||||
"side": "IO"
|
||||
}
|
||||
],
|
||||
"gps_ports_wizard": [
|
||||
{
|
||||
"port_key": "GPS1",
|
||||
"label": "GPS1",
|
||||
"pixhawk_standard": true,
|
||||
"full_port": true
|
||||
}
|
||||
],
|
||||
"power_ports_wizard": [
|
||||
{
|
||||
"label": "PowerXX1",
|
||||
"connector_type": "TODO: connector type"
|
||||
},
|
||||
{
|
||||
"label": "POWER 2",
|
||||
"connector_type": "TODO: connector type"
|
||||
}
|
||||
],
|
||||
"overview_wizard": {
|
||||
"imu": [
|
||||
"BMI088",
|
||||
"ICM-20689"
|
||||
],
|
||||
"baro": null,
|
||||
"mag": null,
|
||||
"osd": null,
|
||||
"dimensions_mm": null,
|
||||
"weight_g": null,
|
||||
"voltage_range": null,
|
||||
"usb_connector": null,
|
||||
"num_additional_adc_inputs": null,
|
||||
"sensor_variant_labels": {
|
||||
"VD000000": "Var1.1",
|
||||
"VD000001": "var1.102"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,198 +0,0 @@
|
||||
{
|
||||
"board": "holybro/kakutef7",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F745",
|
||||
"total_outputs": 6,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": [
|
||||
1,
|
||||
2
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
5
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": [
|
||||
5
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": [
|
||||
6
|
||||
]
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": false,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20689",
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP280"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [
|
||||
"AT7456E"
|
||||
],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP280",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP280",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/kakutef7",
|
||||
"doc_file": "kakutef7.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,266 +0,0 @@
|
||||
{
|
||||
"board": "holybro/kakuteh7-wing",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 14,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
6
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer15",
|
||||
"outputs": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 5,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
11,
|
||||
12,
|
||||
13
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
11,
|
||||
12,
|
||||
13
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
11,
|
||||
12,
|
||||
13
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 6,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
14
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
14
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
14
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": true,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "analog",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP280",
|
||||
"SPA06"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [
|
||||
"AT7456E"
|
||||
],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": [
|
||||
{
|
||||
"name": "AT7456E",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": [
|
||||
{
|
||||
"name": "AT7456E",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 3,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/kakuteh7-wing",
|
||||
"doc_file": "kakuteh7-wing.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,203 +0,0 @@
|
||||
{
|
||||
"board": "holybro/kakuteh7",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI270",
|
||||
"ICM-42688P",
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"SPA06"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/kakuteh7",
|
||||
"doc_file": "kakuteh7.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"manufacturer": "Holybro",
|
||||
"product": "KakuteH7",
|
||||
"fmu_version": "v1.18",
|
||||
"since_version": "n",
|
||||
"manufacturer_url": "https://holybro.com/",
|
||||
"rc_ports_wizard": [
|
||||
{
|
||||
"label": "GPS1",
|
||||
"side": "FMU"
|
||||
}
|
||||
],
|
||||
"gps_ports_wizard": null
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"manufacturer": "Holybro",
|
||||
"product": "KakuteH7",
|
||||
"board": null,
|
||||
"fmu_version": "v1.18",
|
||||
"since_version": "RC",
|
||||
"manufacturer_url": "https://holybro.com/",
|
||||
"rc_ports_wizard": [
|
||||
{
|
||||
"label": "n",
|
||||
"side": "FMU"
|
||||
}
|
||||
],
|
||||
"gps_ports_wizard": null,
|
||||
"power_ports_wizard": [
|
||||
{
|
||||
"label": "GPS1",
|
||||
"connector_type": "n"
|
||||
}
|
||||
],
|
||||
"overview_wizard": {
|
||||
"imu": null,
|
||||
"baro": null,
|
||||
"mag": null,
|
||||
"osd": null,
|
||||
"width_mm": null,
|
||||
"length_mm": null,
|
||||
"height_mm": null,
|
||||
"weight_g": null,
|
||||
"min_voltage": null,
|
||||
"max_voltage": null,
|
||||
"usb_connectors": null,
|
||||
"num_additional_adc_inputs": null,
|
||||
"sensor_variant_labels": null
|
||||
}
|
||||
}
|
||||
@@ -1,216 +0,0 @@
|
||||
{
|
||||
"board": "holybro/kakuteh7dualimu",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": true,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-42688P",
|
||||
"ICM-45686"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"ICP-20100"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [
|
||||
"AT7456E"
|
||||
],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-45686",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-45686",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/kakuteh7v2",
|
||||
"doc_file": "kakuteh7v2.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,203 +0,0 @@
|
||||
{
|
||||
"board": "holybro/kakuteh7mini",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI270",
|
||||
"ICM-42688P",
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"SPA06"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/kakuteh7mini",
|
||||
"doc_file": "kakuteh7mini.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,203 +0,0 @@
|
||||
{
|
||||
"board": "holybro/kakuteh7v2",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI270",
|
||||
"ICM-42688P",
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"SPA06"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/kakuteh7v2",
|
||||
"doc_file": "kakuteh7v2.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,261 +0,0 @@
|
||||
{
|
||||
"board": "holybro/pix32v5",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F765",
|
||||
"total_outputs": 11,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
9,
|
||||
10,
|
||||
11
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9,
|
||||
10,
|
||||
11
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 2,
|
||||
"has_redundant_power": true,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI055",
|
||||
"ICM-20602",
|
||||
"ICM-20689",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI055",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20689",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI055",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 1,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 5,
|
||||
"num_can_buses": 3,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/holybro_pix32_v5",
|
||||
"doc_file": "holybro_pix32_v5.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"board": "matek/gnss-m9n-f4",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F405",
|
||||
"total_outputs": null,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": false,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"RM3100"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "RM3100",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,246 +0,0 @@
|
||||
{
|
||||
"board": "matek/h743-mini",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 12,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
10
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer15",
|
||||
"outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602",
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"QMC5883L"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MPU-6000",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MPU-6000",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,247 +0,0 @@
|
||||
{
|
||||
"board": "matek/h743-slim",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 12,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
10
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer15",
|
||||
"outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602",
|
||||
"ICM-42688P",
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"QMC5883L"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "MPU-6000",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "MPU-6000",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 4,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,235 +0,0 @@
|
||||
{
|
||||
"board": "matek/h743",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 12,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
10
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer15",
|
||||
"outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602",
|
||||
"ICM-42688P",
|
||||
"MPU-6000"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"QMC5883L"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,210 +0,0 @@
|
||||
{
|
||||
"board": "micoair/h743-aio",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 9,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "URT6",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": true,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"BMI270"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI270",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI270",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 1,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,238 +0,0 @@
|
||||
{
|
||||
"board": "micoair/h743-lite",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 14,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
11,
|
||||
12
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
13,
|
||||
14
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
13,
|
||||
14
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 5,
|
||||
"timer": "Timer15",
|
||||
"outputs": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "URT6",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS5",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": true,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-45686"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"SPA06"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-45686",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-45686",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPA06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": 2,
|
||||
"external": true
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 1,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/micoair743-lite",
|
||||
"doc_file": "micoair743-lite.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,245 +0,0 @@
|
||||
{
|
||||
"board": "micoair/h743-v2",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 10,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer15",
|
||||
"outputs": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
9,
|
||||
10
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "URT6",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS5",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": true,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"BMI270"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"SPL06"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"QMC5883L"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI270",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPL06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI270",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 3,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "SPL06",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "QMC5883L",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 2,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,230 +0,0 @@
|
||||
{
|
||||
"board": "micoair/h743",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 10,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8,
|
||||
9
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
10
|
||||
]
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "RC",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "URT6",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": true,
|
||||
"rc_serial_device": "/dev/ttyS4",
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": true,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina238",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"BMI270"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [
|
||||
"IST8310"
|
||||
],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI270",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI270",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [
|
||||
{
|
||||
"name": "IST8310",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 1,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,215 +0,0 @@
|
||||
{
|
||||
"board": "modalai/fc-v1",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F765",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
8
|
||||
]
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM3",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20948",
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"BMP388"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "BMP388",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/modalai_fc_v1",
|
||||
"doc_file": "modalai_fc_v1.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,209 +0,0 @@
|
||||
{
|
||||
"board": "modalai/fc-v2",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H753",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer5",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer12",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART5",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS7",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-42688P"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"ICP-20100"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-42688P",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "ICP-20100",
|
||||
"bus_type": "I2C",
|
||||
"bus_num": null,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 4,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,108 +0,0 @@
|
||||
{
|
||||
"board": "modalai/voxl2-io",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F100",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer3",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": null,
|
||||
"has_sd_card": false,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [],
|
||||
"sensor_baro_drivers": [],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [],
|
||||
"baro": [],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 0,
|
||||
"num_spi_buses": 0,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": false,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,251 +0,0 @@
|
||||
{
|
||||
"board": "mro/ctrl-zero-classic",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 12,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6,
|
||||
7
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": [
|
||||
7
|
||||
]
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer2",
|
||||
"outputs": [
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
8,
|
||||
9,
|
||||
10
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 4,
|
||||
"timer": "Timer15",
|
||||
"outputs": [
|
||||
11
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
11
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 5,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
12
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
12
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
12
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": true,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 2,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,203 +0,0 @@
|
||||
{
|
||||
"board": "mro/ctrl-zero-f7-oem",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F777",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 3,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/mro_control_zero_f7",
|
||||
"doc_file": "mro_control_zero_f7.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,203 +0,0 @@
|
||||
{
|
||||
"board": "mro/ctrl-zero-f7",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F777",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/mro_control_zero_f7",
|
||||
"doc_file": "mro_control_zero_f7.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,214 +0,0 @@
|
||||
{
|
||||
"board": "mro/ctrl-zero-h7-oem",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 3,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,214 +0,0 @@
|
||||
{
|
||||
"board": "mro/ctrl-zero-h7",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": true,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 3,
|
||||
"num_can_buses": 1,
|
||||
"has_usb": true,
|
||||
"doc_url": null,
|
||||
"doc_file": null,
|
||||
"doc_exists": false,
|
||||
"documented": false
|
||||
}
|
||||
@@ -1,220 +0,0 @@
|
||||
{
|
||||
"board": "mro/pixracerpro",
|
||||
"chip_family": "stm32h7",
|
||||
"chip_model": "STM32H743",
|
||||
"total_outputs": 8,
|
||||
"has_io_board": false,
|
||||
"io_outputs": 0,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 3,
|
||||
"timer": "Timer8",
|
||||
"outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
7,
|
||||
8
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "TELEM3",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "TELEM4",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "GPS2",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": true,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": true,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": true,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"BMI088",
|
||||
"ICM-20602",
|
||||
"ICM-20948"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"DPS310"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "BMI088",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 5,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "ICM-20948",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "DPS310",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 2,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 4,
|
||||
"num_can_buses": 2,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/pixracer",
|
||||
"doc_file": "pixracer.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,186 +0,0 @@
|
||||
{
|
||||
"board": "mro/x21-777",
|
||||
"chip_family": "stm32f7",
|
||||
"chip_model": "STM32F777",
|
||||
"total_outputs": 6,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": true,
|
||||
"dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"non_dshot_outputs": [],
|
||||
"bdshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [
|
||||
{
|
||||
"uart": "USART1",
|
||||
"device": "/dev/ttyS0",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART2",
|
||||
"device": "/dev/ttyS1",
|
||||
"label": "TELEM1",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "USART3",
|
||||
"device": "/dev/ttyS2",
|
||||
"label": "TELEM2",
|
||||
"flow_control": true
|
||||
},
|
||||
{
|
||||
"uart": "UART4",
|
||||
"device": "/dev/ttyS3",
|
||||
"label": "GPS1",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "USART6",
|
||||
"device": "/dev/ttyS4",
|
||||
"label": "PX4IO",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART7",
|
||||
"device": "/dev/ttyS5",
|
||||
"label": "Debug Console",
|
||||
"flow_control": false
|
||||
},
|
||||
{
|
||||
"uart": "UART8",
|
||||
"device": "/dev/ttyS6",
|
||||
"label": "",
|
||||
"flow_control": false
|
||||
}
|
||||
],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602",
|
||||
"ICM-20948",
|
||||
"MPU-9250"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MPU-9250",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MPU-9250",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 2,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/mro_x2.1",
|
||||
"doc_file": "mro_x2.1.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
@@ -1,138 +0,0 @@
|
||||
{
|
||||
"board": "mro/x21",
|
||||
"chip_family": "stm32f4",
|
||||
"chip_model": "STM32F42",
|
||||
"total_outputs": 6,
|
||||
"has_io_board": true,
|
||||
"io_outputs": 8,
|
||||
"groups": [
|
||||
{
|
||||
"group": 1,
|
||||
"timer": "Timer1",
|
||||
"outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
},
|
||||
{
|
||||
"group": 2,
|
||||
"timer": "Timer4",
|
||||
"outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"dshot": false,
|
||||
"dshot_outputs": [],
|
||||
"non_dshot_outputs": [
|
||||
5,
|
||||
6
|
||||
],
|
||||
"bdshot_outputs": [],
|
||||
"bdshot_output_only": []
|
||||
}
|
||||
],
|
||||
"serial_ports": [],
|
||||
"has_rc_input": false,
|
||||
"has_common_rc": false,
|
||||
"rc_serial_device": null,
|
||||
"has_ppm_pin": false,
|
||||
"ppm_shared_with_rc_serial": false,
|
||||
"has_pps_capture": false,
|
||||
"has_safety_switch": false,
|
||||
"has_safety_led": false,
|
||||
"has_buzzer": false,
|
||||
"num_power_inputs": 1,
|
||||
"has_redundant_power": false,
|
||||
"has_dual_battery_monitoring": false,
|
||||
"has_dronecan_power_input": false,
|
||||
"power_monitor_type": "ina226",
|
||||
"has_sd_card": true,
|
||||
"has_ethernet": false,
|
||||
"has_heater": false,
|
||||
"sensor_imu_drivers": [
|
||||
"ICM-20602",
|
||||
"ICM-20948",
|
||||
"MPU-9250"
|
||||
],
|
||||
"sensor_baro_drivers": [
|
||||
"MS5611"
|
||||
],
|
||||
"sensor_mag_drivers": [],
|
||||
"sensor_osd_drivers": [],
|
||||
"sensor_bus_info": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MPU-9250",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"sensor_variant_info": {
|
||||
"has_variants": false,
|
||||
"unconditional": {
|
||||
"imu": [
|
||||
{
|
||||
"name": "ICM-20602",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
},
|
||||
{
|
||||
"name": "MPU-9250",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"baro": [
|
||||
{
|
||||
"name": "MS5611",
|
||||
"bus_type": "SPI",
|
||||
"bus_num": 1,
|
||||
"external": false
|
||||
}
|
||||
],
|
||||
"mag": [],
|
||||
"osd": []
|
||||
},
|
||||
"variants": {}
|
||||
},
|
||||
"num_i2c_buses": 1,
|
||||
"num_spi_buses": 2,
|
||||
"num_can_buses": 0,
|
||||
"has_usb": true,
|
||||
"doc_url": "https://docs.px4.io/main/en/flight_controller/mro_x2.1",
|
||||
"doc_file": "mro_x2.1.md",
|
||||
"doc_exists": true,
|
||||
"documented": true
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user