--- pageClass: is-wide-page --- # TuneControl (UORB message) This message is used to control the tunes, when the tune_id is set to CUSTOM. then the frequency, duration are used otherwise those values are ignored. **TOPICS:** tune_control ## Fields | Name | Type | Unit [Frame] | Range/Enum | Description | | ------------- | -------- | ------------ | ---------- | --------------------------------------------------------------------------------- | | timestamp | `uint64` | | | time since system start (microseconds) | | tune_id | `uint8` | | | tune_id corresponding to TuneID::\* from the tune_defaults.h in the tunes library | | tune_override | `bool` | | | if true the tune which is playing will be stopped and the new started | | frequency | `uint16` | | | in Hz | | duration | `uint32` | | | in us | | silence | `uint32` | | | in us | | volume | `uint8` | | | value between 0-100 if supported by backend | ## Constants | Name | Type | Value | Description | | ----------------------------------------------------------------------- | ------- | ----- | ----------- | | TUNE_ID_STOP | `uint8` | 0 | | TUNE_ID_STARTUP | `uint8` | 1 | | TUNE_ID_ERROR | `uint8` | 2 | | TUNE_ID_NOTIFY_POSITIVE | `uint8` | 3 | | TUNE_ID_NOTIFY_NEUTRAL | `uint8` | 4 | | TUNE_ID_NOTIFY_NEGATIVE | `uint8` | 5 | | TUNE_ID_ARMING_WARNING | `uint8` | 6 | | TUNE_ID_BATTERY_WARNING_SLOW | `uint8` | 7 | | TUNE_ID_BATTERY_WARNING_FAST | `uint8` | 8 | | TUNE_ID_GPS_WARNING | `uint8` | 9 | | TUNE_ID_ARMING_FAILURE | `uint8` | 10 | | TUNE_ID_PARACHUTE_RELEASE | `uint8` | 11 | | TUNE_ID_SINGLE_BEEP | `uint8` | 12 | | TUNE_ID_HOME_SET | `uint8` | 13 | | TUNE_ID_SD_INIT | `uint8` | 14 | | TUNE_ID_SD_ERROR | `uint8` | 15 | | TUNE_ID_PROG_PX4IO | `uint8` | 16 | | TUNE_ID_PROG_PX4IO_OK | `uint8` | 17 | | TUNE_ID_PROG_PX4IO_ERR | `uint8` | 18 | | TUNE_ID_POWER_OFF | `uint8` | 19 | | NUMBER_OF_TUNES | `uint8` | 20 | | VOLUME_LEVEL_MIN | `uint8` | 0 | | VOLUME_LEVEL_DEFAULT | `uint8` | 20 | | VOLUME_LEVEL_MAX | `uint8` | 100 | | ORB_QUEUE_LENGTH | `uint8` | 4 | ## Source Message [Source file (GitHub)](https://github.com/PX4/PX4-Autopilot/blob/main/msg/TuneControl.msg) ::: details Click here to see original file ```c # This message is used to control the tunes, when the tune_id is set to CUSTOM # then the frequency, duration are used otherwise those values are ignored. uint64 timestamp # time since system start (microseconds) uint8 TUNE_ID_STOP = 0 uint8 TUNE_ID_STARTUP = 1 uint8 TUNE_ID_ERROR = 2 uint8 TUNE_ID_NOTIFY_POSITIVE = 3 uint8 TUNE_ID_NOTIFY_NEUTRAL = 4 uint8 TUNE_ID_NOTIFY_NEGATIVE = 5 uint8 TUNE_ID_ARMING_WARNING = 6 uint8 TUNE_ID_BATTERY_WARNING_SLOW = 7 uint8 TUNE_ID_BATTERY_WARNING_FAST = 8 uint8 TUNE_ID_GPS_WARNING = 9 uint8 TUNE_ID_ARMING_FAILURE = 10 uint8 TUNE_ID_PARACHUTE_RELEASE = 11 uint8 TUNE_ID_SINGLE_BEEP = 12 uint8 TUNE_ID_HOME_SET = 13 uint8 TUNE_ID_SD_INIT = 14 uint8 TUNE_ID_SD_ERROR = 15 uint8 TUNE_ID_PROG_PX4IO = 16 uint8 TUNE_ID_PROG_PX4IO_OK = 17 uint8 TUNE_ID_PROG_PX4IO_ERR = 18 uint8 TUNE_ID_POWER_OFF = 19 uint8 NUMBER_OF_TUNES = 20 uint8 tune_id # tune_id corresponding to TuneID::* from the tune_defaults.h in the tunes library bool tune_override # if true the tune which is playing will be stopped and the new started uint16 frequency # in Hz uint32 duration # in us uint32 silence # in us uint8 volume # value between 0-100 if supported by backend uint8 VOLUME_LEVEL_MIN = 0 uint8 VOLUME_LEVEL_DEFAULT = 20 uint8 VOLUME_LEVEL_MAX = 100 uint8 ORB_QUEUE_LENGTH = 4 ``` :::