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 метр: