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); } }
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; }
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; }