sig
  type t
  val make :
    'Mindstorm.conn ->
    Mindstorm.Sensor.port -> Mindstorm.Sensor.Ultrasonic.t
  val set :
    ?check_status:bool ->
    Mindstorm.Sensor.Ultrasonic.t ->
    [ `Event
    | `Meas
    | `Meas_cont
    | `Meas_interval of int
    | `Off
    | `Reset
    | `Scale_div of int
    | `Scale_mul of int
    | `Zero of int ] -> unit
  val get :
    Mindstorm.Sensor.Ultrasonic.t ->
    [ `Byte0
    | `Byte1
    | `Byte2
    | `Byte3
    | `Byte4
    | `Byte5
    | `Byte6
    | `Byte7
    | `Meas_interval
    | `Scale_div
    | `Scale_mul
    | `Zero ] -> int
  val get_state :
    Mindstorm.Sensor.Ultrasonic.t ->
    [ `Event | `Meas | `Meas_cont | `Off | `Reset ]
end