aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/utils/eeprom_utils.cpp
blob: acf81a1ce27b1e601434737e313ef1bd6dbef04a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//
// Copyright 2017 Ettus Research (National Instruments Corp.)
//
// SPDX-License-Identifier: GPL-3.0
//

#include "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);
}