Using the port name is platform dependent. It may give not
provide the correct feedback. The port can be ttyS, or ftdi
or CDC/ACM. While it is true that buadrate does not matter on
CDC/ACM. It is better to give more information about what the
code is doing before filtering by the port name.
The correct determination of Windowed mode is critical to
maximise the speed on a USB based upload.
This commit bases the detection of a Serial (FTDI) on the
fact a CDC ACM port (USB) does not really have a baud rate.
We bump the baud rate to 233% of the requested baud rate to
see if the SYNC is acked. If it is Acked it must be a USB
port and Windowed mode is turned off. This removes unnessary
baud rate based delays from the proframing logic. If it is a
real Serial port getSync will not get the ACK and Windowed
mode is turned on.
- process_log_data: exit with code -1 if whole system analysis fails
- batch_process_logdata and process_log_data: pipe sensor safety
margin argument to the arguments of the superseeding scripts
- reduce minimum flight length for analysis to 50 samples
The __getSync was costing about 16Ms per call.
The commit uses a window based approch allowing
the SYNC,<results> to be read all at one time.
and delaying for programing based on transport
time + 1 Ms;
THe improvment at 2Mbps is >4 minutes to ~37
seconds
This fixes a problem where the pyserial write call gets stuck.
It happens on a specific Fedora 28 system with internal USB ports as
well as USB hubs.
It is not clear why the problem is resolved but it is clearly
reproducible that with a timeout of 0, the write can get stuck and with
a timeout > 0 it works every time.
The exception added as part of this commit makes sense but has never
been triggered in my testing.
If the PX4FMUv2 board does not have the v5 uploader, it's not possible
to check the silicon revision to make sure it's safe to upload the
firmware which is more than 1 MB. However, if the user is sure the
silicon revision is not affected by this errata, he can upload the
firmware using px4_uploader.py with --force argument. This commit adds
`force-upload` make target to do it more convenient way.
Signed-off-by: Andrei Korigodski <akorigod@gmail.com>
analyse_logdata_ekf:
- fix the buffer to start the analyses 5s after takeoff and end
them 5s before landing for logs that start or finish in air
- add flag for turning on-off 5s late start early end buffer
- split the combined imu sensor check into checks for vibration,
bias and output predictor
analyse_logdata_ekf:
- add sideslip innovation fail check flag to fix wrongly selected
bits for hagl innovation and optical flow innovations
- plot sideslip innovation fail
- add gps fix type fail flag to fix wrongly selected bits for all
gps check fail flags
- plot gps fix type
- sitl_gazebo in PX4/Firmware (1ee08da9c4): 651ca351fd
- sitl_gazebo current upstream: 371e7c36c3
- Changes: 651ca351fd...371e7c36c3
371e7c3 2018-04-10 korotkoves - udp port for each model instance from options file
376258d 2018-04-17 korotkoves - change file format to use common and model specific parameters
b4b7245 2018-01-17 korotkoves - function to load parameters for each model from xml file
- analysed_logdata: add filter_fault_status check to test_results
dictionary to prevent a missing entry exception
- analyse_logdata: fix one-off errors of list indices due to python
non-inclusive end indices
In the Cygwin environment the native Windows serial COM# ports get mapped
to /dev/ttyS# for POSIX compatibility. While # is one number lower inside
the environment than the COM port number because it's 0 indexed instead
of 1.
I added the necessary handling to all the dependent parts I found which
allows uploading to /dev/ttyS# when the cygwin platform is detected.
Now the usual "make px4fmu-v4 upload" and
"./Tools/upload.sh build/px4fmu-v4_default/px4fmu-v4_default.px4" work.
Thanks to @bkueang 's review comment I switched to an explicit check for
an empty sting instead of a condition that could be theoretically true
in other cases and is less readable.
Type "man test" on your terminal to read up what -n stands for.
The shell script which checks the style relies on greping for the
keyword "Formatted" in the output of astyle. But the program has
localization support and will output in other languages e.g. german.
This leads to all style checks always succeeding. I only tested this
on Windows in Cygwin but I can imagine the problem also exists in
non-english Ubuntu installations.
Solution is the parameter --formatted of astyle which only produces
any output if there was something to fix. This allows for a display
language independent condition for an empty string inside the shell
script.
- move the analysis parts of the process_logdata_ekf script to
the 'analyse_ekf' function in a new file analyse_logdata_ekf.py
- return a test_results dictionary from analyse_ekf
- still process log loading, preprocessing and results file output in
process_logdata_ekf
- add command line argument to toggle plotting
- add command line argument to use different dictionary to check_level_dict.csv
- sitl_gazebo in PX4/Firmware (4ffa98aa2a): 28921bca9d
- sitl_gazebo current upstream: 0df46c53b1
- Changes: 28921bca9d...0df46c53b1
0df46c5 2018-04-13 Tully Foote - Only use catkin env hook command if building with catkin.
38c0d07 2018-04-12 Tully Foote - Add package to GAZEBO_RESOURCE_PATH to make the worlds accessible.
5811488 2018-04-11 Tully Foote - updating OpticalFlow submodule
7c79bd7 2018-04-10 Tully Foote - Add environment hooks to export paths for plugins and resources.