Attendees (max): 12
ArduPilot:master
← amilcarlucas:pylint_support
opened 02:57PM - 02 Sep 24 UTC
UTC0704
Amilcar : Pylint comprehensive but slow. Ruff fast but more limited, like flake8.
-First run Ruff, then pylint.
Running Ruff against ardupilot/Tools/*.py, caught 2 or 3 valid things. These were supposed to be flake8 clean.
Andrew : We don’t want two tools, that’s too much of a burden.
Am : Then use Ruff only. It’s very fast.
A : Tried bare pylint on Tools/*py, it was a lot slower. Lots of output.
-Let’s stay with Ruff.
ArduPilot:master
← amilcarlucas:mavftp_example
opened 08:45PM - 11 Jul 24 UTC
Like spoken on the dev call this adds a mavftp library and an example script tha… t uses it to:
- [x] get parameter values
- [x] get default parameter values
- [x] put a lua script file
- [x] get the latest .bin log file
This is the `--help` of the main mavftp.py application, it supports a similar syntax to the MAVProxy embedded mavftp functionality:
```
usage: mavftp.py [-h] [--baudrate BAUDRATE] [--device DEVICE] [--source-system SOURCE_SYSTEM] [--loglevel LOGLEVEL] [--debug DEBUG] [--pkt_loss_tx PKT_LOSS_TX]
[--pkt_loss_rx PKT_LOSS_RX] [--max_backlog MAX_BACKLOG] [--burst_read_size BURST_READ_SIZE] [--write_size WRITE_SIZE] [--write_qsize WRITE_QSIZE]
[--retry_time RETRY_TIME]
{get,getparams,put,list,mkdir,rmdir,rm,rename,crc} ...
MAVFTP - MAVLink File Transfer Protocol. A tool to do file operations between a ground control station and a drone using the MAVLink protocol.
positional arguments:
{get,getparams,put,list,mkdir,rmdir,rm,rename,crc}
get Get a file from the remote flight controller.
getparams Get and decode parameters from the remote flight controller.
put Put a file to the remote flight controller.
list List files in a directory on the remote flight controller.
mkdir Create a directory on the remote flight controller.
rmdir Remove a directory on the remote flight controller.
rm Remove a file on the remote flight controller.
rename Rename a file or directory on the remote flight controller.
crc Calculate the CRC of a file on the remote flight controller.
optional arguments:
-h, --help show this help message and exit
--baudrate BAUDRATE master port baud rate. Defaults to 115200
--device DEVICE serial device. For windows use COMx where x is the port number. For Unix use /dev/ttyUSBx where x is the port number. Defaults to autodetection
--source-system SOURCE_SYSTEM
MAVLink source system for this GCS. Defaults to 250
--loglevel LOGLEVEL log level. Defaults to INFO
--debug DEBUG Debug level 0 for none, 2 for max verbosity. Defaults to 0
--pkt_loss_tx PKT_LOSS_TX
Packet loss on TX. Defaults to 0
--pkt_loss_rx PKT_LOSS_RX
Packet loss on RX. Defaults to 0
--max_backlog MAX_BACKLOG
Max backlog. Defaults to 5
--burst_read_size BURST_READ_SIZE
Burst read size. Defaults to 80
--write_size WRITE_SIZE
Write size. Defaults to 80
--write_qsize WRITE_QSIZE
Write queue size. Defaults to 5
--retry_time RETRY_TIME
Retry time. Defaults to 0.5
```
To test the example do:
```
python3 -m examples.mavftp_example --loglevel DEBUG
```
UTC0719
Merged!
ArduPilot:master
← bugobliterator:pr-iomcu-profiled
opened 05:25AM - 02 Aug 24 UTC
* CPU time cost is minimal, only upto 7us per call is consumed.
* Flash and Dat… a Cost is as follows:
Before:
```
BUILD SUMMARY
Build directory: /home/sidbh/Programming/ardupilot-chibios/build/iomcu-f103-dshot
Target Text (B) Data (B) BSS (B) Total Flash Used (B) Free Flash (B) External Flash Used (B)
-------------------------------------------------------------------------------------------------------------------
bin/iofirmware_lowpolh 52404 1196 19300 53600 7836 Not Applicable
bin/iofirmware_highpolh 52404 1196 19300 53600 7836 Not Applicable
```
After
```
BUILD SUMMARY
Build directory: /home/sidbh/Programming/ardupilot-chibios/build/iomcu-f103-dshot
Target Text (B) Data (B) BSS (B) Total Flash Used (B) Free Flash (B) External Flash Used (B)
-------------------------------------------------------------------------------------------------------------------
bin/iofirmware_lowpolh 52160 1196 19296 53356 8084 Not Applicable
bin/iofirmware_highpolh 52160 1196 19296 53356 8084 Not Applicable
```
UTC0721
Andy : Perhaps we could give them their own CubePilot target for the IOMCU code.
A : It consumes flash space. BDShot builds very low on flash space.
-We need testing on the timing.
Sid : I’ve tested that, it’s only a few microseconds.
A : BDShot cares about those microseconds. We need to properly test it.
Andy : I’ll test it, it’s not a problem.
A : CubeOrangePlus with bdshot will run out of flash quite soon.
-We could start building with -Os.
Discussion on the custom build server and potential UI upgrades to handles more features more seamlessly.
Andy : I tried Link-Time-Optimization. Managed to save 50k of flash on the examples, but not build Ardupilot.
A : I haven’t managed to build Ardupilot either.
-It also prevents debugging.
ArduPilot:master
← Georacer:pr/bits-and-bytes-2024-w33
opened 02:48PM - 20 Aug 24 UTC
Did not change the format character, as pymavlink seems to need it, due to a bug… : https://github.com/ArduPilot/pymavlink/pull/965
Before:
![Screenshot from 2024-08-20 16-37-12](https://github.com/user-attachments/assets/be237811-95bd-451a-b918-01dc8d098b85)
![Screenshot from 2024-08-20 16-39-23](https://github.com/user-attachments/assets/08481b3e-ca98-41c2-a5c4-3f7504056d71)
After:
![Screenshot from 2024-08-20 16-37-37](https://github.com/user-attachments/assets/69eddd71-4fc4-4158-9f6a-dfb8000c1c53)
![Screenshot from 2024-08-20 16-44-27](https://github.com/user-attachments/assets/be8bf8ef-987d-43a1-b11c-e56c034ca234)
UTC0842
We need to revert the other EKF units revert.
We’re waiting for the PR DFReader: fixed handling of multlipiers from FMTU and MULT by tridge · Pull Request #965 · ArduPilot/pymavlink · GitHub to get fixed.
ArduPilot:master
← Georacer:pr/tecs_improvements
opened 03:45PM - 05 Aug 24 UTC
This PR fixes TECS oscillations that would occur once mode TAKEOFF would reach `… TKOFF_ALT`.
Additionally, it harmonizes the takeoff behaviour between modes AUTO and TAKEOFF.
Finally, it fixes a few bugs.
Many thanks to @Hwurzburg for sharing code for fixing the pitch setpoint.
## Notable behaviour changes
1. Mode TAKEOFF and AUTO now behave identically during a takeoff.
2. `TKOFF_LVL_ALT` now also affects AUTO mode.
3. TAKEOFF mode now respects the level-off angles, as it approaches altitude. There should now be significantly less overshoot.
4. The behaviour of TKOFF_ROTATION_SPD now works as advertized. It was inactive before.
## Notable code changes
1. Mode TAKEOFF now spends all of the climb in FlightStage::TAKEOFF, just like AUTO mode did.
2. `TECS::set_pitch_max_limit()` is now split into `TECS::set_pitch_max()` and `TECS::set_pitch_min()`. Its usage in `quadplane.cpp` has been modified accordingly.
3. TECS pitch limits are now applied at the end of the calculation. Before, vertical acceleration limitations were applied last.
5. TECS: `_post_TO_hgt_offset` will now never pull height demand above the target altitude.
6. `mode_takeoff.cpp` is now prevented from switching behaviours from past `TKOFF_ALT`-2m back to climb behaviour. This would cause behaviour switching if the plane would drop slightly lower than 2m from `TKOFF_ALT`.
7. There are many occasions were TECS is overridden both in pitch and throttle. When that happens, TECS is now effectively inactive and will reset itself.
8. Changed behaviour of `TECS_PITCH_MIN` to match description.
9. `servos.cpp` now doesn't try to enforce all of the takeoff throttle logic combinations. Only `TKOFF_THR_MAX` and `TKOFF_THR_MIN`.
## Tests
The following were tested in autotests:
1. Altitude and pitch no longer oscillation upon reaching the takeoff altitude. ✅
2. TAKEOFF and AUTO takeoffs now behave exactly the same in all combinations of `ARSPD_USE` and `TKOFF_OPTIONS`. ✅
3. The level-off of minimum pitch demand now works in TAKEOFF. ✅
4. When `TKOFF_ROTATE_SPD` is nonzero, pitch demand will be 5deg before the rotation speed and will climb up to the minimum takeoff pitch for groundspeed equal to cruise airspeed. ✅
The following were tested in manual SITL:
1. Altitude and pitch no longer oscillation upon reaching the takeoff altitude. ✅
2. The level-off of minimum pitch demand now works in TAKEOFF. ✅
3. When `TKOFF_ROTATE_SPD` is nonzero, pitch demand will be 5deg before the rotation speed and will climb up to the minimum takeoff pitch for groundspeed equal to cruise airspeed. ✅
## Known issues
1. Ground speed is used in some airspeed comparisons.
5. If AUTO is engaged while in flight and has a NAV_TAKEOFF point, it will force the pitch to positive while it gets processed. This lasts for a few cycles.
6. The SITL plane doesn't regulate pitch well when it's flying at full throttle and fast. Nothing to do with this PR, just an observation.
## Future work
1. I noticed that if you load a mission before you get a GNSS fix, the NAV_TAKEOFF waypoint (i.e. next_WP_loc) will be set at coordinates at the home coordinates and altitude. This can break some takeoff logic in AUTO mode.
2. Render `TKOFF_LVL_ALT` a higher-level parameter, as it is now used also by AUTO mode, not just TAKEOFF.
UTC0850
A : What about this new forced-reset feature?
George : I introduced this to prevent some bad bahaviour when both pitch and throttle are forced.
A : This might hide some underlying bug. Let’s test a bit more on what this actually achieves.
-What happens to the integrators if we don’t?
-I also see a change in the pitch during a rolling takeoff.
-For a rolling takeoff WITH a takeoff, you don’t check for the existence (and reading) of an airspeed sensor.
ArduPilot:master
← andyp1per:pr-iomcu-3d
opened 04:32PM - 13 Aug 24 UTC
We were sending the command but not coping when actually sending the dshot packe… t
UTC0827
Merged!
ArduPilot:master
← peterbarker:pr/spl06-rename
opened 07:58AM - 03 Sep 24 UTC
I've built this branch for every target, blimp-only.
Binary output is identic… al except where the hwdefs have been modifed.
Extracted from https://github.com/ArduPilot/ardupilot/pull/27905/files
```
pbarker@threads:~$ ~/rc/ardupilot/Tools/scripts/filter_size_compare_branches_csv.py /tmp/some.csv --hide-bin
------------------------ ----- ----------
Board blimp bootloader
AtomRCF405NAVI 0 *
FlyingMoonF427 0 *
FlyingMoonH743 0 *
FlywooF745 0 *
FlywooF745Nano 0 *
IFLIGHT_2RAW_H7 0 *
MambaF405-2022 0 *
MambaH743v4 0 *
MatekF405-TE 0 *
MatekF405-TE-bdshot 0 *
MicoAir405v2 0 *
R9Pilot 0 *
SITL_arm_linux_gnueabihf 0
SITL_x86_64_linux_gnu 0
SpeedyBeeF405WING 0 *
bbbmini 0
blue 0
canzero 0
edge 0
erlebrain2 0
navigator 0
navio 0
navio2 0
obal 0
pxf 0
pxfmini 0
speedybeef4v3 0 *
speedybeef4v4 0 *
------------------------ ----- ----------
pbarker@threads:~$
```
UTC0834
Peter : This is in preparation for the SPA06 sensor.
A : The downside is that it will break any pending PRs with hwdef.dat.
-It also gets us on a losing track, where we are trying to predict all future names and compatibilities.
P : We can have generic driver names and more specific driver names. Or switch to a driver_v1, driver_v2 scheme.
A : We have done this for Invensense, because they were the most volatile in naming. But we haven’t done this as a rule.
-It brings more complications than good. It would be much simpler to add a comment on the driver file to mention the new sensor support. This can then be searched in the codebase.
ArduPilot:master
← MallikarjunSE:pr-sierra-f1
opened 08:38AM - 18 Aug 23 UTC
Hey @tridge @bugobliterator
Possible to check this? There are few changes sugg… est by Sid for ADC3 support.
Thank you!
UTC0853
A : The network issues they had are probably fixed by now.
-We’d better ask them to test again, if I can’t find the board they sent me.
(Shuffling noises while Andrew digs up layers of board heap history)
Dig up attempt was unsuccessful.
Mallikarjun : We haven’t tested recently.
A : Can you send me a photo, so that I can try to find it? Apologies for the long delay on this PR.
ArduPilot:master
← peterbarker:pr/mission-no-modify-packet
opened 04:57AM - 04 Sep 24 UTC
do not modify the return packet value at all upon failure, rather than indicatin… g invalidity with a flag value. We return boolean for a reason.
Alternative to https://github.com/ArduPilot/ardupilot/pull/28002
Alternative to https://github.com/ArduPilot/ardupilot/pull/21799/files
UTC0904
Merged!
ArduPilot:master
← vanttec:master
opened 09:45AM - 03 Sep 24 UTC
Enabled flash-from-SD support on Pixhawk6C bootloader based off Pixhawk6X hwdef … (3b230c4).
I'm not sure on what is the correct procedure to update the compiled bootloader in `Tools/bootloaders/Pixhawk6C_bl.bin` is this done automatically?
I've tested that this works by updating ardupilot from the SD card on a Pixhawk 6C.
UTC0907
Peter : I told them we would build the artifact ourselves.
Merged!
ArduPilot:master
← khimaros:patch-1
opened 06:11PM - 03 Jul 24 UTC
see also https://github.com/ArduPilot/ardupilot/issues/22155
UTC0909
A : This puts pressure to keep supporting MAVLink v1.
Merged!
ArduPilot:master
← Georacer:pr/wiggle-tecs-reset
opened 03:09PM - 13 Aug 24 UTC
For the balloon drop use-case, I've noticed that TECS would initialize on the gr… ound. That meant that the desired altitude (which is under an LPF) would not start close to the actual altitude, rendering itself useless for an RTL:
![image](https://github.com/user-attachments/assets/fce51ee9-1023-416e-810b-b0456923fc4d)
With this commit TECS starts at the release altitude, resulting in reasonable altitude error:
![image](https://github.com/user-attachments/assets/f3bc4bfb-caa0-4446-8bc6-4e82bb632aa8)
:warning: Requires https://github.com/ArduPilot/ardupilot/pull/27758 .
UTC0914
G : Let’s hold off for now, needs the other TECS PR.
ArduPilot:master
← muramura:AP_Make_the_definition_name_a_class_type
opened 01:21PM - 19 Jun 24 UTC
Definition names were prefixed with group names. I can make definition names cle… arer by making the group name the class name.
UTC0915
MergeOnCIPass
ArduPilot:master
← peterbarker:pr/copter-remove-enabled-disabled
opened 07:38AM - 04 Sep 24 UTC
No compiler output changes except where expected (the SkyVipers have ENABLED/DIS… ABLED in their hwdef.dats)
Last vehicle!
```
Every 2.0s: /home/pbarker/rc/ardupil... threads: Wed Sep 4 17:35:57 2024
------------------------ ----- ------ ---- ----- ----- ---
Board blimp copter heli plane rover sub
SITL_arm_linux_gnueabihf 0 0 0 0 0 0
SITL_x86_64_linux_gnu 0 0 0 0 0 0
skyviper-f412-rev1 -8
skyviper-journey 0
skyviper-v2450 -8
------------------------ ----- ------ ---- ----- ----- ---
```
UTC0915
A : Randy has to approve.
ArduPilot:master
← muramura:AP_Change_the_initialization_of_the_string_buffer
opened 10:12PM - 24 Jun 24 UTC
It's not necessary to clear the entire string buffer with zeros.
It's sufficien… t to set the first byte of the string buffer to NULL.
This method can free up 8 bytes of FLUSH memory.
STM32 has limited FLUSH memory.
I want to prioritize practical benefits over appearance.
AFTER
UILD SUMMARY
Build directory: /home/muramura/work2/ardupilot/build/fmuv3
Target Text (B) Data (B) BSS (B) Total Flash Used (B) Free Flash (B) External Flash Used (B)
bin/arducopter 1550208 3988 192768 1554196 526560 Not Applicable
BEFORE
BUILD SUMMARY
Build directory: /home/muramura/work2/ardupilot/build/fmuv3
Target Text (B) Data (B) BSS (B) Total Flash Used (B) Free Flash (B) External Flash Used (B)
bin/arducopter 1550284 3988 192772 1554272 526480 Not Applicable
UTC0916
P : This does save bytes of flash. Not 100% sure if it’s the elimination of the “=” that does it.
A : I don’t like this pattern.
P : Yes, we had a bug in the past and adopted the current pattern.
-I can do the experiment with only deleting the “=”.
A : We could send a pragma
directive to the compiler to use -Os for AP_Arming.cpp.
-Same for other low-speed functionality, e.g. EKF initialization.
P : Filter resets as well.
A : I’ll leave it up to you, Peter.
ArduPilot:master
← peterbarker:pr/GEPRC745THD-compilation
opened 02:58AM - 04 Sep 24 UTC
this is overflowing - it has an onboard baro, that will have to do..
@andyp1p… er @Hwurzburg @YI-BOYANG this board did not compile for ArduPlane when support was merged in https://github.com/ArduPilot/ardupilot/pull/27491
UTC0925
P : The manufacturer is happy with the change. Currently it doesn’t compile for Plane.
MergeOnCIPass
ArduPilot:master
← peterbarker:pr/minimize-fpv-os-smbus-batteries
opened 03:03AM - 04 Sep 24 UTC
I doubt there's a single one of these boards on the planet using stock firmware … and smbus batteries. If they exist, the custom build server can re-add this
UTC0928
MergeOnCIPass