File: eeprom_utils.cpp

package info (click to toggle)
uhd 4.9.0.0%2Bds1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 184,180 kB
  • sloc: cpp: 262,887; python: 112,011; ansic: 102,670; vhdl: 57,031; tcl: 19,924; xml: 8,581; makefile: 3,028; sh: 2,812; pascal: 230; javascript: 120; csh: 94; asm: 20; perl: 11
file content (21 lines) | stat: -rw-r--r-- 675 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//
// Copyright 2017 Ettus Research (National Instruments Corp.)
//
// SPDX-License-Identifier: GPL-3.0-or-later
//

#include <uhdlib/utils/eeprom_utils.hpp>
#include <boost/lexical_cast.hpp>

uhd::byte_vector_t string_to_uint16_bytes(const std::string& num_str)
{
    const uint16_t num                 = boost::lexical_cast<uint16_t>(num_str);
    const std::vector<uint8_t> lsb_msb = {uint8_t(num >> 0), uint8_t(num >> 8)};
    return lsb_msb;
}

std::string uint16_bytes_to_string(const uhd::byte_vector_t& bytes)
{
    const uint16_t num = (uint16_t(bytes.at(0)) << 0) | (uint16_t(bytes.at(1)) << 8);
    return (num == 0 or num == 0xffff) ? "" : std::to_string(num);
}