Class: AgriController::Wet_sensor
- Inherits:
-
Object
- Object
- AgriController::Wet_sensor
- Defined in:
- lib/agri-controller/wet_sensor.rb
Overview
*Wet sensor.rb *X seconds waits and stops when Sensor sensed.
inbit=Wet_sensor.new(5)
inbit.keeper(bit_bool,sensor_bool)# =>Nil or True or False
<Turns False after 5 seconds when sensor_bool true.>
Instance Method Summary collapse
-
#initialize(wait = 0) ⇒ Wet_sensor
constructor
A new instance of Wet_sensor.
-
#keeper(bit, signal) ⇒ Object
bitがnil(bitがオンの前)はnil bitがtrue(signalが1回でもtrueなら、以降の結果をwait秒待ってから、false bitがfalse(false).
Constructor Details
#initialize(wait = 0) ⇒ Wet_sensor
Returns a new instance of Wet_sensor.
15 16 17 18 19 20 |
# File 'lib/agri-controller/wet_sensor.rb', line 15 def initialize(wait=0) @keep=false @wait=wait @time=Time.now @bool=false end |
Instance Method Details
#keeper(bit, signal) ⇒ Object
bitがnil(bitがオンの前)はnil bitがtrue(signalが1回でもtrueなら、以降の結果をwait秒待ってから、false bitがfalse(false)
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/agri-controller/wet_sensor.rb', line 25 def keeper(bit,signal) if bit==nil @keep=false @bool=false return nil elsif bit==false @keep =false @bool=false return false elsif bit==true if signal==true p "sensed" if $DEBUG if @keep==false #set wait_time if Time.now >=@time p "wait="+@wait.to_s if $DEBUG @time=Time.now+@wait end @keep=true end end if (Time.now >=@time) and (@keep==true) @bool=true end return (!@bool and bit) end end |