GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > LEM / V4-7-0
Constituent: lem_cli     Tag: linux-gcc
#include "LEM/list_macros.h"
Include dependency graph for cli_macros.h:
This graph shows which files directly or indirectly include this file:
Defines | |
#define | LEM_ALLOCATE_CMD |
Create the lists for a responseless command. | |
#define | LEM_ALLOCATE_RSP |
Create the lists for a command with response. | |
#define | LEM_DO_SEND(encode, op, parity, p, args...) |
Encode and send the command across the LATp fabric, waiting for the response and checking for LCB transmit or receive errors encode Function to use to encode the arguments parity Function to use to set the parity bits p Bit mask indicating which parity bits (if any) to invert op Operation (CMD_LOAD | CMD_DATALESS | CMD_READ) args The arguments to the encode function, except for the first two (which are always the LATpCommand structure and CMD_XXX). | |
#define | LEM_DO_CMD(encode, args...) |
Creates responsless command and result lists, sends the dataless command and returns a status encode Function to use to encode the arguments args The arguments to the encode function, except for the first two (which are always the LATpCommand structure and CMD_DATALESS) and the last (which is always 0). | |
#define | LEM_DO_LOAD(encode, args...) |
Creates responsless command and result lists, sends the load command and returns a status encode Function to use to encode the arguments args The arguments to the encode function, except for the first two (which are always the LATpCommand structure and CMD_LOAD). | |
#define | LEM_DO_READ(encode, args...) |
Creates response command and result lists and sends the read command. encode Function to use to encode the arguments args The arguments to the encode function, except for the first two (which are always the LATpCommand structure and CMD_READ). | |
#define | LEM_DO_LOAD_LL(encode, upper, lower, args...) |
Handles loads where a 64 bit payload is split into 32 bit chunks encode Function to use to encode the arguments upper Most significant 32 bits of the payload lower Least significant 32 bits of the payload args The arguments to the encode function. | |
#define | LEM_DO_ACD_CMD(encode, args...) |
Creates responsless command and result lists, sends the dataless command and returns a status encode Function to use to encode the arguments args The arguments to the encode function, except for the first two (which are always the LATpCommand structure and ACD_CMD_DATALESS) and the last (which is always 0). | |
#define | LEM_DO_ACD_LOAD(encode, args...) |
Creates responsless command and result lists, sends the load command and returns a status encode Function to use to encode the arguments args The arguments to the encode function, except for the first two (which are always the LATpCommand structure and CMD_LOAD). | |
#define | LEM_DO_ACD_READ(encode, args...) |
Creates response command and result lists and sends the read command. encode Function to use to encode the arguments args The arguments to the encode function, except for the first two (which are always the LATpCommand structure and CMD_READ). | |
#define | LEM_DO_DECODE(decode, args...) |
Decode the response from a read command. decode Function to use to decode the arguments args Usually a single pointer to location to place the decoded result, although for the TIC_ENV_decode routine this will be a set of three pointers. |
|
Value: unsigned status = LEM_SUCCESS; \ LEM_sicl *request; \ LEM_cmd_sirl *result; \ unsigned buffer_size = LCB_REQUEST_LIST_ALIGN + sizeof(*request) + LCB_RESULT_LIST_ALIGN + sizeof(*result);\ unsigned char buffer[buffer_size]; \ request = (LEM_sicl* )LEM_ALIGN_REQUEST(buffer, 0); \ result = (LEM_cmd_sirl*)LEM_ALIGN_RESULT (request, sizeof(*request));
|
|
Value: unsigned status = LEM_SUCCESS; \ LEM_sicl *request; \ LEM_rsp_sirl *result; \ unsigned buffer_size = LCB_REQUEST_LIST_ALIGN + sizeof(*request) + LCB_RESULT_LIST_ALIGN + sizeof(*result);\ unsigned char buffer[buffer_size]; \ request = (LEM_sicl* )LEM_ALIGN_REQUEST(buffer, 0); \ result = (LEM_rsp_sirl*)LEM_ALIGN_RESULT (request, sizeof(*request));
|
|
Value: LEM_ALLOCATE_CMD; \ LEM_DO_SEND(encode, ACD_CMD_DATALESS, ## args, 0) \ return status;
|
|
Value: LEM_ALLOCATE_CMD; \ LEM_DO_SEND(encode, ACD_CMD_LOAD, ## args); \ return status;
|
|
Value: LEM_ALLOCATE_RSP; \ LEM_DO_SEND(encode, ACD_CMD_READ, ## args, 0)
|
|
Value: LEM_ALLOCATE_CMD; \ LEM_DO_SEND(encode, CMD_DATALESS, ## args, 0) \ return status;
|
|
Value: decode(result->ri.payload.cell.data, ## args); \
return status;
|
|
Value: LEM_ALLOCATE_CMD; \ LEM_DO_SEND(encode, CMD_LOAD, ## args); \ return status;
|
|
Value: unsigned long long payload = ((unsigned long long)(upper) << 32) | lower; \ LEM_DO_LOAD(encode, ## args, payload);
|
|
Value: LEM_ALLOCATE_RSP; \ LEM_DO_SEND(encode, CMD_READ, ## args, 0)
|
|
Value: {\ encode(&request->ci, op, ## args); \ parity(&request->ci, p); \ status = LCBD_qioW(LCBD_get(), sizeof(*request)/(2*sizeof(int)), (LCBD_cl*)request, (LCBD_rl*)result); \ if(_msg_failure(status)) return status; \ if(result->xcb.usr.rd.bf.xstatus) status = LCBD_rst_xfr_err_map(result->xcb.usr.rd.bf.xstatus);\ if(result->ri.err.ui) status = LCBD_rst_rcv_err_map(result->ri.err.ui); \ LEM_timestamp = result->ri.header.bf.timestamp; \ }
|