qmk_firmware/docs
Sergey Vlasov 65c9752762
Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403)
* Fix default ADC_RESOLUTION for ADCv3 (and ADCv4)

Recent ChibiOS update removed ADC_CFGR1_RES_10BIT from the ADCv3 headers
(that macro should not have been there, because ADCv3 has CFGR instead of
CFGR1).  Fix the default value for ADC_RESOLUTION to use ADC_CFGR_RES_10BITS
if it is defined (that name is used for ADCv3 and ADCv4).

* Update ADC docs to match the actually used resolution

ADC driver for ChibiOS actually uses the 10-bit resolution by default
(probably to match AVR); fix the documentation accordingly.  Also add
both ADC_CFGR_RES_10BITS and ADC_CFGR1_RES_10BIT constants (these names
differ according to the ADC implementation in the particular MCU).

* Fix pinToMux() for B12 and B13 on STM32F3xx

Testing on STM32F303CCT6 revealed that the ADC mux values for B12 and
B13 pins were wrong.

* Add support for all possible analog pins on STM32F1xx

Added ADC mux values for pins A0...A7, B0, B1, C0...C5 on STM32F1xx
(they are the same at least for STM32F103x8 and larger F103 devices, and
also F102, F105, F107 families).  Actually tested on STM32F103C8T6
(therefore pins C0...C5 were not tested).

Pins F6...F10, which are present on STM32F103x[C-G] in 144-pin packages,
cannot be supported at the moment, because those pins are connected only
to ADC3, but the ChibiOS ADC driver for STM32F1xx supports only ADC1.

* Add support for all possible analog pins on STM32F4xx

Added ADC mux values for pins A0...A7, B0, B1, C0...C5 and optionally
F3...F10 (if STM32_ADC_USE_ADC3 is enabled).  These mux values are
apparently the same for all F4xx devices, except some smaller devices may
not have ADC3.

Actually tested on STM32F401CCU6, STM32F401CEU6, STM32F411CEU6 (using
various WeAct “Blackpill” boards); only pins A0...A7, B0, B1 were tested.

Pins F3...F10 are inside `#if STM32_ADC_USE_ADC3` because some devices
which don't have ADC3 also don't have the GPIOF port, therefore the code
which refers to Fx pins does not compile.

* Fix STM32F3xx ADC mux table in documentation

The ADC driver documentation had some errors in the mux table for STM32F3xx.
Fix this table to match the datasheet and the actual code (mux settings for
B12 and B13 were also tested on a real STM32F303CCT6 chip).

* Add STM32F1xx ADC pins to the documentation

* Add STM32F4xx ADC pins to the documentation
2021-04-25 11:15:37 +10:00
..
ChangeLog Change BOOTMAGIC_ENABLE=yes to use Bootmagic Lite (#12172) 2021-04-12 21:18:52 +02:00
de [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
es [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
fr-fr [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
gitbook/images
he-il [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
ja Terrazzo: Fix wrong LED Matrix function names (#12561) 2021-04-13 19:51:31 +10:00
ko-kr [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
pt-br [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
ru-ru [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
zh-cn [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
.nojekyll
_langs.md
_summary.md Add support for tab completion (#12411) 2021-04-14 19:00:22 -07:00
adc_driver.md Update ADC driver for STM32F1xx, STM32F3xx, STM32F4xx (#12403) 2021-04-25 11:15:37 +10:00
api_development_environment.md Add API documentation 2020-03-05 16:00:10 -08:00
api_development_overview.md Add API documentation 2020-03-05 16:00:10 -08:00
api_docs.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
api_overview.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
arm_debugging.md
audio_driver.md Audio system overhaul (#11820) 2021-02-15 09:40:38 +11:00
breaking_changes.md Fix Breaking Change date (#12272) 2021-04-09 12:41:29 +10:00
breaking_changes_history.md 2021 February 27 Breaking Changes Changelog (#11975) 2021-02-27 12:10:23 -08:00
breaking_changes_instructions.md 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
cli.md Streamline the macos install process 2020-05-18 22:46:33 -07:00
cli_commands.md Add a qmk format-json command that will format JSON files (#12372) 2021-03-25 22:38:10 +11:00
cli_configuration.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
cli_development.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
cli_tab_complete.md Add support for tab completion (#12411) 2021-04-14 19:00:22 -07:00
CNAME
coding_conventions_c.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
coding_conventions_python.md Move everything to Python 3.6 (#8835) 2020-04-18 22:00:56 +02:00
compatible_microcontrollers.md Add STM32G431 and STM32G474 board definitions. (#11793) 2021-02-06 11:27:46 +11:00
config_options.md Audio system overhaul (#11820) 2021-02-15 09:40:38 +11:00
configurator_default_keymaps.md [Docs] add "Adding Default Keymaps to QMK Configurator" doc (#10049) 2020-10-18 03:50:32 +11:00
configurator_step_by_step.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
configurator_troubleshooting.md Polish Configurator section 2020-03-05 16:00:10 -08:00
contributing.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
custom_matrix.md
custom_quantum_functions.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
data_driven_config.md Create a system to map between info.json and config.h/rules.mk (#11548) 2021-01-31 12:46:00 -08:00
documentation_best_practices.md [Docs] fix file path (#9540) 2020-06-25 15:58:36 +10:00
documentation_templates.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
driver_installation_zadig.md Zadig docs: add APM32 device name (#11356) 2020-12-30 16:35:06 +00:00
eeprom_driver.md Add i2c 24LC64 eeprom (#11200) 2020-12-14 05:50:50 +11:00
faq_build.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
faq_debug.md Documentation changes SPLIT_USB_DETECT and hid_listen udev rules (#11665) 2021-03-03 13:31:41 -08:00
faq_general.md Fix typos and reword some sentences in FAQs (#11546) 2021-01-23 13:41:29 -08:00
faq_keymap.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
faq_misc.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
feature_advanced_keycodes.md [Docs] New section to modifier docs: Checking Modifier State (#10550) 2021-02-28 16:42:17 +11:00
feature_audio.md A few small typo fixes in docs (#12524) 2021-04-11 12:50:45 +02:00
feature_auto_shift.md Add Per Key functionality for AutoShift (#11536) 2021-04-19 20:34:14 -07:00
feature_backlight.md A few small typo fixes in docs (#12524) 2021-04-11 12:50:45 +02:00
feature_bluetooth.md Add description in Bluetooth docs for requiring NKRO to be disabled (#10359) 2020-09-22 22:31:37 +10:00
feature_bootmagic.md Add support for Bootmagic lite when using SPLIT_HAND_PIN (#8347) 2020-03-21 23:10:39 +00:00
feature_combo.md changed type of process_combo_event argument in tutorial (#10621) 2020-10-13 02:14:37 +11:00
feature_command.md
feature_debounce_type.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
feature_dip_switch.md add DIP_SWITCH_MATRIX_GRID support (#8772) 2020-07-04 23:20:49 +09:00
feature_dynamic_macros.md Fix typo in docs/feature_dynamic_macros (#10085) 2020-08-19 22:59:59 +01:00
feature_encoders.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_grave_esc.md
feature_haptic_feedback.md [Docs] Update feature_haptic_feedback.md (#11859) 2021-02-11 10:53:55 -08:00
feature_hd44780.md fixed typo for clear lcd screen function in hd44780 docs (#9086) 2020-05-13 19:06:41 +01:00
feature_joystick.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_key_lock.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
feature_layers.md Improve upon the 'Caveats' section of the Layers and Mod-Tap documentation (#12306) 2021-03-25 22:44:28 +11:00
feature_layouts.md
feature_leader_key.md feat: infinite timeout for leader key (#6580) 2021-04-25 10:22:47 +10:00
feature_led_indicators.md Indicator LEDs as config (#10816) 2020-11-08 22:31:16 +00:00
feature_led_matrix.md Terrazzo: Fix wrong LED Matrix function names (#12561) 2021-04-13 19:51:31 +10:00
feature_macros.md [Docs] New section to modifier docs: Checking Modifier State (#10550) 2021-02-28 16:42:17 +11:00
feature_mouse_keys.md Add support for 8 buttons to mouse report (#10807) 2021-01-28 04:38:34 +11:00
feature_oled_driver.md 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00
feature_pointing_device.md Merge remote-tracking branch 'origin/master' into develop 2021-02-04 01:25:39 +00:00
feature_ps2_mouse.md fix(feature_ps2_mouse): fix Scroll Button example (#11669) 2021-01-24 14:51:25 +00:00
feature_rawhid.md Updated Raw HID docs to clarify packet/report length (#11211) 2020-12-23 08:04:55 +11:00
feature_rgb_matrix.md Merge remote-tracking branch 'origin/master' into develop 2021-04-03 15:29:28 +00:00
feature_rgblight.md Add missing RGB_MODE_TWINKLE / RGB_M_TW keycodes (#11935) 2021-04-15 19:32:17 -04:00
feature_sequencer.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
feature_space_cadet.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
feature_split_keyboard.md Documentation changes SPLIT_USB_DETECT and hid_listen udev rules (#11665) 2021-03-03 13:31:41 -08:00
feature_stenography.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
feature_swap_hands.md One shot support for swap hands (#8590) 2020-05-14 07:36:55 +10:00
feature_tap_dance.md More Tap Dance docs improvements (#12358) 2021-03-24 19:46:22 +00:00
feature_terminal.md
feature_thermal_printer.md
feature_unicode.md Add suggestion for indirect unicode input on Linux (#10854) 2021-02-28 15:53:40 +11:00
feature_userspace.md Normalise include statements in core code (#11153) 2020-12-11 13:45:24 +11:00
feature_velocikey.md
feature_wpm.md Enhancement of WPM feature (#11727) 2021-04-18 23:26:37 -07:00
flashing.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
flashing_bootloadhid.md
fuse.txt Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
getting_started_docker.md Add support for using podman to util/docker_build.sh (#10819) 2021-02-28 15:59:42 +11:00
getting_started_github.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
getting_started_introduction.md
getting_started_make_guide.md Documentation update (#12484) 2021-04-11 12:49:12 +02:00
getting_started_vagrant.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
hand_wire.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
hardware_avr.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
hardware_drivers.md Add customisable EEPROM driver selection (#7274) 2020-01-24 12:45:58 +11:00
hardware_keyboard_guidelines.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
how_a_matrix_works.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
how_keyboards_work.md
i2c_driver.md Rework I2C driver docs (#11658) 2021-02-08 07:45:59 +11:00
index.html Simplify the visual flow of the getting started page (#11316) 2020-12-27 16:56:10 +00:00
internals_defines.md
internals_gpio_control.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
internals_input_callback_reg.md
internals_midi_device.md
internals_midi_device_setup_process.md
internals_midi_util.md
internals_send_functions.md
internals_sysex_tools.md
isp_flashing_guide.md [Docs] Update isp_flashing_guide.md (#11777) 2021-02-07 10:48:34 -08:00
keycodes.md Add ability to toggle One Shot functionality (#4198) 2021-03-01 08:57:02 -08:00
keycodes_basic.md Update keycode docs (#11343) 2020-12-30 07:51:36 +11:00
keycodes_us_ansi_shifted.md
keymap.md [Docs] Clarify layer transparency keymap.md (#9081) 2020-05-16 00:35:19 -07:00
mod_tap.md Improve upon the 'Caveats' section of the Layers and Mod-Tap documentation (#12306) 2021-03-25 22:44:28 +11:00
newbs.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
newbs_building_firmware.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_building_firmware_configurator.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_flashing.md A few small typo fixes in docs (#12524) 2021-04-11 12:50:45 +02:00
newbs_getting_started.md Update github instruction link in newbs_getting_started.md (#12510) 2021-04-11 12:45:30 +02:00
newbs_git_best_practices.md
newbs_git_resolving_merge_conflicts.md
newbs_git_resynchronize_a_branch.md
newbs_git_using_your_master_branch.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
newbs_learn_more_resources.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
newbs_testing_debugging.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
one_shot_keys.md Add ability to toggle One Shot functionality (#4198) 2021-03-01 08:57:02 -08:00
other_eclipse.md eclipse: recommend changing the default project make target (#12447) 2021-04-19 02:20:17 -07:00
other_vscode.md Update other_vscode.md of Japanese document (#10604) 2020-10-15 03:24:26 +09:00
platformdev_chibios_earlyinit.md Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
platformdev_selecting_arm_mcu.md Add documentation for selecting an Arm MCU (#9046) 2020-06-10 23:32:58 +01:00
power.txt
pr_checklist.md Add additional info to PR Checklist (#12630) 2021-04-20 20:12:57 +02:00
proton_c_conversion.md Add board specific to Proton-C, with usual defaults turned on. (#10976) 2020-12-03 13:04:28 +11:00
qmk.css
qmk_custom_dark.css Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
qmk_custom_light.css Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
quantum_keycodes.md Add explicit id tags to externally linked headers 2020-03-05 16:00:10 -08:00
README.md Small tweaks to docs to make them more user friendly (#11518) 2021-01-20 18:46:01 +00:00
redirects.json
ref_functions.md [Docs] Add EEP_RST keycode to "Wiping the EEPROM" section (#11830) 2021-02-12 15:56:36 -08:00
reference_configurator_support.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
reference_glossary.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
reference_info_json.md Merge remote-tracking branch 'origin/master' into develop 2021-01-30 11:01:46 +00:00
reference_keymap_extras.md Improved Language Specific Keycodes for US International and Extended Layouts (#11307) 2021-01-02 15:54:48 +11:00
serial_driver.md Configurable serial usart timeout (#11057) 2020-11-30 03:29:35 -08:00
spi_driver.md Merge remote-tracking branch 'upstream/master' into develop 2021-02-08 07:57:09 +11:00
support.md Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
sw.js
syllabus.md [Docs] Fixed minor typos (#8860) 2020-04-19 23:04:26 +01:00
tap_hold.md Update IGNORE_MOD_TAP_INTERRUPT (#11452) 2021-02-15 21:52:57 -05:00
translating.md
uart_driver.md UART driver refactor (#11637) 2021-01-27 17:42:49 +11:00
understanding_qmk.md Split transport mirror (#11046) 2021-02-16 11:30:33 +11:00
unit_testing.md [Docs] Use HTTPS for images and links where possible (#11695) 2021-01-30 22:00:56 +11:00
usb_nkro.txt
ws2812_driver.md ARM WS2812 SPI config (baudrate and circular buffer) (#12216) 2021-03-19 19:29:18 +11:00

Quantum Mechanical Keyboard Firmware

What is QMK Firmware?

QMK (Quantum Mechanical Keyboard) is an open source community centered around developing computer input devices. The community encompasses all sorts of input devices, such as keyboards, mice, and MIDI devices. A core group of collaborators maintains QMK Firmware, QMK Configurator, QMK Toolbox, qmk.fm, and this documentation with the help of community members like you.

Get Started

?> Basic QMK Configurator
User friendly graphical interfaces, no programming knowledge required.

?> Advanced Use The Source
More powerful, but harder to use.

Make It Yours

QMK has lots of features to explore, and a good deal of reference documentation to dig through. Most features are taken advantage of by modifying your keymap, and changing the keycodes.

Need help?

Check out the support page to see how you can get help using QMK.

Give Back

There are a lot of ways you can contribute to the QMK Community. The easiest way to get started is to use it and spread the word to your friends.