Exemplo n.º 1
0
void getTemperature(SharedData& shared)
{
	if (TCPU & shared.tempTypes)
	{
		SusiHWMGetTemperature(TCPU, &shared.temp[SharedData::tcpu], NULL);
	}
	if (TSYS & shared.tempTypes)
	{
		SusiHWMGetTemperature(TSYS, &shared.temp[SharedData::tsys], NULL);
	}
	if (TAUX & shared.tempTypes)
	{
		SusiHWMGetTemperature(TAUX, &shared.temp[SharedData::taux], NULL);
	}
}
Exemplo n.º 2
0
int init_susi(SharedData& shared)
{
	if (!SusiDllInit())
	{
		ROS_ERROR("Cannot initialize advantech SUSI drivers.");
		return 1;
	}

	bool hasHwm(SusiHWMAvailable());
	shared.tempTypes = 0;
	if (!hasHwm)
	{
		ROS_WARN("No HWM available");
	}
	else
	{
		float retVal;
		SusiHWMGetTemperature(0, &retVal, &shared.tempTypes);
	}

	shared.hasIO = SusiIOAvailable();
	if (!shared.hasIO)
	{
		ROS_WARN("No IO available");
	}
	else
	{
		//Put all pins as outgoing
		DWORD mask(0);
		DWORD pins(0xFF);
		//if (!SusiIOSetDirectionMulti(pins,&mask))
		{
		  ROS_ERROR("Unable to set pins to output.");
		}
	}

	return 0;
}
Exemplo n.º 3
0
int get_temperature(void)
{
	BOOL result;
	WORD voltType, typeSupport;
    float retval = 0;

	printf("Get Temperature\n");

    voltType = typeSupport = 0;
	result = SusiHWMGetTemperature(voltType, &retval, &typeSupport);
	if (result == FALSE) {
		printf("SusiHWMGetTemperature() failed\n");
		return 1;
	}
	else
		printf("typeSupport: 0x%08X\n", typeSupport);

    if ( typeSupport )
    {
        if ( TCPU & typeSupport )
        {
        	result = SusiHWMGetTemperature(TCPU, &retval, NULL);
        	if (result == FALSE) {
        		printf("SusiHWMGetTemperature() failed\n");
		        return 1;
        	}
        	else
        		printf("TCPU: %f\n", retval);
        }
        
        if ( TSYS & typeSupport )
        {
        	result = SusiHWMGetTemperature(TSYS, &retval, NULL);
        	if (result == FALSE) {
        		printf("SusiHWMGetTemperature() failed\n");
		        return 1;
        	}
        	else
        		printf("TSYS: %f\n", retval);
        }
        
        if ( TAUX & typeSupport )
        {
        	result = SusiHWMGetTemperature(TAUX, &retval, NULL);
        	if (result == FALSE) {
        		printf("SusiHWMGetTemperature() failed\n");
		        return 1;
        	}
        	else
        		printf("TAUX: %f\n", retval);
        }
        
        if ( TCPU2 & typeSupport )
        {
        	result = SusiHWMGetTemperature(TCPU2, &retval, NULL);
        	if (result == FALSE) {
        		printf("SusiHWMGetTemperature() failed\n");
		        return 1;
        	}
        	else
        		printf("TCPU2: %f\n", retval);
        }
   }
	return 0;
}