Esempio n. 1
0
int run_test2(SaHpiSessionIdT sessionId,
	      SaHpiResourceIdT resourceId,
	      SaHpiAnnunciatorRecT * annunRec, SaHpiSeverityT severity)
{
	SaErrorT status;
	int retval;
	SaHpiAnnunciatorModeT mode;
	SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum;

	status = setWriteMode(sessionId, resourceId, annunRec, &mode);
	if (status == ANNUN_ERROR) {
		e_trace();
		retval = SAF_TEST_UNRESOLVED;
	} else if (status == ANNUN_READONLY) {
		retval = SAF_TEST_NOTSUPPORT;
	} else {
		status = saHpiAnnunciatorDelete(sessionId, resourceId, a_num,
						SAHPI_ENTRY_UNSPECIFIED,
						severity);

		if (status == SA_OK) {
			retval =
			    run_test1(sessionId, resourceId, a_num, severity);
		} else {
			e_print(saHpiAnnunciatorDelete, SA_OK, status);
			retval = SAF_TEST_UNRESOLVED;
		}

		restoreMode(sessionId, resourceId, a_num, mode);
	}

	return retval;
}
Esempio n. 2
0
/**
 * Writes a single byte to a single register
 */
static void writeRegister(uint8_t addr, uint8_t data){
	SELECT();
	__delay_cycles(1000);
	setWriteMode(addr);
	writeByte(data);
	__delay_cycles(1000);
	DESELECT();
}
Esempio n. 3
0
int processAnnunRdr(SaHpiSessionIdT sessionId,
		    SaHpiResourceIdT resourceId,
		    SaHpiRdrT * rdr, SaHpiAnnunciatorRecT * annunRec)
{
	SaErrorT status;
	int retval;
	SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum;
	SaHpiAnnunciatorModeT mode;
	SaHpiAnnouncementT announcement;
	SaHpiBoolT found;

	status = setWriteMode(sessionId, resourceId, annunRec, &mode);
	if (status == ANNUN_ERROR) {
		e_trace();
		retval = SAF_TEST_UNRESOLVED;
	} else if (status == ANNUN_READONLY) {
		retval = SAF_TEST_NOTSUPPORT;
	} else {

		status = addInfoAnnouncement(sessionId, resourceId,
					     a_num, &announcement);

		if (status != SA_OK) {
			m_print("addInfoAnnouncement fail!");
			retval = SAF_TEST_UNRESOLVED;
		} else {
			status = saHpiAnnunciatorDelete(sessionId, resourceId,
							a_num,
							announcement.EntryId,
							SAHPI_INFORMATIONAL);

			if (status != SA_OK) {
				retval = SAF_TEST_FAIL;
				e_print(saHpiAnnunciatorDelete, SA_OK, status);
			} else {
				status =
				    containsAnnouncement(sessionId, resourceId,
							 a_num,
							 announcement.EntryId,
							 &found);
				if (status != SA_OK) {
					e_trace();
					retval = SAF_TEST_UNRESOLVED;
				} else if (!found) {
					retval = SAF_TEST_PASS;
				} else {
					retval = SAF_TEST_FAIL;
					m_print
					    ("saHpiAnnunciatorDelete failed to remove announcement!");
				}
			}
		}

		restoreMode(sessionId, resourceId, a_num, mode);
	}

	return retval;
}
Esempio n. 4
0
int add_and_run_mismatch(SaHpiSessionIdT sessionId,
			 SaHpiResourceIdT resourceId,
			 SaHpiAnnunciatorRecT * annunRec)
{
	SaErrorT status;
	SaHpiAnnouncementT announcement1;
	SaHpiAnnouncementT announcement2;
	SaHpiAnnunciatorModeT mode;
	int retval;
	SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum;

	status = setWriteMode(sessionId, resourceId, annunRec, &mode);
	if (status == ANNUN_ERROR) {
		e_trace();
		retval = SAF_TEST_UNRESOLVED;
	} else if (status == ANNUN_READONLY) {
		retval = SAF_TEST_NOTSUPPORT;
	} else {

		status = addInfoAnnouncement(sessionId, resourceId, a_num,
					     &announcement1);

		if (status == SA_ERR_HPI_OUT_OF_SPACE) {
			retval = SAF_TEST_NOTSUPPORT;
		} else if (status != SA_OK) {
			e_trace();
			retval = SAF_TEST_UNRESOLVED;
		} else {

			status =
			    addInfoAnnouncement(sessionId, resourceId, a_num,
						&announcement2);

			if (status == SA_ERR_HPI_OUT_OF_SPACE) {
				retval = SAF_TEST_NOTSUPPORT;
			} else if (status != SA_OK) {
				e_trace();
				retval = SAF_TEST_UNRESOLVED;
			} else {
				retval =
				    run_mismatch(sessionId, resourceId, a_num);
				deleteAnnouncement(sessionId, resourceId, a_num,
						   &announcement2);
			}
			deleteAnnouncement(sessionId, resourceId, a_num,
					   &announcement1);
		}
		restoreMode(sessionId, resourceId, a_num, mode);
	}

	return retval;
}
Esempio n. 5
0
int processAnnunRdr(SaHpiSessionIdT sessionId,
		    SaHpiResourceIdT resourceId,
		    SaHpiRdrT * rdr, SaHpiAnnunciatorRecT * annunRec)
{
	SaErrorT status;
	int retval = SAF_TEST_NOTSUPPORT;
	SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum;
	SaHpiAnnunciatorModeT mode;
	SaHpiEntryIdT invalidEntryId = SAHPI_FIRST_ENTRY;

	status = setWriteMode(sessionId, resourceId, annunRec, &mode);
	if (status == ANNUN_ERROR) {
		e_trace();
		retval = SAF_TEST_UNRESOLVED;
	} else if (status == ANNUN_READONLY) {
		retval = SAF_TEST_NOTSUPPORT;
	} else {

		info_announcement.EntryId = invalidEntryId;

		status = saHpiAnnunciatorAdd(sessionId, resourceId,
					     a_num, &info_announcement);

		if (status == SA_ERR_HPI_OUT_OF_SPACE) {
			retval = SAF_TEST_NOTSUPPORT;
		} else if (status != SA_OK) {
			retval = SAF_TEST_UNRESOLVED;
			e_print(saHpiAnnunciatorAdd, SA_OK, status);
		} else {
			if (info_announcement.EntryId != invalidEntryId) {
				retval = SAF_TEST_PASS;
			} else {
				retval = SAF_TEST_FAIL;
				m_print
				    ("saHpiAnnunciatorAdd failed to update EntryId field!");
			}

			deleteAnnouncement(sessionId, resourceId,
					   a_num, &info_announcement);
		}

		restoreMode(sessionId, resourceId, a_num, mode);
	}

	return retval;
}
Esempio n. 6
0
int processAnnunRdr(SaHpiSessionIdT sessionId,
		    SaHpiResourceIdT resourceId,
		    SaHpiRdrT * rdr, SaHpiAnnunciatorRecT * annunRec)
{
	SaErrorT status;
	int retval;
	SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum;
	SaHpiAnnouncementT announcement;
	SaHpiAnnunciatorModeT mode;

	status = setWriteMode(sessionId, resourceId, annunRec, &mode);
	if (status == ANNUN_ERROR) {
		e_trace();
		retval = SAF_TEST_UNRESOLVED;
	} else if (status == ANNUN_READONLY) {
		retval = SAF_TEST_NOTSUPPORT;
	} else {
		status =
		    addInfoAnnouncement(sessionId, resourceId, a_num,
					&announcement);
		if (status != SA_OK) {
			e_trace();
			retval = SAF_TEST_UNRESOLVED;
		} else {
			status =
			    acknowledgeAnnouncement(sessionId, resourceId,
						    a_num, &announcement);
			if (status == SA_OK) {
				retval = SAF_TEST_PASS;
			} else {
				e_trace();
				retval = SAF_TEST_FAIL;
			}

			deleteAnnouncement(sessionId, resourceId, a_num,
					   &announcement);
		}
		restoreMode(sessionId, resourceId, a_num, mode);
	}

	return retval;
}
Esempio n. 7
0
int processAnnunRdr(SaHpiSessionIdT sessionId,
		    SaHpiResourceIdT resourceId,
		    SaHpiRdrT * rdr, SaHpiAnnunciatorRecT * annunRec)
{
	SaErrorT status;
	int i;
	int retval;
	SaHpiAnnunciatorNumT a_num = annunRec->AnnunciatorNum;
	SaHpiAnnunciatorModeT mode;
	SaHpiStatusCondTypeT invalidCondType[] =
	    { SAHPI_STATUS_COND_TYPE_SENSOR,
		SAHPI_STATUS_COND_TYPE_RESOURCE,
		SAHPI_STATUS_COND_TYPE_OEM,
		BAD_STATUS_COND_TYPE
	};

	status = setWriteMode(sessionId, resourceId, annunRec, &mode);
	if (status == ANNUN_ERROR) {
		e_trace();
		retval = SAF_TEST_UNRESOLVED;
	} else if (status == ANNUN_READONLY) {
		retval = SAF_TEST_NOTSUPPORT;
	} else {

		for (i = 0; i < 4; i++) {
			retval =
			    run_test(sessionId, resourceId, a_num,
				     invalidCondType[i]);
			if (retval != SAF_TEST_PASS) {
				break;
			}
		}

		restoreMode(sessionId, resourceId, a_num, mode);
	}

	return retval;
}
void ckLowLevelAPI::clearFramebuffer(bool is_clear_color, bool is_clear_depth, const u8* clear_color)
{
    GLbitfield mask = 0;

    if (is_clear_color)
    {
        glClearColor( //
            static_cast<r32>(clear_color[0]) / 255.0f, //
            static_cast<r32>(clear_color[1]) / 255.0f, //
            static_cast<r32>(clear_color[2]) / 255.0f, //
            static_cast<r32>(clear_color[3]) / 255.0f);

        mask |= GL_COLOR_BUFFER_BIT;
    }

    if (is_clear_depth)
    {
        mask |= GL_DEPTH_BUFFER_BIT;
    }

    setWriteMode(is_clear_color, is_clear_color, is_clear_depth);

    glClear(mask);
}