AOSP: Как инициализировать свойство VehicleProperty :: AUDIO_VOLUME (.initialValues ​​в DefaultConfig.h) в halle транспортных средств? - PullRequest
0 голосов
/ 26 июня 2018

Попытка добавить свойство AUDIO_VOLUME к коду демо-версии транспортного средства, представленному в /hardware/interfaces/automotive/vehicle/2.0/default/impl/vhal_v2_0/

Имя файла: DefaultConfig.h попытался добавить, как показано ниже, но происходит сбой.

    {.config =
        {
            .prop = toInt(VehicleProperty::AUDIO_VOLUME),
            .access = VehiclePropertyAccess::READ_WRITE,
            .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
            .configArray = { toInt(VehicleAudioContextFlag::MUSIC_FLAG), toInt(VehicleAudioVolumeCapabilityFlag::MASTER_VOLUME_ONLY),0,0,100 },
        },
        .initialValue = {.int32Values = { toInt(VehicleAudioContextFlag::MUSIC_FLAG), 80, toInt(VehicleAudioVolumeState::STATE_OK)  } }
    },

Свойство AUDIO_VOLUME, как определено в

/hardware/interfaces/automotive/vehicle/2.0/types.hal
     * @change_mode VehiclePropertyChangeMode:ON_CHANGE
     * @access VehiclePropertyAccess:READ_WRITE
     * @config_flags all audio contexts supported.
     */
    AUDIO_VOLUME = (
        0x0901
        | VehiclePropertyGroup:SYSTEM
        | VehiclePropertyType:INT32_VEC
        | VehicleArea:GLOBAL),

, ссылочный код OSP доступен в http://androidxref.com/8.0.0_r4/xref/

1 Ответ

0 голосов
/ 31 июля 2018

Используйте hidl_vec для упаковки начального значения.

Пример:

{.config =
        {
            .prop = toInt(VehicleProperty::AUDIO_VOLUME),
            .access = VehiclePropertyAccess::READ_WRITE,
            .changeMode = VehiclePropertyChangeMode::ON_CHANGE,
            .configArray = { toInt(VehicleAudioContextFlag::MUSIC_FLAG), toInt(VehicleAudioVolumeCapabilityFlag::MASTER_VOLUME_ONLY),0,0,100 },
        },
        .initialValue = {.int32Values = hidl_vec<int32_t> {toInt(VehicleAudioContextFlag::MUSIC_FLAG), 80, toInt(VehicleAudioVolumeState::STATE_OK) }}
    },

Поскольку это свойство ожидает значение INT32_VEC.

...