I am receiving a decimal variable that correlates to 8 relay values of on or off. If off its value is 0 if on it variable is as follows
Relay1 = 1
Relay2 = 2
Relay3 = 4
Relay4 = 8
Relay5 = 16
Relay6 = 32
Relay7 = 64
Relay8 = 128
So if Relay1 and Relay8 were on I would receive 129.
Relay1 = 1
Relay2 = 0
Relay3 = 0
Relay4 = 0
Relay5 = 0
Relay6 = 0
Relay7 = 0
Relay8 = 128
I need to create some logic to figure out when I receive a value between 0-255 what the relay values would be. Ultimately I'm just spitting out some XML code that will have something as follows
<map key="00">
<update state="Relay1" type="boolean">Off</update>
<update state="Relay2" type="boolean">Off</update>
<update state="Relay3" type="boolean">Off</update>
<update state="Relay4" type="boolean">Off</update>
<update state="Relay5" type="boolean">Off</update>
<update state="Relay6" type="boolean">Off</update>
<update state="Relay7" type="boolean">Off</update>
<update state="Relay8" type="boolean">Off</update>
</map>
<map key="01">
<update state="Relay1" type="boolean">On</update>
<update state="Relay2" type="boolean">Off</update>
<update state="Relay3" type="boolean">Off</update>
<update state="Relay4" type="boolean">Off</update>
<update state="Relay5" type="boolean">Off</update>
<update state="Relay6" type="boolean">Off</update>
<update state="Relay7" type="boolean">Off</update>
<update state="Relay8" type="boolean">Off</update>
</map>
<map key="02">
<update state="Relay1" type="boolean">Off</update>
<update state="Relay2" type="boolean">On</update>
<update state="Relay3" type="boolean">Off</update>
<update state="Relay4" type="boolean">Off</update>
<update state="Relay5" type="boolean">Off</update>)
<update state="Relay6" type="boolean">Off</update>
<update state="Relay7" type="boolean">Off</update>
<update state="Relay8" type="boolean">Off</update>
</map>
<map key="129">
<update state="Relay1" type="boolean">On</update>
<update state="Relay2" type="boolean">Off</update>
<update state="Relay3" type="boolean">Off</update>
<update state="Relay4" type="boolean">Off</update>
<update state="Relay5" type="boolean">Off</update>
<update state="Relay6" type="boolean">Off</update>
<update state="Relay7" type="boolean">Off</update>
<update state="Relay8" type="boolean">On</update>
</map>
so the programming language is not as important but help with the logic would be great. I don't want to have to write out all 255 scenarios as this xml is simplified. If someone can point me in the right direction that would be great. What I'm struggling with is the correlation between 129 and say relay5.
Most familier with python so going to clasify it there.