This works like a 4-bar battery indicator. It charges and discharges:

  • Initial test of all four bars
  • When charging, the highest bar blinks
  • When full, it begins discharging.
  • Discharging fades bars slowly

Settings are near the top of the following listing. They are focused on the speed of the charge/discharge cycle.

//Charging/Discharging Battery Gauge
//on chn1-chn4


//how long at each charge level

define stayAtCharge 50%

//discharge basic time unit

define dischargeTimeUnit 1s

//discharge/recharge before ended?

define chargerReconnection 33%

//define several blinks in half bar steps
//each ends "on"

define chargeblink00 chn1=00% @+0.4s chn1=20% @+0.4s
define chargeblink05 chn1=00% @+0.4s chn1=100% @+0.4s
define chargeblink10 chn2=00% @+0.4s chn2=20% @+0.4s
define chargeblink15 chn2=00% @+0.4s chn2=100% @+0.4s
define chargeblink20 chn3=00% @+0.4s chn3=20% @+0.4s
define chargeblink25 chn3=00% @+0.4s chn3=100% @+0.4s
define chargeblink30 chn4=00% @+0.4s chn4=20% @+0.4s
define chargeblink35 chn4=00% @+0.4s chn4=100% @+0.4s


//the code


//Initial turn-on LED Test
//only happens once

@+0.5s chn1=100%
@+0.5s chn2=100%
@+0.5s chn3=100%
@+0.5s chn4=100%

//short wait, then clear all LED's
@+0.5s
@+0.05s chn4=0%
@+0.05s chn3=0%
@+0.05s chn2=0%
@+0.05s chn1=0%

//short wait before charging
@+0.5s


//Random Initial Charge Level
 Go Between charge00 and charge25

//zero bars current charge
charge00
 chargeblink00 
 chargeblink00
 chargeblink00
 go to charge00 with stayAtCharge chance

//half bar current charge
charge05
 chargeblink05 
 chargeblink05 
 chargeblink05 
 go to charge05 with stayAtCharge chance

//1 bar current charge
charge10
 chn1=100%
 chargeblink10 
 chargeblink10 
 chargeblink10 
 go to charge10 with stayAtCharge chance

charge15
 chn1=100%
 chargeblink15 
 chargeblink15 
 chargeblink15 
 go to charge15 with stayAtCharge chance

charge20
 chn1=100%
 chn2=100%
 chargeblink20 
 chargeblink20
 chargeblink20 
 go to charge20 with stayAtCharge chance

charge25
 chn1=100%
 chn2=100%
 chargeblink25 
 chargeblink25 
 chargeblink25 
 go to charge25 with stayAtCharge chance

charge30
 chn1=100%
 chn2=100%
 chn3=100%
 chargeblink30 
 chargeblink30 
 chargeblink30 
 go to charge30 with stayAtCharge chance

charge35
 chn1=100%
 chn2=100%
 chn3=100%
 chargeblink35 
 chargeblink35 
 chargeblink35 
 go to charge35 with stayAtCharge chance

//slower discharge of bar
discharge40
 chn4=fade to 0% within 10s
@+dischargeTimeUnit 
 go to discharge40 with stayAtCharge chance

//faster discharge of bar
discharge35
 chn4=fade to 0% within 3s
@+dischargeTimeUnit 
 go to discharge35 with stayAtCharge chance


discharge30
 chn3=fade to 0% within 10s
@+dischargeTimeUnit 
 go to discharge30 with stayAtCharge chance

discharge25
 chn3=fade to 0% within 3s
@+dischargeTimeUnit 
 go to discharge25 with stayAtCharge chance

//start charging again?
 go to charge20 with chargerReconnection chance


discharge20
 chn2=fade to 0% within 10s
@+dischargeTimeUnit 
 go to discharge20 with stayAtCharge chance

discharge15
 chn2=fade to 0% within 3s
@+dischargeTimeUnit 
 go to discharge15 with stayAtCharge chance


 //start charging again?
 go to charge10 with chargerReconnection chance


discharge10
 chn1=fade to 0% within 10s
@+dischargeTimeUnit 
 go to discharge10 with stayAtCharge chance

discharge05
 chn1=fade to 0% within 3s
@+dischargeTimeUnit 
 go to discharge05 with stayAtCharge chance


 //start charging again
 go to charge00

 

 

 

Mouse Gestures

Back

Forward

Scroll up

Scroll down

Switch to previous tab

Switch to next tab

Close all tabs except current

Close current tab

Open new tab

Close all tabs

Refresh current tab

Stop loading

Scroll to bottom

Scroll to top

Reopen closed tab

Go to home page

No action