Skip to content

2.8#1

Merged
alkabal merged 104 commits intoalkabal:alkabal-2.8-xhc-whb04b-6from
LinuxCNC:2.8
Mar 3, 2022
Merged

2.8#1
alkabal merged 104 commits intoalkabal:alkabal-2.8-xhc-whb04b-6from
LinuxCNC:2.8

Conversation

@alkabal
Copy link
Copy Markdown
Owner

@alkabal alkabal commented Mar 3, 2022

No description provided.

alkabal and others added 30 commits May 14, 2021 22:07
update 2.8 from master for xhc-whb04b-6
2.8 Typo correction Axis.py "Geometry reading" XYZBCUVW > XYZABCUVW
Alkabal patch add an axisui.abort pin
add missing information to manual 2.8 for xhc-whb04b-6
They all begin with just `shuttle` now (like the component name), not
different HAL pin names for different shuttle devices.
It's much like the Shuttle PRO, but with two more buttons and a different
USB ID.
Signed-off-by: andypugh <andy@bodgesoc.org>
Signed-off-by: andypugh <andy@bodgesoc.org>
update shuttle docs & driver
for JOINT_*,AXIS_* sections

Example:
Duplicating a [JOINT_n]MAX_LIMIT item may result in an error
for limit violation.  With this commit, a warning will precede
the error to aid in isolating the ambiguous duplicated limit
setting

Ref:
https://forum.linuxcnc.org/27-driver-boards/42972-y-axis-setup-trivkins-kinematics-error-with-max-limit#213689
Signed-off-by: andypugh <andy@bodgesoc.org>
rene-dev and others added 29 commits November 20, 2021 20:13
…iter

adding a missing ', continuous' before parsing broke the assumptions.
Now we add a missing 'continuous' after parsing.
german translation improvements
For some reason open then close then open works.
Make explicit an important promise made by rtapi_shmem_new(): When a
block of memory is first allocated, it is initialized to all zero bytes.

On Uspace rtapi_shmem_new() calls shmget(), which zeros the memory when
creating a new shared memory block:

    https://man7.org/linux/man-pages/man2/shmget.2.html#DESCRIPTION

On RTAI rtapi_shmem_new() calls rtai_kmalloc() and rtai_malloc(), which
both end up calling _rt_shmem_new().  The documentation does not say
anything about initialization of freshly allocated memory buffers, but
Paolo Mantegazza (one of the main RTAI developers) said that RTAI *does*
zeros shmem buffers, and pointed to this code:

    https://mail.rtai.org/pipermail/rtai/2022-January/028282.html
    http://cvs.savannah.nongnu.org/viewvc/rtai/magma/base/ipc/shm/shm.c?view=markup#l69
This commit makes two changes in init_hal_data() (which is called by
hal_init()):

1. Take the `hal_data->mutex` using `rtapi_mutex_get()` instead of
   `rtapi_mutex_try()`.

   The `try` version tries to take the mutex and returns immediately,
   indicating by its return value whether it actually took the mutex
   or not.

   Before this commit, the `init_hal_data()` function called `try` but
   didn't check the return value, and just assumed that it got the mutex.
   This commit switches to the `get` version, which blocks until the
   mutex is available, then takes it.

   Note: this relies on the promise made by rtapi_shmem_new() that a
   freshly-allocated `hal_data` is initialized such that `hal_data->mutex`
   is a valid, un-locked mutex.

   Uspace RTAPI meets this criterion because it uses shmget(), which
   initializes all shared memory to all-bytes-zero.

   RTAI RTAPI also meets this criterion, though it's not mentioned in
   the documentation:

    https://mail.rtai.org/pipermail/rtai/2022-January/028282.html

    http://cvs.savannah.nongnu.org/viewvc/rtai/magma/base/ipc/shm/shm.c?view=markup#l69

2. Take the `hal_data->mutex`, locking `hal_data`, *before* checking
   whether the memory is initialized.  This fixes the hal_init() race
   condition.
candidate fix for #1519, lightly tested (master)
If keyboard jogging and one hits a limit switch, you would get
an endless amount of error messages.
Thanks Ivan the Red on forum for testing fixes
Thanks to Andy Howell for finding and fixing this bug.
…practice.

1) Reduce from 4(XYZA) to 3(XYZY) coordinate.
2) Use negative HOME_SEQUENCE values for synchronous homing of the dual Y joints.
3) Rename signals such as adir, astep to y2dir, ystep.
Restore more generous dirhold and dirsetup timing.
Gantry example config updated for EDITOR=geany and restrore more generous timing.
@alkabal alkabal merged commit d182e7f into alkabal:alkabal-2.8-xhc-whb04b-6 Mar 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.