Accelstepper - how to switch from fullstep to halfstep in loop?
The documentation notes a setCurrentPosition() function.


void AccelStepper::setCurrentPosition ( long position )

  
  Resets the current position of the motor, so that wherever the motor happens
  to be right now is considered to be the new 0 position. Useful for
  setting a zero position on a stepper after an initial hardware
  positioning move. Has the side effect of setting the current motor
  speed to 0.
  
  Parameters
  
  position The position in steps of wherever the motor happens to be right now.




Use the currentPosition() function to get the current position from either mode. You will have to decide whether you want "fast" steps or "slow" steps to be the actual count, and when you switch from one context to the other, grab the current position of the last used mode, and set a new position in the mode you will use next, possibly multiplying or dividing by 2 as needed.