Exemple #1
0
void ti99_handset_device::write_dev(uint8_t data)
{
	if (VERBOSE>7) LOG("ti99_handset_device: Set ack %d\n", data);
	set_acknowledge(data);
}
Exemple #2
0
ret_code_t ann_block_acknow(void)
{
	return(set_acknowledge(ann_block_env.rptid, ann_block_env.rdrnum));
}
Exemple #3
0
ret_code_t ann_block(void)
{
	SaHpiRdrT		rdr_entry;
	SaHpiResourceIdT	rptid;
	SaHpiInstrumentIdT	rdrnum;
	SaHpiAnnunciatorModeT	mode;
	SaHpiRdrTypeT		type;
	SaErrorT		rv;
	char			buf[256];
	char			*str;
	ret_code_t		ret;
	term_def_t		*term;
	int			res, val;

	ret = ask_rpt(&rptid);
	if (ret != HPI_SHELL_OK) return(ret);
	type = SAHPI_ANNUNCIATOR_RDR;
	ret = ask_rdr(rptid, type, &rdrnum);
	if (ret != HPI_SHELL_OK) return(ret);
	rv = saHpiRdrGetByInstrumentId(Domain->sessionId, rptid, type, rdrnum,
		&rdr_entry);
	if (rv != SA_OK) {
		printf("saHpiRdrGetByInstrumentId error %s\n", oh_lookup_error(rv));
		printf("ERROR!!! Can not get rdr: ResourceId=%d RdrType=%d RdrNum=%d\n",
			rptid, type, rdrnum);
		return(HPI_SHELL_CMD_ERROR);
	};
	show_rdr_attrs(&rdr_entry);
	for (;;) {
		block_type = ANN_COM;
		res = get_new_command("annunciator block ==> ");
		if (res == 2) {
			unget_term();
			block_type = MAIN_COM;
			return HPI_SHELL_OK;
		};
		term = get_next_term();
		if (term == NULL) continue;
		snprintf(buf, 256, "%s", term->term);
		if ((strcmp(buf, "q") == 0) || (strcmp(buf, "quit") == 0)) break;
		if (strcmp(buf, "acknow") == 0) {
			set_acknowledge(rptid, rdrnum);
			continue;
		};
		if (strcmp(buf, "list") == 0) {
			list_cond(rptid, rdrnum);
			continue;
		};
		if (strcmp(buf, "add") == 0) {
			add_announ(rptid, rdrnum);
			continue;
		};
		if (strcmp(buf, "delete") == 0) {
			delete_announ(rptid, rdrnum);
			continue;
		};
		if (strcmp(buf, "modeget") == 0) {
			rv = saHpiAnnunciatorModeGet(Domain->sessionId, rptid,
				rdrnum, &mode);
			if (rv != SA_OK) {
				printf("saHpiAnnunciatorModeGet error %s\n",
					oh_lookup_error(rv));
				continue;
			};
			switch (mode) {
				case SAHPI_ANNUNCIATOR_MODE_AUTO:
					str = "AUTO"; break;
				case SAHPI_ANNUNCIATOR_MODE_USER:
					str = "USER"; break;
				case SAHPI_ANNUNCIATOR_MODE_SHARED:
					str = "SHARED"; break;
				default: str = "Unknown"; break;
			};
			printf("Annunciator Mode: %s\n", str);
			continue;
		};
		if (strcmp(buf, "modeset") == 0) {
			res = get_string_param("Mode(auto|user|shared): ",
				buf, 10);
			if (res != 0) {
				printf("Invalid mode: %s\n", buf);
				continue;
			};
			if (strcmp(buf, "auto") == 0)
				mode = SAHPI_ANNUNCIATOR_MODE_AUTO;
			else if (strcmp(buf, "user") == 0)
				mode = SAHPI_ANNUNCIATOR_MODE_USER;
			else if (strcmp(buf, "shared") == 0)
				mode = SAHPI_ANNUNCIATOR_MODE_SHARED;
			else {
				printf("Invalid mode: %s\n", buf);
				continue;
			};
			rv = saHpiAnnunciatorModeSet(Domain->sessionId, rptid,
				rdrnum, mode);
			if (rv != SA_OK) {
				printf("saHpiAnnunciatorModeSet error %s\n",
					oh_lookup_error(rv));
			};
			continue;
		};
		if (strcmp(buf, "show") == 0) {
			term = get_next_term();
			if (term == NULL) {
				show_rdr_attrs(&rdr_entry);
				continue;
			};
			unget_term();
			res = get_int_param(" ", &val);
			if (res != 1) unget_term();
			else show_cond(rptid, rdrnum, val);
			continue;
		}
	};
	block_type = MAIN_COM;
	return SA_OK;
}