예제 #1
0
/**
 * *CLS - This command clears all status data structures in a device.
 *        For a device which minimally complies with SCPI. (SCPI std 4.1.3.2)
 * @param context
 * @return
 */
scpi_result_t SCPIParser::SCPI_CoreCls() {
    SCPI_EventClear();
    SCPI_ErrorClear();
    SCPI_RegSet( SCPI_REG_OPER, 0);
    SCPI_RegSet(SCPI_REG_QUES, 0);
    return SCPI_RES_OK;
}
예제 #2
0
파일: ieee488.c 프로젝트: zuban/scpi-parser
/**
 * *CLS - This command clears all status data structures in a device. 
 *        For a device which minimally complies with SCPI. (SCPI std 4.1.3.2)
 * @param context
 * @return 
 */
scpi_result_t SCPI_CoreCls(scpi_t * context) {
    SCPI_EventClear(context);
    SCPI_ErrorClear(context);
    SCPI_RegSet(context, SCPI_REG_OPER, 0);
    SCPI_RegSet(context, SCPI_REG_QUES, 0);
    return SCPI_RES_OK;
}
예제 #3
0
파일: ieee488.c 프로젝트: zuban/scpi-parser
/**
 * *SRE
 * @param context
 * @return 
 */
scpi_result_t SCPI_CoreSre(scpi_t * context) {
    int32_t new_SRE;
    if (SCPI_ParamInt(context, &new_SRE, TRUE)) {
        SCPI_RegSet(context, SCPI_REG_SRE, new_SRE);
    }
    return SCPI_RES_OK;
}
예제 #4
0
파일: minimal.c 프로젝트: cerik/scpi-parser
/**
 * STATus:QUEStionable:ENABle
 * @param context
 * @return 
 */
scpi_result_t SCPI_StatusQuestionableEnable(scpi_t * context) {
    INT32 new_QUESE;
    if (SCPI_ParamInt32(context, &new_QUESE, TRUE)) {
        SCPI_RegSet(context, SCPI_REG_QUESE, (scpi_reg_val_t) new_QUESE);
    }
    return SCPI_RES_OK;
}
예제 #5
0
/**
 * *SRE
 * @param context
 * @return
 */
scpi_result_t SCPIParser::SCPI_CoreSre() {
    int32_t new_SRE;
    if (SCPI_ParamInt(&new_SRE, TRUE)) {
        SCPI_RegSet(SCPI_REG_SRE, new_SRE);
    }
    return SCPI_RES_OK;
}
예제 #6
0
/**
 * STATus:QUEStionable:ENABle
 * @param context
 * @return
 */
scpi_result_t SCPI_StatusQuestionableEnable(scpi_t * context) {
    int32_t new_QUESE;
    if (SCPI_ParamInt(context, &new_QUESE, TRUE)) {
        SCPI_RegSet(context, SCPI_REG_QUESE, new_QUESE);
    }
    return SCPI_RES_OK;
}
예제 #7
0
파일: minimal.c 프로젝트: cerik/scpi-parser
/**
 * STATus:QUEStionable[:EVENt]?
 * @param context
 * @return 
 */
scpi_result_t SCPI_StatusQuestionableEventQ(scpi_t * context) {
    /* return value */
    SCPI_ResultInt32(context, SCPI_RegGet(context, SCPI_REG_QUES));

    /* clear register */
    SCPI_RegSet(context, SCPI_REG_QUES, 0);

    return SCPI_RES_OK;
}
예제 #8
0
파일: ieee488.c 프로젝트: zuban/scpi-parser
/**
 * Update register value
 * @param context
 * @param name - register name
 */
static void regUpdate(scpi_t * context, scpi_reg_name_t name) {
    SCPI_RegSet(context, name, SCPI_RegGet(context, name));
}
예제 #9
0
파일: ieee488.c 프로젝트: zuban/scpi-parser
/**
 * *ESR?
 * @param context
 * @return 
 */
scpi_result_t SCPI_CoreEsrQ(scpi_t * context) {
    SCPI_ResultInt(context, SCPI_RegGet(context, SCPI_REG_ESR));
    SCPI_RegSet(context, SCPI_REG_ESR, 0);
    return SCPI_RES_OK;
}
예제 #10
0
파일: ieee488.c 프로젝트: zuban/scpi-parser
/**
 * Clear event register
 * @param context
 */
void SCPI_EventClear(scpi_t * context) {
    /* TODO */
    SCPI_RegSet(context, SCPI_REG_ESR, 0);
}
예제 #11
0
파일: ieee488.c 프로젝트: zuban/scpi-parser
/**
 * Clear register bits
 * @param name - register name
 * @param bits bit mask
 */
void SCPI_RegClearBits(scpi_t * context, scpi_reg_name_t name, scpi_reg_val_t bits) {
    SCPI_RegSet(context, name, SCPI_RegGet(context, name) & ~bits);
}
예제 #12
0
파일: minimal.c 프로젝트: cerik/scpi-parser
/**
 * STATus:PRESet
 * @param context
 * @return 
 */
scpi_result_t SCPI_StatusPreset(scpi_t * context) {
    /* clear STATUS:... */
    SCPI_RegSet(context, SCPI_REG_QUES, 0);
    return SCPI_RES_OK;
}
예제 #13
0
/**
 * *ESR?
 * @param context
 * @return
 */
scpi_result_t SCPIParser::SCPI_CoreEsrQ() {
    SCPI_ResultInt(SCPI_RegGet(SCPI_REG_ESR));
    SCPI_RegSet(SCPI_REG_ESR, 0);
    return SCPI_RES_OK;
}
예제 #14
0
/**
 * Clear event register
 * @param context
 */
void SCPIParser::SCPI_EventClear() {
    /* TODO */
    SCPI_RegSet(SCPI_REG_ESR, 0);
}
예제 #15
0
/**
 * Clear register bits
 * @param name - register name
 * @param bits bit mask
 */
void SCPIParser::SCPI_RegClearBits(scpi_reg_name_t name, scpi_reg_val_t bits) {
    SCPI_RegSet(name, SCPI_RegGet(name) & ~bits);
}
예제 #16
0
/**
 * Update register value
 * @param context
 * @param name - register name
 */
void SCPIParser::regUpdate(scpi_reg_name_t name) {
    SCPI_RegSet(name, SCPI_RegGet(name));
}