Program Listing for File bus.cpp

Return to documentation for file (bus.cpp)

#include "bus.hpp"

#include <format>

Bus::Bus(const std::string& bus_dir, const std::string& bus_group, int dmaid, bool verbose)
    : m_felix_bus_path{std::format("dma-{}", dmaid)}, m_bus{bus_dir, bus_group, nullptr, verbose}
{ }


Bus::Bus(const std::string& bus_dir, const std::string& bus_group, const std::string& filename, bool verbose)
    : m_felix_bus_path{filename}, m_bus{bus_dir, bus_group, nullptr, verbose}
{ }


bool Bus::publish(const std::span<const felixbus::FelixBusElinkInfo> elinks)
{
    try {
        m_bus.publish(elinks, m_felix_bus_path);
    }
    catch (const std::exception& ex){
        ers::error(felix_log::bus_issue(ex.what()));
        return false;
    }
    return true;
}