void ti99_handset_device::write_dev(uint8_t data) { if (VERBOSE>7) LOG("ti99_handset_device: Set ack %d\n", data); set_acknowledge(data); }
ret_code_t ann_block_acknow(void) { return(set_acknowledge(ann_block_env.rptid, ann_block_env.rdrnum)); }
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; }