diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/cli_commands.md | 36 | ||||
| -rw-r--r-- | docs/feature_audio.md | 48 | ||||
| -rw-r--r-- | docs/feature_pointing_device.md | 3 | ||||
| -rw-r--r-- | docs/feature_rgblight.md | 15 | ||||
| -rw-r--r-- | docs/reference_info_json.md | 9 | ||||
| -rw-r--r-- | docs/ws2812_driver.md | 6 | 
6 files changed, 75 insertions, 42 deletions
| diff --git a/docs/cli_commands.md b/docs/cli_commands.md index cf174949af..60268122ca 100644 --- a/docs/cli_commands.md +++ b/docs/cli_commands.md @@ -791,3 +791,39 @@ This command converts a TTF font to an intermediate format for editing, before c  This command converts an intermediate font image to the QFF File Format. See the [Quantum Painter](quantum_painter.md?id=quantum-painter-cli) documentation for more information on this command. +## `qmk test-c` + +This command runs the C unit test suite. If you make changes to C code you should ensure this runs successfully. + +**Usage**: + +``` +qmk test-c [-h] [-t TEST] [-l] [-c] [-e ENV] [-j PARALLEL] + +options: +  -h, --help            show this help message and exit +  -t TEST, --test TEST  Test to run from the available list. Supports wildcard globs. May be passed multiple times. +  -l, --list            List available tests. +  -c, --clean           Remove object files before compiling. +  -e ENV, --env ENV     Set a variable to be passed to make. May be passed multiple times. +  -j PARALLEL, --parallel PARALLEL +                        Set the number of parallel make jobs; 0 means unlimited. +``` + +**Examples**: + +Run entire test suite: + +    qmk test-c + +List available tests: + +    qmk test-c --list + +Run matching test: + +    qmk test-c --test unicode* + +Run single test: + +    qmk test-c --test basic diff --git a/docs/feature_audio.md b/docs/feature_audio.md index 5227d063c3..05f32e9840 100644 --- a/docs/feature_audio.md +++ b/docs/feature_audio.md @@ -171,29 +171,31 @@ The available keycodes for audio are:  ## Audio Config -| Settings                        | Default              | Description                                                                   | -|---------------------------------|----------------------|-------------------------------------------------------------------------------| -|`AUDIO_PIN`                      | *Not defined*        |Configures the pin that the speaker is connected to.                           | -|`AUDIO_PIN_ALT`                  | *Not defined*        |Configures the pin for a second speaker or second pin connected to one speaker.| -|`AUDIO_PIN_ALT_AS_NEGATIVE`      | *Not defined*        |Enables support for one speaker connected to two pins.                         | -|`AUDIO_INIT_DELAY`               | *Not defined*        |Enables delay during startup song to accomidate for USB startup issues.        | -|`AUDIO_ENABLE_TONE_MULTIPLEXING` | *Not defined*        |Enables time splicing/multiplexing to create multiple tones simutaneously.     | -|`STARTUP_SONG`                   | `STARTUP_SOUND`      |Plays when the keyboard starts up (audio.c)                                    | -|`GOODBYE_SONG`                   | `GOODBYE_SOUND`      |Plays when you press the QK_BOOT key (quantum.c)                               | -|`AG_NORM_SONG`                   | `AG_NORM_SOUND`      |Plays when you press AG_NORM (process_magic.c)                                 | -|`AG_SWAP_SONG`                   | `AG_SWAP_SOUND`      |Plays when you press AG_SWAP (process_magic.c)                                 | -|`CG_NORM_SONG`                   | `AG_NORM_SOUND`      |Plays when you press CG_NORM (process_magic.c)                                 | -|`CG_SWAP_SONG`                   | `AG_SWAP_SOUND`      |Plays when you press CG_SWAP (process_magic.c)                                 | -|`MUSIC_ON_SONG`                  | `MUSIC_ON_SOUND`     |Plays when music mode is activated (process_music.c)                           | -|`MUSIC_OFF_SONG`                 | `MUSIC_OFF_SOUND`    |Plays when music mode is deactivated (process_music.c)                         | -|`MIDI_ON_SONG`                   | `MUSIC_ON_SOUND`     |Plays when midi mode is activated (process_music.c)                            | -|`MIDI_OFF_SONG`                  | `MUSIC_OFF_SOUND`    |Plays when midi mode is deactivated (process_music.c)                          | -|`CHROMATIC_SONG`                 | `CHROMATIC_SOUND`    |Plays when the chromatic music mode is selected (process_music.c)              | -|`GUITAR_SONG`                    | `GUITAR_SOUND`       |Plays when the guitar music mode is selected (process_music.c)                 | -|`VIOLIN_SONG`                    | `VIOLIN_SOUND`       |Plays when the violin music mode is selected (process_music.c)                 | -|`MAJOR_SONG`                     | `MAJOR_SOUND`        |Plays when the major music mode is selected (process_music.c)                  | -|`DEFAULT_LAYER_SONGS`            | *Not defined*        |Plays song when switched default layers with [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer)(quantum.c)       | -|`SENDSTRING_BELL`                | *Not defined*        |Plays chime when the "enter" ("\a") character is sent (send_string.c)          | +| Settings                         | Default              | Description                                                                                 | +|----------------------------------|----------------------|---------------------------------------------------------------------------------------------| +|`AUDIO_PIN`                       | *Not defined*        |Configures the pin that the speaker is connected to.                                         | +|`AUDIO_PIN_ALT`                   | *Not defined*        |Configures the pin for a second speaker or second pin connected to one speaker.              | +|`AUDIO_PIN_ALT_AS_NEGATIVE`       | *Not defined*        |Enables support for one speaker connected to two pins.                                       | +|`AUDIO_INIT_DELAY`                | *Not defined*        |Enables delay during startup song to accomidate for USB startup issues.                      | +|`AUDIO_ENABLE_TONE_MULTIPLEXING`  | *Not defined*        |Enables time splicing/multiplexing to create multiple tones simutaneously.                   | +|`AUDIO_POWER_CONTROL_PIN`         | *Not defined*        |Enables power control code to enable or cut off power to speaker (such as with PAM8302 amp). | +|`AUDIO_POWER_CONTROL_PIN_ON_STATE`| `1`                  |The state of the audio power control pin when audio is "on" - `1` for high, `0` for low.     | +|`STARTUP_SONG`                    | `STARTUP_SOUND`      |Plays when the keyboard starts up (audio.c)                                                  | +|`GOODBYE_SONG`                    | `GOODBYE_SOUND`      |Plays when you press the QK_BOOT key (quantum.c)                                             | +|`AG_NORM_SONG`                    | `AG_NORM_SOUND`      |Plays when you press AG_NORM (process_magic.c)                                               | +|`AG_SWAP_SONG`                    | `AG_SWAP_SOUND`      |Plays when you press AG_SWAP (process_magic.c)                                               | +|`CG_NORM_SONG`                    | `AG_NORM_SOUND`      |Plays when you press CG_NORM (process_magic.c)                                               | +|`CG_SWAP_SONG`                    | `AG_SWAP_SOUND`      |Plays when you press CG_SWAP (process_magic.c)                                               | +|`MUSIC_ON_SONG`                   | `MUSIC_ON_SOUND`     |Plays when music mode is activated (process_music.c)                                         | +|`MUSIC_OFF_SONG`                  | `MUSIC_OFF_SOUND`    |Plays when music mode is deactivated (process_music.c)                                       | +|`MIDI_ON_SONG`                    | `MUSIC_ON_SOUND`     |Plays when midi mode is activated (process_music.c)                                          | +|`MIDI_OFF_SONG`                   | `MUSIC_OFF_SOUND`    |Plays when midi mode is deactivated (process_music.c)                                        | +|`CHROMATIC_SONG`                  | `CHROMATIC_SOUND`    |Plays when the chromatic music mode is selected (process_music.c)                            | +|`GUITAR_SONG`                     | `GUITAR_SOUND`       |Plays when the guitar music mode is selected (process_music.c)                               | +|`VIOLIN_SONG`                     | `VIOLIN_SOUND`       |Plays when the violin music mode is selected (process_music.c)                               | +|`MAJOR_SONG`                      | `MAJOR_SOUND`        |Plays when the major music mode is selected (process_music.c)                                | +|`DEFAULT_LAYER_SONGS`             | *Not defined*        |Plays song when switched default layers with [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer)(quantum.c). | +|`SENDSTRING_BELL`                 | *Not defined*        |Plays chime when the "enter" ("\a") character is sent (send_string.c)                        |  ## Tempo  the 'speed' at which SONGs are played is dictated by the set Tempo, which is measured in beats-per-minute. Note lengths are defined relative to that. diff --git a/docs/feature_pointing_device.md b/docs/feature_pointing_device.md index b091dec08b..f55b308286 100644 --- a/docs/feature_pointing_device.md +++ b/docs/feature_pointing_device.md @@ -780,6 +780,9 @@ There are several functions that allow for more advanced interaction with the au  | `get_auto_mouse_timeout(void)`                             | Return the current timeout for turing off the layer                                  |                           |      `uint16_t` |  | `set_auto_mouse_debounce(uint16_t timeout)`                | Change/set the debounce for preventing layer activation                              |                           |    `void`(None) |  | `get_auto_mouse_debounce(void)`                            | Return the current debounce for preventing layer activation                          |                           |       `uint8_t` | +| `is_auto_mouse_active(void)`                               | Returns the active state of the auto mouse layer (eg if the layer has been triggered)|                           |          `bool` | +| `get_auto_mouse_key_tracker(void)`                         | Gets the current count for the auto mouse key tracker.                               |                           |        `int8_t` | +| `set_auto_mouse_key_tracker(int8_t key_tracker)`           | Sets/Overrides the current count for the auto mouse key tracker.                     |                           |    `void`(None) |  _NOTES:_         - _Due to the nature of how some functions work, the `auto_mouse_trigger_reset`, and `auto_mouse_layer_off` functions should never be called in the `layer_state_set_*` stack as this can cause indefinite loops._    diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index b7ba075731..a6a89d1d00 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -356,27 +356,12 @@ Usually lighting layers apply their configured brightness once activated. If you  If you need to change your RGB lighting in code, for example in a macro to change the color whenever you switch layers, QMK provides a set of functions to assist you. See [`rgblight.h`](https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight/rgblight.h) for the full list, but the most commonly used functions include: -### Utility Functions -|Function                                    |Description                                                        | -|--------------------------------------------|-------------------------------------------------------------------| -|`sethsv(hue, sat, val, ledbuf)`             |Set ledbuf to the given HSV value                                  | -|`sethsv_raw(hue, sat, val, ledbuf)`         |Set ledbuf to the given HSV value without RGBLIGHT_LIMIT_VAL check | -|`setrgb(r, g, b, ledbuf)`                   |Set ledbuf to the given RGB value where `r`/`g`/`b`                | -  ### Low level Functions  |Function                                    |Description                                |  |--------------------------------------------|-------------------------------------------|  |`rgblight_set()`                            |Flush out led buffers to LEDs              |  |`rgblight_set_clipping_range(pos, num)`     |Set clipping Range. see [Clipping Range](#clipping-range) | -Example: -```c -sethsv(HSV_WHITE, (rgb_led_t *)&led[0]); // led 0 -sethsv(HSV_RED,   (rgb_led_t *)&led[1]); // led 1 -sethsv(HSV_GREEN, (rgb_led_t *)&led[2]); // led 2 -rgblight_set(); // Utility functions do not call rgblight_set() automatically, so they need to be called explicitly. -``` -  ### Effects and Animations Functions  #### effect range setting  |Function                                    |Description       | diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index 796db1f244..e6bc34e79e 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -123,10 +123,17 @@ Configures the [Audio](feature_audio.md) feature.          * Default: `false`      * `pins` (Required)          * The GPIO pin(s) connected to the speaker(s). +    * `power_control` +        * `on_state` +            * The logical GPIO state required to turn the speaker on. +            * Default: `1` (on = high) +        * `pin` +            * The GPIO pin connected to speaker power circuit.      * `voices`          * Use multiple audio voices.          * Default: `false` +  ## Backlight :id=backlight  Configures the [Backlight](feature_backlight.md) feature. @@ -633,7 +640,7 @@ Configures the [RGB Matrix](feature_rgb_matrix.md) feature.              * The default animation speed.              * Default: `128`      * `driver` (Required) -        * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`. +        * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3236`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`.      * `hue_steps`          * The number of hue adjustment steps.          * Default: `8` diff --git a/docs/ws2812_driver.md b/docs/ws2812_driver.md index 244d39dbe0..006529cc8a 100644 --- a/docs/ws2812_driver.md +++ b/docs/ws2812_driver.md @@ -208,9 +208,9 @@ The following `#define`s apply only to the `pwm` driver:  |`WS2812_PWM_DRIVER`              |`PWMD2`             |The PWM driver to use                                                                     |  |`WS2812_PWM_CHANNEL`             |`2`                 |The PWM channel to use                                                                    |  |`WS2812_PWM_PAL_MODE`            |`2`                 |The pin alternative function to use                                                       | -|`WS2812_DMA_STREAM`              |`STM32_DMA1_STREAM2`|The DMA Stream for `TIMx_UP`                                                              | -|`WS2812_DMA_CHANNEL`             |`2`                 |The DMA Channel for `TIMx_UP`                                                             | -|`WS2812_DMAMUX_ID`               |*Not defined*       |The DMAMUX configuration for `TIMx_UP` - only required if your MCU has a DMAMUX peripheral| +|`WS2812_PWM_DMA_STREAM`          |`STM32_DMA1_STREAM2`|The DMA Stream for `TIMx_UP`                                                              | +|`WS2812_PWM_DMA_CHANNEL`         |`2`                 |The DMA Channel for `TIMx_UP`                                                             | +|`WS2812_PWM_DMAMUX_ID`           |*Not defined*       |The DMAMUX configuration for `TIMx_UP` - only required if your MCU has a DMAMUX peripheral|  |`WS2812_PWM_COMPLEMENTARY_OUTPUT`|*Not defined*       |Whether the PWM output is complementary (`TIMx_CHyN`)                                     |  ?> Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 on STM32), and the `STM32_PWM_USE_ADVANCED` option in `mcuconf.h` must be set to `TRUE`. Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations. | 
