Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new version mar 2019 #1

Merged
merged 1,046 commits into from
Mar 29, 2019
Merged

new version mar 2019 #1

merged 1,046 commits into from
Mar 29, 2019

Conversation

francelico
Copy link
Owner

Please use PX4 Discuss or Slack to align on pull requests if necessary.

Test data / coverage
Logs uploaded to http://logs.px4.io or screenshots.

Describe problem solved by the proposed pull request
A clear and concise description of the problem, if any, this feature will solve. E.g. I'm always frustrated when ...

Describe your preferred solution
A clear and concise description of what you have implemented.

Describe possible alternatives
A clear and concise description of alternative solutions or features you've considered.

Additional context
Add any other context or screenshots for the feature request here.
yes

Antiheavy and others added 30 commits February 19, 2019 09:44
e.g. 
Preflight Fail: Height estimate error
Preflight Fail: Velocity estimate error
Preflight Fail: Position estimate error
Preflight Fail: Yaw estimate error
…ndard nomenclature for audio (loudness) control.
the mode can be used for VIO algorithms and obstacle avoidance to close the loop
using only <px4_getopt.h> as include, cleanup related includes
added check that all the option are valid (myoptind >= argc). if there are invalid options on some script that might now lead not to run commands
Because BATT_SMBUS is using a different structure (the ModuleBase class), and `BATT_SMBUS::task_spawn` is only called for the `start` command. This is the reason why you don't need to check for it in here.
There is only one occurence of the namespace specified,
so it's more readable to simply specify the full namespace in this case.
- Accel: use cutoff of 62.5 Hz instead of 500 Hz
- Gyro: the cutoff frequency is coupled with the ODR and is fixed to 116 Hz
  at 1 kHz readout rate. So this patch does not change anything for the
  gyro.
okalachev and others added 28 commits March 23, 2019 15:18
- correcting
c9e52d4
to allow 180° maximum tilt instead of landing tilt.
- Introducing tilt limitation minimums like requested in #11473
- this is a workaround for PATH variables that exceed the maximum cmake custom command length
 - prevents loss of numerical precision
 - fixes #11695
 - prevents loss of numerical precision
If we dont explicitly check for pyserial, we can have the case where the
import works but the Serial object creation fails. However, we don't see
this because we have this huge try/catch block which swallows
everything.
This allows to perform pre-arm checks and prevent arming if obstacle avoidance is enabled but not yet running.
Added a print once flag to prevent excessive message spamming in QGC.

Signed-off-by: Claudio Micheli <[email protected]>
Since onboard controllers bootup times are hardware dependent, it makes sense to have the possibility to adapt timeout time according to the specific HW.

Signed-off-by: Claudio Micheli <[email protected]>
With this commit the use cases will be:

Success case:
- booting, no messages about OA, pre-arm check would fail if you try to arm and OA is not yet running

Fail case:
- if OA takes longer than timeout time defined in COM_ONB_BOOT_T, then an error message is triggered.


Signed-off-by: Claudio Micheli <[email protected]>
Since the time out is only Obstacle-Avoidance related, the new naming is more self explanatory.

Signed-off-by: Claudio Micheli <[email protected]>
- Remove unnecessary in between rate limits member vectors.
- Only switch the yaw rate limit in auto modes,
other values stay the same anyways.
- Fill gain vectors with parameters in one line.
Put adaption into a method because it needs to be called when
the control mode or the parameter changes.
The replay functionality was broken with lockstep. This is an interim
fix for the replay functionality.

In the longer term it would be nice to leverage the lockstep speedup
for the replay.
This is a workaround for the write timeout that we have seen for some
host computers trying to flash the firmware.

We don't know the root cause of the problem but we do observed the
following:

- For blocking writes with timeout (Pyserial write_timeout=0.5):
  write() throws SerialTimeoutException. In systrace we see that the
  select() call after write waiting for the write to be finished hangs
  and finally times out.
- For blocking writes without timeout (Pyserial write_timeout=None):
  write() hangs indefinitely. In systrace we see that the
  select() call after write waiting for the write to be finished hangs.
- For non-blocking writes:
  write() works but flush() hangs. In systrace we see that
  ioctl(fd, TCSBRK, 1) which is (correctly) triggered by termios tcdrain
  hangs.

Inspecting USB traffic using usbmon, we can see that the data which is
written actually seems to be sent and looking at responses from the
Pixhawk bootloader and the timings it looks like all the data has
arrived.

This workaround uses non-blocking writes without flushing and this
seemed to prevent the issue from happening so far.

Debugging was done in collaboration with Beat Küng and David Sidrane.
@francelico francelico merged commit c9b62d5 into francelico:master Mar 29, 2019
francelico pushed a commit that referenced this pull request Oct 27, 2020
    - flightgear_bridge in PX4/Firmware (3ea52fe): PX4/PX4-FlightGear-Bridge@f7eb676
    - flightgear_bridge current upstream: PX4/PX4-FlightGear-Bridge@13dde0b
    - Changes: PX4/PX4-FlightGear-Bridge@f7eb676...13dde0b

    13dde0b 2020-04-30 JaeyoungLim - Test build without flightgear (PX4#2)
566c7c3 2020-04-30 JaeyoungLim - Add simple build test with github actions (#1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet