package Ġorg . first insp ires . ft c . team code . robot . legacy Ċ Ċ import Ġcom . qual comm . robot core . hardware . Dc Motor Ċ import Ġcom . qual comm . robot core . hardware . Dc Motor Ex Ċ import Ġcom . qual comm . robot core . hardware . Dc Motor Simple Ċ import Ġcom . qual comm . robot core . hardware . Distance Sensor Ċ import Ġcom . qual comm . robot core . util . Elapsed Time Ċ import Ġorg . first insp ires . ft c . robot core . external . navigation . Current Unit Ċ import Ġorg . first insp ires . ft c . robot core . external . navigation . Distance Unit Ċ import Ġorg . first insp ires . ft c . team code . misc . Command Sender Ċ import Ġorg . first insp ires . ft c . team code . robot . Wo EN Hardware . con veyor Motor Ċ import Ġorg . first insp ires . ft c . team code . robot . Wo EN Hardware . ring Detector Ċ import Ġorg . first insp ires . ft c . team code . super classes . Con veyor Ċ import Ġorg . first insp ires . ft c . team code . super classes . Mult ith readed Robot Module Ċ Ċ @ Deprecated ("") Ċ class ĠCon veyor Ġ: ĠMult ith readed Robot Module (), ĠCon veyor Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcon veyor Time Ġ= ĠE lapsed Time () ĊĠĠĠ Ġprivate Ġval Ġback On Time Ġ= ĠE lapsed Time () ĊĠĠĠ Ġprivate Ġval Ġpause Time Ġ= ĠE lapsed Time () ĊĠĠĠ Ġprivate Ġval Ġback On After Time Ġ= ĠE lapsed Time () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġcon vey orm : ĠD c Motor Ex ĊĠĠĠ Ġoverride Ġvar Ġenable Con veyor Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon veyor Power Ġ= Ġif Ġ( value ) Ġ 1 . 0 Ġelse Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsensor Distance : ĠDistance Sensor ĊĠĠĠ Ġprivate Ġval Ġcon veyor Power Sender Ġ= ĠCommand Sender ({ Ġp : ĠDouble Ġ-> Ġcon vey orm . power Ġ= Ġ- p Ġ}) ĊĠĠĠ Ġprivate Ġvar Ġfull Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġback On Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġstop Ġ= Ġfalse ĊĠĠĠ Ġoverride Ġvar Ġforce Reverse Ġ= Ġtrue ĊĠĠĠ Ġoverride Ġvar Ġenable Full Stack Stopping Ġ= Ġtrue ĊĠĠĠ Ġoverride Ġvar Ġreverse Before Stop Ġ= Ġtrue ĊĠĠĠ Ġprivate Ġvar Ġtime lock Ġ= Ġ 0 . 0 ĊĠĠĠ Ġprivate Ġvar Ġcon veyor Power Ġ= Ġ 0 . 0 ĊĠĠĠ Ġprivate Ġvar Ġdistance Ġ= Ġ 0 . 0 ĊĠĠĠ Ġprivate Ġvar Ġcurrent Ġ= Ġ 0 . 0 ĊĠĠĠ Ġoverride Ġfun Ġinitialize () Ġ{ ĊĠĠĠĠĠĠĠ Ġinitialize Color () ĊĠĠĠĠĠĠĠ Ġinitialize Drive () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġcon vey orm . power Ġ= Ġ 0 . 0 ĊĠĠĠĠĠĠĠ Ġback On Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġstop Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcon veyor Power Ġ= Ġ 0 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Color () Ġ{ ĊĠĠĠĠĠĠĠ Ġsensor Distance Ġ= Ġring Detector ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Drive () Ġ{ ĊĠĠĠĠĠĠĠ Ġcon vey orm Ġ= Ġcon veyor Motor ĊĠĠĠĠĠĠĠ Ġcon vey orm . direction Ġ= ĠD c Motor Simple . Direction . FORWARD ĊĠĠĠĠĠĠĠ Ġcon vey orm . mode Ġ= ĠD c Motor . Run Mode . RUN _ WITHOUT _ EN CODER ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Distance (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġ// return Ġ 1 0 ; ĊĠĠĠĠĠĠĠ Ġreturn Ġsensor Distance . get Distance ( Distance Unit . CM ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Control Hub () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( pause Time . milliseconds () Ġ>= Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpause Time . reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdistance Ġ= Ġif Ġ(! this . enable Full Stack Stopping ) Ġget Distance () Ġelse Ġ 1 0 . 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Expansion Hub () Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Ġ= Ġcon vey orm . getCurrent ( Current Unit . AMP S ) ĊĠĠĠĠĠĠĠ Ġif Ġ( distance Ġ< Ġ 6 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( con veyor Time . milliseconds () Ġ>= Ġ 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfull Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcon veyor Time . reset () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfull Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! this . force Reverse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( con veyor Power Ġ!= Ġ 0 . 0 Ġ&& Ġ! full ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! stop ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Ġ<= Ġ 4 Ġ&& Ġback On Time . milliseconds () Ġ>= Ġ 1 0 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! back On ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Con veyor Motor Power ( con veyor Power ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġback On Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtime lock Ġ= Ġback On Time . milliseconds () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġback On After Time . reset () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( back On Ġ&& Ġback On Time . milliseconds () Ġ>= Ġtime lock Ġ+ Ġ 5 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġback On Time . reset () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Con veyor Motor Power (- con veyor Power ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġback On Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( stop ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( this . reverse Before Stop Ġ&& Ġback On After Time . milliseconds () Ġ< Ġ 5 0 0 ) Ġset Con veyor Motor Power (- con veyor Power ) Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Con veyor Motor Power ( 0 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstop Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġback On Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Con veyor Motor Power (- 1 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback On Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstop Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Other () Ġ{ ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġset Con veyor Motor Power ( power : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcon veyor Power Sender . send ( power ) ĊĠĠĠ Ġ} Ċ Ċ }