Руслан Урядинский / libuavcan

Dependents:   UAVCAN UAVCAN_Subscriber

libuavcan_drivers/linux/apps/test_system_utils.cpp

Committer:
RuslanUrya
Date:
2018-04-14
Revision:
0:dfe6edabb8ec

File content as of revision 0:dfe6edabb8ec:

/*
 * Copyright (C) 2015 Pavel Kirienko <pavel.kirienko@gmail.com>
 */

#include <uavcan_linux/uavcan_linux.hpp>
#include <iostream>
#include <iomanip>
#include "debug.hpp"

int main(int argc, const char** argv)
{
    try
    {
        const std::vector<std::string> iface_names(argv + 1, argv + argc);

        const auto res = uavcan_linux::MachineIDReader(iface_names).readAndGetLocation();

        const auto original_flags = std::cout.flags();

        for (auto x : res.first)
        {
            std::cout << std::hex << std::setw(2) << std::setfill('0') << int(x);
        }

        std::cout.width(0);
        std::cout.flags(original_flags);

        std::cout << std::endl;

        std::cout << res.second << std::endl;

        return 0;
    }
    catch (const std::exception& ex)
    {
        std::cerr << "Exception: " << ex.what() << std::endl;
        return 1;
    }
}