- added dignostic vars

- make print_vars a method
This commit is contained in:
jens
2021-08-12 09:48:06 +02:00
parent a95f5195d1
commit ebd5d4cd5e
2 changed files with 33 additions and 22 deletions
+29 -19
View File
@@ -5,8 +5,8 @@ import enum
class Varid(enum.Enum): class Varid(enum.Enum):
STATUS = 0, STATUS = 0,
STATUS_ERROR_OCCURED = 1, STATUS_ERRORS_OCCURED = 1,
STATUS_SERIAL_ERROR_OCCURED = 2, STATUS_SERIAL_ERRORS_OCCURED = 2,
STATUS_LIMIT_STATUS = 3, STATUS_LIMIT_STATUS = 3,
STATUS_RESET_FLAGS = 127, STATUS_RESET_FLAGS = 127,
RC_RC1_UNLIMITED_RAW_VALUE = 4, RC_RC1_UNLIMITED_RAW_VALUE = 4,
@@ -25,19 +25,28 @@ class Varid(enum.Enum):
DIAGNOSTIC_SPEED = 21, DIAGNOSTIC_SPEED = 21,
DIAGNOSTIC_BRAKE_AMOUNT = 22, DIAGNOSTIC_BRAKE_AMOUNT = 22,
DIAGNOSTIC_INPUT_VOLTAGE = 23, DIAGNOSTIC_INPUT_VOLTAGE = 23,
DIAGNOSTIC_TEMPERATURE = 24, DIAGNOSTIC_TEMPERATURE_A = 24,
DIAGNOSTIC_TEMPERATURE_B = 25,
DIAGNOSTIC_RC_PERIOD = 26, DIAGNOSTIC_RC_PERIOD = 26,
DIAGNOSTIC_BAUDRATE_REGISTER = 27, DIAGNOSTIC_BAUDRATE_REGISTER = 27,
DIAGNOSTIC_SYSTEM_TIME_LOW = 28, DIAGNOSTIC_UP_TIME_LOW = 28,
DIAGNOSTIC_SYSTEM_TIME_HIGH = 29, DIAGNOSTIC_UP_TIME_HIGH = 29,
MOTOR_MAX_SPEED_FORWARD = 30, MOTOR_MAX_SPEED_FORWARD = 30,
MOTOR_MAX_ACCEL_FORWARD = 31, MOTOR_MAX_ACCEL_FORWARD = 31,
MOTOR_MAX_DECEL_FORWARD = 32, MOTOR_MAX_DECEL_FORWARD = 32,
MOTOR_BREAK_DURATION_FORWARD = 33, MOTOR_BREAK_DURATION_FORWARD = 33,
MOTOR_STARTING_SPEED_FORWARD = 34,
MOTOR_MAX_SPEED_REVERSE = 36, MOTOR_MAX_SPEED_REVERSE = 36,
MOTOR_MAX_ACCEL_REVERSE = 37, MOTOR_MAX_ACCEL_REVERSE = 37,
MOTOR_MAX_DECEL_REVERSE = 38, MOTOR_MAX_DECEL_REVERSE = 38,
MOTOR_BREAK_DURATION_REVERSE = 39 MOTOR_BREAK_DURATION_REVERSE = 39,
MOTOR_STARTING_SPEED_REVERSE = 40,
MOTOR_CURRENT_LIMIT = 41,
MOTOR_CURRENT_RAW = 42,
MOTOR_CURRENT_MA = 43,
MOTOR_CURRENT_LIMIT_CONSECUTIVE_COUNT = 44,
MOTOR_CURRENT_LIMIT_OCCURRENCE_COUNT = 45
class Pololu1376: class Pololu1376:
def __init__(self, serial_port): def __init__(self, serial_port):
@@ -99,19 +108,20 @@ class Pololu1376:
def get_variable(self, var): def get_variable(self, var):
return self.cmd("D" + str(var)) return self.cmd("D" + str(var))
def print_vars(self):
def print_vars(drv):
print ("-------------------------------------------") print ("-------------------------------------------")
print ("STATUS : {:04X}".format(int(drv.get_variable(Varid.STATUS.value[0])))) print ("STATUS : {:04X}".format(int(self.get_variable(Varid.STATUS.value[0]))))
print ("STATUS_ERROR_OCCURED : {:04X}".format(int(drv.get_variable(Varid.STATUS_SERIAL_ERROR_OCCURED.value[0])))) print ("STATUS_ERROR_OCCURED : {:04X}".format(int(self.get_variable(Varid.STATUS_SERIAL_ERRORS_OCCURED.value[0]))))
print ("STATUS_LIMIT_STATUS : {:04X}".format(int(drv.get_variable(Varid.STATUS_LIMIT_STATUS.value[0])))) print ("STATUS_LIMIT_STATUS : {:04X}".format(int(self.get_variable(Varid.STATUS_LIMIT_STATUS.value[0]))))
print ("RC_RC1_SCALED_VALUE : {:04X}".format(int(drv.get_variable(Varid.RC_RC1_SCALED_VALUE.value[0])))) print ("RC_RC1_SCALED_VALUE : {:04X}".format(int(self.get_variable(Varid.RC_RC1_SCALED_VALUE.value[0]))))
print ("RC_RC2_SCALED_VALUE : {:04X}".format(int(drv.get_variable(Varid.RC_RC2_SCALED_VALUE.value[0])))) print ("RC_RC2_SCALED_VALUE : {:04X}".format(int(self.get_variable(Varid.RC_RC2_SCALED_VALUE.value[0]))))
print ("ANALOG_AN1_SCALED_VALUE : {:04X}".format(int(drv.get_variable(Varid.ANALOG_AN1_SCALED_VALUE.value[0])))) print ("ANALOG_AN1_SCALED_VALUE : {:04X}".format(int(self.get_variable(Varid.ANALOG_AN1_SCALED_VALUE.value[0]))))
print ("ANALOG_AN2_SCALED_VALUE : {:04X}".format(int(drv.get_variable(Varid.ANALOG_AN2_SCALED_VALUE.value[0])))) print ("ANALOG_AN2_SCALED_VALUE : {:04X}".format(int(self.get_variable(Varid.ANALOG_AN2_SCALED_VALUE.value[0]))))
print ("DIAGNOSTIC_TARGET_SPEED : {:04X}".format(int(drv.get_variable(Varid.DIAGNOSTIC_TARGET_SPEED.value[0])))) print ("DIAGNOSTIC_TARGET_SPEED : {:04X}".format(int(self.get_variable(Varid.DIAGNOSTIC_TARGET_SPEED.value[0]))))
print ("DIAGNOSTIC_SPEED : {:04X}".format(int(drv.get_variable(Varid.DIAGNOSTIC_SPEED.value[0])))) print ("DIAGNOSTIC_SPEED : {:04X}".format(int(self.get_variable(Varid.DIAGNOSTIC_SPEED.value[0]))))
print ("DIAGNOSTIC_TEMPERATURE : {:04X}".format(int(drv.get_variable(Varid.DIAGNOSTIC_TEMPERATURE.value[0])))) print ("DIAGNOSTIC_TEMPERATURE_A : {:04X}".format(int(self.get_variable(Varid.DIAGNOSTIC_TEMPERATURE_A.value[0]))))
print ("DIAGNOSTIC_TEMPERATURE_B : {:04X}".format(int(self.get_variable(Varid.DIAGNOSTIC_TEMPERATURE_B.value[0]))))
print ("MOTOR_CURRENT_MA : {:04X}".format(int(self.get_variable(Varid.MOTOR_CURRENT_MA.value[0]))))
if __name__ == '__main__': if __name__ == '__main__':
@@ -125,7 +135,7 @@ if __name__ == '__main__':
print("Speed = {}".format(speed)) print("Speed = {}".format(speed))
drv.motor_forward(speed) drv.motor_forward(speed)
for n in range (0, 10, 1): for n in range (0, 10, 1):
print_vars(drv) drv.print_vars()
time.sleep(0.5) time.sleep(0.5)
drv.motor_brake(10) drv.motor_brake(10)
time.sleep(1) time.sleep(1)
+2 -1
View File
@@ -41,7 +41,8 @@ class StirrerPololu1376(AStirrer):
print("Set speed to {} %".format(speed)) print("Set speed to {} %".format(speed))
def _on_process(self): def _on_process(self):
print("STATUS = OK!") print("STATUS :")
self.drv.print_vars()
if __name__ == '__main__': if __name__ == '__main__':