Esempio n. 1
0
scpi_result_t SCPI_SetUserLed(scpi_t * context)
{
	int32_t param1, param2, param3;
	
	// read first parameter if present
	if (!SCPI_ParamInt(context, &param1, true)) {
		// do something, if parameter not present
		return SCPI_RES_ERR;
	}

	// read second parameter if present
	if (!SCPI_ParamInt(context, &param2, true)) {
		// do something, if parameter not present
		return SCPI_RES_ERR;
	}

	// read second parameter if present
	if (!SCPI_ParamInt(context, &param3, true)) {
		// do something, if parameter not present
		return SCPI_RES_ERR;
	}

	set_user_led_colour((uint16_t) param1, (uint16_t) param2, (uint16_t) param3);
	return SCPI_RES_OK;
}
Esempio n. 2
0
scpi_result_t scpi_syst_Date(scpi_t * context) {
    int32_t year;
    if (!SCPI_ParamInt(context, &year, TRUE)) {
        return SCPI_RES_ERR;
    }

    int32_t month;
    if (!SCPI_ParamInt(context, &month, TRUE)) {
        return SCPI_RES_ERR;
    }

    int32_t day;
    if (!SCPI_ParamInt(context, &day, TRUE)) {
        return SCPI_RES_ERR;
    }

    if (year < 2000 || year > 2099) {
        SCPI_ErrorPush(context, SCPI_ERROR_DATA_OUT_OF_RANGE);
        return SCPI_RES_ERR;
    }
    year = year - 2000;

    if (!datetime::isValidDate((uint8_t)year, (uint8_t)month, (uint8_t)day)) {
        SCPI_ErrorPush(context, SCPI_ERROR_DATA_OUT_OF_RANGE);
        return SCPI_RES_ERR;
    }

    if (!datetime::setDate((uint8_t)year, (uint8_t)month, (uint8_t)day)) {
        SCPI_ErrorPush(context, SCPI_ERROR_EXECUTION_ERROR);
        return SCPI_RES_ERR;
    }

    return SCPI_RES_OK;
}
Esempio n. 3
0
scpi_result_t scpi_syst_Time(scpi_t * context) {
    int32_t hour;
    if (!SCPI_ParamInt(context, &hour, TRUE)) {
        return SCPI_RES_ERR;
    }

    int32_t minute;
    if (!SCPI_ParamInt(context, &minute, TRUE)) {
        return SCPI_RES_ERR;
    }

    int32_t second;
    if (!SCPI_ParamInt(context, &second, TRUE)) {
        return SCPI_RES_ERR;
    }

    if (!datetime::isValidTime((uint8_t)hour, (uint8_t)minute, (uint8_t)second)) {
        SCPI_ErrorPush(context, SCPI_ERROR_DATA_OUT_OF_RANGE);
        return SCPI_RES_ERR;
    }

    if (!datetime::setTime((uint8_t)hour, (uint8_t)minute, (uint8_t)second)) {
        SCPI_ErrorPush(context, SCPI_ERROR_EXECUTION_ERROR);
        return SCPI_RES_ERR;
    }

    return SCPI_RES_OK;
}
Esempio n. 4
0
/**
 * *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;
}
Esempio n. 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;
}
Esempio n. 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;
}