Skip to content

Commit c136bd5

Browse files
committed
Merge branch 'master' into feat/bookworm_32_64
2 parents d3f04c7 + 0ffb8fd commit c136bd5

File tree

5 files changed

+25
-23
lines changed

5 files changed

+25
-23
lines changed

coderbot/api.py

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,8 @@
2626

2727
BUTTON_PIN = 16
2828

29-
config = Config.read()
30-
bot = CoderBot.get_instance(motor_trim_factor=float(config.get('move_motor_trim', 1.0)),
31-
motor_max_power=int(config.get('motor_max_power', 100)),
32-
motor_min_power=int(config.get('motor_min_power', 0)),
33-
hw_version=config.get('hardware_version'),
34-
pid_params=(float(config.get('pid_kp', 1.0)),
35-
float(config.get('pid_kd', 0.1)),
36-
float(config.get('pid_ki', 0.01)),
37-
float(config.get('pid_max_speed', 200)),
38-
float(config.get('pid_sample_time', 0.01))))
29+
config = Config.get()
30+
bot = CoderBot.get_instance()
3931
audio_device = Audio.get_instance()
4032
cam = Camera.get_instance()
4133

coderbot/coderbot.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,10 @@ def exit(self):
157157
s.cancel()
158158

159159
@classmethod
160-
def get_instance(cls, motor_trim_factor=1.0, motor_max_power=100, motor_min_power=0, hw_version="5", pid_params=(0.8, 0.1, 0.01, 200, 0.01)):
160+
def get_instance(cls, motor_trim_factor=1.0, motor_max_power=100, motor_min_power=0, hw_version="5", pid_params=(0.8, 0.1, 0.01, 200, 0.01), from_defaults=True):
161161
if not cls.the_bot:
162+
if from_defaults:
163+
raise ValueError("incorrect CoderBot initialisation")
162164
cls.the_bot = CoderBot(motor_trim_factor=motor_trim_factor, motor_max_power= motor_max_power, motor_min_power=motor_min_power, hw_version=hw_version, pid_params=pid_params)
163165
return cls.the_bot
164166

@@ -272,5 +274,4 @@ def _cb_button(self, gpio, level, tick):
272274
elif tick - self._cb_last_tick[gpio] > elapse:
273275
self._cb_last_tick[gpio] = tick
274276
logging.info("pushed: %d, %d", level, tick)
275-
cb()
276-
277+
cb()

coderbot/main.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,16 @@ def run_server():
6666
try:
6767
try:
6868
app.bot_config = Config.read()
69-
70-
bot = CoderBot.get_instance()
69+
bot = CoderBot.get_instance(motor_trim_factor=float(app.bot_config.get('move_motor_trim', 1.0)),
70+
motor_max_power=int(app.bot_config.get('motor_max_power', 100)),
71+
motor_min_power=int(app.bot_config.get('motor_min_power', 0)),
72+
hw_version=app.bot_config.get('hardware_version'),
73+
pid_params=(float(app.bot_config.get('pid_kp', 1.0)),
74+
float(app.bot_config.get('pid_kd', 0.1)),
75+
float(app.bot_config.get('pid_ki', 0.01)),
76+
float(app.bot_config.get('pid_max_speed', 200)),
77+
float(app.bot_config.get('pid_sample_time', 0.01))),
78+
from_defaults=False)
7179

7280
try:
7381
audio_device = Audio.get_instance()
@@ -105,4 +113,4 @@ def run_server():
105113
bot.exit()
106114

107115
if __name__ == "__main__":
108-
run_server()
116+
run_server()

coderbot/program.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,13 @@ def __init__(self):
8787
for filename in filenames:
8888
if PROGRAM_PREFIX in filename:
8989
program_name = filename[len(PROGRAM_PREFIX):-len(PROGRAM_SUFFIX)]
90-
logging.info("adding program %s in path %s as default %r", program_name, dirname, ("default" in dirname))
91-
with open(os.path.join(dirname, filename), "r") as f:
92-
program_dict = json.load(f)
93-
program_dict["default"] = "default" in dirname
94-
program = Program.from_dict(program_dict)
95-
self.save(program)
90+
if self._programs.search(query.name == program_name) == []:
91+
logging.info("adding program %s in path %s as default %r", program_name, dirname, ("default" in dirname))
92+
with open(os.path.join(dirname, filename), "r") as f:
93+
program_dict = json.load(f)
94+
program_dict["default"] = "default" in dirname
95+
program = Program.from_dict(program_dict)
96+
self.save(program)
9697

9798
@classmethod
9899
def get_instance(cls):

coderbot/v1.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -762,4 +762,4 @@ components:
762762
- description
763763
- default
764764
- stock
765-
765+

0 commit comments

Comments
 (0)