Sensor.UltrasonicUltrasonic sensor. Convenience functions to interact with the ultrasonic sensor through the I2C protocol.
make conn port initialize the sensor on port port as being an ultrasonic one.
val set : ?check_status:bool ->
'a t -> [ `Off | `Meas | `Meas_cont | `Event | `Reset | `Meas_interval of int | `Zero of int | `Scale_mul of int | `Scale_div of int ] -> unitUltrasonic.set us cmd set the state or parameters for the ultrasonic sensor us. cmd may be:
`Off: turns the ultrasonic sensor off.`Meas: single shot command. In this mode, the ultrasonic sensor will only make a new measurement every time the command byte is send to the sensor. The sensor will measure distances for up to 8 objects and save the distances within the `Byte0 .. `Byte7 variables.`Meas_cont Continuous measurement command. This is the default mode, where the sensor continuously makes new measurement with the specified interval (see `Meas_interval below).`Event: Event capture command. Within this mode the sensor will measure whether any other ultrasonic sensors are within the vicinity. With this information a program can evaluate when it is best to make a new measurement which will not conflict with other ultrasonic sensors.`Meas_interval t: set continuous measurment interval.`Zero z: set the actual zero.`Scale_mul m: set the actual scale factor.`Scale_div d: set the actual scale divisor.`Reset: resets the ultrasonic sensor.val get : 'a t -> [ `Byte0 | `Byte1 | `Byte2 | `Byte3 | `Byte4 | `Byte5 | `Byte6 | `Byte7 | `Meas_interval | `Zero | `Scale_mul | `Scale_div ] -> intUltrasonic.get us var returns the content of the variable var on the sensor (detailed underneath). All values are between 0 and 255. Communication errors will be reported by raising Error Bus_error; your application should be ready to handle such exceptions.
`Byte0 .. `Byte7 are the 8 variables containing the distances measured with the `Meas or `Meas_cont command (in centimeters).`Meas_interval returns the interval (in 0.01 sec) between two consecutive measurments when the sensor is in continuous measurment (command `Meas_cont).`Zero returns the value of the actual zero (settable with the `Zero command).`Scale_mul (resp. `Scale_div) return the current scaling factor (resp. divisor). It is settable with the `Scale_mul (resp. `Scale_div) command.val get_state : 'a t -> [ `Off | `Meas | `Meas_cont | `Event | `Reset ]get_state us get the current state of the ultrasonic sensor us.