Getting unexpected output from BBC MicroBit robot when moving forwards and then reverse - robot

I’m using a Micro:Bit and Bit:Bot to do some simple things but am getting unexpected results from the Bit:Bot motor.
Simply put, i’m trying to:
move the Bit:Bot forward for 1 second (with a few Green Neopixels on)
Stop motors (& clear all neopixels)
reverse (with some Red Neopixels on)
Here is my program, written in MicroPython:
from microbit import *
import neopixel
# pin13 gives access to the robot's neopixels.
myLightShow = neopixel.NeoPixel(pin13,12)
myLightShow[3]= (0,255,0)
myLightShow[4]= (0,225,0)
myLightShow[5]= (0,255,0)
myLightShow[9]= (0,255,0)
myLightShow[10]= (0,255,0)
myLightShow[11]= (0,255,0)
myLightShow.show()
#for driving the motors the following pins are used:
#pin8 (left wheel) and pin12 (right wheel) sets the direction.
#set pin to 0 for forward, set pin to 1 for reverse
# pin0 (left wheel) and pin1 (right wheel) sets speed. 0 - 1023 range
# both, therefore, are write_analog statements.
#Below, the 5 statements tell motors to go forward, at speed 300 for 1 sec
pin8.write_digital(0)
pin12.write_digital(0)
pin0.write_analog(300)
pin1.write_analog(300)
sleep(1000)
#Stop motors and clear neopixels (i.e. off)
pin0.write_analog(0)
pin1.write_analog(0)
pin8.write_digital(0)
pin12.write_digital(0)
myLightShow.clear()
# reverse at speed 350
pin8.write_digital(1)
pin12.write_digital(1)
pin0.write_analog(350)
pin1.write_analog(350)
# turn on selected neopixels and show.
myLightShow[0]= (255,0,0)
myLightShow[1]= (255,0,0)
myLightShow[2]= (255,0,0)
myLightShow[6]= (255,0,0)
myLightShow[7]= (255,0,0)
myLightShow[8]= (255,0,0)
myLightShow.show()
When i run the program on my bit:bot, it moves forward for 1 second, as expected, then stops (as expected) but then continues to move forward again!
I have been troubleshooting this for ages and don’t know what the problem is.
Can anyone help please? Thanks

Adding a sleep(1000) command seemed to rectify the issue and now the bit:bot moves as expected.

Related

Unexpected Result in Intel 8080 Test ROM TST8080.ASM

I am creating an Intel 8080 and was running a test ROM named TST8080.ASM that I found at this Webiste. I am failing when this block of code runs:
CPOI: RPE ;TEST "RPE"
ADI 010H ;A=99H,C=0,P=0,S=1,Z=0
CPE CPEI ;TEST "CPE"
ADI 002H ;A=D9H,C=0,P=0,S=1,Z=0
RPO ;TEST "RPO"
CALL CPUER
I just don't understand why on the ADI instruction the parity flag is not set. When converting 99H to binary I get 10011001 which is an even number of bits yet the tests seems to expect the parity flag to not be set. If anyone could shed some light I would be grateful... Thx
I have read the Intel 8080 Manual which states "Byte "parity" is checked after certain operations. The number of 1 bits in a byte are counted, and if the total is odd, "odd" parity is flagged; if the total is even, "even" parity is flagged. The Parity bit is set to 1 for even parity, and is reset to 0 for add parity.
Try this online 8080 emulator
Enter the code:
mvi a, 89h
adi 10h
Press step and observe that the parity bit is set:

How to /fill with Armor Stands In 1.12.2

I am trying to make a lag machine schematic in 1.12.2, and instead of placing 10000 Armor Stands by hand, I was wondering if there was any way to /fill them or use something with World Edit to do the same thing. I looked all over google but could not find anything that worked. I found a video (https://www.youtube.com/watch?v=LySru5q3j1U) however it did not work for me nor did it have any error messages, any help is appreciated.
/fill 351 8 223 192 8 64 torch(regular command block)
/execute #e[type=item.item.torch] ~ ~ ~ summon ArmorStand(chain command block)
Try setting your chain command block to Always Active.
Chain command blocks don't run if they aren't active.

Optimising applescript to decrease energy impact

I have this script that I created for a battery indicator widget that will show on my (Macbook pro) touch bar and have it set to re-run every 3 secs (to update the text and logo), but it is eating a lot of energy just running in the background and I was wondering if maybe there was a way to make it more efficient in some way in order to decrease battery consumption.
Here is the script:
(Keep in mind that the images for the icon are in base64 because I plan on sharing this widget with people who might know nothing about computers and therefor I can't have them download and save an image in a specific directory etc..)
set bat_empty_icon to "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA3XAAAN1wFCKJt4AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAALzUlEQVR4Ae3dv69lVRUH8IdMDAxQTYjAWFAQEwsrAWNCYkFoJsgQO7UxYvQPoFWgMDYWxEYrbfzVAoUNgcRkEg2MFcWEhIIYYGhomOFXjOD6jjnkcmfemzez7ptz9r2fnay59915+9y1P/vsNeec+2P29jQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAXuKm/iUtbuLX+fLjioYqTFfes3N5R9zUC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"
set bat_low_icon to "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTgtMTItMTJUMDA6MDk6NTcrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJmOGJiM2NlLTYxOTYtNDg2ZC1hNTAxLTNhZDVlNGZlZDlkNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM4N2E0ZWM5LTRhOGQtYzM0Yy05MjU0LTA2Y2FhOGUzYjAxMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjBlYjhjMWMxLWI0MmEtNGUyOC04ODM0LTAzYWQyZGEwN2YwZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MGViOGMxYzEtYjQyYS00ZTI4LTg4MzQtMDNhZDJkYTA3ZjBlIiBzdEV2dDp3aGVuPSIyMDE4LTEyLTEyVDAwOjA5OjU3KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MmY4YmIzY2UtNjE5Ni00ODZkLWE1MDEtM2FkNWU0ZmVkOWQ1IiBzdEV2dDp3aGVuPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz471XDCAAAI4klEQVR4nO3dvYsd1wGG8Wd3ReLVSpWKaOUULkwgRapYCgFDwMaNUCyTLlETYhP/ASZdYpsQ3KgwbpIqbpyPVnLhxlgQECRYSuVCGFyYIGnVqNHqkxBtiqMrr1ar1d09c++Zmff5wbD6YK/OFfc8e2bmztyFjY0NJGVabD0ASe0YACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmY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"
set bat_half_icon to "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"
set bat_three_quarters_icon to "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"
set bat_full_icon to "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"
set bat_charging_icon to "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAGGmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHRpZmY6T3JpZW50YXRpb249IjEiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTEyVDAwOjMwOjU5KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0xMi0xMlQwMDozNjowNyswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0xMi0xMlQwMDozNjowNyswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMmUzY2RlNS0xNjNjLTRkMmQtYmNjZi04YmNhOTMxYzUwMWQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NGVmZWJjMi1iM2E5LTM2NDMtOGFmMi1kZTI5NTVlNWNjMzgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4YTRiMzc2MS1hMjhlLTQzOGYtYjFiZi1iZDg5ZjE4M2JjZGIiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4YTRiMzc2MS1hMjhlLTQzOGYtYjFiZi1iZDg5ZjE4M2JjZGIiIHN0RXZ0OndoZW49IjIwMTgtMTItMTJUMDA6MzY6MDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMmUzY2RlNS0xNjNjLTRkMmQtYmNjZi04YmNhOTMxYzUwMWQiIHN0RXZ0OndoZW49IjIwMTgtMTItMTJUMDA6MzY6MDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmmDgZ0AABSESURBVHic7d17kJ1lYcfx7zl7kt0km01YEhODGMItggWMgFwcixquIjfBDpS2YrUXe3Ha2nHaqp1p60z5B23/kFptx+lFabUUW1GRKZcACYpYQK4BAsQkQpLNdZNNstnd0z9++3ZPNns557z3fX6fmTMLuZzz5Jzz/t7n/lTq9TpmFqZq3gUws/w4AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAlbLuwBFV6lU8i5Cu2rAsaOPTmAbsCXrQtTr9axf0lrgGsDMNRt4F3ABCoE6UNo0s3Q4AGaeCrr4zwJ+BbgU1QYO5VkoK6ZazCpuN7AQeAtwIbAKWAwsGv3ZHbN8oXov8HSbf3cWsBK4FrgMeALYDOxGtYDIp4A/a7eAzSpxEyoyAuwEtgN9wKvAD4GngF2jj8HcShdTu30A3cCpwMXAlcC5qJ3pGkUy4vTNzEefy3XAAqAf2AoMj/tz84DeGK8TkkXo+x4ZBt4AHgDuBR4CNuZQrtha/aJ1Ar8A/CZwIwoCX/TJi9NzdgzwbuBE4ACwATg8wZ8bifEaoesAjgNuRs2s9cBtwHeBn+dYrpa1EgCnArcAHwWWplIai2sp8EFUI+sAXgKeY+IAsPii9s1K4HZg7ejPe1GTq/CaDYArgL8AzsE9yUXVBVwN/Aa6O+1HF/9mYCjHcoWiBlwEnAF8C/grchh2bdV01fcuVMW5Hd1VfPEXUyfqgL0EOB3d/fcCm4AduLqfpV7URP47NBJTaFMFQC/qKf5b4IRMSmPtqAGnoV7/Mxt+/TCwBwWBAyBbFeAq4B/QMGxhTdYEmA/8PvCn6O5ixdWJJvxcBry14dcH0d1/N0ePAFg2zgFuRWH8QM5lmdBkNYAPAZ/GF3/R1VCVf/Xoz66G3xtEY9e7sy+WNVgFfAaNyhTO+ACooDHkW4G52RfHWnQK8Nto4tCscb93EI3/H8y4THa01cBfUsB5F+MD4CTg83iYr+gqaAbmJajn/00T/Jnd+O5fJNcDf5h3IcZrDIC5qMf/7JzKYs3rBT6Axvx7Jvj9qPrvu39xdAEfRouzCqMxAE4DPoKXCBddB2rvX4OGZsd/XiOo538bJZ6jPkOdCnwi70I0igKgB/gYHu4ruhqwBPX6r0LNgPHNuGG0eGUXngBUNBXUH3BtzuX4f9GX5yRUPbFimGzCVQ+alXklRw75NTqMVq1tZ+oA6Gi7dBbHMtTULsT7X0MFuRiN/SdlP1qIMoCqoZ5B2Lwqk7fdlwM3AOehNf8TOYxqADuZeg1AtLTVk4QmV0Ft9y60sjKpi/ZtaI7AjxJ6vrbVgDmoWpLEmH8/sAYthvgpmou+C72RDoHmVDi67V5FQ34fRhf/VEO0Q4zVAKYKgC+jmWres2tidTS0ehxa7HM+qrq/PYHnPgF9jrkHAKj6vwP9g+M8ngV+By8RTsMitHnHKygcpvoctgFfAN7JkRODLL4zgH9Ctau418vXKEgz4KNou6g4/5gNwPvxXT4Nc1ET7Qc091n8HPgs6iNwECevF82ViRsA69DIW66qaCgpzhdlF1owdD+uTiathu7k16CNWJoxhGp0u3D7Pg07ga+izT/iWE5BAmAp8QJgLXBHMsWxcWajNeZXMvFsv4kMoi9pf1qFMjYCXyLeTMseCjA1uIral+1W3ftR1XRHYiWySA9qVl0OrKD5CVp7UABYup4FHo7x96MNdXNtNkcTS9otxF7gBVzVTMMq4OM0v6lE1LbchYZgLV07gRdjPkc3OTebazRftZxIP+oAtOTMRp/J5Wh4ttmt1evAPjQK4ABI3z7if/dXouHAdm6gFfSZH0LzRg7RRtMvmgfQrkPojbDkvBl1+l1Ea5/NMLr7b8eHgGRld8y//yEU9O3Mk6mg4NiHmn196AyIR9AuxetpYi2IF/4UT3Soxxm0Nk48ggOgbGYz+YzOZi1Ak5VA28HfAryGNib9T9REn7SZ4QAojhoaGnoPGvpr9VSlYXRH8jLgcHWgQDgL3UiuBr4C/AeqJRzFAVAcPeiwlWuYeI3/dOqMVQVdA7AutGr0dLTHx+eZ4NASzxQrhipK7RtR1b+dUZkRxmoADgCLdKNt425Hw8lHcA0gfzXUdrsJOD7G80QbgezATQA7UgXVLPcAf4D6igDXAIpgGWqrXU28JdlRDaAPHwVmE7sJ+CQNHY8OgPxU0VTQ89BS0yXE+zyifQC8BsAmMwvt/HVZ9AsOgPzU0KYQ1wInJ/B8+1D13/sA2lSORzWBeeAAyNNCNAnkSuDYGM8TjfHuRH0AXpJt03k/uvHMcgDkYwnqlFlNMltNDaApwPvwkmyb3hLgfUCnAyB7VeBC1BZbmcDz1dH87z68BsCadzJwoYcBszUbTcy4FHgHyezDWGfsHICBBJ7PwnAicJFrANl6KzrR53ySnYOxD08Bttb0Aic4ALL1DnRu/OkktyFk1ATYhrZjN2vGXGCJmwDZ6ETHQl2K9vaLuwKs0QhjAeCl2eWyBW2d30FrI3IV1N+zgvb7kSrAIgdANpag3ZevYnT8NWH96Chw9wGUyz3A59BKzlaGbyto89dfA26L8fpdDoB0dQDHoHHXK0nn2HUvAiqvfuD1GH8/9t6P7gNI13y0vv8q4m29NpVoEdDelJ7f0tOBpue2K/YN3AGQrhWo1/89JHv2YqP9eATA2uQmQDqqaHrvOaOPXtI5BqrO2EGgngFoLXMNIB2zUbv/etT7n9YZcPvRIRWv4va/tcE1gHQchy7+i0j3gM4DqO1fReO6Q+Qb6nXUQ11Dbds68XfOtRQ5AJJVQact/xJwAemfztuJZhdeh7YUGya/E2frqOYzB9VMtqH1CXHP0LMUOQCSNR91+n2Esa2a0zQXeBsKnWF098+rBjCCAq8TNUu+R/yTcyxlDoDkdANnopV+y8lmXX4HCp2i7QHQgWa4PZt3QWxqDoDknILG+88mmVV+zSjahT+COiPXAg+hAyqswBwAyagC56JdVpbnW5Rc7UFV/zuATXh/gsJzAMQ3Bx3AcAUa8gvZG8B3gAfwxV8KngcQ30rgE8DFeRckZwfROXTP4Yu/NFwDaF90tPrFwHtp/Sy/mWQIWIcOo3wt36JYK1wDaF8P2tX3cto7y28m6Qf+G1X/Wzqf3vLlAGjfCuCDaK7/nJzLkqd+dC79Y0xyAq0VlwOgPcuAX0RDfgtyLkvenkc9/0edPGvF5wBoXQ24AbgFeHO+RcldHbX970QjAFYy7gRsTRdwGhrvPzPfouRuENiAAuC1fIti7XIAtOYs4JfRrr6h2wD8O/BU3gWx9jkAmlNBG3teiu7+i3MtTf4GgceBu/Ddv9TcB9CcbtThdy5a5Rfq+xbtOrQNTfh5BZ9GXGquAUxvGbr4b0Yn+uS13r4IKugI8ruBNfggktJzAExvFVrldzUa789r773odSvjfmbtReAbwJN4H8LScwBMbwWwEG29tRXd9fK4+Opo04/6aHkWow1BsjKCdh9+BF38nu8/AzgApncIfeG3jP73ALoIs+wHGBl9zcHR/z4DWE22AbAbeBBV/Q9n+LqWIgfA9B5j7Oy2YbTwJdr8Mit1xmoAg6gdHnVIZiXa3+9R3PE3YzgApvd03gUYZwQ4efRnFuqo1vM4mvQT+zgqKw4HwPSyutCaNRvNSchq27EDwMNotd+2jF7TMhLqeHZZ1dD6gxVktwLxDXSK7f349OEZxzWAcqmhvQe6SX8+QtTnsBFN+tme8utZDlwDKJcaGgLsIf0AGEFLfe9GW33ZDOQaQLnU0P4DC0g/AA4A96Idfn33n6EcAOUyC9UAFpJeANTROP/zaNLP6ym9jhWAmwDlEjUB5pNeeA+j04b/B3iZ4h0+YglyAJRL1AnYQ7qf3ZNo0s9GPN9/RnMToFw6SLcPoI5mGa4D/hfP95/xHADlEtUA0gqA19HW3g/jiz8IbgKUyyx08c8j+c9uBFX9vwmsx23/ILgGUC5dQC/pfG770ISf5/GMv2A4AMplPhoFSNpuNOS3BvUBWCDcBCiPCqr+d6Xw3BuBf0Ntfy/1DYhrAOUxDzgGrQZMyjCq+kdLfX20V2BcAyiHKqr+95BsaA+g4b51+FDPIDkAyqGKLv5jSDYA9qJz/R5E/QAWGDcByqEDBcBCNBSYhDra1/8+1AcwnNDzWvMGibe/4sG4BXAAlENUA1hAMgFwGI31fwcd8eWLPx8rgStQB2+rtfGDwLtivn7dAVAOUQD0kkwA7AG+jU719eEe+bkEHTZTofWJV8PE3xW63wFQDo1NgCQ+s22o8+81irfnYUg6yW5vx/GGgG3uBCyHJGsAG9FGH0/jiz9k+4CtDoByaBwGjBMAI2jG3zeATQmUy8prK/CcmwDlEAXAAtpvAgyhD/0B4McJlcvK62XgHgdAOURNgHkxnuN1tLX3c4mUyMqsjhZ9vegmQDlEqwDjTAN+AS31fSmRElmZPYNGgIZdAyiH+WgWYLtr9Pej+f73owNOLWzfA36E5wGUQgUN/7V7EtAutMx3DQnMHLPSexD4OqN7PboJUHzziDf+vwEt9f0J3uUndG8At9Nw4K1rAMUXLQNuZ8LIMPAiOuK8L8lCWekcAP4a+FbjLzoAiq2CzgHspfWNQIaBJ9C4/9aEy2Xl0gfcCvz9+N9wABRbFdUA2hkB2Inaet/GO/yG7AngCzS0+xs5AIqtgkYAemm+CVBHnX0/Qaf7+GivML0E/AD4Z6aY+OUAKL5u1AnYbA3gEFrquwYt+rEwHEAbum4Gfora+uuYZofnGvEWhFTxSEKaGmsAzfYBDKA7//fRjj+WnriHs2xGE7SqtD5CU0H9PHtQc68PVffXotOcm9rctYa+JO2OMc8BFuNOprRU0Hu8kOZqAHX0WTwCPItX+6WpAiyN+RzfBD5NjhuyVIl38fYAJydUFptY1Ak4XQ1gBG3xdTeqAg7hAEjTMcBJMZ9jLzkfvhoFQLuFWACcTXpn1YcuGgZcgD6rqT6nATTL607c9s/CIuCdMf7+EJqlmWtIV1Hbod1CdAIfQHubWfIq6E4zv+H/x4tCYQea7/803uYrbTVgNfECYB8F2Im5Svxtoc4E/oh4S1VtYnNQAExX/d+B2v1P4jH/LFwA/DHxRtH60NTcXFXRcVBDMZ6jBlwP/B7xO0XsSD2oCTDVF60CPAX8K1rrn2ubcoarAe8GPgWcGPO5XkZ9Nbl7E+o8qsd8DKCtpi4AlhF/x9LQ1VAV804mf89HUB/OZ3ANLC3RmYzHAR9nbHQl7vXyxSz/EZOpobbIQ8By4o3pzwFuQm2j+9Eb9Ryqnraz7fFMVUXt9Ok66jpRDWCqGYC70Syvp5h8nf9q9IWtAGfQ3GdcRbsGh6yO9l88HjgFuHD0kcTkuT7UX1MIFeBm9AWKm2p+NPe4uYnPZTFqWt3H5HecHwMfQ3enyQI273+rH0c/HgNWTPJ5ZSoaWlqLmgGWjWb6XKJlwJNN0hpGbchovn89maJZyoaAHwKv5l0QGKsObgG+hM+GL5I5aALQRH0pA4wt9tmMJ/yUyfNoU45CiALgMJpB9liOZbEjRQEwUQ3gFdTh+jC+85fJftSp+0LeBYk0dgj9DNUCduVUFjtSFxPPAaij6uOj+O5fNo8CX8m7EI0aA2AEVSn/K6ey2JHmcvRmoIPo4n8cBbaVx2bgaxRsf4bxQ0J9wJ+jOeWWr6gG0NgH0I8C+i40vGrlcBD4G9RsK5SJxoQ3oWmO6zMuix0pGgWImgB11Pb/LppHcDincllrhoEvo+Z14Uw2KeQJNN3xxQzLYkeaizoBO9CX6Geo068Qw0fWtK8Dt1HQMxkmC4ARdHrI76JthSxb0U5APaP/P4jmanwfb+9dFofQXf+zqP1fSFNNC62jTsFfRzvLWnbmoIs/6gA8gPb4exRv81UGW4HPAX9CwY9hb2Ze83rgk6jqeQOaG23pmg8ci9r//ajq/yhe5190B9D07K+i05jirLLNRLMLGzahvcvuA34LOB/NVbfk1VDbfzFq/z+Dvkxb8iyUTWkE3SjvAv6REk2rb2Vl0xDqgb4XuBH4VbQn2vFo1ZQlYyHwdvTe1lGH7ANo51crll1oB95H0PLeZ/ItTuvaWdp4GPgX4A60OcL7gPPQ6qalaPjK5w1Mbaodfo4FTkNr0DejL5XH/IvhILroo+2816JwLu1oWZwLdQgtSNkA3IPWSq9CVddFoz+74xZwhpqqI68bBekm9MV6gnjbRjfWHBbS/L4MnhIuI+g93I5GYF5Fq/meQu9Rqd+nSr3utSRTqVQy38fkLOA6NPS3Dm2ssj3rQiTF369icwBMI4cAeAvaZXkvOt+tnxwPjojL369icwBMI4cA6EHt/wEKsG98XP5+FZsDwCxgPtjTLGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOAOQDMAuYAMAuYA8AsYA4As4A5AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAOALOA/R+GatypVlYrzAAAAABJRU5ErkJggg=="
set chargeState to do shell script "pmset -g batt | awk '{printf \"%s %s\\n\", $4,$5;exit}'"
set percentLeft to do shell script "pmset -g batt | egrep -ow '([0-9]{1,3})[%]'" as text
set percentcheck to (item 1 of words of percentLeft as integer)
on new_icon(base64Code)
set percentLeft to do shell script "pmset -g batt | egrep -ow '([0-9]{1,3})[%]'" as text
tell application "BetterTouchTool"
update_touch_bar_widget "482F2657-A978-4D25-B9D6-EABFAD7E3B0A" text percentLeft icon_data base64Code
end tell
end new_icon
if (chargeState contains "AC") then
my new_icon(bat_charging_icon)
else if percentcheck ≥ 85 then
my new_icon(bat_full_icon)
else if (percentcheck < 85) and (percentcheck ≥ 65) then
my new_icon(bat_three_quarters_icon)
else if (percentcheck < 65) and (percentcheck ≥ 31) then
my new_icon(bat_three_quarters_icon)
else if percentcheck < 31 then
my new_icon(bat_low_icon)
else if percentcheck ≤ 10 then
my new_icon(bat_empty_icon)
end if
Your first step should be to increase the intervals at which you run the script. There is no need to have it run every 3 seconds (!). Even once a minute would be sufficient but I, personally, would set it to something such as once every ten minutes, since the battery level doesn't tends to only change once within a ten minute window. Even if it changed twice (e.g. dropping from 97% to 96% then to 95%), there would be no negative consequences from your script registering the level going from 97% straight down to 95% in a ten minute interval.
The next thing you can do is store those base 64 strings in properties rather than variables. Properties are set once and stored between subsequent runs of a script. If the values of the properties aren't altered, then the script doesn't need to read a new set of values each time it executes. As they are set at compile time, the overhead is reduced at run time.
The next thing you can do is get rid of the do shell script commands. They incur a lot of overhead. Instead, you can use AppleScriptObjC calls to obtain the information you need. There is still a slight overhead in implementing AppleScriptObjC compared to vanilla AppleScript, but it won't be as great as the cost of creating multiple shell processes:
property bat_empty_icon : "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAA3XAAAN1wFCKJt4AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAALzUlEQVR4Ae3dv69lVRUH8IdMDAxQTYjAWFAQEwsrAWNCYkFoJsgQO7UxYvQPoFWgMDYWxEYrbfzVAoUNgcRkEg2MFcWEhIIYYGhomOFXjOD6jjnkcmfemzez7ptz9r2fnay59915+9y1P/vsNeec+2P29jQCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINAXuKm/iUtbuLX+fLjioYqTFfes3N5R9zUC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"
property bat_low_icon : "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAGAGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMTgtMTItMTJUMDA6MDk6NTcrMDE6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJmOGJiM2NlLTYxOTYtNDg2ZC1hNTAxLTNhZDVlNGZlZDlkNSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM4N2E0ZWM5LTRhOGQtYzM0Yy05MjU0LTA2Y2FhOGUzYjAxMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjBlYjhjMWMxLWI0MmEtNGUyOC04ODM0LTAzYWQyZGEwN2YwZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MGViOGMxYzEtYjQyYS00ZTI4LTg4MzQtMDNhZDJkYTA3ZjBlIiBzdEV2dDp3aGVuPSIyMDE4LTEyLTEyVDAwOjA5OjU3KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MmY4YmIzY2UtNjE5Ni00ODZkLWE1MDEtM2FkNWU0ZmVkOWQ1IiBzdEV2dDp3aGVuPSIyMDE4LTEyLTEyVDAwOjI0OjA1KzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz471XDCAAAI4klEQVR4nO3dvYsd1wGG8Wd3ReLVSpWKaOUULkwgRapYCgFDwMaNUCyTLlETYhP/ASZdYpsQ3KgwbpIqbpyPVnLhxlgQECRYSuVCGFyYIGnVqNHqkxBtiqMrr1ar1d09c++Zmff5wbD6YK/OFfc8e2bmztyFjY0NJGVabD0ASe0YACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmYAZCCGQApmAGQghkAKZgBkIIZACmY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"
property bat_half_icon : "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"
property bat_three_quarters_icon : "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"
property bat_full_icon : "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"
property bat_charging_icon : "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAGGmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHRpZmY6T3JpZW50YXRpb249IjEiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTEyLTEyVDAwOjMwOjU5KzAxOjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0xMi0xMlQwMDozNjowNyswMTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0xMi0xMlQwMDozNjowNyswMTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyMmUzY2RlNS0xNjNjLTRkMmQtYmNjZi04YmNhOTMxYzUwMWQiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo0NGVmZWJjMi1iM2E5LTM2NDMtOGFmMi1kZTI5NTVlNWNjMzgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4YTRiMzc2MS1hMjhlLTQzOGYtYjFiZi1iZDg5ZjE4M2JjZGIiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4YTRiMzc2MS1hMjhlLTQzOGYtYjFiZi1iZDg5ZjE4M2JjZGIiIHN0RXZ0OndoZW49IjIwMTgtMTItMTJUMDA6MzY6MDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoyMmUzY2RlNS0xNjNjLTRkMmQtYmNjZi04YmNhOTMxYzUwMWQiIHN0RXZ0OndoZW49IjIwMTgtMTItMTJUMDA6MzY6MDcrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmmDgZ0AABSESURBVHic7d17kJ1lYcfx7zl7kt0km01YEhODGMItggWMgFwcixquIjfBDpS2YrUXe3Ha2nHaqp1p60z5B23/kFptx+lFabUUW1GRKZcACYpYQK4BAsQkQpLNdZNNstnd0z9++3ZPNns557z3fX6fmTMLuZzz5Jzz/t7n/lTq9TpmFqZq3gUws/w4AMwC5gAwC5gDwCxgDgCzgDkAzALmADALmAPALGAO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"
global percentage
set [percentage, powersource] to [|current capacity|, ¬
|power source state|] of battery's info()
if powersource contains "AC" then
new_icon(bat_charging_icon)
else if percentage ≥ 85 then
new_icon(bat_full_icon)
else if percentage ≥ 65 then
new_icon(bat_three_quarters_icon)
else if percentage ≥ 31 then
new_icon(bat_three_quarters_icon)
else if percentage ≥ 11 then
new_icon(bat_low_icon)
else
new_icon(bat_empty_icon)
end if
on new_icon(base64Code)
global percentage
tell application "BetterTouchTool"
update_touch_bar_widget ¬
"482F2657-A978-4D25-B9D6-EABFAD7E3B0A" text ¬
"" & percentage & "%" icon_data base64Code
end tell
end new_icon
script battery
use framework "IOKit"
on info()
current application's IOPSCopyPowerSourcesInfo() as record
end info
end script
Additionally, I tidied up the if...then...else block so it doesn't do more number comparisons than necessary.

How to deduce the side affected by mate evaluatiion

I have a GUI communicating with a uci chess engine (Stockfish 8). The problem is that when the engine finds a mate, it only sends output containing ". . . score mate 1 nodes 4677 . . .". I can deduce this means there is mate in one move (#1). But, unlike cp evaluation, I don't see negative sign when it is Black that can mate. So, how do I know if it is White or Black that can mate?
No. You'll get a negative sign when the player to move gets checkmated. Try it yourself:
position fen 7k/6q1/6q1/8/8/8/8/7K w - -
go infinite
You'll get:
info depth 127 seldepth 3 multipv 1 score mate -1 nodes 273 nps 39000 tbhits 0 time 7 pv h1h2 g7h6
Do you see the "mate -1"? The sign is relative to the player to move in the root position.

How do you encrypt a message into a picture using Jython

I'm having problems with an assignment and am in no means looking for someone to do my homework for me. Our professor does not answer or provide adequate resources to our questions for our assignments. I have copied an example code that was given to us, but I am unable to make this itself run.
When I run this program all I receive in the command line is an ellipsis and nothing else.
Does anyone have an idea what the ellipsis means?
My code and command line screenshot
Screenshot of my example code
Attached will be the code:
def encode(msgPic,original):
# Assume msgPic and original have same dimensions
# First, make all red pixels even
for pxl in getPixels(original):
# Using modulo operator to test oddness
if (getRed(pxl) % 2) == 1:
setRed(pxl, getRed(pxl) - 1)
# Second, wherever there???s black in msgPic
# make odd the red in the corresponding original pixel
for x in range(0,getWidth(original)):
for y in range(0,getHeight(original)):
msgPxl = getPixel(msgPic,x,y)
origPxl = getPixel(original,x,y)
if (distance(getColor(msgPxl),black) < 100.0):
# It's a message pixel! Make the red value odd.
setRed(origPxl, getRed(origPxl)+1)
Below is the code that the example prompts to input into the command line:
- beach = makePicture(getMediaPath("beach.jpg"))
- explore(beach)"
- msg = makePicture(getMediaPath("msg.jpg"))
- encode(msg,beach)
- explore(beach)
- writePictureTo(beach,getMediaPath("beachHidden.png"))