Toggle Navigation
Hatchery
Eggs
Foxis_Idlescreen
service.py
Users
Badges
Login
Register
MCH2022 badge?
go to mch2022.badge.team
service.py
raw
Content
import ugfx, badge, utime def setup(): pass def loop(): return 0 #def draw(y): # return [9999999999, 0] #def draw_going_to_sleep(y): def draw(y, sleep=2): if sleep != True: return [9999999999, 0] enabled = badge.nvs_get_u8("fois","enable", 0) if enabled: # Fetch info we will need later nick = badge.nvs_get_str("owner", "name", 'PLEASESETNICK') currenttime = utime.localtime() formattedtime = "{:04d}-{:02d}-{:02d} {:02d}:{:02d}".format(currenttime[0], currenttime[1], currenttime[2], currenttime[3], currenttime[4]) batteryvolt = badge.battery_volt_sense() / 1000.0 formattedbattv = "{:.2f}V".format(batteryvolt) usbvolt = badge.usb_volt_sense() / 1000.0 ischarging = badge.battery_charge_status() # Clear the whole screen #ugfx.clear(ugfx.BLACK) #ugfx.flush() ugfx.clear(ugfx.WHITE) ugfx.flush() # Print the most important thing, the nickname. If this is a hacked # badge with the huge font available then use that, otherwise # use the smaller one. ugfx.fonts_load({'fallback_character': 63, 'rle_entry_count': 111, 'dict_entry_count': 152, 'flags': 2, 'dictionary_offsets': b"\x00\x00\x01\x00\x03\x00\x06\x00\x07\x00Q\x00S\x00U\x00X\x00Y\x00[\x00]\x00^\x00_\x00`\x00b\x00c\x00d\x00f\x00h\x00i\x00k\x00l\x00o\x00r\x00u\x00w\x00x\x00z\x00|\x00~\x00\xbb\x00\xbc\x00\xbe\x00\xc0\x00\xc1\x00\xc4\x00\xc7\x00\xc9\x00\xcc\x00\xcf\x00\xd2\x00\xd4\x00\xd8\x00\xd9\x00\xdb\x00\xdd\x00\xde\x00\xe0\x00\xe2\x00\xe4\x00\xe5\x00\xe7\x00\xe9\x00\xea\x00\xee\x00\xf0\x00\xf3\x00\xf5\x00\xf7\x00\xf8\x00\xfa\x00\xff\x00\x01\x01A\x01C\x01E\x01G\x01I\x01J\x01L\x01N\x01P\x01Q\x01S\x01U\x01W\x01\x86\x01\x88\x01\x8a\x01\xcb\x01\xcc\x01\xcd\x01\xce\x01\xd0\x01\xd2\x01\xd5\x01\xd6\x01\xd8\x01A\x02C\x02E\x02G\x02H\x02J\x02\x92\x02\xc8\x02\xc9\x02\xca\x02\xcb\x02\xcd\x02\xce\x02\xcf\x02\xd0\x02\xd2\x02\xd4\x02\xd6\x02\xd7\x02\xd8\x02\xda\x02\xdc\x02\xdf\x02\xe0\x02\xe4\x02\xe6\x02\xe8\x02\xea\x02\xec\x02\xee\x02\xf0\x02\xf2\x02\xf4\x02\xf7\x02\xf9\x02\xfb\x02\xfd\x02\xff\x02\x01\x03\x03\x03\x0e\x03\x13\x03\x15\x03\x17\x03\x19\x03\x1a\x03\x1d\x03\x1f\x03!\x03#\x03%\x03'\x03)\x03+\x03-\x03/\x031\x033\x035\x037\x039\x03<\x03?\x03@\x03", 'baseline_y': 44, 'baseline_x': 14, 'line_height': 70, 'char_range_count': 1, 'full_name': 'Permanent Marker Regular 48', 'min_x_advance': 10, 'height': 53, 'short_name': 'PermanentMarker48', 'char_ranges': [{'first_char': 32, 'char_count': 95, 'glyph_offsets': b'\x00\x00\x03\x00+\x00l\x00\xd1\x00\x0e\x01y\x01\xa2\x01\xba\x01\xf2\x01*\x02o\x02\x93\x02\xa5\x02\xb8\x02\xbf\x02\xe8\x02I\x03m\x03\xb5\x03\xf6\x03;\x04\x7f\x04\xc8\x04\xfc\x04[\x05\x92\x05\xa5\x05\xc4\x05\xf1\x05\x0b\x068\x06q\x06\xf5\x06X\x07\xba\x07\xf9\x07S\x08\x9a\x08\xd3\x08\xf9\x08<\tk\t\xa6\t\r\nQ\n\xa1\n\x1b\x0b\x1e\x0bc\x0b\xd9\x0b3\x0cy\x0c\xae\x0c\xdc\x0c\xfc\x0c{\r\xe3\r4\x0e\x83\x0e\xb2\x0e\xd2\x0e\xff\x0eB\x0fY\x0fs\x0f\xbd\x0f\x08\x109\x10\x86\x10\xbc\x10\xed\x10<\x11\x95\x11\xb2\x11\xe7\x119\x12[\x12\xc8\x12"\x13u\x13\xa8\x13\xfe\x13H\x14\x83\x14\xaa\x14\xf8\x14C\x15\xc6\x15\x19\x16U\x16Y\x16\x9c\x16\xc8\x16\x0f\x17/\x17', 'glyph_data': b'\x12\x00\x10\rC-QD\xc7~.e@7NY\x1f\xfce\x97\x97Y\x95\x97\x97NY\x9c\xf0r\x80_K\xcb~Y\xac0\x0fN\x8b\x82\x10\x18 -\xea\\\xcct^n{]n\x8c*A`G\x96*\xb7\x8c,\xb5\x19\x9a\x96*\xb5\x19\x9a\x96\x1d\xa0"\xa0|A\x96\x1d\xd5\x8cA\x96\x1d\xa0"\x96a\x96a\x96n@/\x83\xc2n\xaa^\\kT\xc5\xbc\x10"\xfc&\xd4y\xc8j\xa2y)in{ =n\xc2 =\\\xaa"n\xaa"\xa0"\xa0}{\xcb\x96\x9fEi#\x7f\x93\x7fo\xa1S}\x93\x7f#\xc7\x8c\xe6\xc3*\x1b\xc3n\xaa"n\x90\xff*nI4\x93\xab\xc3RD\x94\x85\x9f!=R\x83\xa9\xa0\xa2\xd3\x96**y"Ay"\xa0+\xa6*y"*\x1b\xc3n\x85KH\x10\x182&\xb4:\xa2h\x91Oe\xe0)\x8e\xa6\x82\x92Z\x84\x939MP%\xcd\xd4FG\xc7V\xcbV\xcb\x92c\x9f(#J3\x8b\x91\x91[~ec\x8e,cA\x8c8\xcbV\xc5V~N\x9e\xe0\x10\x1f\x1b&KJ\xe6j=nHM\xaa\xb4\xc7"t\xc24it\xc3}\xa9\xa6"\x82\xa6\xfc`[[\x89\xa2\xe7\xc2\xad\x9fA4S\x96#\xd7\x8c#/t\xa9\xf8\x19@\x95Y0Y\xc2\xc7\xd0]\xf5{]\xc5\x90\xeb\x96*AM,\xa9M\xc3\xc5\x7f\x1d\xe4[\xc3^\xeb\xb4\xcb\xc2^\xc7@["\x9f4q\x9f4\xe7Ak\x83\xc3aE\x0f\xd3\xa6y\xa2\x10\x1d\x1b5\x81\x91Oe\x863*]\x96aS\xa7\x90iZP\xfd\x934\x94"#b\xa2\x94r\x94\x1e#\x1a\x8a\x1f0\x97\x84k^\x10\r -\xeah\x91e\x95\x1fBL\x8a\x97\x8aleNN\x8bk^:\xa2\x10\x11`5\x1e\'k4q~e0cGQ\x8ea\x82:=\x8cG\xcbV\x18GQ8(\xacLb(\x1fBL\x88\x97Y\x95\x97\x97\x97\x8a\xfc\xae\x8a\x95\x1f\x84\x9e.\x91.\x91\xd4\x10\x11\x80\x0f\'\x91\x91..e\x95\x8a\xfc\xae\x8a\x95\x97\x97\x97\x97L0\x97L\x97\x8aZy\xacZy\xacZH\x19GQ\x8e\x1d\x82nX)\xdcZ\x8e8(\xac\x86]7\x9c\xd3\x83\x1e\x10 &\xb4\\\xb4\xc5\x1e\xd3\\k=\xc5\xc2Q\xc3\xc5\x8c\x89\x864#\x92c*\x8cG\x19\x93\x858$}o*\x94}\x93b"#_\x8f{Z\x9f\xf5\x1b\x8d]\xed\x8c\x89@y"nkJGnk=\xc5\xbcQ\xe8y\xd4\x10\x1c\xe45\x81\x1e:\xa2hk4q~\x97\xaeL\x84\x8cGb9r\xf8\x9b\x9b\x0f\x94I_\xc3\x8a0\x88lk^\x10\n+\x81s3\'Oe\x1fle\x8a\x8a\x8a\x8a\x9c\xe2\x10\x1d~\x80\x80s\xc8{#_>%\xc5\xa2;\xa8R:\xc3\x10\x0b\\\x81s\x98f\x10\x137&Kh\x91\xff\xcb~e\x97LLL0Y\x1fLLL0Y\x1fLLL0Y\x1fL\xffeY\x9ce\x97\x84\x9ek3\x10!7\x80\x80\xcch\x91\xe2~\x1ff\x19G\xcbV\xc7X\x19\x9f\x92b\x1b\x8dr8Z\xa5\xa1\x1e#\x86|\x9a\xcb\x96\x9a\xc7\x96SarSn\xa0 8G\xa2\xaa,\xa2\xaa,\\T\xaa\xd4\xab\xc7G+\x1d\xc5GCG\xa3|\x9ay\xa9:\xa6t#}\xc3\xc7\x9f}\x93\x7f\x94\xabS\x7f{;I\x0f_#\x8c\x9f_8\x10\x0f(-Th.O\xae\x8a\x84\xae\x8a\x00\x97\x8ale\x8aBLb(\xacLb(\xac%\x1aLB\x8a\x1f\x9c\xe2\x10\x1f&Z\x1dS\xa7%_Uq:D\x9b\x9b\x0f\x9b\xc3\x8ea\xd3VqV)l\x7fD#V\xcbX\x19\x9f\x92[\x92[V\xc7][V\xf5V\xe5\x92\xd3t\xabza\x85*\x94}o\xe4o\xe4o\xa1S|{\x944\x93M\x8d\xc7X\x10\x1b\x83&\xa7Q\x93r\xb4;rl\x94r\x94\xcb\xa2\x94"$4;M\xd3\x8dQ\x8d\x92[V\xe7V)\x8d\x92Z\xb4!^#\x92Z\x1d\xc3CTL\xacZ\xa6\x823\x9f\xffMU\x00I\x18?c,[:=\x10\x1cF-\xea:\xa2hk^_\xcct\x8c\xdct\x19\xd3y\xc2_\xc3\xa6\x1ei\xa6\x1ei\xa6\x18\xc3a\x18\xc3a\x18\xc3aM,\x1d\xcb^\xebAE\x9b\x84>\xc3M\x94I\xa4\x93\xa7){\x8a\x00N\x9ee\x97\x9c\xae\x0fN\xc2\x10\x1cn&QD\xc7~eb\\\xc2I\xff\xa8$4\x94"S\x7f\x93\x7f\x94\xab#b`>Xin\xa7\xc5]c\x9f\xc5\xa7)\x8dn\xa7rD\x7fK\x8a\xfc\x97%\xa4\x93\xa4$9\xfcI\x18\x93r8Z\x8d\xc5\xa7 \xa2\x10\x18n&\xcb~e\x1fZ\x00\x8e8\xe7V\xe7V\xc5]kF\xacL\x8a0L0L\x9a\xe4Ea\xb5\x19\x9a{\x8c{\xcb\x7fH\xb3#3[!n=\xbf\x7fa\x8dM[\x8dx\xc2\xc1#M>\x82r\x9f\x19?Z\x9abX\xaaM\xac\xe0\x10\x1cu-\xba~!4!F\x9f\x19\xa5\xa1_>%I\xebJ\xa2\x8a\x95\x97Y\xfcc8%9r\x0fP$"\x93rm\x93\\"b]LZy\xacL\x88\x00\x9e\xc2\x10\x1a&\xc2\xc5\xccX\xc7\x8f\x18#\xbc_\xe2b<y\x8d<8%<8%@"S@"\xe5\xc3@"\xd4S\xcb"nS\xcb"a\xcb+GAEb\x82bI_\xa5*S]Z\xd4#V){Z\x9fVEy@%t4\xc7[],]\xe4[X\x86^#]S\x92cA\x19a\x8cG)\x89J\x1e\x10\x19n&k\xa2\x19HbV)\x8d]Sr8Z\x93\xa4S,`8\\\x85\xa3\xbc\x8c\x94M\x9b\x9bz\xa5\x84>\xd3\x1e?\xf5\x9ee0\x00\x9e[~N\x9e\x9e[~\x9e\x91\xe2\x10\x0c\xe4-1\xa2he\x1f\x95L\xfc\xae.)(\x80\x98f\x10\x0c\xe4-1\xa2h\xaeY\x84\xae\xffe.f(u\x80Th.NYle\x8a\x8a\x8aL\x9c\xe0\x10\x1e s\xa2~\x96t\xa9V\xe7]%Q\x8dQS\x19\x93I\xfdI\x18#k=bV\xcb\x92b\x92Z\x9f\xe7]%)\x8d\\\xa7\x83\xa2N\xbc\x10\x1c\x00-1I9\xa8;rl>Q\xd35X\xcb99\xa8\xa5\x943\x93r\x1d\x10\x1es\xa2hY\xf8Sy\xa7\xc5]b\x92Z\xd4S\x19\x9f)\x8d\\\xa7Q\x9fXb\x1e\x933$M\x93}GZS\x8c\x9fV\xe7V(\x95\xbc\x10\x1bx-\xa7\xe4XZl\xa5f;\xe7 D\x9bP\xa5\xd3\x9f\x18G\xc5V\\\xa7n\xa7V\xeb\x92\x19\x9f\x92\xc3V\xc7]\x8cHc8(\x1f0\x00\x8b\xcc`\x80\x91NY\x84\xae.\x82\x10#|-\xd6~\x95\xacS(#j^Z\x9f\x92b|\xa3@`8n\x8cS\\\xc2\xc5\xa2\xaa\xc3F8\\\xca\xc3"\xc5\xba\xd7\xd3:G\x89<\x9aA\xe7\x85AA\xc7\xc2|\xc3\xc7#\xb4\xcb \xa6\xd5#\xd4\xd3:\x89\x9af\xc7\xc2:\x89\x9a{nk\xfc\xa6,{\xc7\x85\xe2\xcb%\xd4\xd3{\xc5=\xd5#\xcb\x85@\xf0$n=\x9f%\\=\x1d#|{\xa6b`\xc3\xa6jT\x19\xa3D}\x9f\xe5{\xc5\xa2>%I\xcbIQ\xec#\x10"(-\x1e\'\x91Y\x9aQ\x8ea\xd3]b]Z,S\xa7\x90!+8ZSb\x1eS\x9a_S,_S\xdc\x8cSA}8*\xcf"\xcb\xd4S"\xc7\xd4#}o\xa1S:\xa6\x94}\x94\x85*\xef#\xab\xef#\xab\xe5\x93}\xc3\xcb\xc2\xad\xf0\xaa\x89C8\xa3C8G\x82}\xc3\xc5H\xabt\xdc\xab\\\xa6`{Ji\x10!&\xb4bXb9r\x8d\x7f\x8d!J\xa6\x94}o\xb4#\xc7\xbc\x85\xd4#yS\x83DSy\x7f\xc3\xc2\xd4\x7f{@\xc3\x19\xa5\xdc#\x19?Z?i\x19#b9M#*`\x89ti\x83K\xaa@+8G"\xf58"\x0fy\x7f\x9a\xf5A\xab\xf5{#F\x89\x93\xa2S!=$r\x9b\x8d\x19\x93\xa7)\x00\xcb\xc2\x10\x1dt&\xeah\xd3y\x92\xc5VQ\x9fM8\x8c\x9f\xcb\x1e#\x19\x93_\x93\xa4\x93}GZ\x8d]ZA[]\x8cG\xcbV\xe5V(\xac\x8a\x97\xfc\xae!M\x94M\x9bl>\x8c\x8d\x19\x93_\xb4!3S\x10\x1cx-3\'OY\xf8ZHZ\xa6\xaa3S\xcbXb\xa7\x90\xbfZ\xc3\xa9M@A_[\xa6J=n\xb4\x8c\xaa\x0f\x8c\xaa@^\xfft\xc2M\xc3t\xc2M\xaa{\xc7"G`\xa0\x82E\xc3\xa6\xcb"nS\xcb"\xb4\x7f*\x8dx\x94IqI_?c\xf8!^bVQ\xa6\x83^\x833\x10\x1ej&\xb4\\\x92)S\x19;\x0f"$\xa2\x93\x858RK$M\x8d_\x9fy3\x8a\x9an\xd3\xa7\x90#\xcb99IqI_Sb`8Z\x1fb(\x1fbj\xe7"\xe5\xa6^\x94"$"S\x7f\x84#!=;I_\x8d\x10\x1c\xfc&GQ\x9f\x1b\xa5\x84\x94"$+\x1d\x94:\xa6\x94}$_#E\xa6\x198\xc7VQ\x8ey\x95\x8a\x86lxP$"$"$}\xecm\xa5$\xa4!xL\x88\x97\xfc\x9e\xe2\x10&j&\xeah\xd3~\x1fSj^Z\xd4!4#\xa7\x19\xc2#\xa7\xd3\xa7\xcb\xa7\xc7\xa7\xc7\xa7\xc5\xa7\xc5\xb4x#Hg\x10!x-\x84\'\xa4\x0fJEfJE\xd2D\xd3t=j<\\\xaa\xd4["j\xc34\xcbG\xa2[G\xa2[G\xa2[G\xa2[G\xa2\xaa\xf0\xaa=\xcbH\xaa=\xcbH\xab\xe7H\xab\xc78`b8\xe7+\x89\x9fw\x10\x19&\xbc\x7fH\xa5f\xa5\x0fm;\xe5\xa2\xa5\x9ac\xb4\xb7eNYleNY\x97\x8a\x8a\x1f\x8a\x8a\x82b\x1e$9r\xecUJ=#\xc8\x1e\x8cD\x10 n\'&\xcc\x93\xa2\x94\xcbTo\xe2o\x82o\x82o\x82o\x8d\x93 Ga_zG~\x8a0\x8a\x00\x8a\x8a\x1f\x8ab(\x1fbj=8\xa8\x93r\xec>iM\x8d\x19?b\xa7\xd3\\]\x10%&\xf8`= "DFGt\xe2`\xa9\\/G\xc7\xa9:G\xcb\xd4\x7fS\x1d\xab\x0f\xc7\x8d}S\xb4%\xab\xc7\x8d\xa2[\x8d"\xe7\xc3b"\xbf\x7f\xd4>i3\xa5\xf0#\x19?Z?i\x19#b9\xc5\xa2o\x00S\xb3$+#\xd4$C{b\xa1=i\xc5\xd4R\xa6\xcbyR8\xc58k8DSTki|\x8b\x82\x83\x1e\x10\x1e&qhe\x95\x1fb\x1b\x8e8\xe4V(\xacbx\xa3(\xacZH\x8c\xa3x\xa3(\xacZH\x8c\xa3\x1b8M\xa3(\xacB\xff[\\\x85\xa3\xf1\x7f\x9f#4\x93\xaa=#\x7f\xc2\x94"$"$4#\xd4Eb(\xb4\x10/7-\xa2hkf+a\x83iC8j\xa0 S6\xff#\x89tG\xc7#\xc7\xbc\xaa\xa3\xd4S8 S\x1d\xf58 SJ8KbjG SJ8y\xa3J8\x83{k\x89j8 AJa=\xe7 \xc3+\xc3C\xc3+\xc3C\x85\xeb:\x91\xf0\x10!&\xf8DQ\xcby{\x18[H\xa4[\xa6FG\xa6|8a\xe7"\xcbAr\xffb\xa9"\xd3ArS\xf5Ar\x0fS\x1dr#\x1dr#\x1d\xf5`#\\b\xa2b\xad*[\xad*[\xadA[\xb4%F\x9f*\xe7+\x9f\xc5S}\x8d\xa9:\xa6b{\xabb\xc2\x85*\x94}\xc3\x94CG\xb3S\xab\xcbRy8\xd5!j\xa3\xd4#"\xc5{b"2A\xcb"8M[\xa6M\xc2t\xd2y\xa2\x10$p\x10\x1f&\x1d)\xecS\xcbXZ?\x7f8#9r\xbc\xa5m[\xa9+GnA+GGC\xa3\\\x7f\x9a\xf5\xbc\x7f\x93\x7f\xc3\x94}\x94\xabS\x7f\xe2\x94"\x93r\x9b\x0f\xa5Ab\xa7\\\x1b\x8a\x00\x8ab(\xacB\x0fNe\xd4\x10$&H)8nV\xe4VrDS\xc5X\x19\x9f\x92Z\x8d\xd3\x1e$9M#\xb5\xaaTS\x1d"\x82\xc7\xb4\xab[\xa6}\xc3\xaa/n#j\x85\xbcb\xc8\xa6JDS,ATb\xec[,FS*\xbdkG\xc7AbJ\xa38%T\xaa\xe2#:\x89G\xaa \x86\x8dC\xa6aS:\xa6,!yD\x93\x7f\x94\xab\x94+\x1d\x94F\xa1/\xa6SA"\x82\\\x96\xfdD[~.f\x10\x1f\xe4&\xbche\x1fS(#\x1b\x9f\x92Z,b\xa7\x8c\xef\x933S,r\xecSA\xa8[\xad8a\xf5:\xa3\xa9:\xa3,k\x83m\xa5Pi#IqI}GZ\x8dV)\x8d\xf5\xa7\x8c\xa1\xfc9\xeb"\xdf#\xab\xbcRya\xb4Rya\x1dSy=y\x8d|\xbc\xc7HZHe\xbc\x10\x1ct&bV\xd3\xa7\x82\xa4\xa5\x94q\xa2\x93\xab$\xeb|o,S\xe7b|\x8d\x92[\x92ZAb\xa7\x90\xc3Z\x84\x93\xa7\x8cGk\xa2\x9e<:e0LZ\x8e\x1dk\xfc=Z\x93\xa7iXc\xfc\x8d\x92\xaa3S(\x1f\xde\x10\x1d2&\xd48x\x9f\xab\x94C\xa1R2\x9f\x94=\x94b \x9f\x94+S\x94F\x943#\x90\x1d\x1aL\x8aLb(\xacLBL\x8a\x8a\x1f0\x97\x97\x95\x00\x8a\xfc.f\x10!\x83&\xf6:\xa2h.kJ\xcaJ<{\x83\xc3y=ta}\xaa\xa6|@j/\x1dt\xadWx#b\x1e#\x90#Q\x8dV)\xdcL\xb4\x10\x1cx-\x1eKx\xcbJk\xfcD\xd3D[`\xaa\xad\xa0\x00,\x1c:\xb4Z\x8e8~\x8a\x1f\x9c\xe2\x100}&\xea\\KCHJH\xc5= @y\xd4j@J\xa0\xbcn\xa6y\xa3H\xe7GK%y@8t8GH\xaa\x00H\xaab8\\\xa38\xa6\xcbJSyS8\\\xa38\xe5\xa9n\xa3a\x82a\xe7j\xa9\\#a\xfft8\xa6\xd3\\b\\\xa3\\#a\xe7yG8\xcb\xb4%tGa\xc3\\bt8\\S\xcb\xa9t8\x1d\xc3\x1d\xffJ\x89\x9fnSj\xa6\xc5\x8d\xa9 \xc3\xc7\x8d\xd5Sy\xa3{d\x10\x1eC&\xa2Kt=J{"j<A\xfcG\xa2\xaaS\xa2%akDS\xb4\x7f\x9a\xcb\x9a\x858\xbf\x7f\xe4\x94I\xa4\x93\xa7i]c*\x8cHbV\xc7]c\xd4!4#r8Z\xa5\xdc\xa5fb\xc2kKb\xbc\xaaTb\xa9"za\xe7+8nA"\xe78F\x89\\\xad\xa0A+\xa6j\xc3r\xc3j\xc2^\xfd\\H\xa8\x833\x10\x18\'-KJE\xc2t{\xc7"G`\xa0S+Ga\xd3"\xe5\xbcb|\x89\xd4\x7fAn\x7f*\xc5\x7fa2\x7f\xa6\xf5Sn^\xb3Z\x93\xa7i]S]ZA\x19a\x8cHZ8\xc7Vt\x1eZ\x8e8\x1b\x8e8(\xacZ\x00\x8e8(\xacBL\x9c.\xf8\x10 \'&\x9b\x94\xa8;\xe7 Dm;\xa8[#\xc5\xa7\xc5\xa7\xc5\xa7n\xa7n\xa7V\xcbX\x19\x9f]bX\x19\x9f]cA\x19\xd4!^b\x92\xaa\xec4%t[`S\xa6\xdb}S\x9f\xc5T\x94k\\\xa6\x94}\x94\xab$4\xa5$\xc5`\x9f\xca\xa7\\]\x10\x13|h\x8d_>%M\x9b\x9bz\xa5\xa52\x97\x97Y\x95\x97NY\x990\x97L\x97\x8a\x1f\x880L\x97L0\x86\xf6\x18\xa5\xa1_U\x1e?\xcct^\x10\x11J-\xe6:\xa2h\x91.\x9eY\xf8\x9e\x9e\x9e.\x9e\x9e\x8b\x9e\x9e\x8b\x9e\x9e\x9e\x9eY\xfcN.\xe2\x10\x13C\xcaVi\xc7I\x18U\xfdI\xa4\x93_\x8f\\\x95\x97NY\x99\x97\x97NY\x99\x97\x8a\x97L0\x88c\x8d\xcb^#\x8cU\x1e?\xcct^\x10\x19:-\xb4h\x91\x9eY\x1fZG\xc5V\xc5]\x8cG\xd3V)\xf0\x7fD[\x19\x89%]\xbdEa\xec\x8cA\x96\x89,F\xa3,`8n<Gn@\xe4"y\x8c\xff\xaa\x82r\xa0\xc2}H\xc7H_\xd3j\xc7\x1e\x10"51s3\x93\xa2oio\x93$:\x8d\x94 \x9f\x94+\x93\x7f\xdc\x10$+-\xcc:\xa2hOY\xacS\xe4V\x1ab(\xac\xe2\x8c\xa3:T\x9e\x91\xdc\x10\x1c\x81\xe8h.e\x1f\xc3)\xbcbV)\xc2Z\x9f\x92Z\xdc!"\xef\x8c\x89\x86"\xc5\x90\xd3\x96AnSFG\xd4\x7fA\x934$rm\xbb#\xc5"\xc2\x7f\xd4[@%`\xa0/\\\xa0,}\xa0S^\xffGx\xaa\xf0E\x8ft.\xf8\x10\x1c1X\x84\x92Z\xa5\xe0;rl\x94r#\x1drSa\xff`\xa9Ar\xdc\xbf\xb7Zf!"b\xa7E8\x85K!4#Q?\xfc\xd4E\xa0\x82_\xaa\xc3\xc5"\xa6\xc5"\x1d\xff\xa8\xebAEi\xb7#IqI_\xa5AbX\x8cH<\x10\x19\xfc\x81\xd8hk"Q8\xc7\x92\x19\x9fQ\x8dQ\x8dQ\x8dQ\xc2b][V\xe7\x92E\xa3(BN\x9e.Y\xe0!4\xc3Z\xa5\x9f\x90!"Z\x1d\x82\x10\x18:1D\'\x91<C\xacS\xe5V\xc7]Z\xb4!^\xbc\x19\xd4\xd3\xa04\xfd\\\x90\x0fy\x19\xc2H\xe7\x1e\xd3Hq\x1e\xd3Hq\x1e\xd3HqJ=y\xc2_\xc3a_[\xa9x@\xc2\x19[\xc3\x19?Z\x8d_\x9f\xe5\xa7\xc5X)\xb4e.\x84\x10\x19\\\x81\xd87Z\x9f\xc7I9IqI_R+S)\xdceY\xbc\x7fj\x8d\x92S\x1b?ZSc\x8dQ\x1f\x97%y\xb4\x18[\xa993>i9\x1e\x93\xa7\xebJ\xa2\x10\x16\x81Aj^bXb\x1e\xa5\x94rm%\x8c*\x19\x8e8j\x1eNe@|K\xe2\xb3[\x1e$3>iM\x8d\x19?\x82(e0\x00\x9eO\x9e\x91\xec\x10\x1f\xe4\x81\xd0h\xd3~\x1f%\xcbV\xc7X\x19\x9f_\x9f\x92\x8c8\xebV\xf5V\xf5Vn\x8f|G\xc7\xb4ESa\xff:\xa38\xa2\xaa\xc2\x85\x89G\xd3 Gj#Ca\\8\xcb:\xa0\xdc#F\xc3\xa6#|o\xd4\x94\x85\x9f!=\x93\xa8R:S\x8c8\x10\x1cJ1\x1e_\xcct\x8fy\xa2t\x8fjT\xc7H\xa4\xd3y{_\xaalE@\xa6\xe4"\\\x96\x86\xc3\xa8\xcb\xa62"y/y\xa0%\xa8\xeb\xa6\xa8\xeb\xa6\xa8\xff\xc5AM[AE\x9b\x9bz;x\x9b\xc3b\xc3\xa8b\x96\x0fS\xad8a\xa8\x82\xa6r\xf0\xaa\xc3\xa8\xcby\x8c\xaa{y\xa2\x10\x0f21\x1e\x83\x1e\xc7~\x91\x91\x9e[~\x8a\x97L0\x97NNNNY\xf8\x9e\x9e\x91\xf8\x10\x1ah\x81\x9a\x7f\xa1\xaa+\x94kD#RD\x94\xabS\x7f\x9a\xb3\x19\xe2yY\x9ce\x97<:[~Ne\x97\x0f\x19\xc8\xa6:K\xcb\xbc\x19SZ?b\xa7E8\x19G\x10\x1f\x181\xc8 ^h\xaa\xf0}GykjGn/\xa3\xa9`A\xd4\x7f*\xb5\x7fA\xdc\x7f*\xec\x7f\x1d\xc1bI\x18Sc\x93\x1bR=#Xc\xdc!4#Q?$nTb\x9ab|S\xc5#k\xa3\x9f\xff:\xa6\xc7A\x85\x89Hb:\xa6\xa3}.O\xf8\x10\x1a\x181qh.[~\x8a\x88L0\x8a\x88L\x97lk"\xb4\x19\x93\xd39r\xec>\x8c\x94I\xa4L\xe0\x10\'\x1b1\xe0h\xd3yH+Gj\xc2|\x89j\xab\xcbG}Stb|#\xa6\x82|#\xa6\x85\xf8#\x1d\x85{b\x9fF\x82b,bTofofo$!K\x94/\x9a\xf1#\xd5\x85\xc3\xd7#*CA\xb5bACA*2\x89=\xcbyG\x838Kk2\x89Kk\xa6J\x1dCA \x85\x84k@+k\xec\xd3T\xeb {|\xcbyD\xc5T\x10\x1b\x181\xc8y\xd0\x1b\x8fH\x1b\xc2Hq\x18[\\\x8c,\x1d`8\xb4\x8c\x9a\x89MSA}8*3b\xd4\x8cSn\x8cS*3b\xa0+A\xcb\x96\x9a\xcb\x96#Ax#\xa0JD#,\xa8%\xb7%^;`\xa9SE\xc3\xb7\x7f\x1d\xd5\x7f\x1dnS3[\x89\x1eia\x18iHrH\x10\x1e|u\x80&\xc8 ^~\x95ZHcain\xa7j4Z\x9f]SQ?\xeb\x19S\xe4\xc3`8\\<8y[j=\xcby\xaaT\xaa@"j\xc3|\x89t<\xa02@`\xaa\xad,\xe48|\xa0\x00\x7f\x9a\xb4!=S\x7f\xec\x9bz\xa5\x8d\x19#\x8c\x9f(\xbe\x10\x191\x92\xc5V)\x8d]i\x90!\xa2S\x19\xa5\xa1M,\x1d\\"\xa6\xe4"a\xc7"\xc5#^\xa5\x9b\x94M>\x82_?[]k|\x97\x97L\x95\x0f\x9ee\xbc\x10\x1e:1=~\x95\xacS(#J\xa2Z\x9f\x92b\xa7\x19S\xbdE\xa9\x96\x84Sn\xc2\xa8\xaa\xc34\xaa<\xa9y@}S\xbc\xc7<,\xe7\xc2\xd7\xab\xe7\xbc\xbb\xab\xfd\x9f+\xa6\xa6[`[Hb`\xc3\xa6[\xa2\xc7{#4;\xa8;\xa8S\xe7\x8cS\xc5@M\xd3y\x9c\x91\xf0\x10\x1a\x81lhe\x1fS(#\\\xa7\x1b\x9fM8\x8c\xa9cb/2\xa3\xa0CG\x1d\x1e%A_i\xb7b\x1e\x93r\x9f\x19?c\xf8!4bV\xe7V\xcb\x92cA\x7fH\xd3R\x83@RK\xd3{#^\xfd\x9fx\xd3\xa6E\xc6GC\xa2\x10\x16\x81\xa0\x18#\x92Z\x0f\x939\xa8$r\x94q"c\xb4Za[\x1b\x9fV\x8c\x1db]Z8)H\xd3~\x9c.\xff\xcb~ecH\x19Hc\xfc\x8d]ZA[\x92\xaa3S(\x1f{\x10\x17\x81\xf5\x89\xa7\x85*\x94}o\xe4o\xe4o\x9fS\xc9`RC\x89Y\x97NY\x97N[~N\x9eOOOY2\x9e\xe0\x10\x1c\x831\x1eh\x8fhE\xe6JE\xeaj{\xa8DEij\xc2r[j["\xe4\xa6}\xa0,}\xa0,4\xebG}\xa0\xf8["\\\x89"\\\x89"G`\xa0\xc3\xc7"a\xff\xa8\xcb\xa9`\x89\xe0bI\x18SZ?b\xa7E8\x8c8\xcbVy]\x10\x1713j\xdc\x18\xcby\xb4\xcb^t@^\xfdy\x96\xaa\xe2E[\xa6\xc5"a\xe7^\xcb\xa92"\x1d\xffM@\xbc\x19[\xbc\x19\xc2\xc5c\xc3\xb5\x8cA{Ea\x9a]b]ZA[\x92[V)\xdcZ\x8e\x8e87b(\x95\x97{QD\x10(C\x81\xc5TC\xe0F\xe2C\xe2T\x82\\\xb4t\xc2:\xa0\xcby\xc3C\xa0\x0f\xd3\xa6\x83\xa6\xa62AJG\xa62AJGa\xf5A\x83\xa6a\xe7AJGa\xe7\xa0yG\x1d\xe7A=\xe7\xa9* a\\S\x89 \x89\xb4bA=\xe7\xb4b\xbck\xa6n#A aA\xd3\xbck\xa6\xd5S\xc7b=\xe7\x8d\x9a\xf5=\xd7$kHo\x8d\xcb#\xe7+\x8d\xc5#F\x8d*kj#8\xc5Tb8\xa2\xaa/t\xd3j.\x84\x10\x18(\x81\x8ft\xb43\xd3jE\x86<\xa6\xe5\xad8*\xcb+G\xc5\x7f\x1d\xbfbI_\x8d\xeb\xa7\x82\x92\x8cHZ8\xe5V\\\xa7j^Z\x9f\x92b\xa7\x8c,\xbb\x19b\xdc\x8c\x9a\x1d\\"a\xc5"\xc5\xa0+\xa0%M\xaa@j=tiJ=t\xe2y\xa2j\xc6\x1e\x10\x13x1qj\xcb\x1e\xcbHq\x1e\xd3\xa6M@\x89x@A_[A\xa4[{\x19\xc3\xb5\x90\xcbZ\xe0\xbb%]ZA[\x92\x198\xcbV\xc5V(\xac\x8a\x8aL0L0\xffeN.k3\x10\x1a\x81v\x10\x16ju\x8d_>%M\x9b\x9b\x9bSZY\x97\x97Y\x95\x97cH\x19G\xe7\x92\x8c\x1db\xa7)#\xc5X)\xa9\x1b\x8e8)A\xd3\\\xa7(\xacle\x8a\x88\x8a\x97L\x86\x84\xa7i\xc7I_U\x18?\xfc\xc8j\xa2\x10\x10&\xdc:\xa2h\x91Oe\x97<:[~Y\x9c[~\x9e\xc37\x9ce0\x00\x9e[~\x9ee0\x00e\x97Y\xfce\x1f\x97<:.l\x10\x17C\xc7V\x19\xc2#\xcbI\xa4\x93\xa4\x93\xa4\x93\xa4$y\xa2y\x95NY\x99\x1f\x97L\xacS(#(#CTb\x1b\x8e\x8ea\xd3V\xeb]b\xa7\xe9]\x19\x8eyL\x8a\x88\x8a\x84\x90!F\x94IqI\xe7I_?\xd4j4\x10\x1c55s\x86E\xf0b\xb4E\x84#\x96\xc3b%I\xff\xa8\xcb!F\xc3AE\xc2\xc5{\x8c\xca\xa6\x10'}], 'dictionary_data': b',\x85,\x807\x80.\x80$\x86\x0c\x89#\x87\n\x89$\x87\t\x8a$\x87\x08\x8a&\x86\x08\x8a&\x87\x06\x8a\'\x87\x05\x8a(\x87\x05\x89)\x87\x04\x89*\x87\x04\x88+\x87\x03\x89+\x87\x02\x89,\x87\x02\x88-\x87\x01\x88.\x91.\x90/\x8f0\x8f1\x8d2\x8d2\x8c3\x8c\x17\x06\x86+\x80\x01\x877\x15\x8d\n%\x86\x8b\x93\x86H\x17>5\x821\x05\x86\x1c\x03\x86G\x01\x84;\x02\x86\x1c\x01\x868M)\x03*\x80&\x83A\x13\x80\x0f\x87\x1e\x8a\x0e\x89\x1c\x8c\x0c\x8b\x1a\x8d\x0b\x8c\x1a\x8d\n\x8e\x18\x8e\t\x8e\x19\x8e\x08\x8f\x18\x8f\x06\x91\x18\x8f\x05\x91\x18\xa7\x18\xa7\x18\xa7\x17\xa8\x17\x9e\x01\x88\x16\x9e\x02\x88\x16\x89\x01\x92\x03\x87\x16\x89\x02\x827\x08\x88*\x95\x19\x94\'\x97\x01\x85!\x1b\x84\x95)\x90\x92-\x88\x02\x85\x02\x04\x87\x887\x878\x18\x0f\x80\x83(\x1f\n\x87\t\x82)\x93\x10\x14\x81\x877)\x869\x869\x84;\x97\'\x85\x80.\x90\x13\x89\x1e\x81\x95*\x95*\x942\x89\x87\x0f\x87!\x87\x0f\x87!\x88\x0e\x87!\x88\r\x88!\x87\x0e\x88!\x87\r\x88!\x88\r\x88!\x88\x0c\x88"\x88\x0b\x89"\x88\n\x89#\x88\t\x8a#\x88\x07\x8b$\x88\x06\x8c%\x87\x03\x8e&\x98\'\x96)\x96*\x94\x02/\x87\x867\x88-\x85\x01\x060\x85\'\x83\x80+#\x07\x86\x88\x01\x87-\x8d\x01\x8a\x16\x88\x02\x9e\x16\xa8\x17\x95\x02\x90\x18\x93\x03\x8f\x19\x92\x05\x8e\x1a\x8f\x07\x8d\x1b\x8e\t\x8b\x1d\x8c\n\x8a\x1e\x8b\x0c\x88!\x87\x0f\x86$\x81\x14\x84F"\x858\x01\x82\x81%\x8b\x08\x88#\x8a\t\x89!\x8a\x0b\x8a\x1e\x8a\x0b\x8c\x1d\x89\r\x8c\x1b\x89\x0f\x8c\x1a\x88\x10\x8e\x18\x88\x11\x8d\x18\x87\x0e\x91\x18\x86\x0b\x94\x1a\x86\x03\x81\x01\x97\x1b\xa3\x1c\xa2\x1d\xa0 \x9c#\x99\'\x94,\x901\x88C\x14<\x84\r\x84\x14\x01\x81\x98\'\x83\x05\x9e\x1dG$\x80>\x839\x878\x886\x8a4\x8b2\x8e0\x8e0\x8f/\x90.\x91,\x94*\x95*\x96(\x8b\x05\x86\'\x8a\x08\x86%\x8a\t\x86%\x89\n\x87#\x89\x0c\x86"\x89\x0e\x86!\x88\x0f\x86 \x89\x0f\x86 \x88\x11\x86\x1f\x87\x11\x87\x1f\x87\x10\x88\x1f\x86\x0f\x8a\x1e\x87\r\x8c\x1f\x87\t\x8f\x1f\x9f \x9e!\x9d#\x9b$\x99\'\x96*\x92/\x8d:\x80F>\x81\x01\x80&S-\x0b@\x139\x93,\x93,\x94+\x95*\x95+\x93-\x82\x06\x895\x894\x8a4\x895\x894\x8a4\x8a3\x8b3\x8b3\x8a3\x8b2\x8b4\x8a4\x89\x0b\x80*\x88\t\x84)\x87\x06\x88\x01\x80\'\x88\x02\x8d&\x99\'\x97(\x95+\x92-\x8f1\x8a7\x84$\x9b#\x9c#\x9c#\x9c#\x9b#\x9c#\x9b$\x8e\x04\x88#\x8d\x06\x88#\x8b\x08\x88#\x89\n\x88#\x89\n\x88#\x89\n\x88$\x87\x0c\x86$\x87\x0e\x84\'\x84\x10\x81*\x81E)(\x08\x82\x02\x83 "8\x8a#B\x14N\x1b\x83\x13\x01\x80\x85\x1d\x01\x86\t\xe40L\x1f0*\xfdL\x1f\x0fO[Mf#8Q\x00\xd2\x19{l\xc7~\x18*\xc3#z$\x000\xbcE00\xf6\'E\x83Y\x1f\x1f\x1f0@~\x000NY\x1f\x84%$E@~\xf8e@~*%2\x86\xe4$}\xe0jb\xff\x1e$x\x00a\x1b#\xfd^\xd4b[y\x85\x1d\x84L\x00A|Y\xf0e\xf9', 'max_x_advance': 48, 'width': 64}) if "PermanentMarker48" in ugfx.fonts_list(): ugfx.string_box(0,40,296,50, nick, "PermanentMarker48", ugfx.BLACK, ugfx.justifyCenter) else: ugfx.string_box(0,45,296,38, nick, "PermanentMarker36", ugfx.BLACK, ugfx.justifyCenter) if ischarging: # Just print the battery symbol with a charging symbol ugfx.display_image(0, 0, "/lib/foxis_idlescreen/battcharging.png") else: # Depending on how full the battery is use different symbol # FIXME: These values are pure guesswork. if batteryvolt > 4.0: ugfx.display_image(0, 0, "/lib/foxis_idlescreen/batt100.png") elif batteryvolt > 3.6: ugfx.display_image(0, 0, "/lib/foxis_idlescreen/batt075.png") elif batteryvolt > 3.2: ugfx.display_image(0, 0, "/lib/foxis_idlescreen/batt050.png") elif batteryvolt > 2.8: ugfx.display_image(0, 0, "/lib/foxis_idlescreen/batt025.png") else: ugfx.display_image(0, 0, "/lib/foxis_idlescreen/batt000.png") if usbvolt > 4.0: # Draw powerplug symbol ugfx.display_image(120, 0, "/lib/foxis_idlescreen/usbplug.png") if batteryvolt > 2.7 or usbvolt > 4.0: # Only print this if we're not likely to run out of power before # the next redraw! # First the time ugfx.string_box(150, 0, 146, 19, formattedtime, "Roboto_Regular18", ugfx.BLACK, ugfx.justifyRight) # Then the battery voltage next to the battery ugfx.string_box(42, 0, 100, 19, formattedbattv, "Roboto_Regular18", ugfx.BLACK, ugfx.justifyLeft) ugfx.flush(ugfx.LUT_FULL) badge.eink_busy_wait() timetowait = 61000 - (currenttime[5] * 1000) return [timetowait, 0] return [9999999999, 0] import ugfx