Add Marlin firmware. Has initial configuration for CoreXY and 1 servo.
Update CAD file with improved clearances for Pilot G2 cartridge clearances after first print.
This commit is contained in:
		
							
								
								
									
										193
									
								
								Marlin Firmware/buildroot/share/git/mfconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										193
									
								
								Marlin Firmware/buildroot/share/git/mfconfig
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,193 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
#
 | 
			
		||||
# mfconfig init source dest
 | 
			
		||||
# mfconfig manual source dest
 | 
			
		||||
#
 | 
			
		||||
# The MarlinFirmware/Configurations layout could be broken up into branches,
 | 
			
		||||
# but this makes management more complicated and requires more commits to
 | 
			
		||||
# perform the same operation, so this uses a single branch with subfolders.
 | 
			
		||||
#
 | 
			
		||||
# init - Initialize the repo with a base commit and changes:
 | 
			
		||||
#   - Source will be an 'import' branch containing all current configs.
 | 
			
		||||
#   - Create an empty 'BASE' branch from 'init-repo'.
 | 
			
		||||
#   - Add Marlin config files, but reset all to defaults.
 | 
			
		||||
#   - Commit this so changes will be clear in following commits.
 | 
			
		||||
#   - Add changed Marlin config files and commit.
 | 
			
		||||
#
 | 
			
		||||
# manual - Manually import changes from the Marlin repo
 | 
			
		||||
#   - Replace 'default' configs with those from the Marlin repo.
 | 
			
		||||
#   - Wait for manual propagation to the rest of the configs.
 | 
			
		||||
#   - Run init with the given 'source' and 'dest'
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
REPOHOME="`dirname ~/Projects/Maker/Firmware/.`"
 | 
			
		||||
MARLINREPO="$REPOHOME/MarlinFirmware"
 | 
			
		||||
CONFIGREPO="$REPOHOME/Configurations"
 | 
			
		||||
 | 
			
		||||
CEXA=config/examples
 | 
			
		||||
CDEF=config/default
 | 
			
		||||
BC=Configuration.h
 | 
			
		||||
AC=Configuration_adv.h
 | 
			
		||||
 | 
			
		||||
COMMIT_STEPS=0
 | 
			
		||||
 | 
			
		||||
#cd "$CONFIGREPO" 2>/dev/null || { echo "Can't find Configurations repo!" ; exit 1; }
 | 
			
		||||
 | 
			
		||||
ACTION=${1:-init}
 | 
			
		||||
IMPORT=${2:-"import-2.0.x"}
 | 
			
		||||
EXPORT=${3:-"bugfix-2.0.x"}
 | 
			
		||||
 | 
			
		||||
echo -n "Doing grhh ... " ; grhh ; echo
 | 
			
		||||
 | 
			
		||||
if [[ $ACTION == "manual" ]]; then
 | 
			
		||||
 | 
			
		||||
  #
 | 
			
		||||
  # Copy the latest default configs from MarlinFirmware/Marlin
 | 
			
		||||
  # or one of the import branches here, then use them to construct
 | 
			
		||||
  # a 'BASE' branch with only defaults as a starting point.
 | 
			
		||||
  #
 | 
			
		||||
 | 
			
		||||
  echo "- Updating '$IMPORT' from Marlin..."
 | 
			
		||||
 | 
			
		||||
  git checkout $IMPORT || exit
 | 
			
		||||
 | 
			
		||||
  # Reset from the latest complete state
 | 
			
		||||
  #git reset --hard bugfix-2.0.x
 | 
			
		||||
 | 
			
		||||
  cp "$MARLINREPO/Marlin/"Configuration*.h "$CDEF/"
 | 
			
		||||
  #git add . && git commit -m "Changes from Marlin ($(date '+%Y-%m-%d %H:%M'))."
 | 
			
		||||
 | 
			
		||||
  echo "- Fix up the import branch and come back."
 | 
			
		||||
 | 
			
		||||
  read -p "- Ready to init [y/N] ?" INIT_YES
 | 
			
		||||
  echo
 | 
			
		||||
 | 
			
		||||
  [[ $INIT_YES == 'Y' || $INIT_YES == 'y' ]] || { echo "Done." ; exit ; }
 | 
			
		||||
 | 
			
		||||
  ACTION='init'
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [[ $ACTION == "init" ]]; then
 | 
			
		||||
  #
 | 
			
		||||
  # Copy all configs from a source such as MarlinFirmware/Marlin
 | 
			
		||||
  # or one of the import branches here, then use them to construct
 | 
			
		||||
  # a 'BASE' branch with only defaults as a starting point.
 | 
			
		||||
  #
 | 
			
		||||
 | 
			
		||||
  echo "- Initializing BASE branch..."
 | 
			
		||||
 | 
			
		||||
  # Use the import branch as the source
 | 
			
		||||
  git checkout $IMPORT || exit
 | 
			
		||||
 | 
			
		||||
  # Copy to a temporary location
 | 
			
		||||
  TEMP=$( mktemp -d ) ; cp -R config $TEMP
 | 
			
		||||
 | 
			
		||||
  # Make sure we're not on the 'BASE' branch...
 | 
			
		||||
  git checkout init-repo >/dev/null 2>&1 || exit
 | 
			
		||||
 | 
			
		||||
  # Create 'BASE' as a copy of 'init-repo' (README, LICENSE, etc.)
 | 
			
		||||
  git branch -D BASE 2>/dev/null
 | 
			
		||||
  git checkout init-repo -b BASE || exit
 | 
			
		||||
 | 
			
		||||
  # Copy all config files into place
 | 
			
		||||
  echo "- Copying all configs from fresh $IMPORT..."
 | 
			
		||||
  cp -R "$TEMP/config" .
 | 
			
		||||
 | 
			
		||||
  # Delete anything that's not a Configuration file
 | 
			
		||||
  find config -type f \! -name "Configuration*" -exec rm "{}" \;
 | 
			
		||||
 | 
			
		||||
  # DEBUG: Commit the original config files for comparison
 | 
			
		||||
  ((COMMIT_STEPS)) && git add . >/dev/null && git commit -m "Commit for comparison" >/dev/null
 | 
			
		||||
 | 
			
		||||
  # Init Cartesian/SCARA/TPARA configurations to default
 | 
			
		||||
  echo "- Initializing Cartesian/SCARA/TPARA configs to default state..."
 | 
			
		||||
 | 
			
		||||
  find "$CEXA" -name $BC ! -path */delta/* -print0 \
 | 
			
		||||
    | while read -d $'\0' F ; do cp "$CDEF/$BC" "$F" ; done
 | 
			
		||||
  find "$CEXA" -name $AC ! -path */delta/* -print0 \
 | 
			
		||||
    | while read -d $'\0' F ; do cp "$CDEF/$AC" "$F" ; done
 | 
			
		||||
 | 
			
		||||
  # DEBUG: Commit the reset for review
 | 
			
		||||
  ((COMMIT_STEPS)) && git add . >/dev/null && git commit -m "Reset Cartesian/SCARA/TPARA configs..." >/dev/null
 | 
			
		||||
 | 
			
		||||
  # Create base Delta configurations
 | 
			
		||||
  cp "$CDEF"/* "$CEXA/delta/generic"
 | 
			
		||||
 | 
			
		||||
  # DEBUG: Commit the reset for review
 | 
			
		||||
  ((COMMIT_STEPS)) && git add . >/dev/null && git commit -m "Reset Generic Delta..." >/dev/null
 | 
			
		||||
 | 
			
		||||
  cp -R "$TEMP/$CEXA/delta/generic"/Conf* "$CEXA/delta/generic"
 | 
			
		||||
 | 
			
		||||
  # DEBUG: Commit Generic Delta changes for review
 | 
			
		||||
  ((COMMIT_STEPS)) && git add . >/dev/null && git commit -m "Apply Generic Delta..." >/dev/null
 | 
			
		||||
 | 
			
		||||
  # Reset all Delta configs to the generic version
 | 
			
		||||
  find "$CEXA/delta" -name $BC ! -path */generic/* -print0 \
 | 
			
		||||
    | while read -d $'\0' F ; do cp "$CEXA/delta/generic/$BC" "$F" ; done
 | 
			
		||||
  find "$CEXA/delta" -name $AC ! -path */generic/* -print0 \
 | 
			
		||||
    | while read -d $'\0' F ; do cp "$CEXA/delta/generic/$AC" "$F" ; done
 | 
			
		||||
 | 
			
		||||
  # DEBUG: Commit the Delta reset for review
 | 
			
		||||
  ((COMMIT_STEPS)) && git add . >/dev/null && git commit -m "Reset Delta configs..." >/dev/null
 | 
			
		||||
 | 
			
		||||
  # Reset all SCARA configs to the default cartesian
 | 
			
		||||
  find "$CEXA/SCARA" -name $BC \
 | 
			
		||||
    | while read -d $'\0' F ; do cp "$CDEF/$BC" "$F" ; done
 | 
			
		||||
  find "$CEXA/SCARA" -name $AC \
 | 
			
		||||
    | while read -d $'\0' F ; do cp "$CDEF/$AC" "$F" ; done
 | 
			
		||||
 | 
			
		||||
  # DEBUG: Commit the SCARA reset for review
 | 
			
		||||
  ((COMMIT_STEPS)) && git add . >/dev/null && git commit -m "Reset SCARA..." >/dev/null
 | 
			
		||||
 | 
			
		||||
  # Reset all TPARA configs to the default cartesian
 | 
			
		||||
  find "$CEXA/TPARA" -name $BC \
 | 
			
		||||
    | while read -d $'\0' F ; do cp "$CDEF/$BC" "$F" ; done
 | 
			
		||||
  find "$CEXA/TPARA" -name $AC \
 | 
			
		||||
    | while read -d $'\0' F ; do cp "$CDEF/$AC" "$F" ; done
 | 
			
		||||
 | 
			
		||||
  # DEBUG: Commit the TPARA reset for review
 | 
			
		||||
  ((COMMIT_STEPS)) && git add . >/dev/null && git commit -m "Reset TPARA..." >/dev/null
 | 
			
		||||
 | 
			
		||||
  # Update the %VERSION% in the README.md file
 | 
			
		||||
  SED=$(which gsed sed | head -n1)
 | 
			
		||||
  VERS=$( echo $EXPORT | $SED 's/release-//' )
 | 
			
		||||
  eval "${SED} -E -i~ -e 's/%VERSION%/$VERS/g' README.md"
 | 
			
		||||
  rm -f README.md~
 | 
			
		||||
 | 
			
		||||
  # NOT DEBUGGING: Commit the 'BASE', ready for customizations
 | 
			
		||||
  ((COMMIT_STEPS)) || git add . >/dev/null && git commit --amend --no-edit >/dev/null
 | 
			
		||||
 | 
			
		||||
  # Create a new branch from 'BASE' for the final result
 | 
			
		||||
  echo "- Creating '$EXPORT' branch for the result..."
 | 
			
		||||
  git branch -D $EXPORT 2>/dev/null
 | 
			
		||||
  git checkout -b $EXPORT || exit
 | 
			
		||||
 | 
			
		||||
  # Delete temporary branch
 | 
			
		||||
  git branch -D BASE 2>/dev/null
 | 
			
		||||
 | 
			
		||||
  echo "- Applying example config customizations..."
 | 
			
		||||
  cp -R "$TEMP/config" .
 | 
			
		||||
  find config -type f \! -name "Configuration*" -exec rm "{}" \;
 | 
			
		||||
 | 
			
		||||
  echo "- Adding path labels to all configs..."
 | 
			
		||||
  config-labels.py >/dev/null 2>&1
 | 
			
		||||
 | 
			
		||||
  git add . >/dev/null && git commit -m "Examples Customizations" >/dev/null
 | 
			
		||||
 | 
			
		||||
  echo "- Copying extras from Marlin..."
 | 
			
		||||
  cp -R "$TEMP/config" .
 | 
			
		||||
 | 
			
		||||
  # Apply labels again!
 | 
			
		||||
  config-labels.py >/dev/null 2>&1
 | 
			
		||||
 | 
			
		||||
  git add . >/dev/null && git commit -m "Examples Extras" >/dev/null
 | 
			
		||||
 | 
			
		||||
  rm -rf $TEMP
 | 
			
		||||
 | 
			
		||||
  git push -f --set-upstream upstream "$EXPORT"
 | 
			
		||||
 | 
			
		||||
else
 | 
			
		||||
 | 
			
		||||
  echo "Usage: mfconfig init|manual|rebase"
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
		Reference in New Issue
	
	Block a user