Midas C++ API - MSCB
This page contains the full API reference for accessing MSCB (Midas Slow Control Bus) devices: the C++ class midas::mscb (mscb/include/mscbxx.h), and the C functions it is built on (mscb/include/mscb.h).
For the mdev driver that reads MSCB devices in a slow control frontend, see mdev slow control framework.
C++ interface (midas::mscb)
mscb/include/mscbxx.h
Classes
mscb
Defined in mscb/include/mscbxx.h:467
Methods
get_n_variables
int get_n_variables()
Defined in mscb/include/mscbxx.h:590
get_node_address
int get_node_address()
Defined in mscb/include/mscbxx.h:588
get_node_name
std::string get_node_name()
Getter
Defined in mscb/include/mscbxx.h:586
get_protocol_version
int get_protocol_version()
Defined in mscb/include/mscbxx.h:589
get_submaster
std::string get_submaster()
Defined in mscb/include/mscbxx.h:587
get_unit
std::string get_unit(int i)
Defined in mscb/include/mscbxx.h:592
get_unit_short
std::string get_unit_short(int i)
Defined in mscb/include/mscbxx.h:603
idx
int idx(const std::string& var_name)
Defined in mscb/include/mscbxx.h:735
mscb
mscb(std::string submaster, int address, std::string password = "", int debug = 0)
Defined in mscb/include/mscbxx.h:494
operator<<
std::ostream &operator<<(std::ostream &output, mscb &m)
overload stream out operator
Defined in mscb/include/mscbxx.h:646
operator[]
Note: this method has 2 different signatures.
operator[]
u_mscb&operator[](int index)
overload [<int>] operator
Defined in mscb/include/mscbxx.h:728
operator[]
u_mscb&operator[](std::string var_name)
overload [<std::string>] operator
Defined in mscb/include/mscbxx.h:743
read_range
int read_range(int i1 = 0, int i2 = 0)
read range of variables from i1 to i2 (including)
Defined in mscb/include/mscbxx.h:614
set_max_eth_retry
void set_max_eth_retry(int i)
Defined in mscb/include/mscbxx.h:583
set_max_retry
void set_max_retry(int i)
Defined in mscb/include/mscbxx.h:582
vec
std::vector<u_mscb> vec(int i1, int i2)
Defined in mscb/include/mscbxx.h:749
u_mscb
Defined in mscb/include/mscbxx.h:79
Methods
get
Note: this method has 2 different signatures.
get
template<typename T>
T get()
get value as certain type
Defined in mscb/include/mscbxx.h:116
get
void get(std::string &s)
get value as string
Defined in mscb/include/mscbxx.h:141
get_tid
int get_tid()
getters & setters
Defined in mscb/include/mscbxx.h:113
operator std::string
operator std::string()
string conversion operator
Defined in mscb/include/mscbxx.h:213
operator T
template<typename T>
operator T()
overload conversion operator
Defined in mscb/include/mscbxx.h:188
operator<<
std::ostream &operator<<(std::ostream &output, u_mscb &m)
overload stream out operator
Defined in mscb/include/mscbxx.h:220
operator=
Note: this method has 12 different signatures.
operator=
uint8_t operator=(uint8_t v)
Overload the Assignment Operators
Defined in mscb/include/mscbxx.h:227
operator=
int8_t operator=(int8_t v)
Defined in mscb/include/mscbxx.h:251
operator=
uint16_t operator=(uint16_t v)
Defined in mscb/include/mscbxx.h:275
operator=
int16_t operator=(int16_t v)
Defined in mscb/include/mscbxx.h:299
operator=
uint32_t operator=(uint32_t v)
Defined in mscb/include/mscbxx.h:323
operator=
int32_t operator=(int32_t v)
Defined in mscb/include/mscbxx.h:347
operator=
bool operator=(bool v)
Defined in mscb/include/mscbxx.h:371
operator=
float operator=(float v)
Defined in mscb/include/mscbxx.h:395
operator=
double operator=(double v)
Defined in mscb/include/mscbxx.h:419
operator=
const char *operator=(const char *v)
Defined in mscb/include/mscbxx.h:443
operator=
std::string *operator=(std::string * v)
Defined in mscb/include/mscbxx.h:450
operator=
std::string operator=(std::string v)
Defined in mscb/include/mscbxx.h:457
set_data
void set_data(const unsigned char *pdata)
Defined in mscb/include/mscbxx.h:173
set_string
void set_string(char* s)
Defined in mscb/include/mscbxx.h:166
u_mscb
u_mscb(int fd, int adr, int index, int tid, int size)
Defined in mscb/include/mscbxx.h:105
write
int write()
write value to MSCB node
Defined in mscb/include/mscbxx.h:179
~u_mscb
~u_mscb()
Destructor
Defined in mscb/include/mscbxx.h:110
Macros
MIDAS Data Type Definitions
TID_BOOL
#define TID_BOOL 8
four bytes bool 0 1
Defined in mscb/include/mscbxx.h:68
TID_BYTE
TID_CHAR
#define TID_CHAR 3
single character 0 255
Defined in mscb/include/mscbxx.h:59
TID_DOUBLE
#define TID_DOUBLE 10
8 Byte float format
Defined in mscb/include/mscbxx.h:70
TID_DWORD
TID_FLOAT
#define TID_FLOAT 9
4 Byte float format
Defined in mscb/include/mscbxx.h:69
TID_INT
TID_INT16
#define TID_INT16 5
signed word -32768 32767
Defined in mscb/include/mscbxx.h:63
TID_INT32
#define TID_INT32 7
signed dword -2^31 2^31-1
Defined in mscb/include/mscbxx.h:67
TID_INT8
#define TID_INT8 2
signed byte -128 127
Defined in mscb/include/mscbxx.h:58
TID_SBYTE
TID_SHORT
TID_STRING
#define TID_STRING 12
zero terminated string
Defined in mscb/include/mscbxx.h:71
TID_UINT16
#define TID_UINT16 4
two bytes 0 65535
Defined in mscb/include/mscbxx.h:61
TID_UINT32
#define TID_UINT32 6
four bytes 0 2^32-1
Defined in mscb/include/mscbxx.h:65
TID_UINT8
#define TID_UINT8 1
unsigned byte 0 255
Defined in mscb/include/mscbxx.h:56
TID_WORD
C interface
mscb/include/mscb.h
Classes
MSCB_FD
Defined in mscb/include/mscb.h:302
Attributes
device
char device[256]
Defined in mscb/include/mscb.h:303
eth_addr
unsigned char eth_addr[16]
Defined in mscb/include/mscb.h:312
eth_comm_pause
unsigned int eth_comm_pause
Defined in mscb/include/mscb.h:318
eth_last_comm
unsigned long eth_last_comm
Defined in mscb/include/mscb.h:317
eth_max_retry
int eth_max_retry
Defined in mscb/include/mscb.h:316
fd
int fd
Defined in mscb/include/mscb.h:305
mutex
MUTEX_T *mutex
Defined in mscb/include/mscb.h:309
seq_nr
int seq_nr
Defined in mscb/include/mscb.h:311
type
int type
Defined in mscb/include/mscb.h:304
MSCB_INFO
Defined in mscb/include/mscb.h:167
Attributes
bootBank
unsigned char bootBank
Defined in mscb/include/mscb.h:182
buf_size
unsigned short buf_size
Defined in mscb/include/mscb.h:175
group_address
unsigned short group_address
Defined in mscb/include/mscb.h:171
int_WD_resets
unsigned short int_WD_resets
Defined in mscb/include/mscb.h:181
n_variables
unsigned char n_variables
Defined in mscb/include/mscb.h:169
node_address
unsigned short node_address
Defined in mscb/include/mscb.h:170
node_name
char node_name[16]
Defined in mscb/include/mscb.h:173
pcbTemp
float pcbTemp
Defined in mscb/include/mscb.h:186
peakSystemLoad
float peakSystemLoad
Defined in mscb/include/mscb.h:185
pinExt_resets
unsigned short pinExt_resets
variables for SCS3000 only attention: variables must be aligned?!
Defined in mscb/include/mscb.h:179
protocol_version
unsigned char protocol_version
Defined in mscb/include/mscb.h:168
revision
unsigned short revision
Defined in mscb/include/mscb.h:172
rtc
unsigned char rtc[6]
Defined in mscb/include/mscb.h:174
siliconRevison
unsigned char siliconRevison
Defined in mscb/include/mscb.h:183
Supply1V8
float Supply1V8
Defined in mscb/include/mscb.h:187
Supply24V0
float Supply24V0
Defined in mscb/include/mscb.h:190
Supply24V0Current
float Supply24V0Current
Defined in mscb/include/mscb.h:193
Supply24V0Ext
float Supply24V0Ext
Defined in mscb/include/mscb.h:192
Supply3V3
float Supply3V3
Defined in mscb/include/mscb.h:188
Supply5V0
float Supply5V0
Defined in mscb/include/mscb.h:189
Supply5V0Ext
float Supply5V0Ext
Defined in mscb/include/mscb.h:191
SW_resets
unsigned short SW_resets
Defined in mscb/include/mscb.h:180
systemLoad
float systemLoad
Defined in mscb/include/mscb.h:184
Vbat
float Vbat
Defined in mscb/include/mscb.h:194
MSCB_INFO_VAR
Defined in mscb/include/mscb.h:197
Attributes
flags
unsigned char flags
flags MSCBF_xxx
Defined in mscb/include/mscb.h:202
name
char name[16]
name
Defined in mscb/include/mscb.h:203
prefix
unsigned char prefix
unit prefix PRFX_xxx
Defined in mscb/include/mscb.h:200
status
unsigned char status
status (not yet used)
Defined in mscb/include/mscb.h:201
unit
unsigned char unit
physical units UNIT_xxxx
Defined in mscb/include/mscb.h:199
width
unsigned char width
width in bytes
Defined in mscb/include/mscb.h:198
XIL_FW_HEADER
Defined in mscb/include/mscb.h:142
Attributes
checksum
unsigned int checksum
~(name_offs + fpga_offs + ... + head_id)
Defined in mscb/include/mscb.h:150
data_len
unsigned int data_len
Defined in mscb/include/mscb.h:147
date_offs
unsigned int date_offs
Defined in mscb/include/mscb.h:145
fpga_offs
unsigned int fpga_offs
Defined in mscb/include/mscb.h:144
head_id
unsigned int head_id
Defined in mscb/include/mscb.h:149
head_len
unsigned int head_len
Defined in mscb/include/mscb.h:148
name_offs
unsigned int name_offs
Defined in mscb/include/mscb.h:143
time_offs
unsigned int time_offs
Defined in mscb/include/mscb.h:146
XIL_SW_HEADER
Defined in mscb/include/mscb.h:153
Attributes
checksum
unsigned int checksum
~(name_offs + data_len + head_len)
Defined in mscb/include/mscb.h:157
data_len
unsigned int data_len
Defined in mscb/include/mscb.h:155
head_len
unsigned int head_len
Defined in mscb/include/mscb.h:156
name_offs
unsigned int name_offs
Defined in mscb/include/mscb.h:154
Type definitions
MUTEX_T
typedef pthread_mutex_t MUTEX_T
Defined in mscb/include/mscb.h:292
Functions
host2ip
int host2ip(const char *hostname, char *ip, int size)
Declared in mscb/include/mscb.h:446, defined in mscb/src/mscb.cxx:432
kbhit
int kbhit()
Declared in mscb/include/mscb.h:457, defined in mscb/src/mscb.cxx:257
mscb_addr
int mscb_addr(int fd, int cmd, unsigned short adr, int quick, int retry)
Address node or nodes, only used internall from read and write routines. A MSCB lock has to be obtained outside of this routine!
Parameters:
-
fd(int) [in] –File descriptor for connection -
cmd(int) [in] – -
adr(unsigned short) [in] –Node or group address -
quick(int) [in] –Quick ping (short timeout) -
retry(int) [in] –Number of retries
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving ping acknowledge -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:436, defined in mscb/src/mscb.cxx:1274
mscb_check
void mscb_check(char *device, int size)
Defined in mscb/include/mscb.h:396
mscb_clear_log
int mscb_clear_log(int fd, unsigned short adr)
Clears the log on the addressed node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_INVAL_PARAM–Invalid parameters
Declared in mscb/include/mscb.h:443, defined in mscb/src/mscb.cxx:5257
mscb_debug
int mscb_debug(int flag)
set global debug flag
Declared in mscb/include/mscb.h:392, defined in mscb/src/mscb.cxx:1237
mscb_download
int mscb_download(int fd, unsigned short node_adr, short sub_adr, const char *filename)
Download firmware from node to file
Parameters:
-
fd(int) [in] –File descriptor for connection -
node_adr(unsigned short) -
sub_adr(short) [in] –Subaddress of WaveDAQ crate (slot) -
filename(const char *) [in] –Filename -
adr[in] –Node address
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_NOT_FOUND–File 'filename' exists alread
Declared in mscb/include/mscb.h:423, defined in mscb/src/mscb.cxx:3328
mscb_echo
int mscb_echo(int fd, unsigned short add, unsigned char d1, unsigned char *d2)
Send byte and receive echo, useful for testing
Parameters:
-
fd(int) [in] –File descriptor for connection -
add(unsigned short) [in] –Node address -
d1(unsigned char) [in] –Byte to send -
d2(unsigned char *) [out] –Received byte
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_FORMAT_ERROR–"size" parameter too large
Declared in mscb/include/mscb.h:401, defined in mscb/src/mscb.cxx:4770
mscb_exit
int mscb_exit(int fd)
Close a MSCB interface
Parameters:
-
fd(int) [in] –file descriptor for connection
Returns:
-
MSCB_SUCCESS–Successful completion
Declared in mscb/include/mscb.h:397, defined in mscb/src/mscb.cxx:1209
mscb_flash
int mscb_flash(int fd, int adr, int gaddr, int broadcast)
Flash node variables to EEPROM
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(int) [in] –Node address -
gaddr(int) [in] –Group address -
broadcast(int) [in] –Broadcast flag
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:412, defined in mscb/src/mscb.cxx:2398
mscb_get_device
void mscb_get_device(int fd, char *device, int bufsize)
Return device name for fd
Parameters:
-
fd(int) [in] –File descriptor obtained via mscb_init() -
device(char *) [in] –device name, "" if invalid fd -
bufsize(int) [in] –Size of device string
Declared in mscb/include/mscb.h:394, defined in mscb/src/mscb.cxx:1247
mscb_get_eth_max_retry
int mscb_get_eth_max_retry(int fd)
Get the current setting of the MSCB ethernet retry limit
Parameters:
-
fd(int) [in] –file descriptor for mscb connection -
value[in] –current value of the MSCB ethernet retry limit
Declared in mscb/include/mscb.h:418, defined in mscb/src/mscb.cxx:510
mscb_get_eth_pause
unsigned int mscb_get_eth_pause(int fd)
Get the current pause time of the MSCB ethernet communication
Parameters:
-
fd(int) [in] –file descriptor for mscb connection -
value[in] –current value of the MSCB paus time in ms
Declared in mscb/include/mscb.h:420, defined in mscb/src/mscb.cxx:557
mscb_get_max_retry
int mscb_get_max_retry()
Get the current setting of the MSCB maximum retry limit
Return value:
current value of the MSCB maximum retry limit
Declared in mscb/include/mscb.h:414, defined in mscb/src/mscb.cxx:475
mscb_get_usb_timeout
int mscb_get_usb_timeout()
Defined in mscb/include/mscb.h:416
mscb_get_version
void mscb_get_version(char *lib_version, int lib_size, char *prot_version, int prot_size)
Declared in mscb/include/mscb.h:395, defined in mscb/src/mscb.cxx:991
mscb_info
int mscb_info(int fd, unsigned short adr, MSCB_INFO * info)
Retrieve info on addressd node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
info(MSCB_INFO *) [out] –Info structure defined in mscb.h
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:402, defined in mscb/src/mscb.cxx:1532
mscb_info_variable
int mscb_info_variable(int fd, unsigned short adr, unsigned char index, MSCB_INFO_VAR * info)
Retrieve info on a specific node variable
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
index(unsigned char) [in] –Variable index 0..255 -
info(MSCB_INFO_VAR *) [out] –Info structure defined in mscb.h
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:403, defined in mscb/src/mscb.cxx:1685
mscb_init
int mscb_init(char *device, int device_size, const char *password, int debug)
Initialize and open MSCB
Parameters:
-
device(char *) [in] –mscbxxx for Ethernet connection -
device_size(int) [in] –Size of "device" string, in case no device is specified from the caller and this function returns the chosen device -
password(const char *) [in] –Optional password, used for ethernet submasters -
debug(int) [in] –Debug flag:
1: all writes are logged to mscb_write.log
2: all writes and read are logged to mscb_debug.log
3: debug output is written to screen
Returns:
-
int–int fd: device descriptor for connection, negative number in case of error: -
EMSCB_NO_MEM–Out of memory for file descriptors -
EMSCB_RPC_ERROR–Cannot talk to Ethernet submaster -
EMSCB_COMM_ERROR–Submaster does not reply on echo -
EMSCB_LOCKED–MSCB system locked by other user -
EMSCB_NO_ACCESS–No access to submaster -
EMSCB_INVAL_PARAM–Invalid parameter -
EMSCB_NOT_FOUND–Submaster not found -
EMSCB_NO_WRITE_ACCESS–No write access under linux -
EMSCB_WRONG_PASSWORD–Wrong password -
EMSCB_SUMB_VERSION–Submaster has wrong protocol version
Declared in mscb/include/mscb.h:391, defined in mscb/src/mscb.cxx:998
mscb_legacy_verify
int mscb_legacy_verify(int fd, unsigned short adr, unsigned char *buffer)
Compare remote firmware with buffer contents
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
buffer(unsigned char *) [in] –Buffer with Intel HEX file -
size[in] –Size of buffer
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_FORMAT_ERROR–Error in HEX file format
Declared in mscb/include/mscb.h:425, defined in mscb/src/mscb.cxx:3908
mscb_link
int mscb_link(int fd, unsigned short adr, unsigned char index, void *data, int size)
Used by LabView to link controls to MSCB variables
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
index(unsigned char) [in] –Variable index -
data(void *) [in,out] –Pointer to data
Readback data -
size(int) [in] –Size of data
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_FORMAT_ERROR–"size" parameter too large -
MSCB_NO_MEM–Out of memory
Declared in mscb/include/mscb.h:435, defined in mscb/src/mscb.cxx:4831
mscb_ping
int mscb_ping(int fd, unsigned short adr, int quick, int retry)
Ping node to see if it's alive
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
quick(int) [in] –If 1, do a quick ping (short timeout) -
retry(int) [in] –If 1, retry if no response (slow)
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:400, defined in mscb/src/mscb.cxx:1485
mscb_read
int mscb_read(int fd, unsigned short adr, unsigned char index, void *data, int *size)
Read data from variable on node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
index(unsigned char) [in] –Variable index 0..255 -
data(void *) [out] –Received data -
size(int *) [in,out] –Buffer size for data
Number of received bytes
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_INVALID_INDEX–index parameter too large
Declared in mscb/include/mscb.h:426, defined in mscb/src/mscb.cxx:4067
mscb_read_log
int mscb_read_log(int fd, unsigned short adr, void* dataBuf, int bufsize)
Reads the log from the addressed node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
dataBuf(void*) [out] –log data -
bufsize(int) [out] –buffersize
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_INVAL_PARAM–Invalid parameters
Declared in mscb/include/mscb.h:444, defined in mscb/src/mscb.cxx:5315
mscb_read_mem
int mscb_read_mem(int fd, unsigned short node_adr, int sub_adr, unsigned int mem_adr, void *buffer, int size)
Read block of data to memory
Parameters:
-
fd(int) [in] –File descriptor for connection -
node_adr(unsigned short) -
sub_adr(int) [in] –Slot number -
mem_adr(unsigned int) [in] –Memory address -
buffer(void *) [in] –Data buffer -
size(int) [in] –Number of bytes to read -
address[in]
Returns:
-
MSCB_INVAL_PARAM–Invalid parameter -
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:432, defined in mscb/src/mscb.cxx:4620
mscb_read_no_retries
int mscb_read_no_retries(int fd, unsigned short adr, unsigned char index, void *data, int *size)
Same as mscb_read, but without retries
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
index(unsigned char) [in] –Variable index 0..255 -
data(void *) [out] –Received data -
size(int *) [in,out] –Buffer size for data
Number of received bytes
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:427, defined in mscb/src/mscb.cxx:4240
mscb_read_range
int mscb_read_range(int fd, unsigned short adr, unsigned char index1, unsigned char index2, void *data, int *size)
Read data from multiple channels on node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
index1(unsigned char) [in] –First index to read -
index2(unsigned char) [in] –Last index to read -
data(void *) [out] –Received data -
size(int *) [in,out] –Buffer size for data
Number of received bytes
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:428, defined in mscb/src/mscb.cxx:4370
mscb_reboot
int mscb_reboot(int fd, int addr, int gaddr, int broadcast)
Reboot node by sending MCMD_INIT
Parameters:
-
fd(int) [in] –File descriptor for connection -
addr(int) [in] –Node address -
gaddr(int) [in] –Group address -
broadcast(int) [in] –Broadcast flag
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_TIMEOUT–Timeout receiving ping acknowledge
Declared in mscb/include/mscb.h:399, defined in mscb/src/mscb.cxx:1367
mscb_scan_udp
void mscb_scan_udp()
Scan network for running ethernet submasters
Declared in mscb/include/mscb.h:440, defined in mscb/src/mscb.cxx:5049
mscb_select_device
int mscb_select_device(char *data, int size, int select)
Defined in mscb/include/mscb.h:393
mscb_set_baud
int mscb_set_baud(int fd, int baud)
Set baud rate of a whole MSCB bus
Parameters:
-
fd(int) [in] –File descriptor for connection -
baud(int) [in] –Baud rate:
1: 2400
2: 4800
3: 9600
4: 19200
5: 28800
6: 38400
7: 57600
8: 115200
9: 172800 10: 345600
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:413, defined in mscb/src/mscb.cxx:2463
mscb_set_eth_max_retry
int mscb_set_eth_max_retry(int fd, int eth_max_retry)
Set retry limit for MSCB ethernet communications
Parameters:
-
fd(int) [in] –file descriptor for mscb connection -
eth_max_retry(int) [in] –new value for ethernet retry limit
Returns:
-
int–old value of the ethernet maximum retry limit
Declared in mscb/include/mscb.h:419, defined in mscb/src/mscb.cxx:531
mscb_set_eth_pause
int mscb_set_eth_pause(int fd, unsigned int pause)
Get the current pause time of the MSCB ethernet communication
Parameters:
-
fd(int) [in] –file descriptor for mscb connection -
pause(unsigned int) -
eth_max_retry[in] –new value in ms
Returns:
-
MSCB_SUCCESS–Successful completion
Declared in mscb/include/mscb.h:421, defined in mscb/src/mscb.cxx:578
mscb_set_group_addr
int mscb_set_group_addr(int fd, int addr, int gaddr, int broadcast, unsigned short new_addr)
Set group address of addressed node(s)
Parameters:
-
fd(int) [in] –File descriptor for connection -
addr(int) [in] –Node address -
gaddr(int) [in] –Group address -
broadcast(int) [in] –Broadcast flag -
new_addr(unsigned short) -
address[in]
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:406, defined in mscb/src/mscb.cxx:1871
mscb_set_max_retry
int mscb_set_max_retry(int max_retry)
Set the limit for retrying MSCB operations
Parameters:
-
max_retry(int) [in] –new value of the mscb maximum retry limit
Returns:
-
int–old value of the maximum retry limit
Declared in mscb/include/mscb.h:415, defined in mscb/src/mscb.cxx:490
mscb_set_name
int mscb_set_name(int fd, unsigned short adr, char *name)
Set node name
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
name(char *) [in] –New node name, up to 16 characters
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:407, defined in mscb/src/mscb.cxx:1943
mscb_set_node_addr
int mscb_set_node_addr(int fd, int addr, int gaddr, int broadcast, unsigned short new_addr)
Set node address of an node. Only set high byte if addressed in group or broadcast mode
Parameters:
-
fd(int) [in] –File descriptor for connection -
addr(int) [in] –Node address -
gaddr(int) [in] –Group address -
broadcast(int) [in] –Broadcast flag -
new_addr(unsigned short) -
address[in]
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:405, defined in mscb/src/mscb.cxx:1788
mscb_set_time
int mscb_set_time(int fd, int addr, int gaddr, int broadcast)
Set time of node equal to local time
Parameters:
-
fd(int) [in] –File descriptor for connection -
addr(int) [in] –Node address -
gaddr(int) [in] –Group address -
broadcast(int) [in] –Broadcast flag
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_TIMEOUT–Timeout receiving ping acknowledge
Declared in mscb/include/mscb.h:437, defined in mscb/src/mscb.cxx:5178
mscb_set_usb_timeout
int mscb_set_usb_timeout(int timeout)
Defined in mscb/include/mscb.h:417
mscb_subm_info
int mscb_subm_info(int fd)
Show info for submaster
Declared in mscb/include/mscb.h:441, defined in mscb/src/mscb.cxx:5127
mscb_subm_reset
int mscb_subm_reset(int fd)
Reset submaster via hardware reset
Parameters:
-
fd(int) [in] –File descriptor for connection
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_SEMPHORE–Cannot obtain semaphore for mscb
Declared in mscb/include/mscb.h:398, defined in mscb/src/mscb.cxx:1429
mscb_upload
int mscb_upload(int fd, unsigned short adr, short int sub_adr, const char *filename, int flags)
Upload new firmware to node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
sub_adr(short int) [in] –Subaddress of WaveDAQ crate (slot) -
filename(const char *) -
flags(int) [in] –MSCB_UPLOAD_DEBUG: produce detailed debugging output MSCB_UPLOAD_VERIFY: only verify image MSCB_UPLOAD_SUBADDR: upload using subaddress -
buffer[in] –Buffer with Intel HEX file
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_FORMAT_ERROR–Error in HEX file format -
MSCB_NOT_FOUND–File 'filename' not found
Declared in mscb/include/mscb.h:422, defined in mscb/src/mscb.cxx:3037
mscb_uptime
int mscb_uptime(int fd, unsigned short adr, unsigned int *uptime)
Retrieve uptime of node in seconds
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
uptime(unsigned int *) [out] –Uptime in seconds
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:404, defined in mscb/src/mscb.cxx:1629
mscb_user
int mscb_user(int fd, unsigned short adr, void *param, int size, void *result, int *rsize)
Call user function on node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
param(void *) [in] –Parameters passed to user function, no CRC code -
size(int) [in] –Size of parameters in bytes -
result(void *) [out] –Optional return parameters -
rsize(int *) [in,out] –Size of result buffer
Number of returned size
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving data -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_FORMAT_ERROR–"size" parameter too large
Declared in mscb/include/mscb.h:434, defined in mscb/src/mscb.cxx:4693
mscb_verify
int mscb_verify(int fd, unsigned short adr, short int sub_adr, const char *filename, int flags)
Verify firmware on node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
sub_adr(short int) [in] –Subaddress of WaveDAQ crate (slot) -
filename(const char *) -
flags(int) [in] –MSCB_UPLOAD_DEBUG: produce detailed debugging output
MSCB_UPLOAD_VERIFY: only verify image
MSCB_UPLOAD_SUBADDR: upload using subaddress -
buffer[in] –Buffer with Intel HEX file
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb -
MSCB_FORMAT_ERROR–Error in HEX file format -
MSCB_NOT_FOUND–File 'filename' not found
Declared in mscb/include/mscb.h:424, defined in mscb/src/mscb.cxx:3595
mscb_write
int mscb_write(int fd, unsigned short adr, unsigned char index, void *data, int size)
Write data to variable on single node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
index(unsigned char) [in] –Variable index 0..255 -
data(void *) [in] –Data to send -
size(int) [in] –Data size in bytes 1..4 for byte, word, and dword
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:408, defined in mscb/src/mscb.cxx:2043
mscb_write_group
int mscb_write_group(int fd, unsigned short adr, unsigned char index, void *data, int size)
Write data to channels on group of nodes
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –group address -
index(unsigned char) [in] –Variable index 0..255 -
data(void *) [in] –Data to send -
size(int) [in] –Data size in bytes 1..4 for byte, word, and dword
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:410, defined in mscb/src/mscb.cxx:1992
mscb_write_mem
int mscb_write_mem(int fd, unsigned short node_adr, int sub_adr, unsigned int mem_adr, void *buffer, int size)
Write block of data to memory
Parameters:
-
fd(int) [in] –File descriptor for connection -
node_adr(unsigned short) -
sub_adr(int) [in] –Slot number -
mem_adr(unsigned int) [in] –Memory address -
buffer(void *) [in] –Data buffer -
size(int) [in] –Number of bytes in buffer -
address[in]
Returns:
-
MSCB_INVAL_PARAM–Invalid parameter -
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout -
MSCB_CRC_ERROR–CRC error -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:430, defined in mscb/src/mscb.cxx:4548
mscb_write_no_retries
int mscb_write_no_retries(int fd, unsigned short adr, unsigned char index, void *data, int size)
Same as mscb_write, but without retries
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
index(unsigned char) [in] –Variable index 0..255 -
data(void *) [in] –Data to send -
size(int) [in] –Data size in bytes 1..4 for byte, word, and dword
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:409, defined in mscb/src/mscb.cxx:2181
mscb_write_range
int mscb_write_range(int fd, unsigned short adr, unsigned char index1, unsigned char index2, void *data, int size)
Write data to multiple indices on node
Parameters:
-
fd(int) [in] –File descriptor for connection -
adr(unsigned short) [in] –Node address -
index1(unsigned char) [in] –First variable index 0..255 to write -
index2(unsigned char) [in] –Last variable index 0..255 to write -
data(void *) [in] –Data to send -
size(int) [in] –Data size in bytes
Returns:
-
MSCB_SUCCESS–Successful completion -
MSCB_TIMEOUT–Timeout receiving acknowledge -
MSCB_CRC_ERROR–CRC error -
MSCB_INVAL_PARAM–Parameter "size" has invalid value -
MSCB_MUTEX–Cannot obtain mutex for mscb
Declared in mscb/include/mscb.h:411, defined in mscb/src/mscb.cxx:2285
set_mac_address
int set_mac_address(int fd)
Ask for hostname/password and set MAC configuration of subm_260 interface over ethernet
Parameters:
-
fd(int) [in] –File descriptor for connection -
interactively[in]
Returns:
-
MSCB_SUCCESS–Successful completion -
0–Error
Declared in mscb/include/mscb.h:439, defined in mscb/src/mscb.cxx:4944
Macros
ADDR_SET_GROUP
#define ADDR_SET_GROUP 3
Defined in mscb/include/mscb.h:104
ADDR_SET_HIGH
#define ADDR_SET_HIGH 2
Defined in mscb/include/mscb.h:103
ADDR_SET_NODE
#define ADDR_SET_NODE 1
Defined in mscb/include/mscb.h:102
BD_115200
#define BD_115200 8
Defined in mscb/include/mscb.h:123
BD_172800
#define BD_172800 9
Defined in mscb/include/mscb.h:124
BD_19200
#define BD_19200 4
Defined in mscb/include/mscb.h:119
BD_2400
#define BD_2400 1
Defined in mscb/include/mscb.h:116
BD_28800
#define BD_28800 5
Defined in mscb/include/mscb.h:120
BD_345600
#define BD_345600 10
Defined in mscb/include/mscb.h:125
BD_38400
#define BD_38400 6
Defined in mscb/include/mscb.h:121
BD_4800
#define BD_4800 2
Defined in mscb/include/mscb.h:117
BD_57600
#define BD_57600 7
Defined in mscb/include/mscb.h:122
BD_9600
#define BD_9600 3
Defined in mscb/include/mscb.h:118
DWORD_SWAP
#define DWORD_SWAP(x)
Defined in mscb/include/mscb.h:366
EMSCB_COMM_ERROR
#define EMSCB_COMM_ERROR -9
Defined in mscb/include/mscb.h:352
EMSCB_INVAL_PARAM
#define EMSCB_INVAL_PARAM -7
Defined in mscb/include/mscb.h:350
EMSCB_LOCKED
#define EMSCB_LOCKED -5
Defined in mscb/include/mscb.h:348
EMSCB_NO_ACCESS
#define EMSCB_NO_ACCESS -4
Defined in mscb/include/mscb.h:347
EMSCB_NO_MEM
#define EMSCB_NO_MEM -2
Defined in mscb/include/mscb.h:345
EMSCB_NO_SUBM
#define EMSCB_NO_SUBM -6
Defined in mscb/include/mscb.h:349
EMSCB_NO_WRITE_ACCESS
#define EMSCB_NO_WRITE_ACCESS -11
Defined in mscb/include/mscb.h:354
EMSCB_NOT_FOUND
#define EMSCB_NOT_FOUND -10
Defined in mscb/include/mscb.h:353
EMSCB_PROTOCOL_VERSION
#define EMSCB_PROTOCOL_VERSION -12
Defined in mscb/include/mscb.h:355
EMSCB_RPC_ERROR
#define EMSCB_RPC_ERROR -3
Defined in mscb/include/mscb.h:346
EMSCB_UNDEFINED
#define EMSCB_UNDEFINED -1
Defined in mscb/include/mscb.h:344
EMSCB_WRONG_PASSWORD
#define EMSCB_WRONG_PASSWORD -8
Defined in mscb/include/mscb.h:351
EXPRT
#define EXPRT
Defined in mscb/include/mscb.h:387
FALSE
#define FALSE 0
Defined in mscb/include/mscb.h:455
GET_INFO_GENERAL
#define GET_INFO_GENERAL 0
Defined in mscb/include/mscb.h:99
GET_INFO_VARIABLE
#define GET_INFO_VARIABLE 1
Defined in mscb/include/mscb.h:100
getch
#define getch() getchar()
Defined in mscb/include/mscb.h:458
MCMD_ACK
#define MCMD_ACK 0x78
Defined in mscb/include/mscb.h:83
MCMD_ADDR_BC
#define MCMD_ADDR_BC 0x10
Defined in mscb/include/mscb.h:61
MCMD_ADDR_GRP16
#define MCMD_ADDR_GRP16 0x12
Defined in mscb/include/mscb.h:63
MCMD_ADDR_GRP8
#define MCMD_ADDR_GRP8 0x11
Defined in mscb/include/mscb.h:62
MCMD_ADDR_NODE16
#define MCMD_ADDR_NODE16 0x0A
Defined in mscb/include/mscb.h:60
MCMD_ADDR_NODE8
#define MCMD_ADDR_NODE8 0x09
Defined in mscb/include/mscb.h:59
MCMD_ECHO
#define MCMD_ECHO 0x61
Defined in mscb/include/mscb.h:79
MCMD_FLASH
#define MCMD_FLASH 0x98
Defined in mscb/include/mscb.h:88
MCMD_FREEZE
#define MCMD_FREEZE 0x41
Defined in mscb/include/mscb.h:73
MCMD_GET_INFO
#define MCMD_GET_INFO 0x28
Defined in mscb/include/mscb.h:68
MCMD_GET_UPTIME
#define MCMD_GET_UPTIME 0x70
Defined in mscb/include/mscb.h:81
MCMD_INIT
#define MCMD_INIT 0x20
Defined in mscb/include/mscb.h:67
MCMD_LOG
#define MCMD_LOG 0xC1
Defined in mscb/include/mscb.h:97
MCMD_PING16
#define MCMD_PING16 0x1A
Defined in mscb/include/mscb.h:65
MCMD_PING8
#define MCMD_PING8 0x19
Defined in mscb/include/mscb.h:64
MCMD_READ
#define MCMD_READ 0xA0
Defined in mscb/include/mscb.h:90
MCMD_READ_MEM
#define MCMD_READ_MEM 0xBF
Defined in mscb/include/mscb.h:95
MCMD_SET_ADDR
#define MCMD_SET_ADDR 0x33
Defined in mscb/include/mscb.h:69
MCMD_SET_BAUD
#define MCMD_SET_BAUD 0x39
Defined in mscb/include/mscb.h:71
MCMD_SET_NAME
#define MCMD_SET_NAME 0x37
Defined in mscb/include/mscb.h:70
MCMD_SET_TIME
#define MCMD_SET_TIME 0x4E
Defined in mscb/include/mscb.h:75
MCMD_SYNC
#define MCMD_SYNC 0x49
Defined in mscb/include/mscb.h:74
MCMD_TOKEN
#define MCMD_TOKEN 0x68
Defined in mscb/include/mscb.h:80
MCMD_UPGRADE
#define MCMD_UPGRADE 0x50
Defined in mscb/include/mscb.h:76
MCMD_USER
#define MCMD_USER 0x58
Defined in mscb/include/mscb.h:77
MCMD_WRITE_ACK
#define MCMD_WRITE_ACK 0x88
Defined in mscb/include/mscb.h:86
MCMD_WRITE_MEM
#define MCMD_WRITE_MEM 0xB7
Defined in mscb/include/mscb.h:94
MCMD_WRITE_NA
#define MCMD_WRITE_NA 0x80
Defined in mscb/include/mscb.h:85
MCMD_WRITE_RANGE
#define MCMD_WRITE_RANGE 0xA8
Defined in mscb/include/mscb.h:92
MSCB_ADDR_EXISTS
#define MSCB_ADDR_EXISTS 10
Defined in mscb/include/mscb.h:334
MSCB_BASE_CODE
#define MSCB_BASE_CODE 0x30000000
Defined in mscb/include/mscb.h:132
MSCB_BASE_FLASH
#define MSCB_BASE_FLASH 0x20000000
Defined in mscb/include/mscb.h:131
MSCB_BASE_NVRAM
#define MSCB_BASE_NVRAM 0x10000000
Defined in mscb/include/mscb.h:130
MSCB_BASE_RAM
#define MSCB_BASE_RAM 0x00000000
Defined in mscb/include/mscb.h:129
MSCB_CRC_ERROR
#define MSCB_CRC_ERROR 2
Defined in mscb/include/mscb.h:326
MSCB_FORMAT_ERROR
#define MSCB_FORMAT_ERROR 7
Defined in mscb/include/mscb.h:331
MSCB_INVAL_PARAM
#define MSCB_INVAL_PARAM 5
Defined in mscb/include/mscb.h:329
MSCB_INVALID_INDEX
#define MSCB_INVALID_INDEX 15
Defined in mscb/include/mscb.h:339
MSCB_MAX_FD
#define MSCB_MAX_FD 1024
Defined in mscb/include/mscb.h:278
MSCB_MUTEX
#define MSCB_MUTEX 6
Defined in mscb/include/mscb.h:330
MSCB_NO_MEM
#define MSCB_NO_MEM 8
Defined in mscb/include/mscb.h:332
MSCB_NO_VAR
#define MSCB_NO_VAR 14
Defined in mscb/include/mscb.h:338
MSCB_NOT_FOUND
#define MSCB_NOT_FOUND 16
Defined in mscb/include/mscb.h:340
MSCB_NOTREADY
#define MSCB_NOTREADY 13
Defined in mscb/include/mscb.h:337
MSCB_SUBADDR
#define MSCB_SUBADDR 12
Defined in mscb/include/mscb.h:336
MSCB_SUBM_ERROR
#define MSCB_SUBM_ERROR 9
Defined in mscb/include/mscb.h:333
MSCB_SUCCESS
#define MSCB_SUCCESS 1
Defined in mscb/include/mscb.h:325
MSCB_TIMEOUT
#define MSCB_TIMEOUT 3
Defined in mscb/include/mscb.h:327
MSCB_TIMEOUT_BUS
#define MSCB_TIMEOUT_BUS 4
Defined in mscb/include/mscb.h:328
MSCB_TYPE_ETH
#define MSCB_TYPE_ETH 2
Defined in mscb/include/mscb.h:281
MSCB_TYPE_USB
#define MSCB_TYPE_USB 1
Defined in mscb/include/mscb.h:280
MSCB_UPLOAD_DEBUG
#define MSCB_UPLOAD_DEBUG 0x01
Defined in mscb/include/mscb.h:162
MSCB_UPLOAD_SUBADDR
#define MSCB_UPLOAD_SUBADDR 0x02
Defined in mscb/include/mscb.h:163
MSCB_WRONG_PASS
#define MSCB_WRONG_PASS 11
Defined in mscb/include/mscb.h:335
MSCBF_DATALESS
#define MSCBF_DATALESS (1<<2)
Defined in mscb/include/mscb.h:208
MSCBF_FLOAT
#define MSCBF_FLOAT (1<<0)
Defined in mscb/include/mscb.h:206
MSCBF_HIDDEN
#define MSCBF_HIDDEN (1<<3)
Defined in mscb/include/mscb.h:209
MSCBF_REMIN
#define MSCBF_REMIN (1<<4)
Defined in mscb/include/mscb.h:210
MSCBF_REMOUT
#define MSCBF_REMOUT (1<<5)
Defined in mscb/include/mscb.h:211
MSCBF_SIGNED
#define MSCBF_SIGNED (1<<1)
Defined in mscb/include/mscb.h:207
MUTEX_T_DEFINED
#define MUTEX_T_DEFINED
Defined in mscb/include/mscb.h:293
POINTER_T
#define POINTER_T long int
Defined in mscb/include/mscb.h:465
PRFX_GIGA
#define PRFX_GIGA 9
Defined in mscb/include/mscb.h:222
PRFX_KILO
#define PRFX_KILO 3
Defined in mscb/include/mscb.h:220
PRFX_MEGA
#define PRFX_MEGA 6
Defined in mscb/include/mscb.h:221
PRFX_MICRO
#define PRFX_MICRO -6
Defined in mscb/include/mscb.h:217
PRFX_MILLI
#define PRFX_MILLI -3
Defined in mscb/include/mscb.h:218
PRFX_NANO
#define PRFX_NANO -9
Defined in mscb/include/mscb.h:216
PRFX_NONE
#define PRFX_NONE 0
Defined in mscb/include/mscb.h:219
PRFX_PICO
#define PRFX_PICO -12
Defined in mscb/include/mscb.h:215
PRFX_TERA
#define PRFX_TERA 12
Defined in mscb/include/mscb.h:223
Sleep
#define Sleep(x) usleep(x*1000)
Defined in mscb/include/mscb.h:459
TRUE
#define TRUE 1
Defined in mscb/include/mscb.h:454
UCMD_ECHO
#define UCMD_ECHO 1
Defined in mscb/include/mscb.h:106
UCMD_ERASE
#define UCMD_ERASE 2
Defined in mscb/include/mscb.h:107
UCMD_PROGRAM
#define UCMD_PROGRAM 3
Defined in mscb/include/mscb.h:108
UCMD_READ
#define UCMD_READ 5
Defined in mscb/include/mscb.h:110
UCMD_REBOOT
#define UCMD_REBOOT 6
Defined in mscb/include/mscb.h:111
UCMD_RETURN
#define UCMD_RETURN 7
Defined in mscb/include/mscb.h:112
UCMD_VERIFY
#define UCMD_VERIFY 4
Defined in mscb/include/mscb.h:109
UNIT_AMPERE
#define UNIT_AMPERE 6
Defined in mscb/include/mscb.h:233
UNIT_ASCII
#define UNIT_ASCII 55
Defined in mscb/include/mscb.h:259
UNIT_BAR
#define UNIT_BAR 22
Defined in mscb/include/mscb.h:242
UNIT_BAUD
#define UNIT_BAUD 57
Defined in mscb/include/mscb.h:261
UNIT_BOOLEAN
#define UNIT_BOOLEAN 50
Defined in mscb/include/mscb.h:255
UNIT_BYTE
#define UNIT_BYTE 52
Defined in mscb/include/mscb.h:256
UNIT_CELSIUS
#define UNIT_CELSIUS 8
Defined in mscb/include/mscb.h:235
UNIT_COUNT
#define UNIT_COUNT 92
Defined in mscb/include/mscb.h:267
UNIT_DWORD
#define UNIT_DWORD 54
Defined in mscb/include/mscb.h:258
UNIT_FACTOR
#define UNIT_FACTOR 93
Defined in mscb/include/mscb.h:268
UNIT_FARAD
#define UNIT_FARAD 29
Defined in mscb/include/mscb.h:249
UNIT_FARENHEIT
#define UNIT_FARENHEIT 9
Defined in mscb/include/mscb.h:236
UNIT_GRAM
#define UNIT_GRAM 2
Defined in mscb/include/mscb.h:229
UNIT_HERTZ
#define UNIT_HERTZ 20
Defined in mscb/include/mscb.h:240
UNIT_HOUR
#define UNIT_HOUR 5
Defined in mscb/include/mscb.h:232
UNIT_JOULE
#define UNIT_JOULE 30
Defined in mscb/include/mscb.h:250
UNIT_KELVIN
#define UNIT_KELVIN 7
Defined in mscb/include/mscb.h:234
UNIT_LITERPERSEC
#define UNIT_LITERPERSEC 27
Defined in mscb/include/mscb.h:247
UNIT_METER
#define UNIT_METER 1
Defined in mscb/include/mscb.h:228
UNIT_MINUTE
#define UNIT_MINUTE 4
Defined in mscb/include/mscb.h:231
UNIT_NEWTON
#define UNIT_NEWTON 31
Defined in mscb/include/mscb.h:251
UNIT_OHM
#define UNIT_OHM 25
Defined in mscb/include/mscb.h:245
UNIT_PASCAL
#define UNIT_PASCAL 21
Defined in mscb/include/mscb.h:241
UNIT_PERCENT
#define UNIT_PERCENT 90
Defined in mscb/include/mscb.h:265
UNIT_PPM
#define UNIT_PPM 91
Defined in mscb/include/mscb.h:266
UNIT_RPM
#define UNIT_RPM 28
Defined in mscb/include/mscb.h:248
UNIT_SECOND
#define UNIT_SECOND 3
Defined in mscb/include/mscb.h:230
UNIT_STRING
#define UNIT_STRING 56
Defined in mscb/include/mscb.h:260
UNIT_TESLA
#define UNIT_TESLA 26
Defined in mscb/include/mscb.h:246
UNIT_UNDEFINED
#define UNIT_UNDEFINED 0
Defined in mscb/include/mscb.h:225
UNIT_VOLT
#define UNIT_VOLT 24
Defined in mscb/include/mscb.h:244
UNIT_VOLTPERVOLT
#define UNIT_VOLTPERVOLT 94
Defined in mscb/include/mscb.h:269
UNIT_WATT
#define UNIT_WATT 23
Defined in mscb/include/mscb.h:243
UNIT_WORD
#define UNIT_WORD 53
Defined in mscb/include/mscb.h:257
WORD_SWAP
#define WORD_SWAP(x)
Defined in mscb/include/mscb.h:359
XIL_BITFILE_HEADER_ID
#define XIL_BITFILE_HEADER_ID 0xBF8EADE9
Defined in mscb/include/mscb.h:136
XIL_FW_ADDR
#define XIL_FW_ADDR 0x00000000
Defined in mscb/include/mscb.h:137
XIL_FW_HEADER_ADDR
#define XIL_FW_HEADER_ADDR (XIL_SW_ADDR-0x1000)
Defined in mscb/include/mscb.h:139
XIL_SW_ADDR
#define XIL_SW_ADDR 0x00420000
Defined in mscb/include/mscb.h:138
XIL_SW_HEADER_ADDR
#define XIL_SW_HEADER_ADDR (XIL_SW_ADDR+0x001FF000)
Defined in mscb/include/mscb.h:140
Variables
g_prefixMap
extern
std::map<int, std::string> g_prefixMap
Declared in mscb/include/mscb.h:271, defined in mscb/src/mscb.cxx:155
g_prefixMapShort
extern
std::map<int, std::string> g_prefixMapShort
Declared in mscb/include/mscb.h:273, defined in mscb/src/mscb.cxx:167
g_unitTable
extern
std::map<int, std::string> g_unitTable
Declared in mscb/include/mscb.h:272, defined in mscb/src/mscb.cxx:179
g_unitTableShort
extern
std::map<int, std::string> g_unitTableShort
Declared in mscb/include/mscb.h:274, defined in mscb/src/mscb.cxx:215
mscb_fd
extern
MSCB_FD mscb_fd[MSCB_MAX_FD]
Declared in mscb/include/mscb.h:321, defined in mscb/src/mscb.cxx:90