import machine
import utime
import sys
wave_drive_step_pattern = 0b10000100001000011000010000100001 #1000 0100 0010 0001 1000 0100 0010 0001
# functions
def rotate_step_correct(pattern):
four_MSB = pattern >> 28 # pattern is 32-bits
if four_MSB == 4:
return (wave_drive_step_pattern << 4 | wave_drive_step_pattern >> 28) & 0xFFFFFFFF
elif four_MSB == 2:
return (wave_drive_step_pattern << 8 | wave_drive_step_pattern >> 24) & 0xFFFFFFFF
elif four_MSB == 1:
return (wave_drive_step_pattern << 12 | wave_drive_step_pattern >> 20) & 0xFFFFFFFF
else:
return wave_drive_step_pattern
step_test_pattern_0 = 0b10000100001000011000010000100001
step_test_pattern_1 = 0b01000010000110000100001000011000
step_test_pattern_2 = 0b00100001100001000010000110000100
step_test_pattern_3 = 0b00011000010000100001100001000010
step_test_pattern_4 = 0
print(bin(wave_drive_step_pattern))
print(bin(rotate_step_correct(step_test_pattern_3)))