From 26f332ed1a02014cf729123c4686a0c587f195ee Mon Sep 17 00:00:00 2001 From: DominikWasiolka Date: Sun, 7 Jul 2019 23:43:52 +0200 Subject: [PATCH 1/3] fixes in depth sensor - change to bar02 library --- depth.py | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/depth.py b/depth.py index 0cf5e97..e71289e 100644 --- a/depth.py +++ b/depth.py @@ -5,14 +5,18 @@ from rov_comm import Client, ZMQ_Server from logpy.LogPy import Logger -SCALETOCM = 1.019 - class DepthSensor: + """ + Depth sensor read depth from depth sensor and update that value in ZMQ server + """ def __init__(self): - self.sensor = ms5837.MS5837_30BA() # Default I2C bus is 1 (Raspberry Pi 3) + """ + object connects to ZMQ sensor server, so ensure server is running befere init + """ + self.sensor = ms5837.MS5837_02BA() # Default I2C bus is 1 (Raspberry Pi 3) self.client = Client(DEPTH_DRIVER_PORT) - #self.logger = Logger(filename='depth') + self.logger = Logger(filename='depth') def run(self): # We must initialize the sensor before reading it @@ -27,15 +31,17 @@ def run(self): loop_condition = True while loop_condition: - if self.sensor.read(): - self.client.send_data(self.sensor.depth()) - - #print(self.sensor.pressure()) - msg = str(self.sensor.depth()) - #print(msg) - #self.logger.log(msg) - else: - loop_condition = False + try: + if self.sensor.read(): + self.client.send_data(self.sensor.depth()) + + msg = str(self.sensor.depth()) + print(msg) + self.logger.log(msg) + else: + loop_condition = False + except Exception: + pass def __del__(self): pass #self.logger.exit() From 5be66128431c1e71bc2a9048ef558d7cf1e0f8b4 Mon Sep 17 00:00:00 2001 From: DominikWasiolka Date: Sun, 7 Jul 2019 23:51:20 +0200 Subject: [PATCH 2/3] change pwm values due to transoptors appearance --- engine.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/engine.py b/engine.py index 77bf625..b731737 100644 --- a/engine.py +++ b/engine.py @@ -12,17 +12,18 @@ class EngineDriver(): old_min = -1 old_max = 1 - new_max = 255 - new_min = 128 + new_max = 238 # when there are not transoptor values max and min shoud be 5 units higher + new_min = 136 set_dict = {"fl" : False, "fr" : False, "bl" : False, "br" : False,"vl" : False,"vr" : False,"vb" : False} - old_dict = {"fl" : 192, "fr" : 192, "bl" : 192, "br" : 192, "vl" : 192, "vr" : 192, "vb" : 192} + old_dict = {"fl" : 187, "fr" : 187, "bl" : 187, "br" : 187, "vl" : 187, "vr" : 187, "vb" : 187} def __init__(self): - self.engines_dict = {"fl" : 19, "fr" : 12, "bl" : 26, "br" : 21,"vl" : 13,"vr" : 16,"vb" : 20} - self._load_map_file() + self.engines_dict = {"fl" : 11, "fr" : 18, "bl" : 9, "br" : 25,"vl" : 10, "vr" : 23,"vb" : 24} + #self._load_map_file() self.pi = pigpio.pi() print("Ustawianie silników") for val in self.engines_dict.values(): + print(val) self.pi.set_PWM_dutycycle(val, self.STOP) self.pi.set_PWM_frequency(val, self.FREQUENCY) time.sleep(5) @@ -43,7 +44,8 @@ def _load_map_file(self): string = json.load(_file) dictionary = dict(string) self.engines_dict = dictionary - except Exception: + except Exception as e: + print(e) return def set_engines(self, dictionary): @@ -68,8 +70,8 @@ def set_engines(self, dictionary): if __name__ == '__main__': engine_driver = EngineDriver() - eng = {"fl" : 210, "fr" : 210, "bl" : 210, "br" : 210, "vl" : 210, "vr" : 210, "vb" : 210} + eng = {"fl" : 205, "fr" : 205, "bl" : 205, "br" : 205, "vl" : 205, "vr" : 205, "vb" : 205} engine_driver.set_engines(eng) #w time.sleep(2) - eng = {"fl" : 192, "fr" : 192, "bl" : 192, "br" : 192, "vl" : 192, "vr" : 192, "vb" : 192} + eng = {"fl" : 187, "fr" : 187, "bl" : 187, "br" : 187, "vl" : 187, "vr" : 187, "vb" : 187} engine_driver.set_engines(eng) #w From f1989bad7e68a9f8cf4488ec9582a491c196719e Mon Sep 17 00:00:00 2001 From: DominikWasiolka Date: Sun, 7 Jul 2019 23:53:04 +0200 Subject: [PATCH 3/3] add map_engines --- map_engines.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 map_engines.py diff --git a/map_engines.py b/map_engines.py new file mode 100755 index 0000000..2d0d19e --- /dev/null +++ b/map_engines.py @@ -0,0 +1,39 @@ +import pigpio +import time +import json + +def map_engine(): + frequency = 500 + startup_time = 5 + stop = 187 + engines_dict = {"fl": 12, "fr": 26, "bl": 19, "br": 16, "vl": 13, "vr": 20, "vb": 21} + engines_list = [12, 26, 19, 16, 13, 20, 21] + new_dict = {} + pi = pigpio.pi() + print("Setting engines") + for val in engines_dict.values(): + + pi.set_PWM_dutycycle(val, stop) + pi.set_PWM_frequency(val, frequency) + + time.sleep(startup_time) + engines_ready = True + print("Engines ready") + + for pin in engines_list: + while True: + pi.set_PWM_dutycycle(pin, 202) + position = input("Which engine is it? 'fl', 'fr', 'bl', 'br', 'vl', 'vr', 'vb'") + if (position not in engines_dict.keys()) or (position in new_dict.keys()): + print("Try again") + else: + pi.set_PWM_dutycycle(pin, stop) + new_dict[position] = pin + break + + print("All set. Thanks!") + with open('engines_map.json', 'w') as _file: + json.dump(engines_dict, _file) + +if __name__ == '__main__': + map_engine()