package Ġcom . david . re char ged kotlin library . internal . op Mode Ċ Ċ import Ġcom . ac mer obot ics . dashboard . telemetry . Telemetry Packet Ċ import Ġcom . david . re char ged kotlin library . internal . hardware . management . Robot Template Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠDavid ĠLu ken s Ġon Ġ 8 / 2 / 2 0 1 8 . Ċ Ġ*/ Ċ Ċ abstract Ġclass ĠComp et et ion Tele < rt Ġ: ĠRobot Template >( create Robot : Ġ( Re char ged Linear Op Mode < rt >) Ġ-> Ġrt ) Ġ: ĠRe char ged Linear Op Mode < rt >( false , ĠAl liance . FL UID , Ġcreate Robot ) Ġ{ ĊĠĠĠ Ġvar Ġpractice Ġ= Ġfalse ĊĠĠĠ Ġlateinit Ġvar Ġc 1 : ĠSimple Controller ĊĠĠĠ Ġlateinit Ġvar Ġc 2 : ĠSimple Controller ĊĠĠĠ Ġval Ġpacket Ġ= ĠTe lemetry Packet () ĊĊĠĠĠ Ġ@ Throws ( InterruptedException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ ĠonStart () ĊĠĠĠĠĠĠĠ Ġloop While ({ Ġpractice Ġ|| Ġruntime . seconds () Ġ< Ġ 1 2 0 . 0 Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc 1 Ġ= ĠSimple Controller ( gamepad 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġc 2 Ġ= ĠSimple Controller ( gamepad 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Loop () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtelemetry . update () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdash . send Telemetry Packet ( packet ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( InterruptedException :: class ) ĊĠĠĠ Ġopen Ġfun ĠonStart () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( InterruptedException :: class ) ĊĠĠĠ Ġabstract Ġfun Ġon Loop () Ċ }