- 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
+31 -21
View File
@@ -5,8 +5,8 @@ import enum
class Varid(enum.Enum):
STATUS = 0,
STATUS_ERROR_OCCURED = 1,
STATUS_SERIAL_ERROR_OCCURED = 2,
STATUS_ERRORS_OCCURED = 1,
STATUS_SERIAL_ERRORS_OCCURED = 2,
STATUS_LIMIT_STATUS = 3,
STATUS_RESET_FLAGS = 127,
RC_RC1_UNLIMITED_RAW_VALUE = 4,
@@ -25,20 +25,29 @@ class Varid(enum.Enum):
DIAGNOSTIC_SPEED = 21,
DIAGNOSTIC_BRAKE_AMOUNT = 22,
DIAGNOSTIC_INPUT_VOLTAGE = 23,
DIAGNOSTIC_TEMPERATURE = 24,
DIAGNOSTIC_TEMPERATURE_A = 24,
DIAGNOSTIC_TEMPERATURE_B = 25,
DIAGNOSTIC_RC_PERIOD = 26,
DIAGNOSTIC_BAUDRATE_REGISTER = 27,
DIAGNOSTIC_SYSTEM_TIME_LOW = 28,
DIAGNOSTIC_SYSTEM_TIME_HIGH = 29,
DIAGNOSTIC_UP_TIME_LOW = 28,
DIAGNOSTIC_UP_TIME_HIGH = 29,
MOTOR_MAX_SPEED_FORWARD = 30,
MOTOR_MAX_ACCEL_FORWARD = 31,
MOTOR_MAX_DECEL_FORWARD = 32,
MOTOR_BREAK_DURATION_FORWARD = 33,
MOTOR_STARTING_SPEED_FORWARD = 34,
MOTOR_MAX_SPEED_REVERSE = 36,
MOTOR_MAX_ACCEL_REVERSE = 37,
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:
def __init__(self, serial_port):
self.ser = serial_port
@@ -99,19 +108,20 @@ class Pololu1376:
def get_variable(self, var):
return self.cmd("D" + str(var))
def print_vars(drv):
print ("-------------------------------------------")
print ("STATUS : {:04X}".format(int(drv.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_LIMIT_STATUS : {:04X}".format(int(drv.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_RC2_SCALED_VALUE : {:04X}".format(int(drv.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_AN2_SCALED_VALUE : {:04X}".format(int(drv.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_SPEED : {:04X}".format(int(drv.get_variable(Varid.DIAGNOSTIC_SPEED.value[0]))))
print ("DIAGNOSTIC_TEMPERATURE : {:04X}".format(int(drv.get_variable(Varid.DIAGNOSTIC_TEMPERATURE.value[0]))))
def print_vars(self):
print ("-------------------------------------------")
print ("STATUS : {:04X}".format(int(self.get_variable(Varid.STATUS.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(self.get_variable(Varid.STATUS_LIMIT_STATUS.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(self.get_variable(Varid.RC_RC2_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(self.get_variable(Varid.ANALOG_AN2_SCALED_VALUE.value[0]))))
print ("DIAGNOSTIC_TARGET_SPEED : {:04X}".format(int(self.get_variable(Varid.DIAGNOSTIC_TARGET_SPEED.value[0]))))
print ("DIAGNOSTIC_SPEED : {:04X}".format(int(self.get_variable(Varid.DIAGNOSTIC_SPEED.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__':
@@ -125,7 +135,7 @@ if __name__ == '__main__':
print("Speed = {}".format(speed))
drv.motor_forward(speed)
for n in range (0, 10, 1):
print_vars(drv)
drv.print_vars()
time.sleep(0.5)
drv.motor_brake(10)
time.sleep(1)