Ejemplo n.º 1
0
uint32 	pinGetPhyiscalPin (uint32 pin) {

	ASSERT_RETERR (pin > NATIVE_PINS, ERR_INV_PIN | pin);

	return __physical_pins[pin];

}
Ejemplo n.º 2
0
uint32 resourceRecordUsage (uint32 r) {

	uint32 current_resource_val;

#if 1
	ASSERT_RETERR (r >= N_RESOURCES, ERR_BAD_RESOURCE | r);
#else
	if (r >= N_RESOURCES) {
		ASSERT (r >= N_RESOURCES, ERR_BAD_RESOURCE | r);
		SYS_ERROR(ERR_BAD_RESOURCE | r);
		return ERROR;
	}
#endif

//	_getResourceVal (32);
//	_setResourceVal (32, RESOURCE_MASKED);
//	_incResourceVal (32);

	current_resource_val = _getResourceVal (r);

	///////////////////////////////////////////////////////////////
	//
	// If resource has been masked take no further action
	//
	if (current_resource_val == RESOURCE_MASKED) {
		return NOERROR;
	}

	///////////////////////////////////////////////////////////////
	//
	// If resource is already in use, raise an error
	// and mark the resource as having a clash.
	//
	if (current_resource_val == RESOURCE_USED) {
		ASSERT (FORCE, ERR_RESOURCE_CLASH | r);
		_setResourceVal (r, RESOURCE_CLASH);
//		SYS_ERROR(ERR_RESOURCE_CLASH | r);
		return ERROR;
	}

	///////////////////////////////////////////////////////////////
	//
	// Set the usage value to indicate the resource is used
	//
	_setResourceVal (r, RESOURCE_USED);

	return NOERROR;
}