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

PID_D[] not being logged to blackbox, 2.2.0 #4839

Closed
CapnBry opened this issue Jun 14, 2019 · 1 comment

Comments

Projects
None yet
2 participants
@CapnBry
Copy link
Contributor

commented Jun 14, 2019

Current Behavior

Since the PID.FF structure member was added, PID_D/FF values (all axis) are no longer being logged to blackbox on fixed wing.

Steps to Reproduce

  1. Create a FixedWing configuration, stock PID values
  2. Arm and record to blackbox
  3. Blackbox log is missing all PID_D values, but the controller is definitely using them

Expected behavior

Should have PID_D in the logs (also breaks calculated PIDsum[] fields)

Suggested solution(s)

What's broken is the conditions:

FLIGHT_LOG_FIELD_CONDITION_NONZERO_PID_D_0
FLIGHT_LOG_FIELD_CONDITION_NONZERO_PID_D_1
FLIGHT_LOG_FIELD_CONDITION_NONZERO_PID_D_2

These three conditions only check pidBank()->pid[condition - FLIGHT_LOG_FIELD_CONDITION_NONZERO_PID_D_0].D != 0; and the value is now in .FF. The code here could check for isFixedWing then pull the appropriate field from the appropriate bank. The other option would be to add PID_FF to the blackbox log instead of PID_D, with a similar condition to not output it if pid[].FF is 0, however that would require a change to the blackbox log viewer as well.

EDIT: I should also say that the FF gain configured values are not being added to the header so they don't show up in the blackbox explorer "Log Header Information" page either, although this might be just due to the same issue.

Additional context

set fw_p_pitch = 10
set fw_i_pitch = 16
set fw_ff_pitch = 75
set fw_p_roll = 8
set fw_i_roll = 15
set fw_ff_roll = 65
set fw_p_yaw = 20
set fw_i_yaw = 43
set fw_ff_yaw = 200
set fw_p_level = 15

INAV/OMNIBUSF4PRO 2.2.0 May 26 2019 / 19:31:12 (a713b63)

GCC-7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907]

@issue-label-bot

This comment has been minimized.

Copy link

commented Jun 14, 2019

Issue-Label Bot is automatically applying the label BUG to this issue, with a confidence of 0.95. Please mark this comment with 👍 or 👎 to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

@issue-label-bot issue-label-bot bot added the BUG label Jun 14, 2019

fiam added a commit that referenced this issue Jun 24, 2019

Blackbox: Log D output if either D or FF term is nonzero
D output can be set by either of those terms, so D term = 0
doesn't mean there won't be any D output.

Fixes #4839

@digitalentity digitalentity added this to the 2.2.1 milestone Jun 29, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.