RE ignores following errors on EpicsMotors

Instance of ignoring a legitimate following error was found at 2ID with a new EpicsMotor.  This was found to be reproducible by removing the motor's power source and forcing a following error.  Plans mv() and scan() showed this behavior.  (EPICS ...Mtr.RBV  VAL, MOVN, DMOV behave as expected).
Tested again at 23ID with a known working motor.  Initial test with mv() showed the same behavior.  Upon further investigation, RE.msg_hook = print some how allowed for the following error to be observed by RE.  Restarting bsui and not setting RE.msg_hook = print reproducibly ignored a forced following error, and the plan continued successfully.
Suggest further testing with DAMA at 2ID (if @bisogni  agrees) because the Mtr records are working appropriately and the RE actually stopped the default abs_set() from working (i.e., wait =  True).
In [5]: RE.msg_hook = print

In [6]:

In [6]:

In [6]:

Motor controller fully operational
In [6]: # Motor controller fully operational

In [7]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': 'a36216b8-d4e7-4c6e-85c8-c02cd9621666'}
wait: (None), (), {'group': 'a36216b8-d4e7-4c6e-85c8-c02cd9621666'}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': '394c722c-1f53-47b7-9a42-aa1ca9073753'}
wait: (None), (), {'group': '394c722c-1f53-47b7-9a42-aa1ca9073753'}
sleep: (None), (5,), {}
Out[7]: ()

In [8]: !caget XF:23ID1-ES{Dif-Ax:Del}Mtr.DMOV
XF:23ID1-ES{Dif-Ax:Del}Mtr.DMOV 1

In [9]: !caget XF:23ID1-ES{Dif-Ax:Del}Mtr.MOVN
XF:23ID1-ES{Dif-Ax:Del}Mtr.MOVN 0

In [10]: !caget XF:23ID1-ES{Dif-Ax:Del}Mtr.STOP
XF:23ID1-ES{Dif-Ax:Del}Mtr.STOP 0

In [11]:

In [11]:

In [11]:

In [11]:

In [11]:

In [11]:

In [11]:

Motor controller fully operational
In [11]: RE.msg_hook = print

In [12]: # Motor controller fully operational

In [13]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': '5145adcd-1dcc-4517-b469-86b2fecf70c4'}
wait: (None), (), {'group': '5145adcd-1dcc-4517-b469-86b2fecf70c4'}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': '106aeff7-6d22-48aa-8982-1e34a3fccf36'}
wait: (None), (), {'group': '106aeff7-6d22-48aa-8982-1e34a3fccf36'}
sleep: (None), (5,), {}
Out[13]: ()

In [14]:  RE(pchain(abs_set(theta,.5),bp.sleep(5),abs_set(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': None}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': None}
sleep: (None), (5,), {}
Out[14]: ()

Motor controller no current supplied to motors - force following error
In [15]: # Motor controller no current supplied to motors - force following error

In [16]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': 'cc7657b3-67d4-469c-8016-4295fc603e28'}
wait: (None), (), {'group': 'cc7657b3-67d4-469c-8016-4295fc603e28'}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': '2a907a83-b440-4336-a44d-96600a1457cc'}
wait: (None), (), {'group': '2a907a83-b440-4336-a44d-96600a1457cc'}
---------------------------------------------------------------------------
FailedStatus                              Traceback (most recent call last)
<ipython-input-16-20895d0b5527> in <module>()
----> 1 RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    644                     # it (unless it is a canceled error)
    645                     if exc is not None:
--> 646                         raise exc
    647
    648             if raise_if_interrupted and self._interrupted:

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
   1084             self.log.error("Run aborted")
   1085             self.log.error("%r", err)
-> 1086             raise err
   1087         finally:
   1088             # Some done_callbacks may still be alive in other threads.

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
    961                         try:
    962                             msg = self._plan_stack[-1].throw(
--> 963                                 self._exception)
    964                         except Exception as e:
    965                             # The current plan did not handle it,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in __call__(self, plan)
   3338         plan = monitor_during_wrapper(plan, self.monitors)
   3339         plan = fly_during_wrapper(plan, self.flyers)
-> 3340         return (yield from plan)
   3341
   3342

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in fly_during_wrapper(plan, flyers)
   1482     plan1 = plan_mutator(plan, insert_after_open)
   1483     plan2 = plan_mutator(plan1, insert_before_close)
-> 1484     return (yield from plan2)
   1485
   1486

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in monitor_during_wrapper(plan, signals)
   1424     plan1 = plan_mutator(plan, insert_after_open)
   1425     plan2 = plan_mutator(plan1, insert_before_close)
-> 1426     return (yield from plan2)
   1427
   1428

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in baseline_wrapper(plan, devices, name)
   1763         return (yield from plan)
   1764     else:
-> 1765         return (yield from plan_mutator(plan, insert_baseline))
   1766
   1767

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in pchain(*args)
    260     rets = deque()
    261     for p in args:
--> 262         rets.append((yield from p))
    263     return tuple(rets)
    264

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in mv(*args)
    466         ret = yield Msg('set', obj, val, group=group)
    467         status_objects.append(ret)
--> 468     yield Msg('wait', None, group=group)
    469     return tuple(status_objects)
    470

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

FailedStatus: MoveStatus(done=True, pos=theta, elapsed=4.0, success=False, settle_time=0.0)

In [17]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': '45bb500f-bd7d-4e30-8017-553df1de3800'}
wait: (None), (), {'group': '45bb500f-bd7d-4e30-8017-553df1de3800'}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': '1c26079f-7cce-4b81-939b-7c0528742833'}
wait: (None), (), {'group': '1c26079f-7cce-4b81-939b-7c0528742833'}
---------------------------------------------------------------------------
FailedStatus                              Traceback (most recent call last)
<ipython-input-17-20895d0b5527> in <module>()
----> 1 RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    644                     # it (unless it is a canceled error)
    645                     if exc is not None:
--> 646                         raise exc
    647
    648             if raise_if_interrupted and self._interrupted:

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
   1084             self.log.error("Run aborted")
   1085             self.log.error("%r", err)
-> 1086             raise err
   1087         finally:
   1088             # Some done_callbacks may still be alive in other threads.

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
    961                         try:
    962                             msg = self._plan_stack[-1].throw(
--> 963                                 self._exception)
    964                         except Exception as e:
    965                             # The current plan did not handle it,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in __call__(self, plan)
   3338         plan = monitor_during_wrapper(plan, self.monitors)
   3339         plan = fly_during_wrapper(plan, self.flyers)
-> 3340         return (yield from plan)
   3341
   3342

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in fly_during_wrapper(plan, flyers)
   1482     plan1 = plan_mutator(plan, insert_after_open)
   1483     plan2 = plan_mutator(plan1, insert_before_close)
-> 1484     return (yield from plan2)
   1485
   1486

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in monitor_during_wrapper(plan, signals)
   1424     plan1 = plan_mutator(plan, insert_after_open)
   1425     plan2 = plan_mutator(plan1, insert_before_close)
-> 1426     return (yield from plan2)
   1427
   1428

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in baseline_wrapper(plan, devices, name)
   1763         return (yield from plan)
   1764     else:
-> 1765         return (yield from plan_mutator(plan, insert_baseline))
   1766
   1767

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in pchain(*args)
    260     rets = deque()
    261     for p in args:
--> 262         rets.append((yield from p))
    263     return tuple(rets)
    264

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in mv(*args)
    466         ret = yield Msg('set', obj, val, group=group)
    467         status_objects.append(ret)
--> 468     yield Msg('wait', None, group=group)
    469     return tuple(status_objects)
    470

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

FailedStatus: MoveStatus(done=True, pos=theta, elapsed=4.1, success=False, settle_time=0.0)

Motor controller fully operational
In [18]: # Motor controller fully operational

In [19]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': '4cfd376c-b7d8-4b02-a939-c7e784ef8a73'}
wait: (None), (), {'group': '4cfd376c-b7d8-4b02-a939-c7e784ef8a73'}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': 'b2a0b8af-cfa1-4663-b06a-430f515f4daf'}
wait: (None), (), {'group': 'b2a0b8af-cfa1-4663-b06a-430f515f4daf'}
sleep: (None), (5,), {}
Out[19]: ()

Motor controller no current supplied to motors - force following error
In [20]: # Motor controller no current supplied to motors - force following error

In [21]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': 'fa9f87ed-3aad-4d0c-a3f7-235056265d95'}
wait: (None), (), {'group': 'fa9f87ed-3aad-4d0c-a3f7-235056265d95'}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': 'a1792bcd-8307-4dd9-a20d-2b6810203cf5'}
wait: (None), (), {'group': 'a1792bcd-8307-4dd9-a20d-2b6810203cf5'}
---------------------------------------------------------------------------
FailedStatus                              Traceback (most recent call last)
<ipython-input-21-20895d0b5527> in <module>()
----> 1 RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    644                     # it (unless it is a canceled error)
    645                     if exc is not None:
--> 646                         raise exc
    647
    648             if raise_if_interrupted and self._interrupted:

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
   1084             self.log.error("Run aborted")
   1085             self.log.error("%r", err)
-> 1086             raise err
   1087         finally:
   1088             # Some done_callbacks may still be alive in other threads.

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
    961                         try:
    962                             msg = self._plan_stack[-1].throw(
--> 963                                 self._exception)
    964                         except Exception as e:
    965                             # The current plan did not handle it,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in __call__(self, plan)
   3338         plan = monitor_during_wrapper(plan, self.monitors)
   3339         plan = fly_during_wrapper(plan, self.flyers)
-> 3340         return (yield from plan)
   3341
   3342

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in fly_during_wrapper(plan, flyers)
   1482     plan1 = plan_mutator(plan, insert_after_open)
   1483     plan2 = plan_mutator(plan1, insert_before_close)
-> 1484     return (yield from plan2)
   1485
   1486

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in monitor_during_wrapper(plan, signals)
   1424     plan1 = plan_mutator(plan, insert_after_open)
   1425     plan2 = plan_mutator(plan1, insert_before_close)
-> 1426     return (yield from plan2)
   1427
   1428

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in baseline_wrapper(plan, devices, name)
   1763         return (yield from plan)
   1764     else:
-> 1765         return (yield from plan_mutator(plan, insert_baseline))
   1766
   1767

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in pchain(*args)
    260     rets = deque()
    261     for p in args:
--> 262         rets.append((yield from p))
    263     return tuple(rets)
    264

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in mv(*args)
    466         ret = yield Msg('set', obj, val, group=group)
    467         status_objects.append(ret)
--> 468     yield Msg('wait', None, group=group)
    469     return tuple(status_objects)
    470

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

FailedStatus: MoveStatus(done=True, pos=theta, elapsed=4.1, success=False, settle_time=0.0)

In [22]:

In [22]:

In [22]:

In [22]:
Do you really want to exit ([y]/n)? y
[xf23id1@xf23id-ws3 ~/Beamline/BDT/2017_09_22]$ bsui
Activating auto-logging. Current session state plus future input saved.
Filename       : /epics/xf/23id/ophyd/logs/xf23id1_log.py
Mode           : append
Output logging : False
Raw input log  : False
Timestamping   : False
State          : active
Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 13:51:32)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.

IPython profile: collection
Using matplotlib backend: Qt5Agg
Loading metadata history from /home/xf23id1/.config/bluesky/bluesky_history.db

Enabling ring current suspender with 200 mA threshold and 120 s recovery time

Enabling FE shutter suspender with 15*60 s recovery time

Preparing CSX1 Photon Shutter 1 suspender with 3*60 s recovery time
	RE.install_suspender(ps1_shut_suspender) to enable.

In [1]:

In [1]:

Motor controller fully operational
In [1]: # Motor controller fully operational

In [2]: # restart bsui

In [3]: RE.msg_hook = print

In [4]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': '2ecd643f-f21f-4ea2-8347-766a0d512c4e'}
wait: (None), (), {'group': '2ecd643f-f21f-4ea2-8347-766a0d512c4e'}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': '5b8eaed5-7276-4ab0-bb53-c2eb517622ec'}
wait: (None), (), {'group': '5b8eaed5-7276-4ab0-bb53-c2eb517622ec'}
sleep: (None), (5,), {}
Out[4]: ()

Motor controller no current supplied to motors - force following error
In [5]: # Motor controller no current supplied to motors - force following error

In [6]:

In [6]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0.5,), {'group': '8ab12e3f-90be-4d22-8b03-317f9ae22165'}
wait: (None), (), {'group': '8ab12e3f-90be-4d22-8b03-317f9ae22165'}
sleep: (None), (5,), {}
set: (data keys (* hints)
-------------------
*theta
 theta_user_setpoint

read attrs
----------
user_readback        EpicsSignalRO       ('theta')
user_setpoint        EpicsSignal         ('theta_user_setpoint')

config keys
-----------
theta_acceleration
theta_motor_egu
theta_user_offset
theta_user_offset_dir
theta_velocity

configuration attrs
----------
motor_egu            EpicsSignal         ('theta_motor_egu')
velocity             EpicsSignal         ('theta_velocity')
acceleration         EpicsSignal         ('theta_acceleration')
user_offset          EpicsSignal         ('theta_user_offset')
user_offset_dir      EpicsSignal         ('theta_user_offset_dir')

Unused attrs
------------
offset_freeze_switch EpicsSignal         ('theta_offset_freeze_switch')
set_use_switch       EpicsSignal         ('theta_set_use_switch')
motor_is_moving      EpicsSignalRO       ('theta_motor_is_moving')
motor_done_move      EpicsSignalRO       ('theta_motor_done_move')
high_limit_switch    EpicsSignal         ('theta_high_limit_switch')
low_limit_switch     EpicsSignal         ('theta_low_limit_switch')
direction_of_travel  EpicsSignal         ('theta_direction_of_travel')
motor_stop           EpicsSignal         ('theta_motor_stop')
home_forward         EpicsSignal         ('theta_home_forward')
home_reverse         EpicsSignal         ('theta_home_reverse')), (0,), {'group': '6cec40fa-4c40-41c4-afc1-52ffb4fb6a84'}
wait: (None), (), {'group': '6cec40fa-4c40-41c4-afc1-52ffb4fb6a84'}
---------------------------------------------------------------------------
FailedStatus                              Traceback (most recent call last)
<ipython-input-6-20895d0b5527> in <module>()
----> 1 RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in __call__(self, plan, subs, raise_if_interrupted, **metadata_kw)
    644                     # it (unless it is a canceled error)
    645                     if exc is not None:
--> 646                         raise exc
    647
    648             if raise_if_interrupted and self._interrupted:

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
   1084             self.log.error("Run aborted")
   1085             self.log.error("%r", err)
-> 1086             raise err
   1087         finally:
   1088             # Some done_callbacks may still be alive in other threads.

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/run_engine.py in _run(self)
    961                         try:
    962                             msg = self._plan_stack[-1].throw(
--> 963                                 self._exception)
    964                         except Exception as e:
    965                             # The current plan did not handle it,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in __call__(self, plan)
   3338         plan = monitor_during_wrapper(plan, self.monitors)
   3339         plan = fly_during_wrapper(plan, self.flyers)
-> 3340         return (yield from plan)
   3341
   3342

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in fly_during_wrapper(plan, flyers)
   1482     plan1 = plan_mutator(plan, insert_after_open)
   1483     plan2 = plan_mutator(plan1, insert_before_close)
-> 1484     return (yield from plan2)
   1485
   1486

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in monitor_during_wrapper(plan, signals)
   1424     plan1 = plan_mutator(plan, insert_after_open)
   1425     plan2 = plan_mutator(plan1, insert_before_close)
-> 1426     return (yield from plan2)
   1427
   1428

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in baseline_wrapper(plan, devices, name)
   1763         return (yield from plan)
   1764     else:
-> 1765         return (yield from plan_mutator(plan, insert_baseline))
   1766
   1767

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
     99             # if we have a stashed exception, pass it along
    100             try:
--> 101                 msg = plan_stack[-1].throw(exception)
    102             except Exception as e:
    103                 # if we catch an exception,

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in pchain(*args)
    260     rets = deque()
    261     for p in args:
--> 262         rets.append((yield from p))
    263     return tuple(rets)
    264

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in mv(*args)
    466         ret = yield Msg('set', obj, val, group=group)
    467         status_objects.append(ret)
--> 468     yield Msg('wait', None, group=group)
    469     return tuple(status_objects)
    470

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.  We must clean up all of our plans

~/conda_envs/dev/lib/python3.6/site-packages/bluesky/plans.py in plan_mutator(plan, msg_proc)
    187         try:
    188             # yield out the 'current message' and collect the return
--> 189             inner_ret = yield msg
    190         except GeneratorExit:
    191             # special case GeneratorExit.   Current session state plus future input saved.
Filename       : /epics/xf/23id/ophyd/logs/xf23id1_log.py
Mode           : append
Output logging : False
Raw input log  : False
Timestamping   : False
State          : active
Python 3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 13:51:32)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.

IPython profile: collection
Using matplotlib backend: Qt5Agg
Loading metadata history from /home/xf23id1/.config/bluesky/bluesky_history.db

Enabling ring current suspender with 200 mA threshold and 120 s recovery time

Enabling FE shutter suspender with 15*60 s recovery time

Preparing CSX1 Photon Shutter 1 suspender with 3*60 s recovery time
	RE.install_suspender(ps1_shut_suspender) to enable.

In [1]: # restart bsui

Motor controller fully operational
In [2]: # Motor controller fully operational

In [3]: # No msg_hook

In [4]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
Out[4]: ()

Motor controller no current supplied to motors - force following error
In [5]: # Motor controller no current supplied to motors - force following error

In [6]:  RE(pchain(mv(theta,.5),bp.sleep(5),mv(theta,0),bp.sleep(5)))
Out[6]: ()

# should have generated errors above.  the following error is also somehow reset (per CSS readback - red box turns green)

This probably requires a beamline visit to sort out what is going on.
My knee-jerk guess is that we are only watching for edges in alarms or there is something weird with the sequencing when the motor controller is off.

Thanks for the reply.  Just to be clear, the motor controller was on. The amplifier power to the motor coil was disabled.
The reason for doing this was because 2ID was getting a following error on a motor every 2 or 3 steps but the run engine kept going. We needed a reliable way to reproduce the issue. The control engineer adjusted the motor parameters so now there are no more following errors.

@stuartcampbell can we get some help testing this at SIX next week.  Preferably during one of the maintenance or studies days?  I've also filed a trac ticket.

@danielballan here is the issue for the planned tests

The problem is between ophyd and the IOC and should not require any changes to bluesky. Continued at https://github.com/NSLS-II/ophyd/issues/449


no-internal-module flagged for class keywords

Bug Report

TSLint version: 5.9.1
TypeScript version: 2.8.3
Running TSLint via: tslint-language-service 0.9.9 via VSCode extension TSLint (vnext) 0.0.4

TypeScript code being linted
class ClassName { // no-internal-module
}

export default class SomeOtherClass { // no-internal-module
}

with tslint.json configuration:
{
  "extends": ["tslint-config-standard"],
  "linterOptions": {
    "exclude": [
      "config/**/*.js",
      "node_modules/**/*.ts"
    ]
  }
}

Actual behavior
Any usage of class is getting a tslint warning for no-internal-module.
Expected behavior
No tslint error/warning for class keyword usage.

@WorldMaker I cannot reproduce this in 5.11. can you?

I haven't seen it in a while. I'm wondering if it might have been a confused combination of VS Code plugin version, tslint version, and TS version.


Add jtreg doc link in openjdk/README.md

It would be helpful if we provide jtreg doc https://openjdk.org/jtreg/command-help.html for some advanced users in openjdk/README.md. After https://github.com/adoptium/aqa-tests/blob/master/openjdk/README.md?plain=1#L17

@llxia Can you please assign this to me? Thanks.

The change is delivered via https://github.com/adoptium/aqa-tests/pull/4036


Project level datasets doesn't have a button to save a paper

Project level datasets gives you a way to add papers but there is no apparent way to save the added paper.

After some investigation this issue also applies to adding authors as well

There is now a popup to add a paper. The way it worked before was very confusing.


Unable to load course, spinning endlessly on hawthrone instance

Hi edx team,
We're facing an issue in loading a content block. The video seems fine, but not HTML content block, it shows spinning wheel endlessly.
There might be a problem with oauth2/login, or maybe there's something missing on configuration. Previously the app can't login, but we handled it by adding WSGIPassAuthorization On into httpd.conf
And now we're facing spinning wheel on HTML content.

The video runs perfectly.

We're trying to find the solution but can't find it. Please help :(

I found the solution, check this out https://community.bitnami.com/t/unable-to-load-course-openedx-ios-spinning-endlessly-on-viewing-html-block/66694/4


Raster fields require backends with raster support

Hi i faced with problem of installation and using(i installed all dependencies)
after executing
python3 manage.py migrate
i receive error
django.core.exceptions.ImproperlyConfigured: Raster fields require backends with raster support.
can somebody help me?

Django-raster only supports postgis as the DB backend. Are you using postgis?

Yes, i installed postgis before migrate

Please confirm that you have specified 'django.contrib.gis.db.backends.postgis' as your db engine in the settings.
https://docs.djangoproject.com/en/2.2/ref/contrib/gis/tutorial/#configure-settings-py

Closed due to inactivity. Please re-open if still relevant.


Remove unused test decorators

This PR removes legacy unused test decorators: testing.gpu and testing.cudnn.

The first largest commit is done by:
perl -pi -e<EMAIL_ADDRESS>$(git grep -l testing.gpu)

/test mini

00:16:21.059209 STDOUT 1309] | ==================================== ERRORS ==================================== |
-- | -- | --
00:16:21.059213 STDOUT 1309] | ______________ ERROR collecting tests/install_tests/test_build.py ______________ |
00:16:21.059241 STDOUT 1309] | 'gpu' not found in `markers` configuration option |
00:16:21.059247 STDOUT 1309] | =========================== short test summary info ============================ |
00:16:21.059252 STDOUT 1309] | ERROR install_tests/test_build.py |
00:16:21.059306 STDOUT 1309] | !!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!! |
00:16:21.059309 STDOUT 1309] | ====================== 1040 deselected, 1 error in 26.62s ======================

[00:16:21.059209 STDOUT 1309]](https://ci.preferred.jp/cupy.linux.cuda102/125967/#L3600)	==================================== ERRORS ====================================
[00:16:21.059213 STDOUT 1309]](https://ci.preferred.jp/cupy.linux.cuda102/125967/#L3601)	______________ ERROR collecting tests/install_tests/test_build.py ______________
[00:16:21.059241 STDOUT 1309]](https://ci.preferred.jp/cupy.linux.cuda102/125967/#L3602)	'gpu' not found in `markers` configuration option
[00:16:21.059247 STDOUT 1309]](https://ci.preferred.jp/cupy.linux.cuda102/125967/#L3603)	=========================== short test summary info ============================
[00:16:21.059252 STDOUT 1309]](https://ci.preferred.jp/cupy.linux.cuda102/125967/#L3604)	ERROR install_tests/test_build.py
[00:16:21.059306 STDOUT 1309]](https://ci.preferred.jp/cupy.linux.cuda102/125967/#L3605)	!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
[00:16:21.059309 STDOUT 1309]](https://ci.preferred.jp/cupy.linux.cuda102/125967/#L3606)	====================== 1040 deselected, 1 error in 26.62s ======================

/test mini

/test mini

@emcastillo Failed to backport automatically.

Not cleanly cherry-picked

@emcastillo This pull-request is marked as to-be-backported, but the corresponding backport PR could not be found. Could you check?


Change R (row), with C (column) in alias

Hi!
Could you explain why this is needed? By default, the elements m[(i, j)] and m[(i, j + 1)] should be separated by R (the number of rows) components for a column-major matrix.


Organize tests

This is already merged, but now we have different indentations in the .travis.yml file so that should probably be fixed.

Yeah, sorry about that. I did also notice, and #294 has a correction as part of other edits.


[WIP] Add gotty

This is my first go package. Can someone review please?
Also: This builds fine, but I do not get an executable out of the build process. Do I have to tweak things somewhere?

You're missing a
    postInstall = ''
      mkdir $out/bin
      cp go/bin/gotty $out/bin/gotty
    '';

In your gotty expression. You might want to recheck the others as well.

Okay, it builds for me now, I can start it, but only with the storage path. The last output of the build process is this:
patching script interpreter paths in /nix/store/z0180xxhqyw82dlwiy79mzk514j3fdv6-go1.5-gotty-v0.0.10-bin
output ‘/nix/store/apwnn7vvcr4jb28y49sbji9xnlrqg81m-go1.5-gotty-v0.0.10’ is not allowed to refer to path ‘/nix/store/f8wvc00zgjlgrsh6wj7v1nbjp6vr7k25-go-1.5.1’
error: build of ‘/nix/store/sdmg98lqfhdfqsa8gl9d9inxfh92plji-go1.5-gotty-v0.0.10.drv’ failed

That's wierd, someone with more intimate knowledge about the go builder will have to look at that. Perhaps @lethalman ?

@edwtjo @lethalman The binary ${gotty}/bin/gotty refers to /nix/store/f8wvc00zgjlgrsh6wj7v1nbjp6vr7k25-go-1.5.1 which is obviousely wrong. I don't know how to change the build to fix this, though.

Merged with 09895a3f7111affc4d1b9cf2469e8c2fbee96085 98b3626bf203a6e8867ce498105056722f194ed0 700c3c93fb26a60b3a11082323cb399212076a78

The issue was that I cp'd the binary and the solution was to ln it? Can you explain?

It seemed that my initial suggestion to use cp wasn't very good, I just assumed that the go subdirectory was in a temporary build dir when in fact it was already in the store. This has probably something to do with the go builder which probably populates some sort of environment for building, I still haven't read up. In any case, none of that really matters since gotty was already in a safe store path, i.e. just linking it in bin presents the executable to the profile.


Range separators [ch3118]

Story Details: https://app.clubhouse.io/levels/story/3118/improve-data-pending-states-on-dashboard
Show both lines in the given points and display a text in the middle. Text, lines color and height can be changed through parameters. Also added support for bottom lines and icon.
A usage example was also created.
** This reverts from version 3.5.0 to version 3.4.0 of the original lib to avoid performance issues

Closing in favor of https://github.com/levelshealth/Charts/pull/1


CUSTOMIZE DEFAULT WEB CHAT

Can i customize the default web chat like its color and also can i add some more controls inside it..??

Hi @sayyednazeer, Some basic customization of the IFRAME-embedded control is on our feature roadmap, but not yet available.
In order to customize WebChat: You must serve the control from your own site so that you have full reign to modify the CSS to your liking. This page covers the different hosting scenarios, including the topic of serving the WebChat control from your own site.
In order to add more controls to WebChat: You'll need to fork or clone the project's GitHub repo, make the necessary source code changes, and serve the control from your own site as in the previous paragraph.

Thanks for the information @eanders-MS


Russian translation - [closed]

In GitLab by @crownberry on Jan 11, 2022, 07:03
Merges ru-translation -> beta
Translation for the Russian language.

In GitLab by @Asacolips on Jan 11, 2022, 07:49
approved this merge request

In GitLab by @Asacolips on Feb 15, 2022, 13:05
requested review from @Asacolips

In GitLab by @Asacolips on Jul 12, 2022, 09:12
Wanted to quickly chime in on this one. I'm hoping to release version 0.5.0 of the system this week, and I'll try to include this one in it if I can test it before then.

In GitLab by @Asacolips on Nov 11, 2022, 14:21
I did some digging, and it looks like there's already a Russian translation as part of the overall Russian translation module. I would recommend submitting changes there if needed. Closing this MR in favor of that module: https://github.com/phenomen/foundry-vtt-ru/blob/master/i18n/systems/pbta.json


JS: 'In' mLang: Adapt arg2 for IN(enum, [enumValue1, enumValue1]) case

ping @kgrgreer

@mdittmer I re-wrote the IN expression a few days ago to use foam.util.compare(), does this fix your issue without this PR?

@adamvy ack. I'll give it a try.

https://github.com/foam-framework/foam2/commit/e5c20561ef92b58b9d52ec8c993800 does indeed fix this. Thanks @adamvy !


Add BetterTouchTool extension

Description
This extension allows running actions in BetterTouchTool via the Scripting Interface. There are currently two commands, one for running predefined actions and the other for running so-called named triggers. These act as reusable functions, much like script commands in Raycast, but they can be assigned to any kind of shortcut or gesture, which makes them incredibly powerful. The command lists all available named triggers by using a new scripting API, created upon request to support this use case, so it can currently only be tested with the latest alpha-build of the application.
Screencast

Searching for and running an action (in this case to open the clipboard-manager bundled with BTT)
https://user-images.githubusercontent.com/3686989/219920786-2467cdd5-6a4d-4119-b68f-095f4d275012.mov
Here I created an example trigger that call the Show HUD Overlay action with a custom text:
https://user-images.githubusercontent.com/3686989/219922528-7c8dff84-228b-4d97-a671-1fc886bd4f84.mov
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Update: a stable version has been released, so this extension can be used/tested with the regular version of BTT,  starting at v4.034

I think I messed something up badly with my commit, might have to retry with a new pull request...

It seems like 😊 Could you make a new PR with the changes?


[Compat/Bug] Some .remove don't work

Issue Description:
I try to remove oreDict from Harvestcraft, but it's still registered/show in JEI
What happens:
<ore:cropPumpkin>.remove(<minecraft:pumpkin>); don't log, and is still usable in crafting/JEI
What you expected to happen:
<ore:cropPumpkin>.remove(<minecraft:pumpkin>); to log and remove recipe from crafting/JEI
Script used (Please Pastebin or gist your script, posting an unpasted or ungist'd script will automatically close this issue):
https://pastebin.com/jWzg3Esq (relevant lines: 242-245)
Minetweaker.log file (Please Pastebin or gist your file, posting an unpasted or ungist'd file will automatically close this issue):
https://pastebin.com/LmJiDqDb (relevant line: 270)

Affected Versions (Do not use "latest"):

Minecraft: 1.12.2
Forge: 2582
Crafttweaker: 4.0.12

Your most recent log file where the issue was present:
https://www.dropbox.com/sh/w6qfzbte9khkdbl/AAB1c5Xu3MBXEF9UzJJ_VIzJa?dl=0

Harvest craft registers their ores too late.


Added Chrome Extension for Repository Size

🛠 Fixes Issue
Fixes #290
👨💻 Changes proposed
A Chrome extension that would show the individual file sizes and the total repository Github Size as well
🔧 Check List (Check the type of issue it fixes)

[ ] Bug Fix
[x] New Extension
[ ] Enhancement
[ ] Documentation

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📷 Screenshots

@harshita214 Kindly Review this PR.

Since this adds Utility to the Github Repositories and eases the work of developers, I request you to add Level3 label for this contribution.
Thank you @harshita214 !


extension-editing extension is slow to startup

open e.g. a folder and leave a .ts file opened
run ./scripts/code.sh --performance
F1 > Developer: Startup Performance

Cool. It does use jsonc-parser and vscode-nls unsure if its them...

It takes ~450ms to load TypeScript, the rest is spent for extensionLinter.ts which loads a markdown and xml parser

@jrieken Should I just defer the module loading until I actually need the parsers?

Yeah, that's what I did. With the new TS supports it's easy to do

Nice !


RFC: Mock subtype

With the upcoming version of React, and the new getDerivedStateFromProps method, new restrictions have been added to the way components should behave in React (more info on #6000, in which I based my commit).
@flarnie introduced a test case where two warnings get triggered when automocking a component, which is not nice.
This PR adds a specific subtype concept to the metadata used to build the mock, and uses its react.component value when duck typing by the new static methods. It adds a default implementation that does this.state = {}, and mocks the default value of gDSFP to null.
I'm not fully happy with the PR, but TBH it looks like a trade-off between introducing a system to fully configure mocks after creating them and letting all React tests pseudo-break.

I'm quite heavily against this magic change to Jest's mocking package. We do not generally add framework version specific code to Jest to make things easier. I would much rather prefer a hack similar to what React has already been doing in the past to support automocking better (Example: https://twitter.com/dan_abramov/status/980510354810732544 ).

Makes sense. Abandoning then!


VSCode throws error when running PSGraph in the integrated terminal

graph g {
    edge a b
} | Export-PSgraph -ShowGraph

Export-PSgraph : Program 'dot.exe' failed to run: The method or operation is not implemented

I am only seeing this in the integrated terminal. But this looks like many native commands generate this error too.
.\dot.exe -?
.\robocopy.exe -?

I found this thread on the issue with VSCode: https://github.com/PowerShell/vscode-powershell/issues/972

This should be resolved with https://github.com/PowerShell/PowerShellEditorServices/issues/396
The primary cause of this is running a transcript in the integrated console. Double check your profile and or company group policy that could be enabling transcription.


SliverAppBar with actions navigates in an unexpected order when using VoiceOver

b/166068876
There is a similar b/162037818 which works as expected after fixing. I observe that when we add actions for the SliverAppBar which are on the right side of the title, the traversal order is unexpected.
(See internal bug for a video link that shows a demo)
Expected results:
Swiping to right (0-8s).
Navigation order: title -> Button -> Expanded title -> Text 0 to 3
Swiping to left (9-20s).
Navigation order: Text 3 to 0 -> Expanded title -> Button -> title
Actual results:
Swiping to right (0-8s).
Navigation order: title -> Expanded title -> Text 0 to 3
(The same as expected result.)
Swiping to left (9-20s).
Navigation order: Text 3 to 0 -> Button -> Expanded title -> Button -> title
(Should not navigate to Button before Expanded title.)
import 'package:flutter/material.dart';

void main() {
  runApp(Demo());
}

class Demo extends StatelessWidget {
    @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: CustomScrollView(
          slivers: [
            SliverAppBar(
              pinned: true,
              expandedHeight: 200,
              title: const Text('Title'),
              actions: [IconButton(icon: Icon(Icons.more_horiz))],
              flexibleSpace: FlexibleSpaceBar(
                background: Padding(
                  padding: EdgeInsets.only(top: 100),
                  child: Semantics(
                    header: true,
                    child: const Text('Expanded title'),
                  ),
                ),
              ),
            ),
            SliverList(
              delegate: SliverChildListDelegate(
                [
                  for (var i = 0; i < 50; i++)
                    Container(
                      height: 200,
                      child: Center(child: Text('Text $i')),
                    ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

@chunhtai FYI

code sample
import 'package:flutter/material.dart';

void main() {
  runApp(Demo());
}

class Demo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: CustomScrollView(
          slivers: [
            SliverAppBar(
              pinned: true,
              expandedHeight: 200,
              title: const Text('Title'),
              actions: [IconButton(icon: Icon(Icons.more_horiz))],
              flexibleSpace: FlexibleSpaceBar(
                background: Padding(
                  padding: EdgeInsets.only(top: 100),
                  child: Semantics(
                    header: true,
                    child: const Text('Expanded title'),
                  ),
                ),
              ),
            ),
            SliverList(
              delegate: SliverChildListDelegate(
                [
                  for (var i = 0; i < 50; i++)
                    Container(
                      height: 200,
                      child: Center(child: Text('Text $i')),
                    ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 1.22.0-2.0.pre.140, on Mac OS X 10.15.6 19G2021, locale en-GB)
    • Flutter version 1.22.0-2.0.pre.140 at /Users/tahatesser/Code/flutter_master
    • Framework revision 6d1242dd4b (8 hours ago), 2020-08-31 03:53:04 -0400
    • Engine revision 784e6d746e
    • Dart version 2.10.0 (build 2.10.0-76.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7547
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.48.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.13.2

[✓] Connected device (4 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 10 (API 29)
    • macOS (desktop)  • macos            • darwin-x64     • Mac OS X 10.15.6 19G2021
    • Web Server (web) • web-server       • web-javascript • Flutter Tools
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 84.0.4147.135

• No issues found!

CC @chunhtai

This is because the rect is consider to be above the button after it is collapsed. I am trying to come up with a fix
I also discover a regression that the collapsed header will not get expended when focused. I imagine this will be a blocker for our customer https://github.com/flutter/flutter/issues/64973.


chore(ci): remove deprecated actions-rs actions

Here's why I chose actions-rust-lang/setup-rust-toolchain:

automatically setup Swatinem/rust-cache@v2.
respects rust-toolchain file in case we add it in the future
it has a problem matcher
it has the toolchain field, which decouples the version of the action from the rust toolchain version. I.e. I think action/action@stable isn't great, because you can't pin the action commit.

I got an error from CI.
I can reproduce with cargo +1.80.0 install<EMAIL_ADDRESS>--no-default-features --features native-tls,postgres --force
but I can't with rust 1.82.0 so I think the previous action wasn't working properly.

Another failure not detected (unused functions). I don't want to know what the old action was doing 🙈


[Bug-8790][Api]fix Duplicate key TaskDefinition

Purpose of the pull request
this pr close #8790
Brief change log
the logic of saveTaskDefine
Verify this pull request

Manually verified the change by testing locally.

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.0.6-prepare@e2b962e). Click here to learn what that means.
The diff coverage is n/a.

@@               Coverage Diff                @@
##             2.0.6-prepare    #8979   +/-   ##
================================================
  Coverage                 ?   21.08%
  Complexity               ?     1595
================================================
  Files                    ?      536
  Lines                    ?    22526
  Branches                 ?     2673
================================================
  Hits                     ?     4750
  Misses                   ?    17287
  Partials                 ?      489

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e2b962e...f8def4f. Read the comment docs.


Fix overwritten zeroshot templates issue #109.

Currently re-running the benchmark just to check.
Issue #109,  also see https://github.com/mlfoundations/datacomp/issues/69.

Thanks for the quick fix and thorough coverage of all the possible cases in the new implementation!


Nada/FEQ-2399/chore: unit test for usesendbird

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.7%) to 85.009%

Totals

Change from base Build<PHONE_NUMBER>:
1.7%

Covered Lines:
5126

Relevant Lines:
5603

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.7%) to 85.009%

Totals

Change from base Build<PHONE_NUMBER>:
1.7%

Covered Lines:
5126

Relevant Lines:
5603

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+1.7%) to 85.012%

Files with Coverage Reduction
New Missed Lines
%

src/constants/url.ts
2
84.62%

Totals

Change from base Build<PHONE_NUMBER>:
1.7%

Covered Lines:
5274

Relevant Lines:
5767

💛  - Coveralls


fix(sonarr): SHO CF mismatching

Pull request
Purpose
Fix the SHO CF wrongfully matching "Showtime" in the episode title.
Closes #1247
Approach
Adjust the regex to account for episode titles.
Requirements
Check all boxes as they are completed

[x] These changes meet the standards for contributing.
[x] I have read the code of conduct.

just for posterity - you have the regex101 logic in case we need to refer back

just for posterity - you have the regex101 logic in case we need to refer back

https://regex101.com/r/kjPPbG/1


i have an library error can you help me!

hello bro, i watched most video to crack wifi password but not possible but your project/video feels awesome bcoz packetsniffing can easily hack password.
the error: file.write error was messing me up i tried lot stuff but failure also i installed and tryed every library listed in readme.md . but i was able to fix this by this link and after that, i received an error #class file : public stream# after that i tried to reach you and thanks a lot if you read this

Hi, it only works with SdFat v2.0.1


Be able to treat materialized views as non-queries that can be filtered

In that way, if a query is expensive, I can just create a materialized view, and still be able to apply filters.
Right now, I can't apply filter controls from the front-end since it thinks the materialized_view is a query

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Upgrade RxDart to latest

Describe the issue
RxDart dependency is ^0.26.0  which is oudated and is conflicting with some other packages (stream_chat_flutter) which depend on the latest RxDart(^0.27.1).
Solution
Upgrade to the latest RxDart to keep in sync with other packages.

same with
  connectivity_plus: ^2.0.2 # https://pub.dev/packages/connectivity_plus
looks like this graphql repo is abandoned


[router-table] simplify GetNextHop()

This PR currently contains the commit from https://github.com/openthread/openthread/pull/8623.
Please check the second commit in this PR (https://github.com/openthread/openthread/pull/8624/commits/d3486d2d43fb11f26f71a88b9a6985c87ce58248).

Will rebase it soon.


Retriving multiple parameters by path from SSM fails

Hi,
I'm trying to retrieve multiple parameters based on path in SSM. Using the example provided in the README.md:
NAME        VALUE
/foo/bar    {"BAR":"VALUE"}
/foo/bar/a  A
/foo/bar/b  B

What I'm trying to do is assign:
foo: ref+awsssm://foo?recursive=true

And have the following result:
foo:
  bar:
     a: A
     b: B

Right now, when I try it I'm getting a error like:
expand awsssm://foo?recursive=true: get parameter: ParameterNotFound:

Is doing this possible? If not, I would be happy to send the PR if there's some basic guidance on how to make the changes.
Thanks for the great work!

@lucasslima Hey! This might need a significant code change, as currently vals is designed to evaluate any single ref URL into a string value, not an object.
https://github.com/variantdev/vals/blob/master/vals.go#L294-L314
To clarify, the point of using recursive=true is to provide an alternative basis to scape the value at the key denoted by #/path/to/value.
Without recursive, ex. ref+awsssm://foo, vals assumes that the SSM key foo contains either a single value, or an a encoded JSON object that looks like {"a":{"b":"B"}}. For the latter case, where you can scrape the value further by #/a/b to finally turn foo: ref+awsssm://foo?recursive=true into foo: B.
With recursive, ex. foo: ref+awsssm://foo?recursive=true, vals assumes that the SSM key foo is the prefix of some child keys and tries to build an object to be scraped. In this mode, you need to provide #/path/to/key to enforce the use of GetParametersByPath SSM API, because otherwise there's nothing to scrape when vals has no other choice chan using GetParameter, wich results in the error you mentioned.

Thanks for the response @mumoshu. I guess it would make things more complicated having the behavior I've mentioned. At least understanding that vals should only return strings makes me understand it a little better. I've changed my usage to address this.
Closing this then!


Remove erroneous enabling of DMA before configuration.

As noted in the manual referenced in the comment (and in 12.6.3 of RM0440 Rev 8 for the G474), some of the fields set by this procedure are read-only when the stream is enabled. This line also causes the post-condition on the procedure to fail. This error also exists in your other libraries.

The manual referenced in the comment also states this, although the same thing seems to be missing from the G474 manual:

When the EN bit is read as 0, this means that the stream is ready to be configured. It is therefore necessary to wait for the EN bit to be cleared before starting any stream configuration.

I don't know why I have enabled after disabling. I will commit your suggestion and alter other libraries.


creation and configuration of panes (split)

is there a way with the current API to create panes and split configurations? thanks for any hints if possible, i'll write out some documentation from it and contribute it to the main readme.

require 'rubyXL'
workbook = RubyXL::Workbook.new
worksheet = workbook[0]

worksheetview = RubyXL::WorksheetView.new
worksheetview.pane = RubyXL::Pane.new(:top_left_cell => RubyXL::Reference.new(4,8), :x_split => 4000, :y_split => 2000)

worksheetviews = RubyXL::WorksheetViews.new
worksheetviews << worksheetview
worksheet.sheet_views = worksheetviews
workbook.save "test.xlsx"

(Obviously, use your particular numbers).
Regarding calculation for x_slit and y_split, see https://stackoverflow.com/questions/4577546/calculating-height-width-and-ysplit-xsplit-for-open-xml-spreadsheets

thanks a lot for the hint.
first i got the split variant working. the calculations for the width from the above referenced perl script where correct but not for the height, but some trial and error solved that.
but it seemed that i needed the 'frozenSplit' variant and for me still unknown reasons i got it to work only with xsplit=1 and ysplit=1 values (inspired from other places on the web), and the result in Mac OS X Office at least seems correct, the previous values rendered corrupt xlsx files.
      worksheetview = RubyXL::WorksheetView.new
      worksheetview.pane = RubyXL::Pane.new(:top_left_cell => RubyXL::Reference.new(1,1),
                                            :x_split => 1,
                                            :y_split => 1,
                                            :state => 'frozenSplit')

      worksheetviews = RubyXL::WorksheetViews.new
      worksheetviews << worksheetview
      worksheet.sheet_views = worksheetviews


version displayed in 2.0.2 is 2.0.0

When executing ovpn-admin --version it displays 2.0.0 when it has to be 2.0.2

yep, we know


Add importing gradle project for vscode

Fixes #54

Hi Ruishan, I’ve proposed my suggestions to give you a better understanding of my vision for the comments. Let me know if anything needs further clarification!

Okay, thank you for the comments and the suggested edits! I have committed them.

Thanks for this PR @ruishanteo
I've adapted its content in this commit https://github.com/se-edu/guides/commit/5609208d352bf3cd75bc6ab7198970ca25d60a76


Bug: different hashcodes for equal generic types, on Android

Under some conditions, the hashcode of a generic type shows up as 0, and non-zero from an equal (but not identical) type.  Occurred on Android (10 and 12 but not 6.0.1), but not on Linux native, nor on Chrome.  May be related to #45060 - I even discovered the problem under similar circumstances.
Here's code to demonstrate it:
class Foo<T> {
}

class Bar {
}

void bar1<T>() {
  log("Foo<Bar>: ${Foo<Bar>} ${Foo<Bar> == Foo<Bar>} ${(Foo<Bar>).hashCode}");
  log("  Foo<T>: ${Foo<T>} ${Foo<T> == Foo<Bar>} ${(Foo<T>).hashCode}");
}
void bar2<T>() {
  log("Foo<Bar>: ${Foo<Bar>} ${Foo<Bar> == Foo<Bar>} ${(Foo<Bar>).hashCode}");
  log("       T: ${T} ${T == Foo<Bar>} ${(T).hashCode}");
}

void test() {
  bar1<Bar>();
  bar2<Foo<Bar>>();
}

This gives e.g.
[log] Foo<Bar>: Foo<Bar> true 393223570
[log]   Foo<T>: Foo<Bar> true 0
[log] Foo<Bar>: Foo<Bar> true 393223570
[log]        T: Foo<Bar> true 393223570

As you can see, all forms are equal to Foo<Bar>, but Foo<T> (where T is set to Bar) has a different hashcode, namely 0.
Tried this on two computers...actually, now I have one Android phone where it works right and two where it doesn't.  Uh, here's a table of things:
Flutter 3.3.0-0.2.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 7ac27ac8e6 (13 days ago) • 2022-08-02 14:35:08 -0700
Engine • revision d1e7dc18bf
Tools • Dart 2.18.0 (build 2.18.0-271.4.beta) • DevTools 2.15.0
:
Android 12 - bug
:
:
:
Flutter 3.0.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision f1875d570e (5 weeks ago) • 2022-07-13 11:24:16 -0700
Engine • revision e85ea0e79c
Tools • Dart 2.17.6 • DevTools 2.12.2
:
Android 10 - bug
Android 12 - bug
Android 6.0.1 - correct
Linux desktop (Ubuntu 20.04.4 64bit) - correct
Chrome 102.0.5005.115 64bit - correct

@alexmarkov could you take a look?


fix: Save execution time on session resume

📝 Summary
During cell execution, execution times are now saved in SessionView. On session resume (browser refresh), these execution times are displayed on initial load. Otherwise, they are calculated by the frontend as currently designed.
Fixes #1330.
🔍 Description of Changes
Cell execution time is tracked by the cell operation status. If cell goes from "queued" to "running", a start time is saved. Once it goes from "running" to "idle", the difference is calculated and saved in milliseconds.
Gaining a better understanding of how sessions and cell operations are managed, but it is still incomplete, so it's likely this is a naive approach. As always, please let me know what I'm missing. 🙂
📋 Checklist

[x] I have read the contributor guidelines.
[x] For large changes, or changes that affect the public API: this change was discussed or approved through an issue, on Discord, or the community discussions (Please provide a link if applicable).
[ ] I have added tests for the changes made.
[x] I have run the code and verified that it works as expected.

📜 Reviewers
@mscolnick

Backend timestamp calculation seems to be 0.01s slower, should we just subtract the difference for accuracy?


Implement how a patient registers

Should a patient enter all their details on register or just some and then fill them in later?


Add Kingdraw

Add Kingdraw
Microsoft Reviewers: Open in CodeFlow

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: oxygen-dioxide sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

I've corrected "Publisher" and "Name" in yaml


Use multi-stage docker build for examples/turn-server/simple to reduce container image size

The current docker build of examples/turn-server/simple results a large (944MB) image.
This PR implements multi-stage build that reduces image size to 10.2MB.

Thanks @stv0g!


can't rake import_products:install

When I trying rake import_products:install I get in CLI
INFO: Mirroring assets from<EMAIL_ADDRESS>to /home/sashe/Sites/synergy_app/db
NOTE: This extensions uses delayed job - you need to generate additional migrations for this gem by executing `rails generate delayed_job_migrations'
INFO: Mirroring assets from<EMAIL_ADDRESS>to /home/sashe/Sites/synergy_app/public
Could not mirror<EMAIL_ADDRESS>- entity does not exist
how to solve this problem?

HI Sashe - that looks weird, as if you take a look at https://github.com/joshmcarthur/spree-import-products/blob/master/app/models/product_import.rb#L140 you'll see that that message shouldn't be logged until the variant has been successfully created.
I suggest that you take a look in the console on the product's your importing, as this is a better raw data source - have a look, and see if a) those variants have actually been created and saved, and b) that they are correctly associated with the product.
Let me know how you get on!

I time 50 have altered the.csv a file and have earned like. It is possible to write requirements to a file marking?


Fix compatibility with Vue 2.7.

This change is

dist/firetruss.umd.js line 3704 at r1 (raw file):
Previously, pkaminski (Piotr Kaminski) wrote…
It's there, I think your diff bounds were off:

Not the VERSION, I was referring to the forEach loop where you set __v_isReadonly and others to false. I didn't know if that was particularly important for Firetruss or if you just had the snippet in there while developing.

dist/firetruss.umd.js line 3704 at r1 (raw file):
Previously, earlAchromatic (Jacob Milhorn) wrote…
Not the VERSION, I was referring to the forEach loop where you set __v_isReadonly and others to false. I didn't know if that was particularly important for Firetruss or if you just had the snippet in there while developing.

Oh!  No, that was a failed attempt at compatibility and I removed it on purpose.  Didn't realize it was still stuck in the dist files.  If/when I redo the build here I should remove those from the repo altogether -- they were needed only to support Bower (which doesn't have a separate deployment image).


Allow multi-version binary cmdlets

Allow binary cmdlets with multiple versions - use '!' as a separator, with the proxy cmdlet name in the first part.
Note that '!' looks like the best choice to be the separator, as most other characters (including '@') are on a reserved list, and will produce a warning on import.  The other possibility  in the typewriter characters was '%'

/azp run AutoRest.incubator - PR Validation