コード例 #1
0
ret_code_t pds_peer_data_read(pm_peer_id_t        peer_id,
                              pm_peer_data_id_t   data_id,
                              pm_peer_data_t    * p_data,
                              uint16_t          * p_len_words)
{
    ret_code_t           retval;
    pm_peer_data_flash_t peer_data_flash;

    VERIFY_PEER_ID_IN_RANGE(peer_id);
    VERIFY_PEER_DATA_ID_IN_RANGE(data_id);
    VERIFY_PARAM_NOT_NULL(p_len_words);
    VERIFY_PARAM_NOT_NULL(p_data);

    retval = pds_peer_data_read_ptr_get(peer_id, data_id, &peer_data_flash, NULL);
    if (retval != NRF_SUCCESS)
    {
        return retval;
    }

    if ((*p_len_words) == 0)
    {
        (*p_len_words) = peer_data_flash.length_words;
        return NRF_SUCCESS;
    }
    else if ((*p_len_words) < peer_data_flash.length_words)
    {
        return NRF_ERROR_NO_MEM;
    }

    VERIFY_PARAM_NOT_NULL(p_data->p_all_data);

    retval = peer_data_deserialize(&peer_data_flash, p_data);

    return retval;
}
コード例 #2
0
ファイル: peer_database.c プロジェクト: BLEHexapod/nrf_sdk
ret_code_t pdb_read_buf_get(pm_peer_id_t           peer_id,
                            pm_peer_data_id_t      data_id,
                            pm_peer_data_flash_t * p_peer_data,
                            pm_store_token_t     * p_token)
{
    VERIFY_MODULE_INITIALIZED();

    return pds_peer_data_read_ptr_get(peer_id, data_id, p_peer_data, p_token);
}