package Ġcom . ux xu . kon ashi . inspector . android Ċ Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . bluetooth . Bluetooth GattCharacteristic Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Array Adapter Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Compound Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Seek Bar Ċ import Ġandroid . widget . Spinner Ċ import Ġandroid . widget . Switch Ċ import Ġandroid . widget . Table Layout Ċ import Ġandroid . widget . TableRow Ċ import Ġandroid . widget . TextView Ċ Ċ import Ġcom . ux xu . kon ashi . lib . Kon ashi Ċ import Ġcom . ux xu . kon ashi . lib . Kon ashi Manager Ċ Ċ import Ġorg . j deferred . Done Callback Ċ Ċ import Ġjava . util . ArrayList Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġk iry u Ġon Ġ 7 / 2 7 / 1 5 . Ċ Ġ*/ Ċ class ĠP wm Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm Kon ashi Manager : ĠKon ashi Manager ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm Option Pin Spinner : ĠSp inner ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Option Period EditText : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Option Duty EditText : ĠEditText ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Option Submit Button : ĠButton ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Table Layout : ĠTable Layout ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġm Rows Ġ= ĠArrayList < P wm TableRow >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġactivity !!. title Ġ= ĠgetString ( R . string . title _ pwm ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ pwm , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġm Table Layout Ġ= Ġview . findViewById < View >( R . id . table Layout ) Ġas ĠTable Layout ĊĠĠĠĠĠĠĠ Ġm Table Layout !!. addView ( Utils . Header TableRow Builder ( activity !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. column ( getString ( R . string . title _ pin ), Ġ 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. column ( getString ( R . string . title _ pwm ), Ġ 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. column ( getString ( R . string . title _ duty ), Ġ 6 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġfor Ġ( pin Number Ġin ĠUtils . PWM _ PIN S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= ĠP wm TableRow . create With Pin Number ( activity !! , Ġpin Number ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Table Layout !!. addView ( row ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Rows . add ( row ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Option Views ( view ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġm Kon ashi Manager Ġ= ĠKon ashi . getManager () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Kon ashi Manager !!. is Ready ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( pin Number Ġin ĠUtils . PWM _ PIN S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Kon ashi Manager !!. pwm Mode ( pin Number , ĠKon ashi . PWM _ DISABLE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Option Views ( parent : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Option Pin Spinner Ġ= Ġparent . findViewById < View >( R . id . option Pin Spinner ) Ġas ĠSp inner ĊĠĠĠĠĠĠĠ Ġval Ġpin Labels Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( pin Ġin ĠUtils . PWM _ PIN S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpin Labels . add ( pin . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Option Pin Spinner !!. adapter Ġ= ĠArray Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . layout . simple _ spinner _ dropdown _ item , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpin Labels ) ĊĠĠĠĠĠĠĠ Ġm Option Pin Spinner !!. setSelection ( 0 ) ĊĊĠĠĠĠĠĠĠ Ġm Option Period EditText Ġ= Ġparent . findViewById < View >( R . id . option Period EditText ) Ġas ĠEditText ĊĊĠĠĠĠĠĠĠ Ġm Option Duty EditText Ġ= Ġparent . findViewById < View >( R . id . option Duty EditText ) Ġas ĠEditText ĊĊĠĠĠĠĠĠĠ Ġm Option Submit Button Ġ= Ġparent . findViewById < View >( R . id . option Submit Button ) Ġas ĠButton ĊĠĠĠĠĠĠĠ Ġm Option Submit Button !!. setOnClickListener ( View . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpin Number Ġ= ĠInteger . valueOf ( m Option Pin Spinner !!. selected Item Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pin Number Ġ< Ġ 0 Ġ|| ĠUtils . PWM _ PIN S . size Ġ<= Ġpin Number ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ OnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Rows [ pin Number ]. set Values ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInteger . valueOf ( m Option Period EditText !!. text . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInteger . valueOf ( m Option Duty EditText !!. text . toString ())) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠP wm TableRow ( context : ĠContext ) Ġ: ĠTable Row ( context ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Pin TextView : ĠTextView ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm P wm Switch : ĠSwitch ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġm Duty Seek Bar : ĠSeek Bar ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Kon ashi Manager Ġ= ĠKon ashi . getManager () ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġm Pin Number : ĠInt Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠTable Row . LayoutParams ( TableRow . LayoutParams . MATCH _ PARENT , ĠTable Row . LayoutParams . WRAP _ CONTENT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Padding ( 0 , Ġ 2 0 , Ġ 0 , Ġ 2 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pin TextView Ġ= ĠTextView ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pin TextView . gravity Ġ= ĠGr avity . CENTER _ VERTICAL Ġor ĠGr avity . CENTER _ HORIZONTAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( m Pin TextView , ĠUtils . create TableRow LayoutParams With Weight ( 1 f )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm P wm Switch Ġ= ĠSwitch ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm P wm Switch . setOn Checked ChangeListener Ġ{ Ġcompound Button , Ġb Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpwm Mode Ġ= Ġif Ġ( b ) ĠKon ashi . PWM _ ENABLE _ LED _ MODE Ġelse ĠKon ashi . PWM _ DISABLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Kon ashi Manager . pwm Mode ( m Pin Number , Ġpwm Mode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Ġ{ Ġm Duty Seek Bar . isEnabled Ġ= Ġb Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pwm Mode Ġ== ĠKon ashi . PWM _ ENABLE _ LED _ MODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Kon ashi Manager . pwm Led Drive ( m Pin Number , Ġm Duty Seek Bar . progress . toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( m P wm Switch , ĠUtils . create TableRow LayoutParams With Weight ( 1 f )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Duty Seek Bar Ġ= ĠSeek Bar ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Duty Seek Bar . max Ġ= Ġ 1 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Duty Seek Bar . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Duty Seek Bar . progress Ġ= Ġm Duty Seek Bar . max Ġ/ Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Duty Seek Bar . setOn Seek Bar ChangeListener ( object Ġ: ĠSeek Bar . On Seek Bar ChangeListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress Changed ( seek Bar : ĠSeek Bar , Ġi : ĠInt , Ġb : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Kon ashi Manager . pwm Led Drive ( m Pin Number , Ġi . toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonStart Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Stop Tracking Touch ( seek Bar : ĠSeek Bar ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( m Duty Seek Bar , ĠUtils . create TableRow LayoutParams With Weight ( 6 f )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Pin Number ( pin Number : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . m Pin Number Ġ= Ġpin Number ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Pin TextView . text Ġ= Ġpin Number . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġset Values ( period : ĠInt , Ġd uty : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Kon ashi Manager . is Ready ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Kon ashi Manager . pwm Period ( m Pin Number , Ġperiod ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. then Ġ{ Ġm Kon ashi Manager . pwm Duty ( m Pin Number , Ġd uty ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġcreate With Pin Number ( context : ĠContext , Ġpin Number : ĠInt ): ĠP wm TableRow Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrow Ġ= ĠP wm TableRow ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow . set Pin Number ( pin Number ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġrow ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ