def positions(self, encoders): Arm.encoders_within_limits(encoders) positions_bytes = positionCmd for ix in range(len(encoders)): ix_bytes = ix.to_bytes(1, byteorder='litte', signed=True) pos_bytes = encoders[ix].to_bytes(4, byteorder='little', signed=True) positions_bytes = positions_bytes + ix_bytes + pos_bytes self.send(positions_bytes) return self.receive()
def test_encoder_limits_ok(self): # validate this doesn't raise an exception Arm.encoders_within_limits([0, 0, 0, 0, 0, 0])
def test_encoder_limits_bad(self): self.assertRaises(ValueError, lambda: Arm.encoders_within_limits([1000000, 0, 0, 0, 0, 0]))