../../ArduCopter/GCS_Mavlink.cpp: In member function 'void Copter::send_extended_status1(mavlink_channel_t)':
../../ArduCopter/GCS_Mavlink.cpp:281:37: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
uint32_t sensors_error_flags = !control_sensors_health & control_sensors_enabled & control_sensors_present;
^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
Thanks to Ralph Campbell <ralphcampbell1@gmail.com> for the bug report.
../../ArduCopter/GCS_Mavlink.cpp: In member function 'void Copter::send_extended_status1(mavlink_channel_t)':
../../ArduCopter/GCS_Mavlink.cpp:281:37: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
uint32_t sensors_error_flags = !control_sensors_health & control_sensors_enabled & control_sensors_present;
^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
Thanks to Ralph Campbell <ralphcampbell1@gmail.com> for the bug report.
../../ArduCopter/GCS_Mavlink.cpp: In member function 'void Copter::send_extended_status1(mavlink_channel_t)':
../../ArduCopter/GCS_Mavlink.cpp:281:37: error: suggest parentheses around operand of '!' or change '&' to '&&' or '!' to '~' [-Werror=parentheses]
uint32_t sensors_error_flags = !control_sensors_health & control_sensors_enabled & control_sensors_present;
^
compilation terminated due to -Wfatal-errors.
cc1plus: all warnings being treated as errors
Thanks to Ralph Campbell <ralphcampbell1@gmail.com> for the bug report.
It's not useful to raise an excpetion because it will only report the
command called exit with an error. Just return an error code instead of
rasing an exception. This way we get nicer error messages:
./waf unknowncommand
No function unknowncommand defined in /home/lucas/p/dronecode/ardupilot/wscript
vs
./waf unknowncommand
No function unknowncommand defined in /home/lucas/p/dronecode/ardupilot/wscript
Traceback (most recent call last):
File "./waf", line 15, in <module>
raise e
subprocess.CalledProcessError: Command '['python', '/home/lucas/p/dronecode/ardupilot/modules/waf/waf-light', 'unknowncommand']' returned non-zero exit status 1
degree(100) = 1 float multiplicaiton
vector3f * degree(100.0f) = 4 float multiplications
degree(vector3f) * 100.0f = 6 float multiplications and needs new degree(vector3f) function
degree(vector3f * 100.0f) = 6 float multiplications and needs new degree(vector3f) function
These all come to the same conclusion but the one that is faster appears to be a bug but is mathematically correct.