Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
Hwurzburg committed Nov 17, 2023
2 parents 7d1a488 + bc6fb57 commit 2e39cc6
Show file tree
Hide file tree
Showing 192 changed files with 5,319 additions and 1,280 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/test-Windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
python-version: ["3.8", "3.10"]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Setting environment
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ jobs:

build-linux:

runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false # don't cancel if a job from the matrix fails
matrix:
python-version: ["3.8", "3.10"]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Setting environment
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3.10-slim-bullseye
FROM python:3.11-slim-bookworm



Expand Down
5 changes: 1 addition & 4 deletions Sphinxsetup.bat
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ rem remove any existing packages that may cause conflicts
pip uninstall -y sphinx lxml sphinx-rtd-theme sphinxcontrib-youtube beautifulsoup4

rem Install sphinx
pip install --upgrade sphinx==5.1.1 docutils==0.16
pip install --upgrade sphinx==7.1.2 "docutils<0.19" requests>=2.31.0

rem lxml for parameter parsing:
pip install --upgrade lxml
Expand All @@ -13,8 +13,5 @@ pip install --upgrade git+https://github.com/ArduPilot/sphinx_rtd_theme.git
rem and a youtube plugin:
pip install --upgrade git+https://github.com/ArduPilot/sphinxcontrib-youtube.git

rem and a parser to use getting posts from Discourse (forum) and insert in FrontEnd
pip install --upgrade beautifulsoup4

echo "Setup completed successfully!"
pause
14 changes: 8 additions & 6 deletions Sphinxsetup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,20 @@ if [ "$(python --version)" == "Python 3.6.9" ]; then
GET_PIP_URL="https://bootstrap.pypa.io/pip/3.6/get-pip.py"
fi

PYTHON_VERSION=$(python3 --version | cut -d' ' -f2)
if [[ "${PYTHON_VERSION:0:3}" = "3.8" ]]; then
SPHINX_VERSION="7.1.2"
else
SPHINX_VERSION="7.2.6"
fi

curl "$GET_PIP_URL" -o get-pip.py
python3 get-pip.py
rm -f get-pip.py

# Install python packages using known working versions
# Install sphinx with a specific docutils version
# Docutils version is for correct bullet point rendering. Can be rolled forward after theme is updated to >=0.5.1
# See https://stackoverflow.com/a/68685753/2578171
python3 -m pip install --user --upgrade sphinx==5.1.1 docutils==0.16
python3 -m pip install --user --upgrade sphinx==${SPHINX_VERSION} "docutils<0.19" "requests>=2.31.0"

# lxml for parameter parsing:
python3 -m pip install --user --upgrade lxml
Expand All @@ -59,9 +64,6 @@ python3 -m pip install --user --upgrade git+https://github.com/ArduPilot/sphinx_
# Rerun Sphinxsetup.sh after doing that
python3 -m pip install --user --upgrade git+https://github.com/ArduPilot/sphinxcontrib-youtube.git

# and a parser to use getting posts from Discourse (forum) and insert in FrontEnd
python3 -m pip install --user --upgrade beautifulsoup4

# Install flake8
python3 -m pip install --user --upgrade flake8==3.7.9

Expand Down
32 changes: 24 additions & 8 deletions antennatracker/source/_static/parameters_versioning_script.inc
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
<p>You can change and check the parameters for another version: <script type="text/javascript" src="../_static/jquery-3.2.1.min.js">
</script>

<select class="selectpicker" onChange="window.document.location.href=this.options[this.selectedIndex].value;"></select>
<p>You can change and check the parameters for another version:
<select class="selectpicker" id="selectPicker"></select>
</p>

<script type="text/javascript">
jQuery.getJSON("../_static/parameters-AntennaTracker.json", {}, function(json) {
$.each(json, function(key, value) {
$('.selectpicker').append('<option value="' + json[key] + '">' + key + '</option>');
document.addEventListener("DOMContentLoaded", function() {
fetch("../_static/parameters-AntennaTracker.json")
.then(function(response) { return response.json(); })
.then(function(json) {
appendToSelect(json);
});
}); </script> </p>

document.getElementById('selectPicker').addEventListener('change', function() {
window.location.href = this.value;
});

function appendToSelect(json) {
var selectPicker = document.getElementById('selectPicker');
for (var key in json) {
var opt = document.createElement('option');
opt.value = json[key];
opt.innerHTML = key;
selectPicker.appendChild(opt);
}
}
});
</script>
32 changes: 24 additions & 8 deletions blimp/source/_static/parameters_versioning_script.inc
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
<p>You can change and check the parameters for another version: <script type="text/javascript" src="../_static/jquery-3.2.1.min.js">
</script>

<select class="selectpicker" onChange="window.document.location.href=this.options[this.selectedIndex].value;"></select>
<p>You can change and check the parameters for another version:
<select class="selectpicker" id="selectPicker"></select>
</p>

<script type="text/javascript">
jQuery.getJSON("../_static/parameters-Blimp.json", {}, function(json) {
$.each(json, function(key, value) {
$('.selectpicker').append('<option value="' + json[key] + '">' + key + '</option>');
document.addEventListener("DOMContentLoaded", function() {
fetch("../_static/parameters-Blimp.json")
.then(function(response) { return response.json(); })
.then(function(json) {
appendToSelect(json);
});
}); </script> </p>

document.getElementById('selectPicker').addEventListener('change', function() {
window.location.href = this.value;
});

function appendToSelect(json) {
var selectPicker = document.getElementById('selectPicker');
for (var key in json) {
var opt = document.createElement('option');
opt.value = json[key];
opt.innerHTML = key;
selectPicker.appendChild(opt);
}
}
});
</script>
2 changes: 1 addition & 1 deletion common/source/docs/common-3dr-power-module.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ If the autopilot has additional analog-to-digital pins available, a second batte

- :ref:`BATT2_MONITOR <BATT_MONITOR>` = **4** to measure both voltage and current (you will need to reboot the board after changing this)
- :ref:`BATT2_VOLT_PIN <BATT_VOLT_PIN>` = **13**
- :ref:`BATT_CURR_PIN <BATT_CURR_PIN>` = **14**
- :ref:`BATT2_CURR_PIN <BATT_CURR_PIN>` = **14**

The :ref:`BATT2_VOLT_MULT <BATT_VOLT_MULT>` and :ref:`BATT2_AMP_PERVLT <BATT_AMP_PERVLT>` should also be set by comparing the reported values vs values collected using a hand held voltage meter

Expand Down
66 changes: 66 additions & 0 deletions common/source/docs/common-aerotate-dronecan-battery.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
.. _common-aerotate-dronecan-battery:

=========================
Aerotate DroneCAN Battery
=========================

.. image:: ../../../images/aerotate/Aeropax6_front.png
:target: ../_images/aerotate/Aeropax6_front.png
:width: 700px


The `aeroPAX <https://aerotate.com/>`__ batteries are smart batteries, that communicate through DroneCAN, which gives the advantage of being able to set up several batteries in one system.

The Aerotate aeroPAX Smart Batteries come with a standard DroneCAN interface, through which the following information is transmitted:

- Stack-Voltage
- Current
- Cell-temperature
- Status flags (9 different flags)
- State of charge in % (SOC)
- Battery ID (number corresponding to the adapter the battery is connected to)
- Model instance ID (unique for each battery of one model)
- Model Name

The information below can be transmitted through the DroneCAN interface and will be usable in a future update:

- State of health in % (SOH)
- State of charge standard deviation
- Remaining capacity Wh
- Full charge capacity Wh
- Hours to full charge
- Average Power 10sec

When managing a fleet with a high number of drones, the battery status data. Data about the status of the individual cells as well as logging data of each individual flight can be uploaded using a wifi-capable interfacing hardware that can be integrated in the chargers.

When a software update is rolled out, you can easily update the batteries using the DroneCAN GUI Tool.

Connection and Configuration
============================

The aeroPAX batteries come with a standard adapter to attach to your drone. The adapter comes with standard JST-GH plugs to connect to one of the CAN buses. Current distribution can be done directly on the adapter board. The adapters are customizable, if there is the need, you can contact [email protected].

To setup the aeroPAX Smart Battery in Mission Planer for DroneCAN, go to Config/Tuning Full Parameter List, then search for “BATT” or scroll down to :ref:`BATT_MONITOR<BATT_MONITOR>`.

.. image:: ../../../images/aerotate/MP_FullPList_BATT_MONITOR.jpg
:target: ../_images/aerotate/MP_FullPList_BATT_MONITOR.jpg
:width: 700px

Connect to the autopilot with a ground station and set the following parameters and then reboot the autopilot

- Set :ref:`CAN_P1_DRIVER<CAN_P1_DRIVER>` to 1 (First Driver) or :ref:`CAN_P2_DRIVER<CAN_P2_DRIVER>` to 1 (Second Driver) for second CAN port
- Set :ref:`CAN_D1_PROTOCOL<CAN_D1_PROTOCOL>` to 1 (DroneCAN) or :ref:`CAN_D2_PROTOCOL<CAN_D2_PROTOCOL>` to 1 for second CAN port
- Set :ref:`BATT_MONITOR<BATT_MONITOR>` to 8 (DroneCAN)
- Set :ref:`BATT_SERIAL_NUM<BATT_SERIAL_NUM>` to the address you have set at the battery adapter. On each battery adapter, 4 bits can be set to encode this field resulting in 16 possible addresses, where addresses 0 and 15 are reserved and cannot be used. The DroneCAN parameter is battery_id.

The aeroPAX batteries can be setup in parallel and series, but max 2 in series. For parallel setups, a protected output is strongly recommended. It enables hot-swap-ability and protects against user errors.
For parallel setups an additional battery monitor can be added as :ref:`BATT_SUM_MASK<BATT_SUM_MASK>`, this will sum up the currents and average the voltages, for a better overview.

Safety
======

Using Mission Planner's preflight checklist can enhance your safety, by checking that the state of charge (SOC) is above a specific limit.

.. image:: ../../../images/aerotate/PreFlightCheckList_BattRemain.jpg
:target: ../_images/aerotate/PreFlightCheckList_BattRemain.jpg
:width: 700px
38 changes: 31 additions & 7 deletions common/source/docs/common-all-vehicle-types.rst
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ Supported Vehicles
+------+----------------------------------------------------------------------------------------------------+
+ Desc | 3 fixed pairs of coaxial motors arranged in a Y, tail of the Y rear-wards; yaw via diff. thrust +
+------+-------------------------------------------------+--------------------------------------------------+
+ Sim | Yes + .. youtube:: kj9haEZGA5I#t=14 +
+ Sim | Yes + .. youtube:: kj9haEZGA5I&t=14s +
+------+-------------------------------------------------+ :width: 100% +
+ R/W | Yes + +
+------+-------------------------------------------------+ +
Expand Down Expand Up @@ -156,7 +156,7 @@ Supported Vehicles
+------+----------------------------------------------------------------------------------------------------+
+ Desc | Pitch and roll control by independent thrust vectoring of the coaxial props +
+------+-------------------------------------------------+--------------------------------------------------+
+ Sim | No + .. youtube:: s1GRncR6_KE?t=146 +
+ Sim | No + .. youtube:: s1GRncR6_KE&t=146s +
+------+-------------------------------------------------+ :width: 100% +
+ R/W | Yes + +
+------+-------------------------------------------------+ +
Expand Down Expand Up @@ -216,7 +216,7 @@ Supported Vehicles
+------+----------------------------------------------------------------------------------------------------+
+ Desc | Dual-disk helicopter with inter-meshing blades +
+------+-------------------------------------------------+--------------------------------------------------+
+ Sim | Yes + .. youtube:: Iq7c-47DRqY#t=19 +
+ Sim | Yes + .. youtube:: Iq7c-47DRqY&t=19s +
+------+-------------------------------------------------+ :width: 100% +
+ R/W | Yes + +
+------+-------------------------------------------------+ +
Expand All @@ -228,7 +228,7 @@ Supported Vehicles
+------+----------------------------------------------------------------------------------------------------+
+ Desc | Traditional Aeleron/Elevator/Throttle/Rudder Tractor +
+------+-------------------------------------------------+--------------------------------------------------+
+ Sim | Yes + .. youtube:: _J9Vnfzw9os?t=22 +
+ Sim | Yes + .. youtube:: _J9Vnfzw9os&t=22s +
+------+-------------------------------------------------+ :width: 100% +
+ R/W | Yes + +
+------+-------------------------------------------------+ +
Expand Down Expand Up @@ -300,7 +300,7 @@ Supported Vehicles
+------+----------------------------------------------------------------------------------------------------+
+ Desc | Four lifting motors, lifting an elevator/ailieron/rudder plane +
+------+-------------------------------------------------+--------------------------------------------------+
+ Sim | Yes + .. youtube:: 8196rK-Aoeo#t=225 +
+ Sim | Yes + .. youtube:: 8196rK-Aoeo&t=225s +
+------+-------------------------------------------------+ :width: 100% +
+ R/W | Yes + +
+------+-------------------------------------------------+ +
Expand Down Expand Up @@ -456,6 +456,18 @@ Supported Vehicles
+------+-------------------------------------------------+ +
+ Info | + +
+------+-------------------------------------------------+--------------------------------------------------+
+ **Skid-Steer Legged Rover** +
+------+----------------------------------------------------------------------------------------------------+
+ Desc | Strandbeast +
+------+-------------------------------------------------+--------------------------------------------------+
+ Sim | No + .. youtube:: nHqqCRVlUus +
+------+-------------------------------------------------+ :width: 100% +
+ R/W | Yes + +
+------+-------------------------------------------------+ +
+ Code | Rover + +
+------+-------------------------------------------------+ +
+ Info | + +
+------+-------------------------------------------------+--------------------------------------------------+
+ **Air-Boat** +
+------+----------------------------------------------------------------------------------------------------+
+ Desc | Vectored thrust fan +
Expand Down Expand Up @@ -506,7 +518,7 @@ Supported Vehicles
+------+-------------------------------------------------+--------------------------------------------------+
+ **Balance Bot** +
+------+----------------------------------------------------------------------------------------------------+
+ Desc | Fundametally unstable wheeled platform actively kept balanced by the autopilot +
+ Desc | Fundamentally unstable wheeled platform actively kept balanced by the autopilot +
+------+-------------------------------------------------+--------------------------------------------------+
+ Sim | Yes + .. youtube:: EmhTBPNDpWw +
+------+-------------------------------------------------+ :width: 100% +
Expand Down Expand Up @@ -540,6 +552,18 @@ Supported Vehicles
+------+-------------------------------------------------+ +
+ Info | + +
+------+-------------------------------------------------+--------------------------------------------------+
+ **Blimp (flapping fin)** +
+------+----------------------------------------------------------------------------------------------------+
+ Desc | Flapping Fin Blimps +
+------+-------------------------------------------------+--------------------------------------------------+
+ Sim | Yes + .. youtube:: t-qaqH-AO2c +
+------+-------------------------------------------------+ :width: 100% +
+ R/W | Yes + +
+------+-------------------------------------------------+ +
+ Code | Blimp + +
+------+-------------------------------------------------+ +
+ Info | + +
+------+-------------------------------------------------+--------------------------------------------------+


[copywiki destination="ardupilot"]
[copywiki destination="ardupilot"]
Loading

0 comments on commit 2e39cc6

Please sign in to comment.