summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/_sidebar.md100
-rw-r--r--docs/_summary.md2
-rw-r--r--docs/index.html2
-rw-r--r--docs/proton_c_conversion.md21
-rw-r--r--docs/zh/_summary.md (renamed from docs/zh/_sidebar.md)0
5 files changed, 24 insertions, 101 deletions
diff --git a/docs/_sidebar.md b/docs/_sidebar.md
deleted file mode 100644
index b209c5e0b8..0000000000
--- a/docs/_sidebar.md
+++ /dev/null
@@ -1,100 +0,0 @@
-* [Complete Newbs Guide](newbs.md)
- * [Getting Started](newbs_getting_started.md)
- * [Building Your First Firmware](newbs_building_firmware.md)
- * [Flashing Firmware](newbs_flashing.md)
- * [Testing and Debugging](newbs_testing_debugging.md)
- * [Best Practices](newbs_best_practices.md)
- * [Learning Resources](newbs_learn_more_resources.md)
-
-* [QMK Basics](README.md)
- * [QMK Introduction](getting_started_introduction.md)
- * [Contributing to QMK](contributing.md)
- * [How to Use Github](getting_started_github.md)
- * [Getting Help](getting_started_getting_help.md)
-
-* [FAQ](faq.md)
- * [General FAQ](faq_general.md)
- * [Build/Compile QMK](faq_build.md)
- * [Debugging/Troubleshooting QMK](faq_debug.md)
- * [Keymap](faq_keymap.md)
-
-* Detailed Guides
- * [Install Build Tools](getting_started_build_tools.md)
- * [Vagrant Guide](getting_started_vagrant.md)
- * [Build/Compile Instructions](getting_started_make_guide.md)
- * [Flashing Firmware](flashing.md)
- * [Customizing Functionality](custom_quantum_functions.md)
- * [Keymap Overview](keymap.md)
-
-* [Hardware](hardware.md)
- * [AVR Processors](hardware_avr.md)
- * [Drivers](hardware_drivers.md)
-
-* Reference
- * [Keyboard Guidelines](hardware_keyboard_guidelines.md)
- * [Config Options](config_options.md)
- * [Keycodes](keycodes.md)
- * [Documentation Best Practices](documentation_best_practices.md)
- * [Documentation Templates](documentation_templates.md)
- * [Glossary](reference_glossary.md)
- * [Unit Testing](unit_testing.md)
- * [Useful Functions](ref_functions.md)
- * [Configurator Support](reference_configurator_support.md)
-
-* [Features](features.md)
- * [Basic Keycodes](keycodes_basic.md)
- * [US ANSI Shifted Keys](keycodes_us_ansi_shifted.md)
- * [Quantum Keycodes](quantum_keycodes.md)
- * [Advanced Keycodes](feature_advanced_keycodes.md)
- * [Audio](feature_audio.md)
- * [Auto Shift](feature_auto_shift.md)
- * [Backlight](feature_backlight.md)
- * [Bluetooth](feature_bluetooth.md)
- * [Bootmagic](feature_bootmagic.md)
- * [Combos](feature_combo)
- * [Command](feature_command.md)
- * [Dynamic Macros](feature_dynamic_macros.md)
- * [Encoders](feature_encoders.md)
- * [Grave Escape](feature_grave_esc.md)
- * [Key Lock](feature_key_lock.md)
- * [Layouts](feature_layouts.md)
- * [Leader Key](feature_leader_key.md)
- * [Macros](feature_macros.md)
- * [Mouse Keys](feature_mouse_keys.md)
- * [One Shot Keys](feature_advanced_keycodes.md#one-shot-keys)
- * [Pointing Device](feature_pointing_device.md)
- * [PS/2 Mouse](feature_ps2_mouse.md)
- * [RGB Lighting](feature_rgblight.md)
- * [RGB Matrix](feature_rgb_matrix.md)
- * [Space Cadet Shift](feature_space_cadet_shift.md)
- * [Space Cadet Shift Enter](feature_space_cadet_shift_enter.md)
- * [Stenography](feature_stenography.md)
- * [Swap Hands](feature_swap_hands.md)
- * [Tap Dance](feature_tap_dance.md)
- * [Terminal](feature_terminal.md)
- * [Thermal Printer](feature_thermal_printer.md)
- * [Unicode](feature_unicode.md)
- * [Userspace](feature_userspace.md)
-
-* For Makers and Modders
- * [Hand Wiring Guide](hand_wire.md)
- * [ISP Flashing Guide](isp_flashing_guide.md)
- * [ARM Debugging Guide](arm_debugging.md)
- * [I2C Driver](i2c_driver.md)
-
-* For a Deeper Understanding
- * [How Keyboards Work](how_keyboards_work.md)
- * [Understanding QMK](understanding_qmk.md)
-
-* Other Topics
- * [Using Eclipse with QMK](eclipse.md)
- * [Support](support.md)
-
-* QMK Internals (In Progress)
- * [Defines](internals_defines.md)
- * [Input Callback Reg](internals_input_callback_reg.md)
- * [Midi Device](internals_midi_device.md)
- * [Midi Device Setup Process](internals_midi_device_setup_process.md)
- * [Midi Util](internals_midi_util.md)
- * [Send Functions](internals_send_functions.md)
- * [Sysex Tools](internals_sysex_tools.md)
diff --git a/docs/_summary.md b/docs/_summary.md
index b209c5e0b8..c467a7231a 100644
--- a/docs/_summary.md
+++ b/docs/_summary.md
@@ -81,6 +81,8 @@
* [ISP Flashing Guide](isp_flashing_guide.md)
* [ARM Debugging Guide](arm_debugging.md)
* [I2C Driver](i2c_driver.md)
+ * [GPIO Controls](internals_gpio_control.md)
+ * [Proton C Conversion](proton_c_conversion.md)
* For a Deeper Understanding
* [How Keyboards Work](how_keyboards_work.md)
diff --git a/docs/index.html b/docs/index.html
index f5aa92b531..d6fdbdbcc1 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -17,7 +17,7 @@
name: 'QMK Firmware',
nameLink: 'https://qmk.fm/',
repo: 'qmk/qmk_firmware',
- loadSidebar: true,
+ loadSidebar: '_summary.md',
auto2top: true,
formatUpdated: '{YYYY}/{MM}/{DD} {HH}:{mm}',
search: {
diff --git a/docs/proton_c_conversion.md b/docs/proton_c_conversion.md
new file mode 100644
index 0000000000..be7d50a9f4
--- /dev/null
+++ b/docs/proton_c_conversion.md
@@ -0,0 +1,21 @@
+# Converting a board to use the Proton C
+
+If a board currently supported in QMK uses a Pro Micro (or compatible board) and you want to use the Proton C, you can generate the firmware by appending `CONVERT_TO_PROTON_C=yes` (or `CTPC=yes`) to your make argument, like this:
+
+ make 40percentclub/mf68:default CTPC=yes
+
+You can add the same argument to your keymap's `rules.mk`, which will accomplish the same thing.
+
+This exposes the `CONVERT_TO_PROTON_C` flag that you can use in your code with `#ifdef`s, like this:
+
+ #ifdef CONVERT_TO_PROTON_C
+ // Proton C code
+ #else
+ // Pro Micro code
+ #endif
+
+Before being able to compile, you may get some errors about `PORTB/DDRB`, etc not being defined, so you'll need to convert the keyboard's code to use the [GPIO Controls](internals_gpio_control.md) that will work for both ARM and AVR. This shouldn't affect the AVR builds at all.
+
+The Proton C only has one on-board LED (C13), and by default, the TXLED (D5) is mapped to it. If you want the RXLED (B0) mapped to it instead, add this like to your `config.h`:
+
+ #define CONVERT_TO_PROTON_C_RXLED
diff --git a/docs/zh/_sidebar.md b/docs/zh/_summary.md
index c167612929..c167612929 100644
--- a/docs/zh/_sidebar.md
+++ b/docs/zh/_summary.md