Skip to content

Splitting the motor module

Kevin Peterson edited this page Apr 19, 2019 · 46 revisions

Documentation of the general approach to splitting the motor module into a core motor repo and many vendor driver repos.

Status

  1. Testing [Completed]
    The motor branch used for testing is not intended to be merged into the master branch:
    https://github.com/kmpeters/motor/tree/motor-split-testing

    The first attempt at a motorOms module:
    https://github.com/kmpeters/motorOms

    The first attempt at a motorNewport module:
    https://github.com/kmpeters/motorNewport
  2. Newport support [Completed]
    The stand-alone repo for Newport support can be found here:
    https://github.com/epics-motor/motorNewport
  3. OMS support [Completed]
    The stand-alone repo for OMS support can be found here:
    https://github.com/epics-motor/motorOms
  4. AcsTech80 support [Completed]
    The stand-alone repo for AcsTech80 support can be found here:
    https://github.com/epics-motor/motorAcsTech80
  5. Attocube support [Completed]
    The stand-alone repo for Attocube support can be found here:
    https://github.com/epics-motor/motorAttocube
  6. DeltaTau support [Completed]
    The stand-alone repo for DeltaTau support can be found here:
    https://github.com/epics-motor/motorDeltaTau
  7. Faulhaber support [Completed]
    The stand-alone repo for Faulhaber support can be found here:
    https://github.com/epics-motor/motorFaulhaber
  8. Hytec support [Completed]
    The stand-alone repo for Hytec support can be found here:
    https://github.com/epics-motor/motorHytec
  9. Kohzu support [Completed]
    The stand-alone repo for Kohzu support can be found here:
    https://github.com/epics-motor/motorKohzu
  10. Mclennan support [Completed]
    The stand-alone repo for Mclennan support can be found here:
    https://github.com/epics-motor/motorMclennan
  11. MicroMo support [Completed]
    The stand-alone repo for MicroMo support can be found here:
    https://github.com/epics-motor/motorMicroMo
  12. NPoint support [Completed]
    The stand-alone repo for NPoint support can be found here:
    https://github.com/epics-motor/motorNPoint
  13. Oriel support [Completed]
    The stand-alone repo for Oriel support can be found here:
    https://github.com/epics-motor/motorOriel
  14. Micronix support [Completed]
    The stand-alone repo for Micronix support can be found here:
    https://github.com/epics-motor/motorMicronix
  15. PiJena support [Completed]
    The stand-alone repo for PiJena support can be found here:
    https://github.com/epics-motor/motorPiJena
  16. PI support [Completed]
    The stand-alone repo for PI support can be found here:
    https://github.com/epics-motor/motorPI
  17. SmartMotor support [Completed]
    The stand-alone repo for SmartMotor support can be found here:
    https://github.com/epics-motor/motorSmartMotor
  18. Thorlabs support [Completed]
    The stand-alone repo for Thorlabs support can be found here:
    https://github.com/epics-motor/motorThorLabs
  19. ACS support [Completed]
    The stand-alone repo for ACS support can be found here:
    https://github.com/epics-motor/motorAcs
  20. Micos support [Completed]
    The stand-alone repo for Micos support can be found here:
    https://github.com/epics-motor/motorMicos
  21. New Focus support [Completed]
    The stand-alone repo for New Focus support can be found here:
    https://github.com/epics-motor/motorNewFocus
  22. IMS support [Completed]
    The stand-alone repo for IMS support can be found here:
    https://github.com/epics-motor/motorIms
  23. OmsAsyn support [Completed]
    The stand-alone repo for OmsAsyn support can be found here:
    https://github.com/epics-motor/motorOmsAsyn
  24. Phytron support [Completed]
    The stand-alone repo for Phytron support can be found here:
    https://github.com/epics-motor/motorPhytron
  25. Aerotech support [Completed]
    The stand-alone repo for Aerotech support can be found here:
    https://github.com/epics-motor/motorAerotech
  26. ScriptMotor support [Completed]
    The stand-alone repo for ScriptMotor support can be found here:
    https://github.com/epics-motor/motorScriptMotor
  27. AMCI support [Completed]
    The stand-alone repo for AMCI support can be found here:
    https://github.com/epics-motor/motorAMCI
  28. PI GCS2 support [Completed]
    The stand-alone repo for PI GCS2 support can be found here:
    https://github.com/epics-motor/motorPIGCS2
  29. SmarAct support [Completed]
    The stand-alone repo for SmarAct support can be found here:
    https://github.com/epics-motor/motorSmarAct
  30. Parker support [Completed]
    The stand-alone repo for Parker support can be found here:
    https://github.com/epics-motor/motorParker
  31. MXmotor support [Completed]
    The stand-alone repo for MXmotor support can be found here:
    https://github.com/epics-motor/motorMXmotor
  32. MotorSim support [Completed]
    The stand-alone repo for MotorSim support can be found here:
    https://github.com/epics-motor/motorMotorSim
  33. Cleanup [Completed]
  34. Driver module releases [Completed]
  35. Documentation [Completed]
  36. Release prep [Completed]
  37. Create new release [Completed]
  38. Create new release [Completed]
    R7-0 of motor can be found here:
    https://github.com/epics-modules/motor/releases/tag/R7-0

Procedure

  1. Make a dated tag & legacy branch in epics-modules/motor
  2. Make the changes to motor to allow submodules to be added to it
  3. Follow the detailed procedure to create a motorVendor module
  4. Push the motorVendor module to epics-motor/motorVendor
  5. Add the motorVendor repo to epics-modules/motor as a submodule
  6. Remove motorVendor files from epics-modules/motor
  7. Repeat steps 3-6 for each vendor directory in motor/motorApp
  8. Create 1.0 release of each driver module
  9. Create 7.0 release of motor, containing 1.0 release of each driver module
  10. [Optional] Move motor from epics-modules to epics-motor
Clone this wiki locally