diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml
index e5c34349e..b9fc18588 100644
--- a/.github/workflows/build-image.yaml
+++ b/.github/workflows/build-image.yaml
@@ -22,12 +22,12 @@ jobs:
# cd images && sudo chmod -R 777 . && zip -9 $(echo clover_*).zip clover_* && ls -lh . && unzip -l clover_*.zip
- name: Compress image using 7-Zip
run: |
- cd images && sudo chmod -R 777 . && 7z a -mx=9 $(echo clover_*).7z clover_* && ls -lh . && 7z l clover_*.7z
+ cd images && sudo chmod -R 777 . && 7z a -mx=9 $(echo *_*).7z *_* && ls -lh . && 7z l *_*.7z
- name: Upload image
uses: softprops/action-gh-release@v1
if: ${{ github.event_name == 'release' }}
with:
- files: images/clover_*.zip
+ files: images/*_*.zip
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -36,5 +36,5 @@ jobs:
uses: actions/upload-artifact@v4
with:
name: image
- path: images/clover_*.7z
+ path: images/*_*.7z
retention-days: 1
diff --git a/.markdownlint.json b/.markdownlint.json
index 6ca8b3156..16fafbf6d 100644
--- a/.markdownlint.json
+++ b/.markdownlint.json
@@ -113,7 +113,9 @@
"VMware",
"DuoCam"
],
- "code_blocks": false
+ "code_blocks": false,
+ "html_elements": false
},
- "MD045": false
+ "MD045": false,
+ "MD051": false
}
diff --git a/clover/launch/aruco.launch b/clover/launch/aruco.launch
index d0bd86d9c..62330b679 100644
--- a/clover/launch/aruco.launch
+++ b/clover/launch/aruco.launch
@@ -19,7 +19,7 @@
-
+
diff --git a/clover/src/selfcheck.py b/clover/src/selfcheck.py
index 274594b79..538b9f0f1 100755
--- a/clover/src/selfcheck.py
+++ b/clover/src/selfcheck.py
@@ -303,6 +303,14 @@ def check_fcu():
failure('cell voltage is not available, https://clover.coex.tech/power')
else:
cell = battery.cell_voltage[0]
+ # number of cells 1 means this is overall voltage
+ if len(battery.cell_voltage) == 1:
+ n_cells = get_param('BAT1_N_CELLS', strict=False)
+ if n_cells is None:
+ # older PX4
+ n_cells = get_param('BAT_N_CELLS', strict=True)
+ cell /= n_cells
+
if cell > 4.3 or cell < 3.0:
failure('incorrect cell voltage: %.2f V, https://clover.coex.tech/power', cell)
elif cell < 3.7:
diff --git a/docs/en/aruco_map.md b/docs/en/aruco_map.md
index 64fd9a520..f19f47c64 100644
--- a/docs/en/aruco_map.md
+++ b/docs/en/aruco_map.md
@@ -136,7 +136,7 @@ navigate(x=2, y=2, z=2, speed=1, frame_id='aruco_map')
### Using a specific marker frame
-Starting with the [image](image.md) version 0.18, the drone also can fly relative to a marker in the map, even if it is not currently visible. Like with [single-marker navigation](aruco_marker.md#working-with-detected-markers), this works by setting the frame_id parameter to aruco_ID, where ID is the desired marker number.
+Starting with the [image](image.md) version 0.18, the drone also can fly relative to a marker in the map, even if it is not currently visible. Like with [single-marker navigation](aruco_marker.md#working-with-detected-markers), this works by setting the frame_id parameter to `aruco_ID`, where ID is the desired marker number.
The following code will move the drone to the point 1 meter above the center of marker 5:
diff --git a/docs/en/auto_setup.md b/docs/en/auto_setup.md
index bb6d58358..24d2b0c53 100644
--- a/docs/en/auto_setup.md
+++ b/docs/en/auto_setup.md
@@ -210,7 +210,7 @@ Most of the parameters for autonomous flight are located in the following direct
`
```
-- Generate the ArUco markers field. See the article [Map-based navigation with ArUco markers] (aruco_map.md # marker map settings) for details. To generate markers, you need to enter a command with specific values.
+- Generate the ArUco markers field. See the article [Map-based navigation with ArUco markers](aruco_map.md#marker-map-definition) for details. To generate markers, you need to enter a command with specific values.
Here is the example generating command where:
diff --git a/docs/ru/aruco_map.md b/docs/ru/aruco_map.md
index 07bbc374a..e3e46e997 100644
--- a/docs/ru/aruco_map.md
+++ b/docs/ru/aruco_map.md
@@ -136,7 +136,7 @@ navigate(x=2, y=2, z=2, speed=1, frame_id='aruco_map') # полет в коор
### Полет в координаты по ID маркера
-Начиная с версии [образа](image.md) 0.18, доступны также полёты относительно отдельного маркера в карте, даже если дрон его не видит. По аналогии с [навигацией по отдельным маркерам](aruco_marker.md#навигация-по-маркерам) при настройке карты маркеров дрон сможет лететь в координаты относительно отдельного маркера, используя фрейм aruco_ID с соответствующим ID маркера.
+Начиная с версии [образа](image.md) 0.18, доступны также полёты относительно отдельного маркера в карте, даже если дрон его не видит. По аналогии с [навигацией по отдельным маркерам](aruco_marker.md#навигация-по-маркерам) при настройке карты маркеров дрон сможет лететь в координаты относительно отдельного маркера, используя фрейм `aruco_ID` с соответствующим ID маркера.
Полет в точку над маркером 5 на высоту 1 метр: