Files
openbts/TransceiverRAD1/FactoryCalibration.h
2014-07-16 23:57:22 +02:00

46 lines
1.2 KiB
C++

/*
* Copyright 2013, 2014 Range Networks, Inc.
*
* This software is distributed under multiple licenses;
* see the COPYING file in the main directory for licensing
* information for this specific distribution.
*
* This use of this software may be subject to additional restrictions.
* See the LEGAL file in the main directory for details.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
#include "rnrad1Core.h"
/*
TODO : lots of copied bits from RAD1CMD and RAD1SN, could definitely be improved
by simplifying the hex<->dec parsing. Comments from rad1_setup.sh inline.
*/
class FactoryCalibration {
private:
rnrad1Core * core;
unsigned int sdrsn;
unsigned int rfsn;
unsigned int band;
unsigned int freq;
unsigned int rxgain;
unsigned int txgain;
static int hexval (char ch);
static unsigned char * hex_string_to_binary(const char *string, int *lenptr);
bool i2c_write(int i2c_addr, char *hex_string);
std::string i2c_read(int i2c_addr, int len);
unsigned int hex2dec(std::string hex);
public:
unsigned int getValue(std::string name);
void readEEPROM(int deviceID);
};