From f2e7d0cfdc9fcdcff96c38fb1c0844a922324fce Mon Sep 17 00:00:00 2001 From: Danny Staple Date: Tue, 12 Dec 2023 21:41:03 +0000 Subject: [PATCH 1/3] Make CPR overrideable The inventor hat mini could be used with other motor/encoder combinations. Allowing the CPR to be overridden should help with that. Keep the original setting as the default --- inventorhatmini/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inventorhatmini/__init__.py b/inventorhatmini/__init__.py index 29bfbdb..9ee2a1d 100644 --- a/inventorhatmini/__init__.py +++ b/inventorhatmini/__init__.py @@ -87,7 +87,7 @@ class InventorHATMini(): SHUNT_RESISTOR = 0.47 - def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, init_motors=True, init_servos=True, init_leds=True, start_muted=False): + def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, init_motors=True, init_servos=True, init_leds=True, start_muted=False, encoder_cpr=MMME_CPR): """ Initialise inventor hat mini's hardware functions """ self.address = address @@ -101,7 +101,7 @@ def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, init_motors=True, i # Setup amplifier enable. This mutes the audio by default GPIO.setup(self.PI_AMP_EN_PIN, GPIO.OUT, initial=GPIO.LOW if start_muted else GPIO.HIGH) - self.__cpr = MMME_CPR * motor_gear_ratio + self.__cpr = encoder_cpr * motor_gear_ratio self.__init_motors = init_motors self.__init_servos = init_servos self.reinit() From 34d6037e58c59d69d411ac4d1c1a8c8acf00e9d7 Mon Sep 17 00:00:00 2001 From: Danny Staple Date: Tue, 12 Dec 2023 22:26:55 +0000 Subject: [PATCH 2/3] Review comments Rename the argument, and move it close the motor gear ratio --- inventorhatmini/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inventorhatmini/__init__.py b/inventorhatmini/__init__.py index 9ee2a1d..c84f4ed 100644 --- a/inventorhatmini/__init__.py +++ b/inventorhatmini/__init__.py @@ -87,7 +87,7 @@ class InventorHATMini(): SHUNT_RESISTOR = 0.47 - def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, init_motors=True, init_servos=True, init_leds=True, start_muted=False, encoder_cpr=MMME_CPR): + def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, encoder_counts_per_rev=MMME_CPR, init_motors=True, init_servos=True, init_leds=True, start_muted=False): """ Initialise inventor hat mini's hardware functions """ self.address = address @@ -101,7 +101,7 @@ def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, init_motors=True, i # Setup amplifier enable. This mutes the audio by default GPIO.setup(self.PI_AMP_EN_PIN, GPIO.OUT, initial=GPIO.LOW if start_muted else GPIO.HIGH) - self.__cpr = encoder_cpr * motor_gear_ratio + self.__cpr = encoder_counts_per_rev * motor_gear_ratio self.__init_motors = init_motors self.__init_servos = init_servos self.reinit() From f563d0943434dfbdbc52203a97b365596f486b81 Mon Sep 17 00:00:00 2001 From: Danny Staple Date: Tue, 12 Dec 2023 22:34:45 +0000 Subject: [PATCH 3/3] Maybe that was a tad lengthy --- inventorhatmini/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inventorhatmini/__init__.py b/inventorhatmini/__init__.py index c84f4ed..90e338f 100644 --- a/inventorhatmini/__init__.py +++ b/inventorhatmini/__init__.py @@ -87,7 +87,7 @@ class InventorHATMini(): SHUNT_RESISTOR = 0.47 - def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, encoder_counts_per_rev=MMME_CPR, init_motors=True, init_servos=True, init_leds=True, start_muted=False): + def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, encoder_cpr=MMME_CPR, init_motors=True, init_servos=True, init_leds=True, start_muted=False): """ Initialise inventor hat mini's hardware functions """ self.address = address @@ -101,7 +101,7 @@ def __init__(self, address=IOE_ADDRESS, motor_gear_ratio=50, encoder_counts_per_ # Setup amplifier enable. This mutes the audio by default GPIO.setup(self.PI_AMP_EN_PIN, GPIO.OUT, initial=GPIO.LOW if start_muted else GPIO.HIGH) - self.__cpr = encoder_counts_per_rev * motor_gear_ratio + self.__cpr = motor_gear_ratio * encoder_cpr self.__init_motors = init_motors self.__init_servos = init_servos self.reinit()