Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 19 additions & 13 deletions depth.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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()
Expand Down
18 changes: 10 additions & 8 deletions engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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):
Expand All @@ -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
39 changes: 39 additions & 0 deletions map_engines.py
Original file line number Diff line number Diff line change
@@ -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()