package Ġk y ber lib . motor control Ċ Ċ import Ġedu . wpi . first . wp ilib j . Speed Controller Ċ Ċ /** Ċ Ġ* ĠWrap s Ġa ĠW PI ĠSpeed Controller Ġto Ġuse Ġthe ĠK Basic Motor Controller ĠAPI Ċ Ġ*/ Ċ class ĠK Speed Controller ( private Ġval Ġm _ speed Controller : ĠSpeed Controller ) Ġ: ĠK Basic Motor Controller () Ġ{ ĊĠĠĠ Ġprivate Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġvar Ġid Ġ= Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmy Id Ġ= Ġid ĊĠĠĠ Ġinit Ġ{ Ġid Ġ+= Ġ 1 Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġbr ake Mode : ĠBr ake Mode Ġ Ġ// Ġthis Ġdoesn 't Ġwork ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{} ĊĠĠĠ Ġoverride Ġvar Ġraw Re versed : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm _ speed Controller . inverted ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ m _ speed Controller . inverted Ġ= Ġvalue } ĊĠĠĠ Ġoverride Ġvar Ġidentifier : ĠString Ġ= Ġ" K Speed Controller Ġ#$ my Id " ĊĠĠĠ Ġoverride Ġvar Ġraw Percent : ĠDouble ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm _ speed Controller . get () ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ m _ speed Controller . set ( value )} ĊĊĠĠĠ Ġoverride Ġfun Ġfollow Target ( k mc : ĠK Basic Motor Controller ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( k mc . followers . size Ġ== Ġ 0 ) Ġk mc . notifier . start Periodic ( 0 . 0 0 5 ) ĊĠĠĠĠĠĠĠ Ġk mc . followers . add ( this ) ĊĠĠĠ Ġ} Ċ } Ċ