package lejos.nxt.addon; import lejos.nxt.*; /* * WARNING: THIS CLASS IS SHARED BETWEEN THE classes AND pccomms PROJECTS. * DO NOT EDIT THE VERSION IN pccomms AS IT WILL BE OVERWRITTEN WHEN THE PROJECT IS BUILT. */ /** *Abstraction for an RCX temperature sensor. * * @author Soren Hilmer * */ public class RCXTemperatureSensor implements SensorConstants { LegacySensorPort port; /** * Create an RCX temperature sensor object attached to the specified port. * @param port port, e.g. Port.S1 */ public RCXTemperatureSensor(LegacySensorPort port) { this.port = port; port.setTypeAndMode(TYPE_TEMPERATURE, MODE_RAW); } /** * Read the current sensor value. * @return raw Value. */ public int readValue() { return port.readRawValue(); } /** * Convert sensor value to Celcius, value outside [-20;70] is not accurate * @return sensor value converted to Celcius **/ public float getCelcius() { return (785-readValue())/8.0f; } /** * Convert sensor value to Fahrenheit, value outside [-4;158] is not accurate * @return sensor value converted to Fahrenheit **/ public float getFahrenheit() { return (getCelcius()*1.8f) + 32.0f; } }