コード例 #1
0
ファイル: niriok_proxy.cpp プロジェクト: Serg74/uhd
    nirio_status niriok_proxy::sync_operation(
        const void *writeBuffer,
        size_t writeBufferLength,
        void *readBuffer,
        size_t readBufferLength)
    {
        nirio_driver_iface::nirio_ioctl_packet_t out(readBuffer, readBufferLength, 0);
        nirio_status ioctl_status = nirio_driver_iface::rio_ioctl(_device_handle,
                                    nirio_driver_iface::NIRIO_IOCTL_SYNCOP,
                                    writeBuffer, writeBufferLength,
                                    &out, sizeof(out));
        if (nirio_status_fatal(ioctl_status)) return ioctl_status;

        return out.statusCode;
    }
コード例 #2
0
nirio_status nirio_resource_manager::initialize(
    const nirio_register_info_vtr& reg_info_vtr,
    const nirio_fifo_info_vtr& fifo_info_vtr)
{
    nirio_status status = 0;
    for (nirio_fifo_info_vtr::const_iterator it = fifo_info_vtr.begin(); it != fifo_info_vtr.end(); it++) {
        const nirio_fifo_info_t& fifo_info = *it;
        status = _add_fifo_resource(fifo_info);
        if (nirio_status_fatal(status)) return status;

        _fifo_info_map.insert(fifo_info_map_t::value_type(fifo_info.name, fifo_info));
    }
    for (nirio_register_info_vtr::const_iterator it = reg_info_vtr.begin(); it != reg_info_vtr.end(); it++) {
        const nirio_register_info_t& reg_info = *it;

        _reg_info_map.insert(register_info_map_t::value_type(reg_info.name, reg_info));
    }
    return _set_driver_config();
}
コード例 #3
0
ファイル: status.cpp プロジェクト: excursionator/uhd
void nirio_status_to_exception(const nirio_status& status, const std::string& message) {
    if (nirio_status_fatal(status)) {
        throw uhd::runtime_error((boost::format("%s %s") % message % lookup_err_msg(status)).str());
    }
}