-
Notifications
You must be signed in to change notification settings - Fork 49
Creating a standalone driver module
Documentation of the specific approach to creating a standalone driver module. The procedure for creating motorNewport is expected to be more complicated than most other motor drivers.
-
Clone motor
[~/epics/motor-split/Newport]$ git clone https://github.com/epics-modules/motor.git Cloning into 'motor'... remote: Enumerating objects: 34, done. remote: Counting objects: 100% (34/34), done. remote: Compressing objects: 100% (31/31), done. remote: Total 16693 (delta 13), reused 11 (delta 3), pack-reused 16659 Receiving objects: 100% (16693/16693), 5.96 MiB | 0 bytes/s, done. Resolving deltas: 100% (12631/12631), done. Checking out files: 100% (853/853), done.
-
Work with a clone of a clone to avoid pushing back to github and also allow a clean restart of the process
[~/epics/motor-split/Newport]$ git clone file://motor motorNewport1 Cloning into 'motorNewport1'... remote: Counting objects: 16301, done. remote: Compressing objects: 100% (3945/3945), done. remote: Total 16301 (delta 12330), reused 16301 (delta 12330) Receiving objects: 100% (16301/16301), 5.89 MiB | 0 bytes/s, done. Resolving deltas: 100% (12330/12330), done. Checking out files: 100% (853/853), done.
-
Figure out the egrep pattern for the files that should be retained
[~/epics/motor-split/Newport]$ cd motorNewport1/ [~/epics/motor-split/Newport/motorNewport1]$ git ls-files | egrep "(XPS|xps|HXP|hxp|AG_|CONEX|SMC100|NewportSrc|Newport_|gitattributes|gitignore)" .gitattributes .gitignore iocBoot/iocWithAsyn/XPSAux.substitutions iocBoot/iocWithAsyn/connect_AG_CONEX iocBoot/iocWithAsyn/connect_AG_UC iocBoot/iocWithAsyn/motor.cmd.hxp iocBoot/iocWithAsyn/motor.substitutions.AG_CONEX iocBoot/iocWithAsyn/motor.substitutions.AG_UC iocBoot/iocWithAsyn/motor.substitutions.CONEX-PP iocBoot/iocWithAsyn/motor.substitutions.SMC100 iocBoot/iocWithAsyn/motor.substitutions.hxp iocBoot/iocWithAsyn/motor.substitutions.xps iocBoot/iocWithAsyn/motor.substitutions.xps3 iocBoot/iocWithAsyn/motor.substitutions.xps4 iocBoot/iocWithAsyn/motor.substitutions.xps5 iocBoot/iocWithAsyn/st.cmd.AG_CONEX iocBoot/iocWithAsyn/st.cmd.AG_UC iocBoot/iocWithAsyn/st.cmd.CONEX-PP iocBoot/iocWithAsyn/st.cmd.SMC100 iocBoot/iocWithAsyn/st.cmd.xps iocBoot/iocWithAsyn/st.cmd.xps3 iocBoot/iocWithAsyn/st.cmd.xps4 iocBoot/iocWithAsyn/st.cmd.xps5 iocBoot/iocWithAsyn/st.cmd.xps6 iocsh/Newport_ESP300.iocsh iocsh/Newport_MM4000.iocsh iocsh/Newport_PM500.iocsh motorApp/Db/HXP_coords.db motorApp/Db/HXP_extra.db motorApp/Db/XPSAuxAi.db motorApp/Db/XPSAuxAo.db motorApp/Db/XPSAuxBi.db motorApp/Db/XPSAuxBo.db motorApp/Db/XPSAuxLi.db motorApp/Db/XPSAuxLo.db motorApp/Db/XPSPositionCompare.db motorApp/Db/XPSPositionCompare_settings.req motorApp/Db/XPSTclScript.template motorApp/Db/XPS_extra.db motorApp/Db/profileMoveAxisXPS.template motorApp/Db/profileMoveControllerXPS.template motorApp/Db/profileMoveControllerXPS_settings.req motorApp/Db/xpsSlave.db motorApp/NewportSrc/AG_CONEX.cpp motorApp/NewportSrc/AG_CONEX.h motorApp/NewportSrc/AG_UC.cpp motorApp/NewportSrc/AG_UC.h motorApp/NewportSrc/Firmware.txt motorApp/NewportSrc/HXPDriver.cpp motorApp/NewportSrc/HXPDriver.h motorApp/NewportSrc/MM4005_trajectoryScan.st motorApp/NewportSrc/Makefile motorApp/NewportSrc/NewportRegister.cc motorApp/NewportSrc/NewportRegister.h motorApp/NewportSrc/README motorApp/NewportSrc/SMC100Driver.cpp motorApp/NewportSrc/SMC100Driver.h motorApp/NewportSrc/SMC100Register.cc motorApp/NewportSrc/SMC100Register.h motorApp/NewportSrc/Socket.cpp motorApp/NewportSrc/Socket.h motorApp/NewportSrc/XPSAsynInterpose.c motorApp/NewportSrc/XPSAsynInterpose.h motorApp/NewportSrc/XPSAxis.cpp motorApp/NewportSrc/XPSAxis.h motorApp/NewportSrc/XPSController.cpp motorApp/NewportSrc/XPSController.h motorApp/NewportSrc/XPSGathering.c motorApp/NewportSrc/XPSGathering2.c motorApp/NewportSrc/XPSGatheringMain.c motorApp/NewportSrc/XPSGatheringRegister.c motorApp/NewportSrc/XPS_C8_drivers.cpp motorApp/NewportSrc/XPS_C8_drivers.h motorApp/NewportSrc/XPS_C8_errors.h motorApp/NewportSrc/XPS_trajectoryScan.st motorApp/NewportSrc/asynOctetSocket.cpp motorApp/NewportSrc/asynOctetSocket.h motorApp/NewportSrc/devESP300.cc motorApp/NewportSrc/devMM3000.cc motorApp/NewportSrc/devMM4000.cc motorApp/NewportSrc/devNewport.dbd motorApp/NewportSrc/devNewportSeq.dbd motorApp/NewportSrc/devPM500.cc motorApp/NewportSrc/drvESP300.cc motorApp/NewportSrc/drvMM3000.cc motorApp/NewportSrc/drvMM4000.cc motorApp/NewportSrc/drvMM4000Asyn.c motorApp/NewportSrc/drvMM4000Asyn.h motorApp/NewportSrc/drvMMCom.h motorApp/NewportSrc/drvPM500.cc motorApp/NewportSrc/drvXPSAsyn.c motorApp/NewportSrc/drvXPSAsyn.h motorApp/NewportSrc/drvXPSAsynAux.c motorApp/NewportSrc/hxp_drivers.cpp motorApp/NewportSrc/hxp_drivers.h motorApp/NewportSrc/hxp_errors.h motorApp/NewportSrc/seqPVmacros.h motorApp/NewportSrc/strtok_r.c motorApp/NewportSrc/strtok_r.h motorApp/NewportSrc/tclCall.cc motorApp/NewportSrc/tclCall.h motorApp/NewportSrc/trajectoryScan.h motorApp/NewportSrc/xpsSlave.st motorApp/NewportSrc/xps_ftp.c motorApp/NewportSrc/xps_ftp.h motorApp/op/adl/HXP.adl motorApp/op/adl/HXP_coordSys.adl motorApp/op/adl/HXP_extra.adl motorApp/op/adl/HXP_motors.adl motorApp/op/adl/HXP_moveAll.adl motorApp/op/adl/XPSAux.adl motorApp/op/adl/XPSAuxBi_more.adl motorApp/op/adl/XPSAuxTest.adl motorApp/op/adl/XPSExtra.adl motorApp/op/adl/XPSPositionCompare.adl motorApp/op/adl/XPSPositionCompare8.adl motorApp/op/adl/XPSTop.adl motorApp/op/adl/profileMoveXPS.adl motorApp/op/opi/HXP.opi motorApp/op/opi/HXP_coordSys.opi motorApp/op/opi/HXP_extra.opi motorApp/op/opi/HXP_motors.opi motorApp/op/opi/HXP_moveAll.opi motorApp/op/opi/XPSAux.opi motorApp/op/opi/XPSAuxBi_more.opi motorApp/op/opi/XPSAuxTest.opi motorApp/op/opi/XPSExtra.opi motorApp/op/opi/XPSTest.opi motorApp/op/opi/XPSTop.opi motorApp/op/opi/profileMoveXPS.opi motorApp/op/ui/autoconvert/HXP.ui motorApp/op/ui/autoconvert/HXP_coordSys.ui motorApp/op/ui/autoconvert/HXP_extra.ui motorApp/op/ui/autoconvert/HXP_motors.ui motorApp/op/ui/autoconvert/HXP_moveAll.ui motorApp/op/ui/autoconvert/XPSAux.ui motorApp/op/ui/autoconvert/XPSAuxBi_more.ui motorApp/op/ui/autoconvert/XPSAuxTest.ui motorApp/op/ui/autoconvert/XPSExtra.ui motorApp/op/ui/autoconvert/XPSTest.ui motorApp/op/ui/autoconvert/XPSTop.ui motorApp/op/ui/autoconvert/profileMoveXPS.ui
-
Filter the git history to include only the specified files
[~/epics/motor-split/Newport/motorNewport1]$ git filter-branch --prune-empty --index-filter 'git ls-files -z | egrep -zv "(XPS|xps|HXP|hxp|AG_|CONEX|SMC100|NewportSrc|Newport_|gitattributes|gitignore)" | xargs -0 -r git rm --cached -q' HEAD Rewrite 1196bbe4df5968ae4ac05c142a9f4be93827d06e (2487/2778)error: duplicate parent 2cc7aa2d7457306425e6ee27c8a688db50571cc9 ignored Rewrite ab6092f8b5dc3f07a055d4039bac44dd2c88bda4 (2491/2778)error: duplicate parent 0db4a37e80a8488a3dba413a2a28f996aeb5f978 ignored Rewrite 724dd71a723a4fb36fd84a08b4665091002cffd9 (2503/2778)error: duplicate parent adc4a679ee91e901ed1b089b76e5e2a4c4b254ca ignored Rewrite ae84076e42347a365b360d1d5f1583a07805b02d (2505/2778)error: duplicate parent b32cd24c638e1d72f2ab8f77b78fec1ad6930eae ignored Rewrite 6cb7ff2a5e4d19aad382f81b2c5fe50eec1e7da8 (2533/2778)error: duplicate parent a1f39cfc70cded11ca79d5c0edaea3406038bb3b ignored Rewrite 14b1070b7d64fb95e7dcf4be06b9386a088cf258 (2543/2778)error: duplicate parent cd379f7aea23c33cbb78b9213d908f02c76ec0a9 ignored Rewrite 6b9ca72120ce26c074a04f833363bb4c7400bb8d (2545/2778)error: duplicate parent 31ae96e1dffb60413074b46715b87dfca90a6993 ignored Rewrite 345fecadb8c1a20448ee54be3b9f2865da5fa0e5 (2555/2778)error: duplicate parent faaff0981d26bb0c6daa7b6f0f8ef005da388a5b ignored Rewrite 8966aeabf292874de8c78754e95e14cde1f1c776 (2568/2778)error: duplicate parent 01ff42a40354b828265ab8e4f422a7efea131b09 ignored Rewrite 4ade0a7f3717696d20dcfc75895acf4489c1fa40 (2588/2778)error: duplicate parent f34d55b819d2b1431ab6ded087ef5f2ad441458d ignored Rewrite 6990911206d54e5bf0ec1e4ba7284154b45866cf (2679/2778)error: duplicate parent b5ecd77677303ff237925a00e1ae13da371dbfc5 ignored Rewrite 09fcb5986c7bcb0d88d75949cf3ec40d680f4c17 (2725/2778)error: duplicate parent bdeee1578989eda786ae7999124ade8dd424af00 ignored Rewrite 548a013a38ea4c2b44953463162aaeb240a3efed (2729/2778)error: duplicate parent 3dee3edd2f3f762323bbae76dc7c686297e2333c ignored Rewrite c09b49c245aa0b8ad3f0cbb38e434de045f22d9d (2736/2778)error: duplicate parent 2d235e5a38c16432c49e734bcdf1586ba084f1bc ignored Rewrite 741d4292cd78cf7c059426ecf0aea6269c4f9a50 (2740/2778)error: duplicate parent c2d21902b2273aeccabdd196ce5abb589f590e8b ignored Rewrite f6e9f2620981aecd4e4793d56bbdf858dcb28a21 (2743/2778)error: duplicate parent a455255b50000416fb92e1eb9e98ec7d84a76976 ignored Rewrite 5cebc48ba84b77ed3ca470a5e0d3f4e32de9ca0e (2778/2778) Ref 'refs/heads/master' was rewritten [~/epics/motor-split/Newport/motorNewport1]$ cd ../
-
Create a new clone
[~/epics/motor-split/Newport]$ git clone file://motorNewport1 motorNewport2 Cloning into 'motorNewport2'... remote: Counting objects: 18357, done. remote: Compressing objects: 100% (5697/5697), done. remote: Total 18357 (delta 12747), reused 15990 (delta 12317) Receiving objects: 100% (18357/18357), 6.06 MiB | 1.44 MiB/s, done. Resolving deltas: 100% (12747/12747), done.
-
Remove the empty merge commits (the 'duplicate parent' commits from the previous filter-branch command)
[~/epics/motor-split/Newport]$ cd motorNewport2/ [~/epics/motor-split/Newport/motorNewport2]$ git filter-branch --prune-empty --parent-filter 'sed "s/-p //g" | xargs -r git show-branch --independent | sed "s/\</-p /g"' Rewrite 28aeff5d88fe103bb50c3d60b633ab7392fd2a19 (696/696) Ref 'refs/heads/master' was rewritten [~/epics/motor-split/Newport/motorNewport2]$ cd ../
-
Make the example application and IOC
[~/epics/motor-split/Newport]$ mkdir motorNewportBlank [~/epics/motor-split/Newport]$ cd motorNewportBlank/ [~/epics/motor-split/Newport/motorNewportBlank]$ /APSshare/epics/base-3.15.6/bin/linux-x86_64/makeBaseApp.pl -t support newport [~/epics/motor-split/Newport/motorNewportBlank]$ ls -l total 12 drwxrwxr-x 2 kpetersn aesbc 4096 Mar 19 16:31 configure -rw-rw-r-- 1 kpetersn aesbc 900 Mar 19 16:31 Makefile drwxrwxr-x 4 kpetersn aesbc 4096 Mar 19 16:31 newportApp [~/epics/motor-split/Newport/motorNewportBlank]$ mkdir -p iocs/newportIOC [~/epics/motor-split/Newport/motorNewportBlank]$ cd iocs/newportIOC/ [~/epics/motor-split/Newport/motorNewportBlank/iocs/newportIOC]$ /APSshare/epics/base-3.15.6/bin/linux-x86_64/makeBaseApp.pl -t ioc newport [~/epics/motor-split/Newport/motorNewportBlank/iocs/newportIOC]$ /APSshare/epics/base-3.15.6/bin/linux-x86_64/makeBaseApp.pl -i -t ioc Newport The following target architectures are available in base: linux-x86_64 vxWorks-ppc32sf-debug vxWorks-ppc32-debug vxWorks-ppc32sf vxWorks-ppc32 linux-x86_64-debug linux-x86 linux-arm rhel6-x86_64 rhel6-x86_64-debug windows-x64-static win32-x86-static What architecture do you want to use? linux-x86_64 The following applications are available: newport What application should the IOC(s) boot? The default uses the IOC's name, even if not listed above. Application name? newport [~/epics/motor-split/Newport/motorNewportBlank/iocs/newportIOC]$ cd ../../ [~/epics/motor-split/Newport/motorNewportBlank]$ find . . ./configure ./configure/CONFIG ./configure/CONFIG_SITE ./configure/Makefile ./configure/RELEASE ./configure/RULES ./configure/RULES.ioc ./configure/RULES_DIRS ./configure/RULES_TOP ./Makefile ./newportApp ./newportApp/Makefile ./newportApp/src ./newportApp/src/Makefile ./newportApp/src/newport.dbd ./newportApp/Db ./newportApp/Db/Makefile ./iocs ./iocs/newportIOC ./iocs/newportIOC/configure ./iocs/newportIOC/configure/CONFIG ./iocs/newportIOC/configure/CONFIG_SITE ./iocs/newportIOC/configure/Makefile ./iocs/newportIOC/configure/RELEASE ./iocs/newportIOC/configure/RULES ./iocs/newportIOC/configure/RULES.ioc ./iocs/newportIOC/configure/RULES_DIRS ./iocs/newportIOC/configure/RULES_TOP ./iocs/newportIOC/Makefile ./iocs/newportIOC/newportApp ./iocs/newportIOC/newportApp/Makefile ./iocs/newportIOC/newportApp/src ./iocs/newportIOC/newportApp/src/Makefile ./iocs/newportIOC/newportApp/src/newportMain.cpp ./iocs/newportIOC/newportApp/Db ./iocs/newportIOC/newportApp/Db/Makefile ./iocs/newportIOC/iocBoot ./iocs/newportIOC/iocBoot/Makefile ./iocs/newportIOC/iocBoot/iocNewport ./iocs/newportIOC/iocBoot/iocNewport/Makefile ./iocs/newportIOC/iocBoot/iocNewport/st.cmd [~/epics/motor-split/Newport/motorNewportBlank]$ cd ../
-
Create a new clone
[~/epics/motor-split/Newport]$ git clone file://motorNewport2 motorNewport3 Cloning into 'motorNewport3'... remote: Counting objects: 18290, done. remote: Compressing objects: 100% (5219/5219), done. remote: Total 18290 (delta 12739), reused 18255 (delta 12728) Receiving objects: 100% (18290/18290), 6.05 MiB | 0 bytes/s, done. Resolving deltas: 100% (12739/12739), done.
-
Rename App & src directories
[~/epics/motor-split/Newport]$ cd motorNewport3 [~/epics/motor-split/Newport/motorNewport3]$ git filter-branch --tree-filter 'test -d motorApp/NewportSrc && mv motorApp/NewportSrc motorApp/src && mv motorApp newportApp || echo " Nothing to do"' HEAD Rewrite e820cf991f0a72e970cee529529b98fab94703b4 (1/629) Nothing to do Rewrite c890eb62a16ffe766c5fafb3443eb25060a099de (629/629) Ref 'refs/heads/master' was rewritten [~/epics/motor-split/Newport/motorNewport3]$ cd ../
-
Create a new clone
[~/epics/motor-split/Newport]$ git clone file://motorNewport3 motorNewport4 Cloning into 'motorNewport4'... remote: Counting objects: 18290, done. remote: Compressing objects: 100% (5539/5539), done. remote: Total 18290 (delta 12722), reused 16178 (delta 12408) Receiving objects: 100% (18290/18290), 6.04 MiB | 324.00 KiB/s, done. Resolving deltas: 100% (12722/12722), done.
-
Rename iocBoot directories
[~/epics/motor-split/Newport]$ cd motorNewport4/ [~/epics/motor-split/Newport/motorNewport4]$ git filter-branch --tree-filter 'test -d iocBoot/iocWithAsyn && mv iocBoot/iocWithAsyn iocBoot/iocNewport && mkdir -p iocs/newportIOC && mv iocBoot iocs/newportIOC || echo " Nothing to do"' HEAD Rewrite e820cf991f0a72e970cee529529b98fab94703b4 (1/629) Nothing to do <removed 131 lines> Rewrite 283468f9ddab4d50534acced680fd1b9f1487a8c (133/629) Nothing to do Rewrite 8c9906b4bd5907d6fdfa64cc9215c8d3a5d9e77e (629/629) Ref 'refs/heads/master' was rewritten [~/epics/motor-split/Newport/motorNewport4]$ cd ../
-
Create a new clone
[~/epics/motor-split/Newport]$ git clone file://motorNewport4 motorNewport5 Cloning into 'motorNewport5'... remote: Counting objects: 18380, done. remote: Compressing objects: 100% (5465/5465), done. remote: Total 18380 (delta 12722), reused 17041 (delta 12482) Receiving objects: 100% (18380/18380), 6.05 MiB | 378.00 KiB/s, done. Resolving deltas: 100% (12722/12722), done. [~/epics/motor-split/Newport]$
-
Copy the blank App & IOC files (DO NOT overwrite any files in the src dir; remove files that were added to src dir)
[~/epics/motor-split/Newport]$ cp -riT motorNewportBlank motorNewport5 cp: overwrite ‘motorNewport5/newportApp/src/Makefile’? n [~/epics/motor-split/Newport]$ rm motorNewport5/newportApp/src/newport.dbd
-
Commit the makeBaseApp files
[~/epics/motor-split/Newport]$ cd motorNewport5/ [~/epics/motor-split/Newport/motorNewport5]$ git add Makefile configure/ iocs/newportIOC/Makefile iocs/newportIOC/configure/ iocs/newportIOC/iocBoot/Makefile iocs/newportIOC/iocBoot/iocNewport/Makefile iocs/newportIOC/iocBoot/iocNewport/st.cmd iocs/newportIOC/newportApp/ newportApp/Db/Makefile newportApp/Makefile [~/epics/motor-split/Newport/motorNewport5]$ git commit -m "Added files from makeBaseApp" [master d38b1a1]$ Added files from makeBaseApp 27 files changed, 490 insertions(+) create mode 100644 Makefile create mode 100644 configure/CONFIG create mode 100644 configure/CONFIG_SITE create mode 100644 configure/Makefile create mode 100644 configure/RELEASE create mode 100644 configure/RULES create mode 100644 configure/RULES.ioc create mode 100644 configure/RULES_DIRS create mode 100644 configure/RULES_TOP create mode 100644 iocs/newportIOC/Makefile create mode 100644 iocs/newportIOC/configure/CONFIG create mode 100644 iocs/newportIOC/configure/CONFIG_SITE create mode 100644 iocs/newportIOC/configure/Makefile create mode 100644 iocs/newportIOC/configure/RELEASE create mode 100644 iocs/newportIOC/configure/RULES create mode 100644 iocs/newportIOC/configure/RULES.ioc create mode 100644 iocs/newportIOC/configure/RULES_DIRS create mode 100644 iocs/newportIOC/configure/RULES_TOP create mode 100644 iocs/newportIOC/iocBoot/Makefile create mode 100644 iocs/newportIOC/iocBoot/iocNewport/Makefile create mode 100644 iocs/newportIOC/iocBoot/iocNewport/st.cmd create mode 100644 iocs/newportIOC/newportApp/Db/Makefile create mode 100644 iocs/newportIOC/newportApp/Makefile create mode 100644 iocs/newportIOC/newportApp/src/Makefile create mode 100644 iocs/newportIOC/newportApp/src/newportMain.cpp create mode 100644 newportApp/Db/Makefile create mode 100644 newportApp/Makefile [~/epics/motor-split/Newport/motorNewport5]$ git status # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # (use "git push" to publish your local commits) # nothing to commit, working directory clean
-
Create an empty github repo
-
Push the code to github
[~/epics/motor-split/Newport/motorNewport5]$ git remote -v origin file://motorNewport4 (fetch) origin file://motorNewport4 (push) [~/epics/motor-split/Newport/motorNewport5]$ git remote rm origin [~/epics/motor-split/Newport/motorNewport5]$ git remote add origin [email protected]:kmpeters/motorNewport.git [~/epics/motor-split/Newport/motorNewport5]$ git remote -v origin [email protected]:kmpeters/motorNewport.git (fetch) origin [email protected]:kmpeters/motorNewport.git (push) [~/epics/motor-split/Newport/motorNewport5]$ git push -u origin master X11 forwarding request failed on channel 0 Counting objects: 3651, done. Delta compression using up to 8 threads. Compressing objects: 100% (1810/1810), done. Writing objects: 100% (3651/3651), 907.40 KiB | 0 bytes/s, done. Total 3651 (delta 1488), reused 3535 (delta 1427) remote: Resolving deltas: 100% (1488/1488), done. To [email protected]:kmpeters/motorNewport.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
-
Applied patch to Makefiles, RELEASE and CONFIG_SITE files so that the module can be built inside of motor (NOTE: you'll probably also need to replace the username and path to BASE in the patch file)
[~/epics/motor-split/Newport/motorNewport5]$ wget https://raw.githubusercontent.com/kmpeters/motor/motor-split-testing/modules/betterVendor.patch [~/epics/motor-split/Newport/motorNewport5]$ sed -e 's/vendor/newport/g' -e 's/Vendor/Newport/g' -e 's/VENDOR/NEWPORT/g' betterVendor.patch > betterNewport.patch [~/epics/motor-split/Newport/motorNewport5]$ git apply betterNewport.patch ../newportMod.patch:138: new blank line at EOF. + ../newportMod.patch:167: new blank line at EOF. + warning: 2 lines add whitespace errors. [~/epics/motor-split/Newport/motorNewport5]$ git add .gitignore Makefile configure/RELEASE iocs/newportIOC/configure/CONFIG_SITE iocs/newportIOC/configure/RELEASE iocs/newportIOC/iocBoot/iocNewport/st.cmd iocs/newportIOC/newportApp/src/Makefile iocs/Makefile [~/epics/motor-split/Newport/motorNewport5]$ find . -name "*.local" -exec git add -f {} \; [~/epics/motor-split/Newport/motorNewport5]$ git commit -m "Applied patch to update Makefiles, RELEASE and CONFIG_SITE files"
-
Build the module
-
Build the IOC
-
Correct IOC's src/Makefile if it fails to properly include the Newport support
-
Correct the iocNewport examples so they can be used with the IOC rather than with the example app from the motor module.
-
Commit all the manual changes
-
Push all the changes to github
[~/epics/motor-split/Newport/motorNewport5]$ git push