aboutsummaryrefslogtreecommitdiff
path: root/components/caretaker.py
diff options
context:
space:
mode:
Diffstat (limited to 'components/caretaker.py')
-rw-r--r--components/caretaker.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/components/caretaker.py b/components/caretaker.py
index 7f8cc33..4237702 100644
--- a/components/caretaker.py
+++ b/components/caretaker.py
@@ -11,12 +11,12 @@ class Caretaker:
def __getitem__(self,key):
if key=="MBRU": # If we ask for unsigned
- return(self.objects["MBR"] & 0x000000FF)
- elif key=="MBR": # If we ask for signed
- if self.objects["MBR"]>=0:
- return(self["MBRU"])
- else: # Send 2 complement if it's lower than 0
- return(self.objects["MBR"] & 0xFFFFFFFF)
+ return(abs(self.objects["MBR"]))
+ elif key== "MBR":
+ if (self.objects[key]>>7)==1: # If it a negative number (2 complement)
+ return(-((self.objects[key]-1)^0xFF)) # transforme bin negative number to python negative number
+ else:
+ return(self.objects[key])
return(self.objects[key])
def __setitem__(self,key,value):# TODO: Do special treatment for MBR (allow only 2^8 value)