The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Unnecessary PCAN patch causes errors on Darwin
- Missing templates package data
- Notify user that Being is running when invoking
awake()
AudioBackend
andMic
block for audio onset detection.- Stop ongoing homing when pressing homing button again
- Finalizing documentation
audio
andrpi
extra requirements
DummySensor
now resides inbeing.sensors
module.- Changed being config file to YAML
- Alphabetical instead of most recently modified order for motion curves
- Max height for behavior and editor widget
- Deactivate power and homing button when there are no motors
- Resize editor when new content messages arrive
- Only display widgets when the corresponding blocks exist
- Relay connectables
- Installation issue.
patch_pcan_on_darwin()
only when can & canopen are installed.
- Default PDO mapping:
TARGET_POSITION
andTARGET_VELOCITY
both over PDO 2. Current Actual Value
via PDO instead of SDO.- Controller now tries to restore node's state after homing.
- Homing's capture, restore and teardown methods.
- Replaced
switch_off_drives
methodCanBackend
withturn_off_motors
method (which disables drives with a timeout).
CrudeHoming
with timeout during homing
- Bugfix for
named_tuple_from_dict
. With Python 3.7 named tuples without default values have no_field_defaults
attribute.
- Unselected / wrong knots got deleted because Array.sort() defaults to lexicographic order for numbers. See further resources.
- Draggable selection. Knots / paths can be selected and dragged around. Also horizontal selection rectangle.
- Drawer with keyboard shortcuts
- Improved snapping to grid. Selected knots are excluded from grid.
- Drawer drag navigation secondary with shift key.
make_draggable()
helper functions with callback object as argument. Also click / dblclick suppression when moved.Plotter
/Drawer
: Separation ofdraw_canvas()
anddraw_svg()
(formerly_draw_curve_elements()
).
- Do not redraw SVG elements on each being state message.
- Wrong maximum current value during crude homing lead to motors getting stuck
- Expand software position limits by default
CiA402Node
state switching. The state switching job now continuously tries to replan the state trajectory if anything changes.- Default motor settings as ordered dictionaries
- Drawer refactor: Control points inside group with fading out effect.
- UI buttons now hold an
<i></i>
element holding the icon (so that we can rotate it independently from button).change_icon(newIcon)
button "method" for changing the icon later on. - Viewport not resizing when making a change and already zoomed in
- JS
arange()
array function with start, stop, step arguments
- Scan for node ids network helper method
- Timeout is now mandatory for state switching job. Controller / Homing both catch TimeoutErrors
- Editor flip curve horizontally / vertically buttons.
- New pathos_being.py program which scans for available nodes and initializes a LinearMotor for each one.
- Hanging state transition during crude homing. Single SDO based state transition seemed to clash with PDO based ones. To be tested...
get_logger()
not returning being root logger for some arguments- Plotting lines order did not correspond with motor id order
- Splines became curves
- Web socket broker via aiohttp on startup
- Behavior.associate() method deprecated
- Content methods
- EC 45 default settings
- API changes for curves
- Signal handling via aiohttp application
- Motion editor rework with curves and support for simultaneous playback on multiple motion players
- Content with Files instance handling file system access
- Missing position profile support for WindupMotor block
- Web socket connection reset error
- JS safari compatibility issues
- Old JS curver widget
- Being
CONFIG
instance now resides in modulebeing.configuration
(renamedbeing.config
->being.configuration
) - Block value and message connection helper methods return created inputs / outputs for concatenation
Config
/ConfigFile
implementations for TOML, YAML, JSON and INI formats- Parameter blocks:
Slider
,SingleSelection
,MultiSelection
andMotionSelection
. With UI integration NestedDict
mutable mapping
- Profiled position mode via message connections
- New motor blocks:
BeltDriveMotor
,LeadScrewMotor
andWindupMotor
- Some CiA 402 test cases
Pacemaker
separate fromBeing
objectMotorBlock
base class with ABC methodget_length()
.- Change node operation mode via
Controller
- Motor with
deviceUnits
- Stuck in SDO state change job
Sawtooth
block- Old scripts
- Support for generator based
CiA402Node
state switching - Node settings path now support int parts
MotorInterface
ABC,MotorState
CiA402Node
move_to()
/move_with()
methods
- SYNC thread now in
Pacemaker
class - Homing
- Being root logger
- Typo State.OPERATION_ENABLE -> State.OPERATION_ENABLED
- Deactivating PDO communication during state switching
- Dedicated SYNC message sender thread
- Enabling / disabling motor with optional timeout
- Motor blocks done homing event
- Software side position controller for
Epos4
proper_homing()
routine
- Motor state change timeout issues
- Wrong NMT state causing on errors on some controllers
- Wrong CiA 402 state change command
- Reset software position limits on Faulhaber motors
- No overlap with plotting lines
- License
- CiA 402 homings
- Choreo to spline conversion
- EPOS4 support
- Web UI control panel with block diagram
- Web UI notifications
- Some third-party JS libraries
- Readme
- Motor blocks, controllers, motors
- Motion players / motors web API
- Web UI console moved to control panel