Class: Phidgets::PressureSensor

Inherits:
Common
  • Object
show all
Defined in:
lib/phidgets/pressure_sensor.rb,
ext/phidgets/phidgets_pressure_sensor.c

Instance Method Summary collapse

Methods inherited from Common

#close, #getAttached, #getChannel, #getChannelClass, #getChannelClassName, #getChannelName, #getChannelSubclass, #getDeviceChannelCount, #getDeviceClass, #getDeviceClassName, #getDeviceID, #getDeviceLabel, #getDeviceName, #getDeviceSKU, #getDeviceSerialNumber, #getDeviceVersion, #getHubPort, #getHubPortCount, #getIsChannel, #getIsHubPortDevice, #getIsLocal, #getIsRemote, #getServerHostname, #getServerName, #getServerPeerName, #getServerUniqueName, #open, #openWaitForAttachment, #setChannel, #setDeviceLabel, #setDeviceSerialNumber, #setHubPort, #setIsHubPortDevice, #setIsLocal, #setIsRemote, #setOnAttachHandler, #setOnDetachHandler, #setOnErrorHandler, #setOnPropertyChangeHandler, #setServerName, #writeDeviceLabel

Constructor Details

#newObject

Creates a Phidget PressureSensor object.



7
8
9
10
11
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 7

VALUE ph_pressure_init(VALUE self) {
  ph_data_t *ph = get_ph_data(self);
  ph_raise(PhidgetPressureSensor_create((PhidgetPressureSensorHandle *)(&(ph->handle))));
  return self;
}

Instance Method Details

#getDataIntervalObject Also known as: data_interval

The DataInterval is the time that must elapse before the channel will fire another PressureChange event. The data interval is bounded by MinDataInterval and MaxDataInterval. The timing between PressureChange events can also affected by the PressureChangeTrigger.



13
14
15
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 13

VALUE ph_pressure_get_data_interval(VALUE self) {
  return ph_get_uint(get_ph_handle(self), (phidget_get_uint_func)PhidgetPressureSensor_getDataInterval);
}

#getMaxDataIntervalObject Also known as: max_data_interval

The maximum value that DataInterval can be set to.



26
27
28
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 26

VALUE ph_pressure_get_max_data_interval(VALUE self) {
  return ph_get_uint(get_ph_handle(self), (phidget_get_uint_func)PhidgetPressureSensor_getMaxDataInterval);
}

#getMaxPressureObject Also known as: max_pressure

The maximum value that the PressureChange event will report.



38
39
40
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 38

VALUE ph_pressure_get_max_pressure(VALUE self) {
  return ph_get_double(get_ph_handle(self), (phidget_get_double_func)PhidgetPressureSensor_getMaxPressure);
}

#getMaxPressureChangeTriggerObject Also known as: max_pressure_change_trigger

The maximum value that PressureChangeTrigger can be set to.



55
56
57
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 55

VALUE ph_pressure_get_max_pressure_change_trigger(VALUE self) {
  return ph_get_double(get_ph_handle(self), (phidget_get_double_func)PhidgetPressureSensor_getMaxPressureChangeTrigger);
}

#getMinDataIntervalObject Also known as: min_data_interval

The minimum value that DataInterval can be set to.



22
23
24
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 22

VALUE ph_pressure_get_min_data_interval(VALUE self) {
  return ph_get_uint(get_ph_handle(self), (phidget_get_uint_func)PhidgetPressureSensor_getMinDataInterval);
}

#getMinPressureObject Also known as: min_pressure

The minimum value that the PressureChange event will report.



34
35
36
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 34

VALUE ph_pressure_get_min_pressure(VALUE self) {
  return ph_get_double(get_ph_handle(self), (phidget_get_double_func)PhidgetPressureSensor_getMinPressure);
}

#getMinPressureChangeTriggerObject Also known as: min_pressure_change_trigger

The minimum value that PressureChangeTrigger can be set to.



51
52
53
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 51

VALUE ph_pressure_get_min_pressure_change_trigger(VALUE self) {
  return ph_get_double(get_ph_handle(self), (phidget_get_double_func)PhidgetPressureSensor_getMinPressureChangeTrigger);
}

#getPressureObject Also known as: pressure

The most recent pressure value that the channel has reported. This value will always be between MinPressure and MaxPressure.



30
31
32
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 30

VALUE ph_pressure_get_pressure(VALUE self) {
  return ph_get_double(get_ph_handle(self), (phidget_get_double_func)PhidgetPressureSensor_getPressure);
}

#getPressureChangeTriggerObject Also known as: pressure_change_trigger

The channel will not issue a PressureChange event until the pressure value has changed by the amount specified by the PressureChangeTrigger. Setting the PressureChangeTrigger to 0 will result in the channel firing events every DataInterval. This is useful for applications that implement their own data filtering.



42
43
44
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 42

VALUE ph_pressure_get_pressure_change_trigger(VALUE self) {
  return ph_get_double(get_ph_handle(self), (phidget_get_double_func)PhidgetPressureSensor_getPressureChangeTrigger);
}

#setDataInterval(interval) ⇒ Object Also known as: data_interval=

The DataInterval is the time that must elapse before the channel will fire another PressureChange event. The data interval is bounded by MinDataInterval and MaxDataInterval. The timing between PressureChange events can also affected by the PressureChangeTrigger.



17
18
19
20
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 17

VALUE ph_pressure_set_data_interval(VALUE self, VALUE interval) {
  ph_raise(PhidgetPressureSensor_setDataInterval((PhidgetPressureSensorHandle)get_ph_handle(self), NUM2UINT(interval)));
  return Qnil;
}

#setOnPressureChangeHandler(cb_proc = nil, &cb_block) ⇒ Object Also known as: on_pressure_change

call-seq:

setOnPressureChangeHandler(proc=nil, &block)

Assigns a handler that will be called when the PressureChange event occurs.



11
12
13
14
15
# File 'lib/phidgets/pressure_sensor.rb', line 11

def setOnPressureChangeHandler(cb_proc = nil, &cb_block)
  @on_pressure_change_thread.kill if defined? @on_pressure_change_thread and @on_pressure_change_thread.alive?
  callback = cb_proc || cb_block
  @on_pressure_change_thread = Thread.new {ext_setOnPressureChangeHandler(callback)}
end

#setPressureChangeTrigger(change_trigger) ⇒ Object Also known as: pressure_change_trigger=

The channel will not issue a PressureChange event until the pressure value has changed by the amount specified by the PressureChangeTrigger. Setting the PressureChangeTrigger to 0 will result in the channel firing events every DataInterval. This is useful for applications that implement their own data filtering.



46
47
48
49
# File 'ext/phidgets/phidgets_pressure_sensor.c', line 46

VALUE ph_pressure_set_pressure_change_trigger(VALUE self, VALUE change_trigger) {
  ph_raise(PhidgetPressureSensor_setPressureChangeTrigger((PhidgetPressureSensorHandle)get_ph_handle(self), NUM2DBL(change_trigger)));
  return Qnil;
}