This allows a ICM20xxxx with an unkown product ID to be used
with the mpu6000 driver.
This change will issues a warning for any part with an unknown product ID.
For mpu6000 parts (-T 6000 or not specified) it will then exit.
For any ICM20xxxx part with an unknown product ID it will accept the ID
and run with it.
N.B. This fix expecte the value in the product ID register to be
a per chip constant. (Not changing during operations)
Necessary so that build_git_version.h is generated before version.c is
compiled.
Error before:
../src/lib/version/version.c:152:31: error: 'PX4_GIT_TAG_STR' undeclared (first use in this function)
return version_tag_to_number(PX4_GIT_TAG_STR);
in particular:
- SW release version (in addition to the git hash)
- OS version (tag + git hash if exists)
- mcu version & revision & UUID
- toolchain version
The uuid can be disabled via parameter, it's enabled by default.
_global_pos_sub->update(&_global_pos_time, &global_pos); could return
false and in that case global_pos was not set but still accessed.
This is prevented by checking if timestamp == 0.
boards define BOARD_NAME, so board_name() is not necessary. HW_ARCH was
just a wrapper around board_name().
This patch simplifies to having only one common method px4_board_name().
This is the fixes https://github.com/PX4/Firmware/issues/5710
by adding 2 concepts.
1) Allowing a board to define BOARD_HAS_SHARED_PWM_TIMERS
in this case the io_timeris will be initalized as the
led_pwm_timers - there is an assumptionm that the
number of io_timers == the number of led_pwm timers
2) Allowing a board to define BOARD_LED_PWM_RATE
To set an alternate frequency
Future expansion will require:
1) The ability to have a config with both the I2C RGB LED and
PWM RGB LED drivers loaded.
2) The higher level driver to create multiple instances of the
/dev/rgbld, to support internal and external User facing
RGB LED as supported in FMUv5