Generates a teensy payload that prints a given pattern in Animal Crossing: New Horizons
See https://blog.giovanh.com/blog/2020/11/05/acnh-printer-a-writeup/ for full writeup.
The main executable is makesteps.py:
python3 makesteps.py --help
usage: makesteps.py [-h] [--dump | --no-dump] [--gen | --no-gen] [--preview | --no-preview] [--bogo | --no-bogo] [--make | --no-make] infile
positional arguments:
infile Input pattern file
options:
-h, --help show this help message and exit
--dump Save pattern (Default: True)
--no-dump Save pattern (Default: True)
--gen Generate steps file (Default: True)
--no-gen Generate steps file (Default: True)
--preview Generate scaled preview file (Default: True)
--no-preview Generate scaled preview file (Default: True)
--bogo Find fastest solution (Default: True)
--no-bogo Find fastest solution (Default: True)
--make Automatically run make after completion (Default: False)
--no-make Automatically run make after completion (Default: False)
It takes an infile (a 32x32 image file) as input.
--dumpsaves the internal canvas as an image--gengenerates the c steps file needed to compile the teensy payload--previewusesScalerTest_Windows.exeto generate the filtered output ACNH will use--bogochecks all known methods and uses the fastest variant--makeautomatically executesmakeafter completion to save the payload to an attached Teensy. This assumes the executable../teensy_loader_cliexists.
Once the steps file is generated you can compile the payload:
makecompiles the payload and saves it asJoystick.hexteensy_loader_cli --mcu AT90USB1286 -w -v Joystick.hexuploads it to the microcontroller
To execute the pattern on the printer:
- In game, open the pattern editor
- Disconnect the controller and wait for the controller pop-up. This can be done easily by using detached joycons and tapping the pair button once to disconnect them.
- Attach the teensy as a controller. The payload will automatically confirm the controller selection screen.