AnnePro2 Tools Setup Guide

AnnePro2 Tools Setup Guide
annepro2

Steps to Compile AnnePro2 Tools

  1. Install Rust Toolchain
  2. Download or Clone the AnnePro2-Tools Project
  3. Compile the Tool
    • Run the following command to compile the tool:
      cargo build --release
    • After compiling, the tool will be available in ./target/release/annepro2_tools. (From here on, we’ll refer to this as annepro2_tools).
  4. Add PATH
    • Add the following path to your environment variables:
      C:\Users\user\Desktop\annepro2\AnnePro2-Tools-master\target\release

Manually Compiling the QMK Firmware

  1. Clone the QMK Firmware Fork
    • Use the command below to clone the forked QMK firmware (install Git if you haven't already):
      git clone https://github.com/your_fork_of_qmk_firmware
  2. Install Required Toolchains
    • Obtain the gcc-arm-none-eabi toolchain, which is required for building the project.
  3. Compile the Firmware
    • Use the appropriate command for your revision:
      # For C15 Revision
      make annepro2/c15

      # For C18 Revision
      make annepro2/c18
  4. Locate the Compiled File
    • After a successful build, you should see a file named annepro2_c15(18)_default.bin in your directory. This file is a compiled keymap profile, ready to be flashed onto your keyboard.
    • Other Keymap Options: You’ll also find additional default and user-created keymaps in the same directory. For specific information on their differences, check their keymap.c file in annepro_qmk/keyboards/annepro2/keymaps/profile/keymap.c.

Available Keymap Profiles

  • annepro2_c15(18)_default.bin: Matches the default Obinskit mapping, with no Caps Lock or layer indicators.
  • annepro2_c15(18)_default-full-caps.bin: Same as above but switches LEDs to red to indicate Caps Lock.
  • annepro2_c15(18)_default-layer-indicators.bin: Includes Caps Lock indicator and LED changes to show the active layer.

For more customization information, check the customization page.


Setting Up Cargo and GCC Dependencies

  1. Install Rust Toolchain
    Install the latest stable Rust toolchain using rustup.
  2. Install MSYS2
    • Go to MSYS2.org and download msys2-x86_64-20220603.exe (or the latest version).
    • Follow the installation steps and note the installation path to add it to your environment PATH.
  3. Update Packages and Databases
    • Open the MSYS2 terminal and run:
      pacman -Syu
    • (Optional) Run the update command again to ensure all packages are up-to-date:
      pacman -Syu
  4. Install Base Development Packages
    • In the MSYS2 terminal, install essential packages by running:
      pacman -S --needed base-devel mingw-w64-x86_64-toolchain
    • Note: Press enter if you’re unsure which packages to select.
  5. Add gcc.exe to PATH
    • Find gcc.exe in the C:\msys64\mingw64\bin folder (or your MSYS2 installation path) and add it to your environment PATH.
  6. Restart Your Terminal
    • Close and reopen your terminal to apply the updated environment paths.

Flashing the Firmware

  1. Flash the Main Binary
    • Run:bashCopiar códigoannepro2_tools annepro2_c18_default-layer-indicators-notarior.bin
  2. Flash the LED Binary
    • Run:bashCopiar códigoannepro2_tools --boot -t led annepro2-shine-C18.bin

Building the Shine Firmware

  1. Clone the Shine Repository
    • Use the following command to clone the repository:
      git clone https://github.com/OpenAnnePro/annepro2-shine.git --recursive
  2. Build the Firmware
    • For C15 Revision:bashCopiar códigomake C15
    • For C18 Revision:bashCopiar códigomake C18
    • To build for both:
      make
  3. Locate the Built Binary
    • If built successfully, the binary file will be in the build/ directory. Flash the .bin file using annepro2_tools.

Notes on Flashing

  • Using --boot automatically restarts the keyboard in normal mode after flashing. Omit this option if you plan to flash additional components.
  • Enter IAP Mode: With QMK installed, you can switch to IAP mode by pressing LSHIFT + RSHIFT + B. This is helpful for further customization. Check the QMK Docs for more information.