/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠP avel ĠK ak olin Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN ĠTHE Ċ Ġ* ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġio . kt gp . sample Ċ Ċ import Ġio . kt gp . Gpio Ċ import Ġio . kt gp . display . tm 1 6 3 7 . Config Ċ import Ġio . kt gp . display . tm 1 6 3 7 . Tm 1 6 3 7 Ċ import Ġio . kt gp . use Ċ import Ġio . kt gp . util . sleep Ċ Ċ class ĠDigital Tube Ġ: ĠSample Ġ{ ĊĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠ ĠG pio (). use Ġ{ Ġgpio Ġ-> ĊĠĠĠĠĠ Ġval Ġconfig Ġ= ĠConfig ( clk Pin Ġ= Ġ 2 1 , Ġd io Pin Ġ= Ġ 2 0 ) ĊĠĠĠĠĠ ĠT m 1 6 3 7 ( config , Ġgpio ). use Ġ{ Ġdisplay Ġ-> ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġfor Ġ( j Ġin Ġ 5 9 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay . display String ("${ i . to P added String ()} ${ j . to P added String () }", Ġj Ġ% Ġ 2 Ġ== Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsleep ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdisplay . on Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġsleep ( 2 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġdisplay . on Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġdisplay . display Temperature ( 2 4 ) ĊĠĠĠĠĠĠĠ Ġsleep ( 1 0 0 0 ) ĊĊĠĠĠĠĠĠĠ Ġrepeat ( 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġdisplay . ticker (" Hello ĠWorld ", Ġconfig . segments , Ġ 2 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 7 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġdisplay . brightness Ġ= Ġi . to U Byte () ĊĠĠĠĠĠĠĠĠĠ Ġsleep ( 5 0 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun ĠInt . to P added String () Ġ= ĠtoString ( 1 0 ). pad Start ( 2 , Ġ' 0 ') ĊĊĠ Ġprivate Ġfun ĠT m 1 6 3 7 . ticker ( text : ĠString , Ġsegments : ĠInt , Ġdelay : ĠLong ) Ġ{ ĊĠĠĠ Ġval Ġs Ġ= Ġbuild String Ġ{ ĊĠĠĠĠĠ Ġrepeat ( segments Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġappend (' Ġ') ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġappend ( text ) ĊĠĠĠĠĠ Ġrepeat ( segments ) Ġ{ ĊĠĠĠĠĠĠĠ Ġappend (' Ġ') ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. s . length Ġ- Ġsegments ) Ġ{ ĊĠĠĠĠĠ Ġdisplay String ( s . substring ( i , Ġi Ġ+ Ġsegments )) ĊĠĠĠĠĠ Ġsleep ( delay ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ