Tweaked some delays and added back in square wave code and removed all debug logs (commented out). Finally got square wave to capture on scope, appeared to be about 0.1ms per bit; still need to test on better quality scope.