def METHOD_NAME(self, goal_motor_angles):
    """Sends bytes to the MCU with the header sequence attached. Angles in degrees."""
    with self._jx_ser._motor_lock:  # NOTE: possibly replace with acquire-release with timeout
        jx_goal_angles, gobilda_goal_angles = [
            np.array([(int(motor["id"]), angle) for (motor_name, motor), angle in goal_motor_angles if motor_name in js])
            for js in [JX_JOINTS, GOBILDA_JOINTS]
        ]
        flat_jx_goal_angles = [0] * int(np.amax(jx_goal_angles[:, 0]) + 1)
        for idx, v in jx_goal_angles:
            flat_jx_goal_angles[int(idx)] = constrain(int(v * ANGLE2JX_POT_VOLTS), 0, 0xFFF)
        jx_servo_util.uart_transact(self._jx_ser, flat_jx_goal_angles, CMDS.POSITION, RWS.WRITE, 0.01)
    with self._pwm_ser._motor_lock:  # NOTE: possibly replace with acquire-release with timeout
        GOBILDA_IDX_BASE = np.amin(gobilda_goal_angles[:, 0])
        flat_gobilda_goal_angles = [0x800] * int(np.amax(gobilda_goal_angles[:, 0]) - GOBILDA_IDX_BASE + 1)
        for idx, v in gobilda_goal_angles:
            flat_gobilda_goal_angles[int(idx - GOBILDA_IDX_BASE)] = constrain(int(v * ANGLE2GOBILDA_PWM), 0, 0xFFF)
            # print(int(v * ANGLE2GOBILDA_PWM), constrain(int(v * ANGLE2GOBILDA_PWM), 0, 0xFFF))
            pass
        # print(flat_gobilda_goal_angles)
        # flat_gobilda_goal_angles = [0x800] * int(np.amax(gobilda_goal_angles[:, 0]) - GOBILDA_IDX_BASE + 1)
        # gobilda_servo_util.uart_transact(self._pwm_ser, flat_gobilda_goal_angles)