Skip to content

GiovanH/ACNH-Printer

Repository files navigation

ACNH Pattern Printer

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.

Usage

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.

  • --dump saves the internal canvas as an image
  • --gen generates the c steps file needed to compile the teensy payload
  • --preview uses ScalerTest_Windows.exe to generate the filtered output ACNH will use
  • --bogo checks all known methods and uses the fastest variant
  • --make automatically executes make after completion to save the payload to an attached Teensy. This assumes the executable ../teensy_loader_cli exists.

Once the steps file is generated you can compile the payload:

  1. make compiles the payload and saves it as Joystick.hex
  2. teensy_loader_cli --mcu AT90USB1286 -w -v Joystick.hex uploads it to the microcontroller

To execute the pattern on the printer:

  1. In game, open the pattern editor
  2. 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.
  3. Attach the teensy as a controller. The payload will automatically confirm the controller selection screen.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors