Skip to content

v0.0.13-Unstable

Pre-release
Pre-release
Compare
Choose a tag to compare
@juanmf juanmf released this 08 Feb 23:03
· 67 commits to main since this release

Full Changelog: v0.0.11-Unstable...v0.0.13-Unstable

Huge changes to support real parallelism. Drivers can now run on their own dedicated process, with minimal overhead, while preserving object oriented design, Driver threads remain blocked while Synchronized navigation operates GPIO pulses in a coordinated fashion, transparently, being the only active thread it does not get disturbed by client application and avoid Drivers interfering with each other.

Minor improvements to tprint

Pendings from release v0.0.11:

  • micro-stepping modes (always used full step mode) (No change)
  • How well threads are scheduled with multiple motors running.
    • This release adds 2 complementary features:
      • BasicSynchronizedNavigation
      • multiprocess (not multiprocessing) (see README); makes the frequency much more stable as you add motors to your RPi.

Pendings from this release:

  • micro-stepping modes (always used full step mode)
  • EventDispatcher cross-proccess event propagation from child to parent. Needs testing, probably a few tweaks.
  • Check that update position on child process' Controller is visible on Parent Process' Proxy Controller:
    def setCurrentPosition(self, position):
        self.currentPosition = position
        if self.sharedPosition is not None:
            with self.sharedLock:
                self.sharedPosition.value.position = position
                self.sharedPosition.value.direction = self.currentDirection