chore: float support in python
This commit is contained in:
parent
c67f9f9726
commit
b724d5041d
2 changed files with 21 additions and 7 deletions
|
@ -63,7 +63,8 @@ class Controller:
|
||||||
def clear(self):
|
def clear(self):
|
||||||
self.send_hud([0x03, 0, 0, 0, 0x00, 0, 0])
|
self.send_hud([0x03, 0, 0, 0, 0x00, 0, 0])
|
||||||
|
|
||||||
def _as_dgt(self, n: int) -> int:
|
def _as_dgt(self, number: float) -> int:
|
||||||
|
n = int(number)
|
||||||
if n == 0:
|
if n == 0:
|
||||||
return 0
|
return 0
|
||||||
n %= 10
|
n %= 10
|
||||||
|
@ -89,9 +90,17 @@ class Controller:
|
||||||
arr = [0x01, param_1, param_2, param_3]
|
arr = [0x01, param_1, param_2, param_3]
|
||||||
self.send_hud(arr)
|
self.send_hud(arr)
|
||||||
|
|
||||||
def set_distance(self, distance, unit: Unit = Unit.Any):
|
def set_distance(self, distance: float, unit: Unit = Unit.Any):
|
||||||
arr = [0x03, self._as_dgt(distance // 1000), self._as_dgt(distance // 100), self._as_dgt(distance // 10), 0x00,
|
is_float = int(distance * 10) == int(distance) * 10
|
||||||
self._as_dgt(distance), unit.value]
|
if not is_float:
|
||||||
|
distance = distance * 10
|
||||||
|
arr = [0x03,
|
||||||
|
self._as_dgt(distance // 1000),
|
||||||
|
self._as_dgt(distance // 100),
|
||||||
|
self._as_dgt(distance // 10),
|
||||||
|
0x00 if is_float else 0xff,
|
||||||
|
self._as_dgt(distance),
|
||||||
|
unit.value]
|
||||||
self.send_hud(arr)
|
self.send_hud(arr)
|
||||||
|
|
||||||
def set_speed(self, speed: int, limit: int = 0, acc: bool = False):
|
def set_speed(self, speed: int, limit: int = 0, acc: bool = False):
|
||||||
|
|
|
@ -62,8 +62,10 @@ def direction(controller: Controller):
|
||||||
|
|
||||||
def distance(controller: Controller):
|
def distance(controller: Controller):
|
||||||
print("Distance")
|
print("Distance")
|
||||||
controller.set_distance(999)
|
controller.set_distance(555.5)
|
||||||
controller.set_distance(999, Unit.Kilometres)
|
controller.set_distance(6666)
|
||||||
|
controller.set_distance(777.7)
|
||||||
|
controller.set_distance(888, Unit.Kilometres)
|
||||||
controller.set_distance(999, Unit.Metres)
|
controller.set_distance(999, Unit.Metres)
|
||||||
controller.set_distance(999, Unit.Foot)
|
controller.set_distance(999, Unit.Foot)
|
||||||
controller.set_distance(999, Unit.Miles)
|
controller.set_distance(999, Unit.Miles)
|
||||||
|
@ -108,4 +110,7 @@ def compass(controller: Controller):
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
instance = Controller('/dev/rfcomm0')
|
import os
|
||||||
|
name = '/dev/rfcomm0' if os.name != 'nt' else 'COM8'
|
||||||
|
instance = Controller(name)
|
||||||
|
suite(instance)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue