* Branch point for 2020 November 28 Breaking Change * Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183) * Add support for soft serial to ATmega32U2 (#10204) * Change MIDI velocity implementation to allow direct control of velocity value (#9940) * Add ability to build a subset of all keyboards based on platform. * Actually use eeprom_driver_init(). * Make bootloader_jump weak for ChibiOS. (#10417) * Joystick 16-bit support (#10439) * Per-encoder resolutions (#10259) * Share button state from mousekey to pointing_device (#10179) * Add hotfix for chibios keyboards not wake (#10088) * Add advanced/efficient RGB Matrix Indicators (#8564) * Naming change. * Support for STM32 GPIOF,G,H,I,J,K (#10206) * Add milc as a dependency and remove the installed milc (#10563) * ChibiOS upgrade: early init conversions (#10214) * ChibiOS upgrade: configuration file migrator (#9952) * Haptic and solenoid cleanup (#9700) * XD75 cleanup (#10524) * OLED display update interval support (#10388) * Add definition based on currently-selected serial driver. (#10716) * New feature: Retro Tapping per key (#10622) * Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638) * Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530) * Rescale both ChibiOS and AVR backlighting. * Reduce Helix keyboard build variation (#8669) * Minor change to behavior allowing display updates to continue between task ticks (#10750) * Some GPIO manipulations in matrix.c change to atomic. (#10491) * qmk cformat (#10767) * [Keyboard] Update the Speedo firmware for v3.0 (#10657) * Maartenwut/Maarten namechange to evyd13/Evy (#10274) * [quantum] combine repeated lines of code (#10837) * Add step sequencer feature (#9703) * aeboards/ext65 refactor (#10820) * Refactor xelus/dawn60 for Rev2 later (#10584) * add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824) * [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549) * update chibios os usb for the otg driver (#8893) * Remove HD44780 References, Part 4 (#10735) * [Keyboard] Add Valor FRL TKL (+refactor) (#10512) * Fix cursor position bug in oled_write_raw functions (#10800) * Fixup version.h writing when using SKIP_VERSION=yes (#10972) * Allow for certain code in the codebase assuming length of string. (#10974) * Add AT90USB support for serial.c (#10706) * Auto shift: support repeats and early registration (#9826) * Rename ledmatrix.h to match .c file (#7949) * Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231) * Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840) * Merge point for 2020 Nov 28 Breaking Changepull/11058/head 0.11.0
@ -0,0 +1,150 @@ | |||||
# QMK Breaking Change - 2020 Nov 28 Changelog | |||||
Four times a year QMK runs a process for merging Breaking Changes. A Breaking Change is any change which modifies how QMK behaves in a way that is incompatible or potentially dangerous. We limit these changes to 4 times per year so that users can have confidence that updating their QMK tree will not break their keymaps. | |||||
## Changes Requiring User Action :id=changes-requiring-user-action | |||||
### Relocated Keyboards :id-relocated-keyboards | |||||
#### Reduce Helix keyboard build variation ([#8669](https://github.com/qmk/qmk_firmware/pull/8669)) | |||||
The build commands for the Helix keyboard are: | |||||
``` | |||||
make <helix_build_name>:<keymap_name> | |||||
``` | |||||
For `<helix_build_name>`, specify the one in the rightmost column of the table below, such as `helix`,` helix/pico`. | |||||
| before Oct 17 2019 | Oct 17 2019 | Mar 10 2020 | Nov 28 2020 | | |||||
| ---------------------|-------------------------|-------------------------| ------------------------| | |||||
| helix/rev1 | helix/rev1 | helix/rev1 | helix/rev1 | | |||||
| helix/pico | helix/pico | helix/pico | helix/pico | | |||||
| | helix/pico/back | helix/pico/back | helix/pico/back | | |||||
| | helix/pico/under | helix/pico/under | helix/pico/under | | |||||
| | | helix/pico/sc | -- | | |||||
| | | helix/pico/sc/back | helix/pico/sc | | |||||
| | | helix/pico/sc/under | -- | | |||||
| helix/rev2 (=helix) | helix/rev2 (=helix) | helix/rev2 (=helix) | -- | | |||||
| | helix/rev2/back | helix/rev2/back | -- | | |||||
| | helix/rev2/back/oled | helix/rev2/back/oled | ( --> helix/rev2/back) | | |||||
| | helix/rev2/oled | helix/rev2/oled | helix/rev2 (=helix) | | |||||
| | helix/rev2/oled/back | helix/rev2/oled/back | helix/rev2/back | | |||||
| | helix/rev2/oled/under | helix/rev2/oled/under | helix/rev2/under | | |||||
| | | helix/rev2/sc | -- | | |||||
| | | helix/rev2/sc/back | -- | | |||||
| | | helix/rev2/sc/oled | -- | | |||||
| | | helix/rev2/sc/oledback | helix/rev2/sc | | |||||
| | | helix/rev2/sc/oledunder | -- | | |||||
| | | helix/rev2/sc/under | -- | | |||||
| | helix/rev2/under | helix/rev2/under | -- | | |||||
| | helix/rev2/under/oled | helix/rev2/under/oled | ( --> helix/rev2/under) | | |||||
#### Update the Speedo firmware for v3.0 ([#10657](https://github.com/qmk/qmk_firmware/pull/10657)) | |||||
The Speedo keyboard has moved to `cozykeys/speedo/v2` as the designer prepares to release the Speedo v3.0. | |||||
| Previous Name | New Name | | |||||
| :------------ | :------------------------- | | |||||
| speedo | cozykeys/speedo/v2 | | |||||
| -- | cozykeys/speedo/v3 **new** | | |||||
#### Maartenwut/Maarten name change to evyd13/Evy ([#10274](https://github.com/qmk/qmk_firmware/pull/10274)) | |||||
Maartenwut has rebranded as @evyd13, and all released Maartenwut boards have moved. | |||||
| Previous Name | New Name | | |||||
| :--------------------- | :----------------- | | |||||
| maartenwut/atom47/rev2 | evyd13/atom47/rev2 | | |||||
| maartenwut/atom47/rev3 | evyd13/atom47/rev3 | | |||||
| maartenwut/eon40 | evyd13/eon40 | | |||||
| maartenwut/eon65 | evyd13/eon65 | | |||||
| maartenwut/eon75 | evyd13/eon75 | | |||||
| maartenwut/eon87 | evyd13/eon87 | | |||||
| maartenwut/eon95 | evyd13/eon95 | | |||||
| maartenwut/gh80_1800 | evyd13/gh80_1800 | | |||||
| maartenwut/gh80_3700 | evyd13/gh80_3700 | | |||||
| maartenwut/minitomic | evyd13/minitomic | | |||||
| maartenwut/mx5160 | evyd13/mx5160 | | |||||
| maartenwut/nt660 | evyd13/nt660 | | |||||
| maartenwut/omrontkl | evyd13/omrontkl | | |||||
| maartenwut/plain60 | evyd13/plain60 | | |||||
| maartenwut/pockettype | evyd13/pockettype | | |||||
| maartenwut/quackfire | evyd13/quackfire | | |||||
| maartenwut/solheim68 | evyd13/solheim68 | | |||||
| maartenwut/ta65 | evyd13/ta65 | | |||||
| maartenwut/wasdat | evyd13/wasdat | | |||||
| maartenwut/wasdat_code | evyd13/wasdat_code | | |||||
| maartenwut/wonderland | evyd13/wonderland | | |||||
#### Xelus Valor and Dawn60 Refactors ([#10512](https://github.com/qmk/qmk_firmware/pull/10512), [#10584](https://github.com/qmk/qmk_firmware/pull/10584)) | |||||
The Valor and Dawn60 keyboards by Xelus22 both now require their revisions to be specified when compiling. | |||||
| Previous Name | New Name | | |||||
| :------------ | :---------------- | | |||||
| xelus/dawn60 | xelus/dawn60/rev1 | | |||||
| xelus/valor | xelus/valor/rev1 | | |||||
### Updated Keyboard Codebases :id=keyboard-updates | |||||
#### AEboards EXT65 Refactor ([#10820](https://github.com/qmk/qmk_firmware/pull/10820)) | |||||
The EXT65 codebase has been reworked so keymaps can be used with either revision. | |||||
## Core Changes :id=core-changes | |||||
### Fixes :id=core-fixes | |||||
* Reconnect the USB if users wake up a computer from the keyboard to restore the USB state ([#10088](https://github.com/qmk/qmk_firmware/pull/10088)) | |||||
* Fix cursor position bug in oled_write_raw functions ([#10800](https://github.com/qmk/qmk_firmware/pull/10800)) | |||||
### Additions and Enhancements :id=core-additions | |||||
* Allow MATRIX_ROWS to be greater than 32 ([#10183](https://github.com/qmk/qmk_firmware/pull/10183)) | |||||
* Add support for soft serial to ATmega32U2 ([#10204](https://github.com/qmk/qmk_firmware/pull/10204)) | |||||
* Allow direct control of MIDI velocity value ([#9940](https://github.com/qmk/qmk_firmware/pull/9940)) | |||||
* Joystick 16-bit support ([#10439](https://github.com/qmk/qmk_firmware/pull/10439)) | |||||
* Allow encoder resolutions to be set per encoder ([#10259](https://github.com/qmk/qmk_firmware/pull/10259)) | |||||
* Share button state from mousekey to pointing_device ([#10179](https://github.com/qmk/qmk_firmware/pull/10179)) | |||||
* Add advanced/efficient RGB Matrix Indicators ([#8564](https://github.com/qmk/qmk_firmware/pull/8564)) | |||||
* OLED display update interval support ([#10388](https://github.com/qmk/qmk_firmware/pull/10388)) | |||||
* Per-Key Retro Tapping ([#10622](https://github.com/qmk/qmk_firmware/pull/10622)) | |||||
* Allow backlight duty cycle limit ([#10260](https://github.com/qmk/qmk_firmware/pull/10260)) | |||||
* Add step sequencer feature ([#9703](https://github.com/qmk/qmk_firmware/pull/9703)) | |||||
* Added `add_oneshot_mods` & `del_oneshot_mods` ([#10549](https://github.com/qmk/qmk_firmware/pull/10549)) | |||||
* Add AT90USB support for serial.c ([#10706](https://github.com/qmk/qmk_firmware/pull/10706)) | |||||
* Auto shift: support repeats and early registration (#9826) | |||||
### Clean-ups and Optimizations :id=core-optimizations | |||||
* Haptic and solenoid cleanup ([#9700](https://github.com/qmk/qmk_firmware/pull/9700)) | |||||
* XD75 cleanup ([#10524](https://github.com/qmk/qmk_firmware/pull/10524)) | |||||
* Minor change to behavior allowing display updates to continue between task ticks ([#10750](https://github.com/qmk/qmk_firmware/pull/10750)) | |||||
* Change some GPIO manipulations in matrix.c to be atomic ([#10491](https://github.com/qmk/qmk_firmware/pull/10491)) | |||||
* combine repeated lines of code for ATmega32U2, ATmega16U2, ATmega328 and ATmega328P ([#10837](https://github.com/qmk/qmk_firmware/pull/10837)) | |||||
* Remove references to HD44780 ([#10735](https://github.com/qmk/qmk_firmware/pull/10735)) | |||||
## QMK Infrastructure and Internals :id=qmk-internals | |||||
* Add ability to build a subset of all keyboards based on platform. ([#10420](https://github.com/qmk/qmk_firmware/pull/10420)) | |||||
* Initialise EEPROM drivers at startup, instead of upon first execution ([#10438](https://github.com/qmk/qmk_firmware/pull/10438)) | |||||
* Make bootloader_jump weak for ChibiOS ([#10417](https://github.com/qmk/qmk_firmware/pull/10417)) | |||||
* Support for STM32 GPIOF,G,H,I,J,K ([#10206](https://github.com/qmk/qmk_firmware/pull/10206)) | |||||
* Add milc as a dependency and remove the installed milc ([#10563](https://github.com/qmk/qmk_firmware/pull/10563)) | |||||
* ChibiOS upgrade: early init conversions ([#10214](https://github.com/qmk/qmk_firmware/pull/10214)) | |||||
* ChibiOS upgrade: configuration file migrator ([#9952](https://github.com/qmk/qmk_firmware/pull/9952)) | |||||
* Add definition based on currently-selected serial driver. ([#10716](https://github.com/qmk/qmk_firmware/pull/10716)) | |||||
* Allow for modification of output RGB values when using rgblight/rgb_matrix. ([#10638](https://github.com/qmk/qmk_firmware/pull/10638)) | |||||
* Allow keyboards/keymaps to execute code at each main loop iteration ([#10530](https://github.com/qmk/qmk_firmware/pull/10530)) | |||||
* qmk cformat ([#10767](https://github.com/qmk/qmk_firmware/pull/10767)) | |||||
* Add a Make variable to easily enable DEBUG_MATRIX_SCAN_RATE on the command line ([#10824](https://github.com/qmk/qmk_firmware/pull/10824)) | |||||
* update Chibios OS USB for the OTG driver ([#8893](https://github.com/qmk/qmk_firmware/pull/8893)) | |||||
* Fixup version.h writing when using `SKIP_VERSION=yes` ([#10972](https://github.com/qmk/qmk_firmware/pull/10972), [#10974](https://github.com/qmk/qmk_firmware/pull/10974)) | |||||
* Rename ledmatrix.h to match .c file ([#7949](https://github.com/qmk/qmk_firmware/pull/7949)) | |||||
* Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER ([#10231](https://github.com/qmk/qmk_firmware/pull/10231)) | |||||
* Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER ([#10840](https://github.com/qmk/qmk_firmware/pull/10840)) |
@ -0,0 +1,88 @@ | |||||
# Sequencer | |||||
Since QMK has experimental support for MIDI, you can now turn your keyboard into a [step sequencer](https://en.wikipedia.org/wiki/Music_sequencer#Step_sequencers)! | |||||
!> **IMPORTANT:** This feature is highly experimental, it has only been tested on a Planck EZ so far. Also, the scope will be limited to support the drum machine use-case to start with. | |||||
## Enable the step sequencer | |||||
Add the following line to your `rules.mk`: | |||||
```make | |||||
SEQUENCER_ENABLE = yes | |||||
``` | |||||
By default the sequencer has 16 steps, but you can override this setting in your `config.h`: | |||||
```c | |||||
#define SEQUENCER_STEPS 32 | |||||
``` | |||||
## Tracks | |||||
You can program up to 8 independent tracks with the step sequencer. Select the tracks you want to edit, enable or disable some steps, and start the sequence! | |||||
## Resolutions | |||||
While the tempo defines the absolute speed at which the sequencer goes through the steps, the resolution defines the granularity of these steps (from coarser to finer). | |||||
|Resolution |Description | | |||||
|---------- |----------- | | |||||
|`SQ_RES_2` |Every other beat | | |||||
|`SQ_RES_2T` |Every 1.5 beats | | |||||
|`SQ_RES_4` |Every beat | | |||||
|`SQ_RES_4T` |Three times per 2 beats| | |||||
|`SQ_RES_8` |Twice per beat | | |||||
|`SQ_RES_8T` |Three times per beat | | |||||
|`SQ_RES_16` |Four times per beat | | |||||
|`SQ_RES_16T` |Six times per beat | | |||||
|`SQ_RES_32` |Eight times per beat | | |||||
## Keycodes | |||||
|Keycode |Description | | |||||
|------- |----------- | | |||||
|`SQ_ON` |Start the step sequencer | | |||||
|`SQ_OFF` |Stop the step sequencer | | |||||
|`SQ_TOG` |Toggle the step sequencer playback | | |||||
|`SQ_SALL`|Enable all the steps | | |||||
|`SQ_SCLR`|Disable all the steps | | |||||
|`SQ_S(n)`|Toggle the step `n` | | |||||
|`SQ_TMPD`|Decrease the tempo | | |||||
|`SQ_TMPU`|Increase the tempo | | |||||
|`SQ_R(n)`|Set the resolution to n | | |||||
|`SQ_RESD`|Change to the slower resolution | | |||||
|`SQ_RESU`|Change to the faster resolution | | |||||
|`SQ_T(n)`|Set `n` as the only active track or deactivate all | | |||||
## Functions | |||||
|Function |Description | | |||||
|-------- |----------- | | |||||
|`bool is_sequencer_on(void);` |Return whether the sequencer is playing | | |||||
|`void sequencer_toggle(void);` |Toggle the step sequencer playback | | |||||
|`void sequencer_on(void);` |Start the step sequencer | | |||||
|`void sequencer_off(void);` |Stop the step sequencer | | |||||
|`bool is_sequencer_step_on(uint8_t step);` |Return whether the step is currently enabled | | |||||
|`void sequencer_set_step(uint8_t step, bool value);` |Enable or disable the step | | |||||
|`void sequencer_set_step_on();` |Enable the step | | |||||
|`void sequencer_set_step_off();` |Disable the step | | |||||
|`void sequencer_toggle_step(uint8_t step);` |Toggle the step | | |||||
|`void sequencer_set_all_steps(bool value);` |Enable or disable all the steps | | |||||
|`void sequencer_set_all_steps_on();` |Enable all the steps | | |||||
|`void sequencer_set_all_steps_off();` |Disable all the steps | | |||||
|`uint8_t sequencer_get_tempo(void);` |Return the current tempo | | |||||
|`void sequencer_set_tempo(uint8_t tempo);` |Set the tempo to `tempo` (between 1 and 255) | | |||||
|`void sequencer_increase_tempo(void);` |Increase the tempo | | |||||
|`void sequencer_decrease_tempo(void);` |Decrease the tempo | | |||||
|`sequencer_resolution_t sequencer_get_resolution(void);` |Return the current resolution | | |||||
|`void sequencer_set_resolution(sequencer_resolution_t resolution);` |Set the resolution to `resolution` | | |||||
|`void sequencer_increase_resolution(void);` |Change to the faster resolution | | |||||
|`void sequencer_decrease_resolution(void);` |Change to the slower resolution | | |||||
|`bool is_sequencer_track_active(uint8_t track);` |Return whether the track is active | | |||||
|`void sequencer_set_track_activation(uint8_t track, bool value);` |Activate or deactivate the `track` | | |||||
|`void sequencer_toggle_track_activation(uint8_t track);` |Toggle the `track` | | |||||
|`void sequencer_activate_track(uint8_t track);` |Activate the `track` | | |||||
|`void sequencer_deactivate_track(uint8_t track);` |Deactivate the `track` | | |||||
|`void sequencer_toggle_single_active_track(uint8_t track);` |Set `track` as the only active track or deactivate all | | |||||
@ -0,0 +1 @@ | |||||
#include "ext65.h" |
@ -0,0 +1,9 @@ | |||||
#pragma once | |||||
#include "quantum.h" | |||||
#if defined(KEYBOARD_aeboards_ext65_rev1) | |||||
#include "rev1.h" | |||||
#elif defined(KEYBOARD_aeboards_ext65_rev2) | |||||
#include "rev2.h" | |||||
#endif |
@ -0,0 +1,19 @@ | |||||
# EXT65 | |||||
A southpaw inspired keyboard by [AEBoards](https://aeboards.com/) | |||||
* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) | |||||
* Hardware Supported: EXT65 Rev1, Rev2 | |||||
* Hardware Availability: Custom keyboard group buys | |||||
Make example for this keyboard (after setting up your build environment): | |||||
make aeboards/ext65/rev1:default | |||||
make aeboards/ext65/rev2:default | |||||
Flashing example for this keyboard: | |||||
make aeboards/ext65/rev1:default:flash | |||||
make aeboards/ext65/rev2:default:flash | |||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). |
@ -1,103 +0,0 @@ | |||||
/* Copyright 2018 Jason Williams (Wilba) | |||||
* | |||||
* This program is free software: you can redistribute it and/or modify | |||||
* it under the terms of the GNU General Public License as published by | |||||
* the Free Software Foundation, either version 2 of the License, or | |||||
* (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU General Public License | |||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#include QMK_KEYBOARD_H | |||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||||
/* Keymap BASE: (Base Layer) Default Layer | |||||
* ,-------------------. ,-------------------------------------------------------------------. | |||||
* |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| ~ | Pscr| | |||||
* |-------------------| |-------------------------------------------------------------------| | |||||
* | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC | Del | | |||||
* | + |--------------| |-------------------------------------------------------------------| | |||||
* | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup| | |||||
* |-------------------| |-------------------------------------------------------------------| | |||||
* | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn| | |||||
* | ENT|-------------------------------------------------------------------------------------| | |||||
* | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| | |||||
* `------------------------------------------------------------------------------------------' | |||||
*/ | |||||
[0] = LAYOUT_ext65( | |||||
KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , KC_PSCR, | |||||
KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL , | |||||
KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, | |||||
KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN, | |||||
KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | |||||
), | |||||
[1] = LAYOUT_ext65( | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | |||||
), | |||||
[2] = LAYOUT_ext65( | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | |||||
), | |||||
[3] = LAYOUT_ext65( | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | |||||
) | |||||
}; | |||||
void keyboard_pre_init_user(void) { | |||||
// Call the keyboard pre init code. | |||||
// Set our LED pins as output | |||||
setPinOutput(D5); | |||||
setPinOutput(D3); | |||||
setPinOutput(D2); | |||||
setPinOutput(D1); | |||||
} | |||||
void led_set_user(uint8_t usb_led) { | |||||
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { | |||||
writePinHigh(D5); | |||||
} else { | |||||
writePinLow(D5); | |||||
} | |||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | |||||
writePinHigh(D3); | |||||
} else { | |||||
writePinLow(D3); | |||||
} | |||||
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { | |||||
writePinHigh(D2); | |||||
} else { | |||||
writePinLow(D2); | |||||
} | |||||
} | |||||
layer_state_t layer_state_set_user(layer_state_t state) { | |||||
switch (get_highest_layer(state)) { | |||||
case 1: | |||||
writePinHigh(D1); | |||||
break; | |||||
default: // for any other layers, or the default layer | |||||
writePinLow(D1); | |||||
break; | |||||
} | |||||
return state; | |||||
} |
@ -1,2 +0,0 @@ | |||||
# The Default Ext65 Layout | |||||
@ -1,103 +0,0 @@ | |||||
/* Copyright 2018 Jason Williams (Wilba) | |||||
* | |||||
* This program is free software: you can redistribute it and/or modify | |||||
* it under the terms of the GNU General Public License as published by | |||||
* the Free Software Foundation, either version 2 of the License, or | |||||
* (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU General Public License | |||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#include QMK_KEYBOARD_H | |||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||||
/* Keymap BASE: (Base Layer) Default Layer | |||||
* ,-------------------. ,-------------------------------------------------------------------. | |||||
* |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| ~ | Pscr| | |||||
* |-------------------| |-------------------------------------------------------------------| | |||||
* | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC | Del | | |||||
* | + |--------------| |-------------------------------------------------------------------| | |||||
* | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup| | |||||
* |-------------------| |-------------------------------------------------------------------| | |||||
* | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn| | |||||
* | ENT|-------------------------------------------------------------------------------------| | |||||
* | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght| | |||||
* `------------------------------------------------------------------------------------------' | |||||
*/ | |||||
[0] = LAYOUT_ext65( | |||||
KC_PMNS, KC_PAST, KC_PSLS, KC_NLCK, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , KC_PSCR, | |||||
KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL , | |||||
KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP, | |||||
KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN, | |||||
KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT | |||||
), | |||||
[1] = LAYOUT_ext65( | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | |||||
), | |||||
[2] = LAYOUT_ext65( | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | |||||
), | |||||
[3] = LAYOUT_ext65( | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | |||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS | |||||
) | |||||
}; | |||||
void keyboard_pre_init_user(void) { | |||||
// Call the keyboard pre init code. | |||||
// Set our LED pins as output | |||||
setPinOutput(D5); | |||||
setPinOutput(D3); | |||||
setPinOutput(D2); | |||||
setPinOutput(D1); | |||||
} | |||||
void led_set_user(uint8_t usb_led) { | |||||
if (IS_LED_ON(usb_led, USB_LED_NUM_LOCK)) { | |||||
writePinHigh(D5); | |||||
} else { | |||||
writePinLow(D5); | |||||
} | |||||
if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) { | |||||
writePinHigh(D3); | |||||
} else { | |||||
writePinLow(D3); | |||||
} | |||||
if (IS_LED_ON(usb_led, USB_LED_SCROLL_LOCK)) { | |||||
writePinHigh(D2); | |||||
} else { | |||||
writePinLow(D2); | |||||
} | |||||
} | |||||
uint32_t layer_state_set_user(uint32_t state) { | |||||
switch (biton32(state)) { | |||||
case 1: | |||||
writePinHigh(D1); | |||||
break; | |||||
default: // for any other layers, or the default layer | |||||
writePinLow(D1); | |||||
break; | |||||
} | |||||
return state; | |||||
} |
@ -1,2 +0,0 @@ | |||||
# The VIA Ext65 Layout | |||||
@ -1,14 +0,0 @@ | |||||
EXT65 | |||||
=== | |||||
A southpaw inspired keyboard by [aeboards](https://aeboards.com/) | |||||
Keyboard Maintainer: [Xelus22](https://github.com/Xelus22) | |||||
Hardware Supported: EXT65 | |||||
Hardware Availability: Custom keyboard group buys | |||||
Make example for this keyboard (after setting up your build environment): | |||||
make aeboards/ext65/rev1:default | |||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). |
@ -1,18 +1,32 @@ | |||||
/* Copyright 2018 Jason Williams (Wilba) | |||||
* | |||||
* This program is free software: you can redistribute it and/or modify | |||||
* it under the terms of the GNU General Public License as published by | |||||
* the Free Software Foundation, either version 2 of the License, or | |||||
* (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* You should have received a copy of the GNU General Public License | |||||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#include "rev1.h" | |||||
// Nothing to see here, move along... ;-) | |||||
void keyboard_pre_init_user(void) { | |||||
// Call the keyboard pre init code. | |||||
// Set our LED pins as output | |||||
setPinOutput(D5); | |||||
setPinOutput(D3); | |||||
setPinOutput(D2); | |||||
setPinOutput(D1); | |||||
} | |||||
bool led_update_kb(led_t led_state) { | |||||
bool res = led_update_user(led_state); | |||||
if(res) { | |||||
writePin(D5, led_state.num_lock); | |||||
writePin(D3, led_state.caps_lock); | |||||
writePin(D2, led_state.scroll_lock); | |||||
} | |||||
return res; | |||||
} | |||||
layer_state_t layer_state_set_kb(layer_state_t state) { | |||||
switch (get_highest_layer(state)) { | |||||
case 1: | |||||
writePinHigh(D1); | |||||
break; | |||||
default: // for any other layers, or the default layer | |||||
writePinLow(D1); | |||||
break; | |||||
} | |||||
return layer_state_set_user(state); | |||||
} |
@ -0,0 +1 @@ | |||||
DEFAULT_FOLDER = aeboards/ext65/rev2 |
@ -1 +1,6 @@ | |||||
#include "660m.h" | #include "660m.h" | ||||
void board_init(void) { | |||||
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; | |||||
SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); | |||||
} |
@ -1,268 +0,0 @@ | |||||
/* | |||||
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio | |||||
Licensed under the Apache License, Version 2.0 (the "License"); | |||||
you may not use this file except in compliance with the License. | |||||
You may obtain a copy of the License at | |||||
http://www.apache.org/licenses/LICENSE-2.0 | |||||
Unless required by applicable law or agreed to in writing, software | |||||
distributed under the License is distributed on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
See the License for the specific language governing permissions and | |||||
limitations under the License. | |||||
*/ | |||||
/* | |||||
* This file has been automatically generated using ChibiStudio board | |||||
* generator plugin. Do not edit manually. | |||||
*/ | |||||
#include "hal.h" | |||||
#include "stm32_gpio.h" | |||||
/*===========================================================================*/ | |||||
/* Driver local definitions. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver exported variables. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver local variables and types. */ | |||||
/*===========================================================================*/ | |||||
/** | |||||
* @brief Type of STM32 GPIO port setup. | |||||
*/ | |||||
typedef struct { | |||||
uint32_t moder; | |||||
uint32_t otyper; | |||||
uint32_t ospeedr; | |||||
uint32_t pupdr; | |||||
uint32_t odr; | |||||
uint32_t afrl; | |||||
uint32_t afrh; | |||||
} gpio_setup_t; | |||||
/** | |||||
* @brief Type of STM32 GPIO initialization data. | |||||
*/ | |||||
typedef struct { | |||||
#if STM32_HAS_GPIOA || defined(__DOXYGEN__) | |||||
gpio_setup_t PAData; | |||||
#endif | |||||
#if STM32_HAS_GPIOB || defined(__DOXYGEN__) | |||||
gpio_setup_t PBData; | |||||
#endif | |||||
#if STM32_HAS_GPIOC || defined(__DOXYGEN__) | |||||
gpio_setup_t PCData; | |||||
#endif | |||||
#if STM32_HAS_GPIOD || defined(__DOXYGEN__) | |||||
gpio_setup_t PDData; | |||||
#endif | |||||
#if STM32_HAS_GPIOE || defined(__DOXYGEN__) | |||||
gpio_setup_t PEData; | |||||
#endif | |||||
#if STM32_HAS_GPIOF || defined(__DOXYGEN__) | |||||
gpio_setup_t PFData; | |||||
#endif | |||||
#if STM32_HAS_GPIOG || defined(__DOXYGEN__) | |||||
gpio_setup_t PGData; | |||||
#endif | |||||
#if STM32_HAS_GPIOH || defined(__DOXYGEN__) | |||||
gpio_setup_t PHData; | |||||
#endif | |||||
#if STM32_HAS_GPIOI || defined(__DOXYGEN__) | |||||
gpio_setup_t PIData; | |||||
#endif | |||||
#if STM32_HAS_GPIOJ || defined(__DOXYGEN__) | |||||
gpio_setup_t PJData; | |||||
#endif | |||||
#if STM32_HAS_GPIOK || defined(__DOXYGEN__) | |||||
gpio_setup_t PKData; | |||||
#endif | |||||
} gpio_config_t; | |||||
/** | |||||
* @brief STM32 GPIO static initialization data. | |||||
*/ | |||||
static const gpio_config_t gpio_default_config = { | |||||
#if STM32_HAS_GPIOA | |||||
{VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR, | |||||
VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOB | |||||
{VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR, | |||||
VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOC | |||||
{VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR, | |||||
VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOD | |||||
{VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR, | |||||
VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOE | |||||
{VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR, | |||||
VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOF | |||||
{VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR, | |||||
VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOG | |||||
{VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR, | |||||
VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOH | |||||
{VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR, | |||||
VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOI | |||||
{VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR, | |||||
VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOJ | |||||
{VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR, | |||||
VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOK | |||||
{VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR, | |||||
VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH} | |||||
#endif | |||||
}; | |||||
/*===========================================================================*/ | |||||
/* Driver local functions. */ | |||||
/*===========================================================================*/ | |||||
static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config) { | |||||
gpiop->OTYPER = config->otyper; | |||||
gpiop->OSPEEDR = config->ospeedr; | |||||
gpiop->PUPDR = config->pupdr; | |||||
gpiop->ODR = config->odr; | |||||
gpiop->AFRL = config->afrl; | |||||
gpiop->AFRH = config->afrh; | |||||
gpiop->MODER = config->moder; | |||||
} | |||||
static void stm32_gpio_init(void) { | |||||
/* Enabling GPIO-related clocks, the mask comes from the | |||||
registry header file.*/ | |||||
rccResetAHB(STM32_GPIO_EN_MASK); | |||||
rccEnableAHB(STM32_GPIO_EN_MASK, true); | |||||
/* Initializing all the defined GPIO ports.*/ | |||||
#if STM32_HAS_GPIOA | |||||
gpio_init(GPIOA, &gpio_default_config.PAData); | |||||
#endif | |||||
#if STM32_HAS_GPIOB | |||||
gpio_init(GPIOB, &gpio_default_config.PBData); | |||||
#endif | |||||
#if STM32_HAS_GPIOC | |||||
gpio_init(GPIOC, &gpio_default_config.PCData); | |||||
#endif | |||||
#if STM32_HAS_GPIOD | |||||
gpio_init(GPIOD, &gpio_default_config.PDData); | |||||
#endif | |||||
#if STM32_HAS_GPIOE | |||||
gpio_init(GPIOE, &gpio_default_config.PEData); | |||||
#endif | |||||
#if STM32_HAS_GPIOF | |||||
gpio_init(GPIOF, &gpio_default_config.PFData); | |||||
#endif | |||||
#if STM32_HAS_GPIOG | |||||
gpio_init(GPIOG, &gpio_default_config.PGData); | |||||
#endif | |||||
#if STM32_HAS_GPIOH | |||||
gpio_init(GPIOH, &gpio_default_config.PHData); | |||||
#endif | |||||
#if STM32_HAS_GPIOI | |||||
gpio_init(GPIOI, &gpio_default_config.PIData); | |||||
#endif | |||||
#if STM32_HAS_GPIOJ | |||||
gpio_init(GPIOJ, &gpio_default_config.PJData); | |||||
#endif | |||||
#if STM32_HAS_GPIOK | |||||
gpio_init(GPIOK, &gpio_default_config.PKData); | |||||
#endif | |||||
} | |||||
/*===========================================================================*/ | |||||
/* Driver interrupt handlers. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver exported functions. */ | |||||
/*===========================================================================*/ | |||||
/** | |||||
* @brief Early initialization code. | |||||
* @details GPIO ports and system clocks are initialized before everything | |||||
* else. | |||||
*/ | |||||
void __early_init(void) { | |||||
extern void enter_bootloader_mode_if_requested(void); | |||||
enter_bootloader_mode_if_requested(); | |||||
stm32_gpio_init(); | |||||
stm32_clock_init(); | |||||
} | |||||
#if HAL_USE_SDC || defined(__DOXYGEN__) | |||||
/** | |||||
* @brief SDC card detection. | |||||
*/ | |||||
bool sdc_lld_is_card_inserted(SDCDriver *sdcp) { | |||||
(void)sdcp; | |||||
/* TODO: Fill the implementation.*/ | |||||
return true; | |||||
} | |||||
/** | |||||
* @brief SDC card write protection detection. | |||||
*/ | |||||
bool sdc_lld_is_write_protected(SDCDriver *sdcp) { | |||||
(void)sdcp; | |||||
/* TODO: Fill the implementation.*/ | |||||
return false; | |||||
} | |||||
#endif /* HAL_USE_SDC */ | |||||
#if HAL_USE_MMC_SPI || defined(__DOXYGEN__) | |||||
/** | |||||
* @brief MMC_SPI card detection. | |||||
*/ | |||||
bool mmc_lld_is_card_inserted(MMCDriver *mmcp) { | |||||
(void)mmcp; | |||||
/* TODO: Fill the implementation.*/ | |||||
return true; | |||||
} | |||||
/** | |||||
* @brief MMC_SPI card write protection detection. | |||||
*/ | |||||
bool mmc_lld_is_write_protected(MMCDriver *mmcp) { | |||||
(void)mmcp; | |||||
/* TODO: Fill the implementation.*/ | |||||
return false; | |||||
} | |||||
#endif | |||||
/** | |||||
* @brief Board-specific initialization code. | |||||
* @todo Add your board-specific code, if any. | |||||
*/ | |||||
void boardInit(void) { | |||||
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; | |||||
SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); | |||||
} |
@ -1,940 +0,0 @@ | |||||
/* | |||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio | |||||
Licensed under the Apache License, Version 2.0 (the "License"); | |||||
you may not use this file except in compliance with the License. | |||||
You may obtain a copy of the License at | |||||
http://www.apache.org/licenses/LICENSE-2.0 | |||||
Unless required by applicable law or agreed to in writing, software | |||||
distributed under the License is distributed on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
See the License for the specific language governing permissions and | |||||
limitations under the License. | |||||
*/ | |||||
/* | |||||
* This file has been automatically generated using ChibiStudio board | |||||
* generator plugin. Do not edit manually. | |||||
*/ | |||||
#ifndef BOARD_H | |||||
#define BOARD_H | |||||
/*===========================================================================*/ | |||||
/* Driver constants. */ | |||||
/*===========================================================================*/ | |||||
/* | |||||
* Setup for ST STM32F072B-Discovery board. | |||||
*/ | |||||
/* | |||||
* Board identifier. | |||||
*/ | |||||
#define BOARD_ST_STM32F072B_DISCOVERY | |||||
#define BOARD_NAME "ST STM32F072B-Discovery" | |||||
/* | |||||
* Board oscillators-related settings. | |||||
* NOTE: HSE not fitted. | |||||
*/ | |||||
#if !defined(STM32_LSECLK) | |||||
#define STM32_LSECLK 32768 | |||||
#endif | |||||
#define STM32_LSEDRV (3U << 3U) | |||||
#if !defined(STM32_HSECLK) | |||||
#define STM32_HSECLK 0U | |||||
#endif | |||||
#define STM32_HSE_BYPASS | |||||
/* | |||||
* MCU type as defined in the ST header. | |||||
*/ | |||||
#define STM32F072xB | |||||
/* | |||||
* IO pins assignments. | |||||
*/ | |||||
#define GPIOA_BUTTON 0U | |||||
#define GPIOA_PIN1 1U | |||||
#define GPIOA_PIN2 2U | |||||
#define GPIOA_PIN3 3U | |||||
#define GPIOA_PIN4 4U | |||||
#define GPIOA_PIN5 5U | |||||
#define GPIOA_PIN6 6U | |||||
#define GPIOA_PIN7 7U | |||||
#define GPIOA_PIN8 8U | |||||
#define GPIOA_PIN9 9U | |||||
#define GPIOA_PIN10 10U | |||||
#define GPIOA_USB_DM 11U | |||||
#define GPIOA_USB_DP 12U | |||||
#define GPIOA_SWDIO 13U | |||||
#define GPIOA_SWCLK 14U | |||||
#define GPIOA_PIN15 15U | |||||
#define GPIOB_PIN0 0U | |||||
#define GPIOB_PIN1 1U | |||||
#define GPIOB_PIN2 2U | |||||
#define GPIOB_PIN3 3U | |||||
#define GPIOB_PIN4 4U | |||||
#define GPIOB_PIN5 5U | |||||
#define GPIOB_PIN6 6U | |||||
#define GPIOB_PIN7 7U | |||||
#define GPIOB_PIN8 8U | |||||
#define GPIOB_PIN9 9U | |||||
#define GPIOB_PIN10 10U | |||||
#define GPIOB_PIN11 11U | |||||
#define GPIOB_PIN12 12U | |||||
#define GPIOB_SPI2_SCK 13U | |||||
#define GPIOB_SPI2_MISO 14U | |||||
#define GPIOB_SPI2_MOSI 15U | |||||
#define GPIOC_MEMS_CS 0U | |||||
#define GPIOC_PIN1 1U | |||||
#define GPIOC_PIN2 2U | |||||
#define GPIOC_PIN3 3U | |||||
#define GPIOC_PIN4 4U | |||||
#define GPIOC_PIN5 5U | |||||
#define GPIOC_LED_RED 6U | |||||
#define GPIOC_LED_BLUE 7U | |||||
#define GPIOC_LED_ORANGE 8U | |||||
#define GPIOC_LED_GREEN 9U | |||||
#define GPIOC_PIN10 10U | |||||
#define GPIOC_PIN11 11U | |||||
#define GPIOC_PIN12 12U | |||||
#define GPIOC_PIN13 13U | |||||
#define GPIOC_OSC32_IN 14U | |||||
#define GPIOC_OSC32_OUT 15U | |||||
#define GPIOD_PIN0 0U | |||||
#define GPIOD_PIN1 1U | |||||
#define GPIOD_PIN2 2U | |||||
#define GPIOD_PIN3 3U | |||||
#define GPIOD_PIN4 4U | |||||
#define GPIOD_PIN5 5U | |||||
#define GPIOD_PIN6 6U | |||||
#define GPIOD_PIN7 7U | |||||
#define GPIOD_PIN8 8U | |||||
#define GPIOD_PIN9 9U | |||||
#define GPIOD_PIN10 10U | |||||
#define GPIOD_PIN11 11U | |||||
#define GPIOD_PIN12 12U | |||||
#define GPIOD_PIN13 13U | |||||
#define GPIOD_PIN14 14U | |||||
#define GPIOD_PIN15 15U | |||||
#define GPIOE_PIN0 0U | |||||
#define GPIOE_PIN1 1U | |||||
#define GPIOE_PIN2 2U | |||||
#define GPIOE_PIN3 3U | |||||
#define GPIOE_PIN4 4U | |||||
#define GPIOE_PIN5 5U | |||||
#define GPIOE_PIN6 6U | |||||
#define GPIOE_PIN7 7U | |||||
#define GPIOE_PIN8 8U | |||||
#define GPIOE_PIN9 9U | |||||
#define GPIOE_PIN10 10U | |||||
#define GPIOE_PIN11 11U | |||||
#define GPIOE_PIN12 12U | |||||
#define GPIOE_PIN13 13U | |||||
#define GPIOE_PIN14 14U | |||||
#define GPIOE_PIN15 15U | |||||
#define GPIOF_OSC_IN 0U | |||||
#define GPIOF_OSC_OUT 1U | |||||
#define GPIOF_PIN2 2U | |||||
#define GPIOF_PIN3 3U | |||||
#define GPIOF_PIN4 4U | |||||
#define GPIOF_PIN5 5U | |||||
#define GPIOF_PIN6 6U | |||||
#define GPIOF_PIN7 7U | |||||
#define GPIOF_PIN8 8U | |||||
#define GPIOF_PIN9 9U | |||||
#define GPIOF_PIN10 10U | |||||
#define GPIOF_PIN11 11U | |||||
#define GPIOF_PIN12 12U | |||||
#define GPIOF_PIN13 13U | |||||
#define GPIOF_PIN14 14U | |||||
#define GPIOF_PIN15 15U | |||||
/* | |||||
* IO lines assignments. | |||||
*/ | |||||
#define LINE_BUTTON PAL_LINE(GPIOA, 0U) | |||||
#define LINE_USB_DM PAL_LINE(GPIOA, 11U) | |||||
#define LINE_USB_DP PAL_LINE(GPIOA, 12U) | |||||
#define LINE_SWDIO PAL_LINE(GPIOA, 13U) | |||||
#define LINE_SWCLK PAL_LINE(GPIOA, 14U) | |||||
#define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U) | |||||
#define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U) | |||||
#define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U) | |||||
#define LINE_MEMS_CS PAL_LINE(GPIOC, 0U) | |||||
#define LINE_LED_RED PAL_LINE(GPIOC, 6U) | |||||
#define LINE_LED_BLUE PAL_LINE(GPIOC, 7U) | |||||
#define LINE_LED_ORANGE PAL_LINE(GPIOC, 8U) | |||||
#define LINE_LED_GREEN PAL_LINE(GPIOC, 9U) | |||||
#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U) | |||||
#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U) | |||||
#define LINE_OSC_IN PAL_LINE(GPIOF, 0U) | |||||
#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U) | |||||
/*===========================================================================*/ | |||||
/* Driver pre-compile time settings. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Derived constants and error checks. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver data structures and types. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver macros. */ | |||||
/*===========================================================================*/ | |||||
/* | |||||
* I/O ports initial setup, this configuration is established soon after reset | |||||
* in the initialization code. | |||||
* Please refer to the STM32 Reference Manual for details. | |||||
*/ | |||||
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) | |||||
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) | |||||
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U)) | |||||
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U)) | |||||
#define PIN_ODR_LOW(n) (0U << (n)) | |||||
#define PIN_ODR_HIGH(n) (1U << (n)) | |||||
#define PIN_OTYPE_PUSHPULL(n) (0U << (n)) | |||||
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n)) | |||||
#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U)) | |||||
#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U)) | |||||
#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U)) | |||||
#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U)) | |||||
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U)) | |||||
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U)) | |||||
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U)) | |||||
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U)) | |||||
/* | |||||
* GPIOA setup: | |||||
* | |||||
* PA0 - BUTTON (input floating). | |||||
* PA1 - PIN1 (input pullup). | |||||
* PA2 - PIN2 (input pullup). | |||||
* PA3 - PIN3 (input pullup). | |||||
* PA4 - PIN4 (input pullup). | |||||
* PA5 - PIN5 (input pullup). | |||||
* PA6 - PIN6 (input pullup). | |||||
* PA7 - PIN7 (input pullup). | |||||
* PA8 - PIN8 (input pullup). | |||||
* PA9 - PIN9 (input pullup). | |||||
* PA10 - PIN10 (input pullup). | |||||
* PA11 - USB_DM (input floating). | |||||
* PA12 - USB_DP (input floating). | |||||
* PA13 - SWDIO (alternate 0). | |||||
* PA14 - SWCLK (alternate 0). | |||||
* PA15 - PIN15 (input pullup). | |||||
*/ | |||||
#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_BUTTON) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOA_USB_DM) | \ | |||||
PIN_MODE_INPUT(GPIOA_USB_DP) | \ | |||||
PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \ | |||||
PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_BUTTON) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN1) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_USB_DM) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_USB_DP) | \ | |||||
PIN_OSPEED_HIGH(GPIOA_SWDIO) | \ | |||||
PIN_OSPEED_HIGH(GPIOA_SWCLK) | \ | |||||
PIN_OSPEED_HIGH(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN10) | \ | |||||
PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \ | |||||
PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_SWDIO) | \ | |||||
PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_BUTTON) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOA_USB_DM) | \ | |||||
PIN_ODR_HIGH(GPIOA_USB_DP) | \ | |||||
PIN_ODR_HIGH(GPIOA_SWDIO) | \ | |||||
PIN_ODR_HIGH(GPIOA_SWCLK) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_BUTTON, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN7, 0U)) | |||||
#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_USB_DM, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_USB_DP, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_SWDIO, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_SWCLK, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN15, 0U)) | |||||
/* | |||||
* GPIOB setup: | |||||
* | |||||
* PB0 - PIN0 (input pullup). | |||||
* PB1 - PIN1 (input pullup). | |||||
* PB2 - PIN2 (input pullup). | |||||
* PB3 - PIN3 (input pullup). | |||||
* PB4 - PIN4 (input pullup). | |||||
* PB5 - PIN5 (input pullup). | |||||
* PB6 - PIN6 (input pullup). | |||||
* PB7 - PIN7 (input pullup). | |||||
* PB8 - PIN8 (input pullup). | |||||
* PB9 - PIN9 (input pullup). | |||||
* PB10 - PIN10 (input pullup). | |||||
* PB11 - PIN11 (input pullup). | |||||
* PB12 - PIN12 (input pullup). | |||||
* PB13 - SPI2_SCK (alternate 0). | |||||
* PB14 - SPI2_MISO (alternate 0). | |||||
* PB15 - SPI2_MOSI (alternate 0). | |||||
*/ | |||||
#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN12) | \ | |||||
PIN_MODE_ALTERNATE(GPIOB_SPI2_SCK) | \ | |||||
PIN_MODE_ALTERNATE(GPIOB_SPI2_MISO) | \ | |||||
PIN_MODE_ALTERNATE(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_SPI2_SCK) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MISO) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_PIN0) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN1) | \ | |||||
PIN_OSPEED_HIGH(GPIOB_PIN2) | \ | |||||
PIN_OSPEED_HIGH(GPIOB_PIN3) | \ | |||||
PIN_OSPEED_HIGH(GPIOB_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_SPI2_SCK) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_SPI2_MISO) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN12) | \ | |||||
PIN_PUPDR_FLOATING(GPIOB_SPI2_SCK) | \ | |||||
PIN_PUPDR_FLOATING(GPIOB_SPI2_MISO) | \ | |||||
PIN_PUPDR_FLOATING(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_PIN0) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOB_SPI2_SCK) | \ | |||||
PIN_ODR_HIGH(GPIOB_SPI2_MISO) | \ | |||||
PIN_ODR_HIGH(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN7, 0U)) | |||||
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_SPI2_SCK, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_SPI2_MISO, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_SPI2_MOSI, 0U)) | |||||
/* | |||||
* GPIOC setup: | |||||
* | |||||
* PC0 - MEMS_CS (output pushpull maximum). | |||||
* PC1 - PIN1 (input pullup). | |||||
* PC2 - PIN2 (input pullup). | |||||
* PC3 - PIN3 (input pullup). | |||||
* PC4 - PIN4 (input pullup). | |||||
* PC5 - PIN5 (input pullup). | |||||
* PC6 - LED_RED (output pushpull maximum). | |||||
* PC7 - LED_BLUE (output pushpull maximum). | |||||
* PC8 - LED_ORANGE (output pushpull maximum). | |||||
* PC9 - LED_GREEN (output pushpull maximum). | |||||
* PC10 - PIN10 (input pullup). | |||||
* PC11 - PIN11 (input pullup). | |||||
* PC12 - PIN12 (input pullup). | |||||
* PC13 - PIN13 (input pullup). | |||||
* PC14 - OSC32_IN (input floating). | |||||
* PC15 - OSC32_OUT (input floating). | |||||
*/ | |||||
#define VAL_GPIOC_MODER (PIN_MODE_OUTPUT(GPIOC_MEMS_CS) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN5) | \ | |||||
PIN_MODE_OUTPUT(GPIOC_LED_RED) | \ | |||||
PIN_MODE_OUTPUT(GPIOC_LED_BLUE) | \ | |||||
PIN_MODE_OUTPUT(GPIOC_LED_ORANGE) | \ | |||||
PIN_MODE_OUTPUT(GPIOC_LED_GREEN) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN12) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN13) | \ | |||||
PIN_MODE_INPUT(GPIOC_OSC32_IN) | \ | |||||
PIN_MODE_INPUT(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_MEMS_CS) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_LED_RED) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_LED_BLUE) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_LED_ORANGE) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_LED_GREEN) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH(GPIOC_MEMS_CS) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN1) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_LED_RED) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_LED_BLUE) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_LED_ORANGE) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_LED_GREEN) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_OSC32_IN) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(GPIOC_MEMS_CS) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN5) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_LED_RED) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_LED_BLUE) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_LED_ORANGE) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_LED_GREEN) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN12) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN13) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_MEMS_CS) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN5) | \ | |||||
PIN_ODR_LOW(GPIOC_LED_RED) | \ | |||||
PIN_ODR_LOW(GPIOC_LED_BLUE) | \ | |||||
PIN_ODR_LOW(GPIOC_LED_ORANGE) | \ | |||||
PIN_ODR_LOW(GPIOC_LED_GREEN) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN13) | \ | |||||
PIN_ODR_HIGH(GPIOC_OSC32_IN) | \ | |||||
PIN_ODR_HIGH(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_MEMS_CS, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_LED_RED, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_LED_BLUE, 0U)) | |||||
#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_LED_ORANGE, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_LED_GREEN, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN13, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U)) | |||||
/* | |||||
* GPIOD setup: | |||||
* | |||||
* PD0 - PIN0 (input pullup). | |||||
* PD1 - PIN1 (input pullup). | |||||
* PD2 - PIN2 (input pullup). | |||||
* PD3 - PIN3 (input pullup). | |||||
* PD4 - PIN4 (input pullup). | |||||
* PD5 - PIN5 (input pullup). | |||||
* PD6 - PIN6 (input pullup). | |||||
* PD7 - PIN7 (input pullup). | |||||
* PD8 - PIN8 (input pullup). | |||||
* PD9 - PIN9 (input pullup). | |||||
* PD10 - PIN10 (input pullup). | |||||
* PD11 - PIN11 (input pullup). | |||||
* PD12 - PIN12 (input pullup). | |||||
* PD13 - PIN13 (input pullup). | |||||
* PD14 - PIN14 (input pullup). | |||||
* PD15 - PIN15 (input pullup). | |||||
*/ | |||||
#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN12) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN13) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN14) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN1) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN13) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN12) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN13) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN14) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN13) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN14) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN7, 0U)) | |||||
#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN13, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN14, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN15, 0U)) | |||||
/* | |||||
* GPIOE setup: | |||||
* | |||||
* PE0 - PIN0 (input pullup). | |||||
* PE1 - PIN1 (input pullup). | |||||
* PE2 - PIN2 (input pullup). | |||||
* PE3 - PIN3 (input pullup). | |||||
* PE4 - PIN4 (input pullup). | |||||
* PE5 - PIN5 (input pullup). | |||||
* PE6 - PIN6 (input pullup). | |||||
* PE7 - PIN7 (input pullup). | |||||
* PE8 - PIN8 (input pullup). | |||||
* PE9 - PIN9 (input pullup). | |||||
* PE10 - PIN10 (input pullup). | |||||
* PE11 - PIN11 (input pullup). | |||||
* PE12 - PIN12 (input pullup). | |||||
* PE13 - PIN13 (input pullup). | |||||
* PE14 - PIN14 (input pullup). | |||||
* PE15 - PIN15 (input pullup). | |||||
*/ | |||||
#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_PIN0) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN12) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN13) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN14) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN14) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_PIN0) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN1) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN13) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN14) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_PIN0) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN12) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN13) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN14) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN13) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN14) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN7, 0U)) | |||||
#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN13, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN14, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN15, 0U)) | |||||
/* | |||||
* GPIOF setup: | |||||
* | |||||
* PF0 - OSC_IN (input floating). | |||||
* PF1 - OSC_OUT (input floating). | |||||
* PF2 - PIN2 (input pullup). | |||||
* PF3 - PIN3 (input pullup). | |||||
* PF4 - PIN4 (input pullup). | |||||
* PF5 - PIN5 (input pullup). | |||||
* PF6 - PIN6 (input pullup). | |||||
* PF7 - PIN7 (input pullup). | |||||
* PF8 - PIN8 (input pullup). | |||||
* PF9 - PIN9 (input pullup). | |||||
* PF10 - PIN10 (input pullup). | |||||
* PF11 - PIN11 (input pullup). | |||||
* PF12 - PIN12 (input pullup). | |||||
* PF13 - PIN13 (input pullup). | |||||
* PF14 - PIN14 (input pullup). | |||||
* PF15 - PIN15 (input pullup). | |||||
*/ | |||||
#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_OSC_IN) | \ | |||||
PIN_MODE_INPUT(GPIOF_OSC_OUT) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN12) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN13) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN14) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_OSC_IN) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_OSC_OUT) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN13) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN14) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOF_OSC_IN) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_OSC_OUT) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN13) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN14) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_PUPDR (PIN_PUPDR_FLOATING(GPIOF_OSC_IN) | \ | |||||
PIN_PUPDR_FLOATING(GPIOF_OSC_OUT) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN12) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN13) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN14) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_OSC_IN) | \ | |||||
PIN_ODR_HIGH(GPIOF_OSC_OUT) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN13) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN14) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_AFRL (PIN_AFIO_AF(GPIOF_OSC_IN, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_OSC_OUT, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN7, 0U)) | |||||
#define VAL_GPIOF_AFRH (PIN_AFIO_AF(GPIOF_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN13, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN14, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN15, 0U)) | |||||
/*===========================================================================*/ | |||||
/* External declarations. */ | |||||
/*===========================================================================*/ | |||||
#if !defined(_FROM_ASM_) | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
void boardInit(void); | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* _FROM_ASM_ */ | |||||
#endif /* BOARD_H */ |
@ -1,5 +0,0 @@ | |||||
# List of all the board related files. | |||||
BOARDSRC = $(BOARD_PATH)/boards/ST_STM32F072B_DISCOVERY/board.c | |||||
# Required include directories | |||||
BOARDINC = $(BOARD_PATH)/boards/ST_STM32F072B_DISCOVERY |
@ -1,703 +0,0 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<!-- STM32F0xx board Template --> | |||||
<board | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||||
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32f0xx_board.xsd"> | |||||
<configuration_settings> | |||||
<templates_path>resources/gencfg/processors/boards/stm32f0xx/templates</templates_path> | |||||
<output_path>..</output_path> | |||||
<hal_version>3.0.x</hal_version> | |||||
</configuration_settings> | |||||
<board_name>ST STM32F072B-Discovery</board_name> | |||||
<board_id>ST_STM32F072B_DISCOVERY</board_id> | |||||
<board_functions></board_functions> | |||||
<subtype>STM32F072xB</subtype> | |||||
<clocks HSEFrequency="0" HSEBypass="true" LSEFrequency="0" | |||||
LSEBypass="false" LSEDrive="3 High Drive (default)" /> | |||||
<ports> | |||||
<GPIOA> | |||||
<pin0 | |||||
ID="BUTTON" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin9 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="USB_DM" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="USB_DP" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="SWDIO" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="SWCLK" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullDown" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
</GPIOA> | |||||
<GPIOB> | |||||
<pin0 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin9 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="SPI2_SCK" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="SPI2_MISO" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="SPI2_MOSI" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
</GPIOB> | |||||
<GPIOC> | |||||
<pin0 | |||||
ID="MEMS_CS" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Output" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="LED_RED" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="Low" | |||||
Mode="Output" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="LED_BLUE" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="Low" | |||||
Mode="Output" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="LED_ORANGE" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="Low" | |||||
Mode="Output" | |||||
Alternate="0" ></pin8> | |||||
<pin9 | |||||
ID="LED_GREEN" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="Low" | |||||
Mode="Output" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="OSC32_IN" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="OSC32_OUT" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
</GPIOC> | |||||
<GPIOD> | |||||
<pin0 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin9 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
</GPIOD> | |||||
<GPIOE> | |||||
<pin0 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin1 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin2 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin3 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin4 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin5 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin6 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin7 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin8 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin9 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin10 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin11 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin12 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin13 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin14 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin15 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
</GPIOE> | |||||
<GPIOF> | |||||
<pin0 | |||||
ID="OSC_IN" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="OSC_OUT" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin9 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
</GPIOF> | |||||
</ports> | |||||
</board> |
@ -1,268 +0,0 @@ | |||||
/* | |||||
ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio | |||||
Licensed under the Apache License, Version 2.0 (the "License"); | |||||
you may not use this file except in compliance with the License. | |||||
You may obtain a copy of the License at | |||||
http://www.apache.org/licenses/LICENSE-2.0 | |||||
Unless required by applicable law or agreed to in writing, software | |||||
distributed under the License is distributed on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
See the License for the specific language governing permissions and | |||||
limitations under the License. | |||||
*/ | |||||
/* | |||||
* This file has been automatically generated using ChibiStudio board | |||||
* generator plugin. Do not edit manually. | |||||
*/ | |||||
#include "hal.h" | |||||
#include "stm32_gpio.h" | |||||
/*===========================================================================*/ | |||||
/* Driver local definitions. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver exported variables. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver local variables and types. */ | |||||
/*===========================================================================*/ | |||||
/** | |||||
* @brief Type of STM32 GPIO port setup. | |||||
*/ | |||||
typedef struct { | |||||
uint32_t moder; | |||||
uint32_t otyper; | |||||
uint32_t ospeedr; | |||||
uint32_t pupdr; | |||||
uint32_t odr; | |||||
uint32_t afrl; | |||||
uint32_t afrh; | |||||
} gpio_setup_t; | |||||
/** | |||||
* @brief Type of STM32 GPIO initialization data. | |||||
*/ | |||||
typedef struct { | |||||
#if STM32_HAS_GPIOA || defined(__DOXYGEN__) | |||||
gpio_setup_t PAData; | |||||
#endif | |||||
#if STM32_HAS_GPIOB || defined(__DOXYGEN__) | |||||
gpio_setup_t PBData; | |||||
#endif | |||||
#if STM32_HAS_GPIOC || defined(__DOXYGEN__) | |||||
gpio_setup_t PCData; | |||||
#endif | |||||
#if STM32_HAS_GPIOD || defined(__DOXYGEN__) | |||||
gpio_setup_t PDData; | |||||
#endif | |||||
#if STM32_HAS_GPIOE || defined(__DOXYGEN__) | |||||
gpio_setup_t PEData; | |||||
#endif | |||||
#if STM32_HAS_GPIOF || defined(__DOXYGEN__) | |||||
gpio_setup_t PFData; | |||||
#endif | |||||
#if STM32_HAS_GPIOG || defined(__DOXYGEN__) | |||||
gpio_setup_t PGData; | |||||
#endif | |||||
#if STM32_HAS_GPIOH || defined(__DOXYGEN__) | |||||
gpio_setup_t PHData; | |||||
#endif | |||||
#if STM32_HAS_GPIOI || defined(__DOXYGEN__) | |||||
gpio_setup_t PIData; | |||||
#endif | |||||
#if STM32_HAS_GPIOJ || defined(__DOXYGEN__) | |||||
gpio_setup_t PJData; | |||||
#endif | |||||
#if STM32_HAS_GPIOK || defined(__DOXYGEN__) | |||||
gpio_setup_t PKData; | |||||
#endif | |||||
} gpio_config_t; | |||||
/** | |||||
* @brief STM32 GPIO static initialization data. | |||||
*/ | |||||
static const gpio_config_t gpio_default_config = { | |||||
#if STM32_HAS_GPIOA | |||||
{VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR, | |||||
VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOB | |||||
{VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR, | |||||
VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOC | |||||
{VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR, | |||||
VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOD | |||||
{VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR, | |||||
VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOE | |||||
{VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR, | |||||
VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOF | |||||
{VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR, | |||||
VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOG | |||||
{VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR, | |||||
VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOH | |||||
{VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR, | |||||
VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOI | |||||
{VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR, | |||||
VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOJ | |||||
{VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR, | |||||
VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH}, | |||||
#endif | |||||
#if STM32_HAS_GPIOK | |||||
{VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR, | |||||
VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH} | |||||
#endif | |||||
}; | |||||
/*===========================================================================*/ | |||||
/* Driver local functions. */ | |||||
/*===========================================================================*/ | |||||
static void gpio_init(stm32_gpio_t *gpiop, const gpio_setup_t *config) { | |||||
gpiop->OTYPER = config->otyper; | |||||
gpiop->OSPEEDR = config->ospeedr; | |||||
gpiop->PUPDR = config->pupdr; | |||||
gpiop->ODR = config->odr; | |||||
gpiop->AFRL = config->afrl; | |||||
gpiop->AFRH = config->afrh; | |||||
gpiop->MODER = config->moder; | |||||
} | |||||
static void stm32_gpio_init(void) { | |||||
/* Enabling GPIO-related clocks, the mask comes from the | |||||
registry header file.*/ | |||||
rccResetAHB(STM32_GPIO_EN_MASK); | |||||
rccEnableAHB(STM32_GPIO_EN_MASK, true); | |||||
/* Initializing all the defined GPIO ports.*/ | |||||
#if STM32_HAS_GPIOA | |||||
gpio_init(GPIOA, &gpio_default_config.PAData); | |||||
#endif | |||||
#if STM32_HAS_GPIOB | |||||
gpio_init(GPIOB, &gpio_default_config.PBData); | |||||
#endif | |||||
#if STM32_HAS_GPIOC | |||||
gpio_init(GPIOC, &gpio_default_config.PCData); | |||||
#endif | |||||
#if STM32_HAS_GPIOD | |||||
gpio_init(GPIOD, &gpio_default_config.PDData); | |||||
#endif | |||||
#if STM32_HAS_GPIOE | |||||
gpio_init(GPIOE, &gpio_default_config.PEData); | |||||
#endif | |||||
#if STM32_HAS_GPIOF | |||||
gpio_init(GPIOF, &gpio_default_config.PFData); | |||||
#endif | |||||
#if STM32_HAS_GPIOG | |||||
gpio_init(GPIOG, &gpio_default_config.PGData); | |||||
#endif | |||||
#if STM32_HAS_GPIOH | |||||
gpio_init(GPIOH, &gpio_default_config.PHData); | |||||
#endif | |||||
#if STM32_HAS_GPIOI | |||||
gpio_init(GPIOI, &gpio_default_config.PIData); | |||||
#endif | |||||
#if STM32_HAS_GPIOJ | |||||
gpio_init(GPIOJ, &gpio_default_config.PJData); | |||||
#endif | |||||
#if STM32_HAS_GPIOK | |||||
gpio_init(GPIOK, &gpio_default_config.PKData); | |||||
#endif | |||||
} | |||||
/*===========================================================================*/ | |||||
/* Driver interrupt handlers. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver exported functions. */ | |||||
/*===========================================================================*/ | |||||
/** | |||||
* @brief Early initialization code. | |||||
* @details GPIO ports and system clocks are initialized before everything | |||||
* else. | |||||
*/ | |||||
void __early_init(void) { | |||||
extern void enter_bootloader_mode_if_requested(void); | |||||
enter_bootloader_mode_if_requested(); | |||||
stm32_gpio_init(); | |||||
stm32_clock_init(); | |||||
} | |||||
#if HAL_USE_SDC || defined(__DOXYGEN__) | |||||
/** | |||||
* @brief SDC card detection. | |||||
*/ | |||||
bool sdc_lld_is_card_inserted(SDCDriver *sdcp) { | |||||
(void)sdcp; | |||||
/* TODO: Fill the implementation.*/ | |||||
return true; | |||||
} | |||||
/** | |||||
* @brief SDC card write protection detection. | |||||
*/ | |||||
bool sdc_lld_is_write_protected(SDCDriver *sdcp) { | |||||
(void)sdcp; | |||||
/* TODO: Fill the implementation.*/ | |||||
return false; | |||||
} | |||||
#endif /* HAL_USE_SDC */ | |||||
#if HAL_USE_MMC_SPI || defined(__DOXYGEN__) | |||||
/** | |||||
* @brief MMC_SPI card detection. | |||||
*/ | |||||
bool mmc_lld_is_card_inserted(MMCDriver *mmcp) { | |||||
(void)mmcp; | |||||
/* TODO: Fill the implementation.*/ | |||||
return true; | |||||
} | |||||
/** | |||||
* @brief MMC_SPI card write protection detection. | |||||
*/ | |||||
bool mmc_lld_is_write_protected(MMCDriver *mmcp) { | |||||
(void)mmcp; | |||||
/* TODO: Fill the implementation.*/ | |||||
return false; | |||||
} | |||||
#endif | |||||
/** | |||||
* @brief Board-specific initialization code. | |||||
* @todo Add your board-specific code, if any. | |||||
*/ | |||||
void boardInit(void) { | |||||
SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP; | |||||
SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP); | |||||
} |
@ -1,940 +0,0 @@ | |||||
/* | |||||
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio | |||||
Licensed under the Apache License, Version 2.0 (the "License"); | |||||
you may not use this file except in compliance with the License. | |||||
You may obtain a copy of the License at | |||||
http://www.apache.org/licenses/LICENSE-2.0 | |||||
Unless required by applicable law or agreed to in writing, software | |||||
distributed under the License is distributed on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
See the License for the specific language governing permissions and | |||||
limitations under the License. | |||||
*/ | |||||
/* | |||||
* This file has been automatically generated using ChibiStudio board | |||||
* generator plugin. Do not edit manually. | |||||
*/ | |||||
#ifndef BOARD_H | |||||
#define BOARD_H | |||||
/*===========================================================================*/ | |||||
/* Driver constants. */ | |||||
/*===========================================================================*/ | |||||
/* | |||||
* Setup for ST STM32F072B-Discovery board. | |||||
*/ | |||||
/* | |||||
* Board identifier. | |||||
*/ | |||||
#define BOARD_ST_STM32F072B_DISCOVERY | |||||
#define BOARD_NAME "ST STM32F072B-Discovery" | |||||
/* | |||||
* Board oscillators-related settings. | |||||
* NOTE: HSE not fitted. | |||||
*/ | |||||
#if !defined(STM32_LSECLK) | |||||
#define STM32_LSECLK 32768 | |||||
#endif | |||||
#define STM32_LSEDRV (3U << 3U) | |||||
#if !defined(STM32_HSECLK) | |||||
#define STM32_HSECLK 0U | |||||
#endif | |||||
#define STM32_HSE_BYPASS | |||||
/* | |||||
* MCU type as defined in the ST header. | |||||
*/ | |||||
#define STM32F072xB | |||||
/* | |||||
* IO pins assignments. | |||||
*/ | |||||
#define GPIOA_BUTTON 0U | |||||
#define GPIOA_PIN1 1U | |||||
#define GPIOA_PIN2 2U | |||||
#define GPIOA_PIN3 3U | |||||
#define GPIOA_PIN4 4U | |||||
#define GPIOA_PIN5 5U | |||||
#define GPIOA_PIN6 6U | |||||
#define GPIOA_PIN7 7U | |||||
#define GPIOA_PIN8 8U | |||||
#define GPIOA_PIN9 9U | |||||
#define GPIOA_PIN10 10U | |||||
#define GPIOA_USB_DM 11U | |||||
#define GPIOA_USB_DP 12U | |||||
#define GPIOA_SWDIO 13U | |||||
#define GPIOA_SWCLK 14U | |||||
#define GPIOA_PIN15 15U | |||||
#define GPIOB_PIN0 0U | |||||
#define GPIOB_PIN1 1U | |||||
#define GPIOB_PIN2 2U | |||||
#define GPIOB_PIN3 3U | |||||
#define GPIOB_PIN4 4U | |||||
#define GPIOB_PIN5 5U | |||||
#define GPIOB_PIN6 6U | |||||
#define GPIOB_PIN7 7U | |||||
#define GPIOB_PIN8 8U | |||||
#define GPIOB_PIN9 9U | |||||
#define GPIOB_PIN10 10U | |||||
#define GPIOB_PIN11 11U | |||||
#define GPIOB_PIN12 12U | |||||
#define GPIOB_SPI2_SCK 13U | |||||
#define GPIOB_SPI2_MISO 14U | |||||
#define GPIOB_SPI2_MOSI 15U | |||||
#define GPIOC_MEMS_CS 0U | |||||
#define GPIOC_PIN1 1U | |||||
#define GPIOC_PIN2 2U | |||||
#define GPIOC_PIN3 3U | |||||
#define GPIOC_PIN4 4U | |||||
#define GPIOC_PIN5 5U | |||||
#define GPIOC_LED_RED 6U | |||||
#define GPIOC_LED_BLUE 7U | |||||
#define GPIOC_LED_ORANGE 8U | |||||
#define GPIOC_LED_GREEN 9U | |||||
#define GPIOC_PIN10 10U | |||||
#define GPIOC_PIN11 11U | |||||
#define GPIOC_PIN12 12U | |||||
#define GPIOC_PIN13 13U | |||||
#define GPIOC_OSC32_IN 14U | |||||
#define GPIOC_OSC32_OUT 15U | |||||
#define GPIOD_PIN0 0U | |||||
#define GPIOD_PIN1 1U | |||||
#define GPIOD_PIN2 2U | |||||
#define GPIOD_PIN3 3U | |||||
#define GPIOD_PIN4 4U | |||||
#define GPIOD_PIN5 5U | |||||
#define GPIOD_PIN6 6U | |||||
#define GPIOD_PIN7 7U | |||||
#define GPIOD_PIN8 8U | |||||
#define GPIOD_PIN9 9U | |||||
#define GPIOD_PIN10 10U | |||||
#define GPIOD_PIN11 11U | |||||
#define GPIOD_PIN12 12U | |||||
#define GPIOD_PIN13 13U | |||||
#define GPIOD_PIN14 14U | |||||
#define GPIOD_PIN15 15U | |||||
#define GPIOE_PIN0 0U | |||||
#define GPIOE_PIN1 1U | |||||
#define GPIOE_PIN2 2U | |||||
#define GPIOE_PIN3 3U | |||||
#define GPIOE_PIN4 4U | |||||
#define GPIOE_PIN5 5U | |||||
#define GPIOE_PIN6 6U | |||||
#define GPIOE_PIN7 7U | |||||
#define GPIOE_PIN8 8U | |||||
#define GPIOE_PIN9 9U | |||||
#define GPIOE_PIN10 10U | |||||
#define GPIOE_PIN11 11U | |||||
#define GPIOE_PIN12 12U | |||||
#define GPIOE_PIN13 13U | |||||
#define GPIOE_PIN14 14U | |||||
#define GPIOE_PIN15 15U | |||||
#define GPIOF_OSC_IN 0U | |||||
#define GPIOF_OSC_OUT 1U | |||||
#define GPIOF_PIN2 2U | |||||
#define GPIOF_PIN3 3U | |||||
#define GPIOF_PIN4 4U | |||||
#define GPIOF_PIN5 5U | |||||
#define GPIOF_PIN6 6U | |||||
#define GPIOF_PIN7 7U | |||||
#define GPIOF_PIN8 8U | |||||
#define GPIOF_PIN9 9U | |||||
#define GPIOF_PIN10 10U | |||||
#define GPIOF_PIN11 11U | |||||
#define GPIOF_PIN12 12U | |||||
#define GPIOF_PIN13 13U | |||||
#define GPIOF_PIN14 14U | |||||
#define GPIOF_PIN15 15U | |||||
/* | |||||
* IO lines assignments. | |||||
*/ | |||||
#define LINE_BUTTON PAL_LINE(GPIOA, 0U) | |||||
#define LINE_USB_DM PAL_LINE(GPIOA, 11U) | |||||
#define LINE_USB_DP PAL_LINE(GPIOA, 12U) | |||||
#define LINE_SWDIO PAL_LINE(GPIOA, 13U) | |||||
#define LINE_SWCLK PAL_LINE(GPIOA, 14U) | |||||
#define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U) | |||||
#define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U) | |||||
#define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U) | |||||
#define LINE_MEMS_CS PAL_LINE(GPIOC, 0U) | |||||
#define LINE_LED_RED PAL_LINE(GPIOC, 6U) | |||||
#define LINE_LED_BLUE PAL_LINE(GPIOC, 7U) | |||||
#define LINE_LED_ORANGE PAL_LINE(GPIOC, 8U) | |||||
#define LINE_LED_GREEN PAL_LINE(GPIOC, 9U) | |||||
#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U) | |||||
#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U) | |||||
#define LINE_OSC_IN PAL_LINE(GPIOF, 0U) | |||||
#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U) | |||||
/*===========================================================================*/ | |||||
/* Driver pre-compile time settings. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Derived constants and error checks. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver data structures and types. */ | |||||
/*===========================================================================*/ | |||||
/*===========================================================================*/ | |||||
/* Driver macros. */ | |||||
/*===========================================================================*/ | |||||
/* | |||||
* I/O ports initial setup, this configuration is established soon after reset | |||||
* in the initialization code. | |||||
* Please refer to the STM32 Reference Manual for details. | |||||
*/ | |||||
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) | |||||
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) | |||||
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U)) | |||||
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U)) | |||||
#define PIN_ODR_LOW(n) (0U << (n)) | |||||
#define PIN_ODR_HIGH(n) (1U << (n)) | |||||
#define PIN_OTYPE_PUSHPULL(n) (0U << (n)) | |||||
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n)) | |||||
#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U)) | |||||
#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U)) | |||||
#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U)) | |||||
#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U)) | |||||
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U)) | |||||
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U)) | |||||
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U)) | |||||
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U)) | |||||
/* | |||||
* GPIOA setup: | |||||
* | |||||
* PA0 - BUTTON (input floating). | |||||
* PA1 - PIN1 (input pullup). | |||||
* PA2 - PIN2 (input pullup). | |||||
* PA3 - PIN3 (input pullup). | |||||
* PA4 - PIN4 (input pullup). | |||||
* PA5 - PIN5 (input pullup). | |||||
* PA6 - PIN6 (input pullup). | |||||
* PA7 - PIN7 (input pullup). | |||||
* PA8 - PIN8 (input pullup). | |||||
* PA9 - PIN9 (input pullup). | |||||
* PA10 - PIN10 (input pullup). | |||||
* PA11 - USB_DM (input floating). | |||||
* PA12 - USB_DP (input floating). | |||||
* PA13 - SWDIO (alternate 0). | |||||
* PA14 - SWCLK (alternate 0). | |||||
* PA15 - PIN15 (input pullup). | |||||
*/ | |||||
#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_BUTTON) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOA_USB_DM) | \ | |||||
PIN_MODE_INPUT(GPIOA_USB_DP) | \ | |||||
PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \ | |||||
PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \ | |||||
PIN_MODE_INPUT(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_BUTTON) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN1) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_USB_DM) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOA_USB_DP) | \ | |||||
PIN_OSPEED_HIGH(GPIOA_SWDIO) | \ | |||||
PIN_OSPEED_HIGH(GPIOA_SWCLK) | \ | |||||
PIN_OSPEED_HIGH(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN10) | \ | |||||
PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \ | |||||
PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_SWDIO) | \ | |||||
PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) | \ | |||||
PIN_PUPDR_PULLUP(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_BUTTON) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOA_USB_DM) | \ | |||||
PIN_ODR_HIGH(GPIOA_USB_DP) | \ | |||||
PIN_ODR_HIGH(GPIOA_SWDIO) | \ | |||||
PIN_ODR_HIGH(GPIOA_SWCLK) | \ | |||||
PIN_ODR_HIGH(GPIOA_PIN15)) | |||||
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_BUTTON, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN7, 0U)) | |||||
#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_USB_DM, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_USB_DP, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_SWDIO, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_SWCLK, 0U) | \ | |||||
PIN_AFIO_AF(GPIOA_PIN15, 0U)) | |||||
/* | |||||
* GPIOB setup: | |||||
* | |||||
* PB0 - PIN0 (input pullup). | |||||
* PB1 - PIN1 (input pullup). | |||||
* PB2 - PIN2 (input pullup). | |||||
* PB3 - PIN3 (input pullup). | |||||
* PB4 - PIN4 (input pullup). | |||||
* PB5 - PIN5 (input pullup). | |||||
* PB6 - PIN6 (input pullup). | |||||
* PB7 - PIN7 (input pullup). | |||||
* PB8 - PIN8 (input pullup). | |||||
* PB9 - PIN9 (input pullup). | |||||
* PB10 - PIN10 (input pullup). | |||||
* PB11 - PIN11 (input pullup). | |||||
* PB12 - PIN12 (input pullup). | |||||
* PB13 - SPI2_SCK (alternate 0). | |||||
* PB14 - SPI2_MISO (alternate 0). | |||||
* PB15 - SPI2_MOSI (alternate 0). | |||||
*/ | |||||
#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOB_PIN12) | \ | |||||
PIN_MODE_ALTERNATE(GPIOB_SPI2_SCK) | \ | |||||
PIN_MODE_ALTERNATE(GPIOB_SPI2_MISO) | \ | |||||
PIN_MODE_ALTERNATE(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_SPI2_SCK) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MISO) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_PIN0) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN1) | \ | |||||
PIN_OSPEED_HIGH(GPIOB_PIN2) | \ | |||||
PIN_OSPEED_HIGH(GPIOB_PIN3) | \ | |||||
PIN_OSPEED_HIGH(GPIOB_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_SPI2_SCK) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_SPI2_MISO) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOB_PIN12) | \ | |||||
PIN_PUPDR_FLOATING(GPIOB_SPI2_SCK) | \ | |||||
PIN_PUPDR_FLOATING(GPIOB_SPI2_MISO) | \ | |||||
PIN_PUPDR_FLOATING(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_PIN0) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOB_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOB_SPI2_SCK) | \ | |||||
PIN_ODR_HIGH(GPIOB_SPI2_MISO) | \ | |||||
PIN_ODR_HIGH(GPIOB_SPI2_MOSI)) | |||||
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN7, 0U)) | |||||
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_SPI2_SCK, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_SPI2_MISO, 0U) | \ | |||||
PIN_AFIO_AF(GPIOB_SPI2_MOSI, 0U)) | |||||
/* | |||||
* GPIOC setup: | |||||
* | |||||
* PC0 - MEMS_CS (output pushpull maximum). | |||||
* PC1 - PIN1 (input pullup). | |||||
* PC2 - PIN2 (input pullup). | |||||
* PC3 - PIN3 (input pullup). | |||||
* PC4 - PIN4 (input pullup). | |||||
* PC5 - PIN5 (input pullup). | |||||
* PC6 - LED_RED (output pushpull maximum). | |||||
* PC7 - LED_BLUE (output pushpull maximum). | |||||
* PC8 - LED_ORANGE (output pushpull maximum). | |||||
* PC9 - LED_GREEN (output pushpull maximum). | |||||
* PC10 - PIN10 (input pullup). | |||||
* PC11 - PIN11 (input pullup). | |||||
* PC12 - PIN12 (input pullup). | |||||
* PC13 - PIN13 (input pullup). | |||||
* PC14 - OSC32_IN (input floating). | |||||
* PC15 - OSC32_OUT (input floating). | |||||
*/ | |||||
#define VAL_GPIOC_MODER (PIN_MODE_OUTPUT(GPIOC_MEMS_CS) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN5) | \ | |||||
PIN_MODE_OUTPUT(GPIOC_LED_RED) | \ | |||||
PIN_MODE_OUTPUT(GPIOC_LED_BLUE) | \ | |||||
PIN_MODE_OUTPUT(GPIOC_LED_ORANGE) | \ | |||||
PIN_MODE_OUTPUT(GPIOC_LED_GREEN) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN12) | \ | |||||
PIN_MODE_INPUT(GPIOC_PIN13) | \ | |||||
PIN_MODE_INPUT(GPIOC_OSC32_IN) | \ | |||||
PIN_MODE_INPUT(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_MEMS_CS) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_LED_RED) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_LED_BLUE) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_LED_ORANGE) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_LED_GREEN) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH(GPIOC_MEMS_CS) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN1) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_LED_RED) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_LED_BLUE) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_LED_ORANGE) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_LED_GREEN) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_OSC32_IN) | \ | |||||
PIN_OSPEED_HIGH(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(GPIOC_MEMS_CS) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN5) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_LED_RED) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_LED_BLUE) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_LED_ORANGE) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_LED_GREEN) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN12) | \ | |||||
PIN_PUPDR_PULLUP(GPIOC_PIN13) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \ | |||||
PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_MEMS_CS) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN5) | \ | |||||
PIN_ODR_LOW(GPIOC_LED_RED) | \ | |||||
PIN_ODR_LOW(GPIOC_LED_BLUE) | \ | |||||
PIN_ODR_LOW(GPIOC_LED_ORANGE) | \ | |||||
PIN_ODR_LOW(GPIOC_LED_GREEN) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOC_PIN13) | \ | |||||
PIN_ODR_HIGH(GPIOC_OSC32_IN) | \ | |||||
PIN_ODR_HIGH(GPIOC_OSC32_OUT)) | |||||
#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_MEMS_CS, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_LED_RED, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_LED_BLUE, 0U)) | |||||
#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_LED_ORANGE, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_LED_GREEN, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_PIN13, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) | \ | |||||
PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U)) | |||||
/* | |||||
* GPIOD setup: | |||||
* | |||||
* PD0 - PIN0 (input pullup). | |||||
* PD1 - PIN1 (input pullup). | |||||
* PD2 - PIN2 (input pullup). | |||||
* PD3 - PIN3 (input pullup). | |||||
* PD4 - PIN4 (input pullup). | |||||
* PD5 - PIN5 (input pullup). | |||||
* PD6 - PIN6 (input pullup). | |||||
* PD7 - PIN7 (input pullup). | |||||
* PD8 - PIN8 (input pullup). | |||||
* PD9 - PIN9 (input pullup). | |||||
* PD10 - PIN10 (input pullup). | |||||
* PD11 - PIN11 (input pullup). | |||||
* PD12 - PIN12 (input pullup). | |||||
* PD13 - PIN13 (input pullup). | |||||
* PD14 - PIN14 (input pullup). | |||||
* PD15 - PIN15 (input pullup). | |||||
*/ | |||||
#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN12) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN13) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN14) | \ | |||||
PIN_MODE_INPUT(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN1) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN13) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN12) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN13) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN14) | \ | |||||
PIN_PUPDR_PULLUP(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN13) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN14) | \ | |||||
PIN_ODR_HIGH(GPIOD_PIN15)) | |||||
#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN7, 0U)) | |||||
#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN13, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN14, 0U) | \ | |||||
PIN_AFIO_AF(GPIOD_PIN15, 0U)) | |||||
/* | |||||
* GPIOE setup: | |||||
* | |||||
* PE0 - PIN0 (input pullup). | |||||
* PE1 - PIN1 (input pullup). | |||||
* PE2 - PIN2 (input pullup). | |||||
* PE3 - PIN3 (input pullup). | |||||
* PE4 - PIN4 (input pullup). | |||||
* PE5 - PIN5 (input pullup). | |||||
* PE6 - PIN6 (input pullup). | |||||
* PE7 - PIN7 (input pullup). | |||||
* PE8 - PIN8 (input pullup). | |||||
* PE9 - PIN9 (input pullup). | |||||
* PE10 - PIN10 (input pullup). | |||||
* PE11 - PIN11 (input pullup). | |||||
* PE12 - PIN12 (input pullup). | |||||
* PE13 - PIN13 (input pullup). | |||||
* PE14 - PIN14 (input pullup). | |||||
* PE15 - PIN15 (input pullup). | |||||
*/ | |||||
#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_PIN0) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN1) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN12) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN13) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN14) | \ | |||||
PIN_MODE_INPUT(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN14) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_PIN0) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN1) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN13) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN14) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_PIN0) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN1) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN12) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN13) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN14) | \ | |||||
PIN_PUPDR_PULLUP(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN1) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN13) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN14) | \ | |||||
PIN_ODR_HIGH(GPIOE_PIN15)) | |||||
#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN1, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN7, 0U)) | |||||
#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN13, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN14, 0U) | \ | |||||
PIN_AFIO_AF(GPIOE_PIN15, 0U)) | |||||
/* | |||||
* GPIOF setup: | |||||
* | |||||
* PF0 - OSC_IN (input floating). | |||||
* PF1 - OSC_OUT (input floating). | |||||
* PF2 - PIN2 (input pullup). | |||||
* PF3 - PIN3 (input pullup). | |||||
* PF4 - PIN4 (input pullup). | |||||
* PF5 - PIN5 (input pullup). | |||||
* PF6 - PIN6 (input pullup). | |||||
* PF7 - PIN7 (input pullup). | |||||
* PF8 - PIN8 (input pullup). | |||||
* PF9 - PIN9 (input pullup). | |||||
* PF10 - PIN10 (input pullup). | |||||
* PF11 - PIN11 (input pullup). | |||||
* PF12 - PIN12 (input pullup). | |||||
* PF13 - PIN13 (input pullup). | |||||
* PF14 - PIN14 (input pullup). | |||||
* PF15 - PIN15 (input pullup). | |||||
*/ | |||||
#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_OSC_IN) | \ | |||||
PIN_MODE_INPUT(GPIOF_OSC_OUT) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN2) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN3) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN4) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN5) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN6) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN7) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN8) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN9) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN10) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN11) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN12) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN13) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN14) | \ | |||||
PIN_MODE_INPUT(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_OSC_IN) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_OSC_OUT) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN2) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN3) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN4) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN5) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN6) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN7) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN8) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN9) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN10) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN11) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN12) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN13) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN14) | \ | |||||
PIN_OTYPE_PUSHPULL(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOF_OSC_IN) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_OSC_OUT) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN2) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN4) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN9) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN10) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN12) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN13) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN14) | \ | |||||
PIN_OSPEED_VERYLOW(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_PUPDR (PIN_PUPDR_FLOATING(GPIOF_OSC_IN) | \ | |||||
PIN_PUPDR_FLOATING(GPIOF_OSC_OUT) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN2) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN3) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN4) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN5) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN6) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN7) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN8) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN9) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN10) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN11) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN12) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN13) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN14) | \ | |||||
PIN_PUPDR_PULLUP(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_OSC_IN) | \ | |||||
PIN_ODR_HIGH(GPIOF_OSC_OUT) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN2) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN3) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN4) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN5) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN6) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN7) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN8) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN9) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN10) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN11) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN12) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN13) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN14) | \ | |||||
PIN_ODR_HIGH(GPIOF_PIN15)) | |||||
#define VAL_GPIOF_AFRL (PIN_AFIO_AF(GPIOF_OSC_IN, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_OSC_OUT, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN2, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN3, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN4, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN5, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN6, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN7, 0U)) | |||||
#define VAL_GPIOF_AFRH (PIN_AFIO_AF(GPIOF_PIN8, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN9, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN10, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN11, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN12, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN13, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN14, 0U) | \ | |||||
PIN_AFIO_AF(GPIOF_PIN15, 0U)) | |||||
/*===========================================================================*/ | |||||
/* External declarations. */ | |||||
/*===========================================================================*/ | |||||
#if !defined(_FROM_ASM_) | |||||
#ifdef __cplusplus | |||||
extern "C" { | |||||
#endif | |||||
void boardInit(void); | |||||
#ifdef __cplusplus | |||||
} | |||||
#endif | |||||
#endif /* _FROM_ASM_ */ | |||||
#endif /* BOARD_H */ |
@ -1,5 +0,0 @@ | |||||
# List of all the board related files. | |||||
BOARDSRC = $(BOARD_PATH)/boards/ST_STM32F072B_DISCOVERY/board.c | |||||
# Required include directories | |||||
BOARDINC = $(BOARD_PATH)/boards/ST_STM32F072B_DISCOVERY |
@ -1,703 +0,0 @@ | |||||
<?xml version="1.0" encoding="UTF-8"?> | |||||
<!-- STM32F0xx board Template --> | |||||
<board | |||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |||||
xsi:noNamespaceSchemaLocation="http://www.chibios.org/xml/schema/boards/stm32f0xx_board.xsd"> | |||||
<configuration_settings> | |||||
<templates_path>resources/gencfg/processors/boards/stm32f0xx/templates</templates_path> | |||||
<output_path>..</output_path> | |||||
<hal_version>3.0.x</hal_version> | |||||
</configuration_settings> | |||||
<board_name>ST STM32F072B-Discovery</board_name> | |||||
<board_id>ST_STM32F072B_DISCOVERY</board_id> | |||||
<board_functions></board_functions> | |||||
<subtype>STM32F072xB</subtype> | |||||
<clocks HSEFrequency="0" HSEBypass="true" LSEFrequency="0" | |||||
LSEBypass="false" LSEDrive="3 High Drive (default)" /> | |||||
<ports> | |||||
<GPIOA> | |||||
<pin0 | |||||
ID="BUTTON" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin9 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="USB_DM" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="USB_DP" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="SWDIO" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="SWCLK" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullDown" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
</GPIOA> | |||||
<GPIOB> | |||||
<pin0 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin9 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="SPI2_SCK" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="SPI2_MISO" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="SPI2_MOSI" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Alternate" | |||||
Alternate="0" /> | |||||
</GPIOB> | |||||
<GPIOC> | |||||
<pin0 | |||||
ID="MEMS_CS" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Output" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="LED_RED" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="Low" | |||||
Mode="Output" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="LED_BLUE" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="Low" | |||||
Mode="Output" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="LED_ORANGE" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="Low" | |||||
Mode="Output" | |||||
Alternate="0" ></pin8> | |||||
<pin9 | |||||
ID="LED_GREEN" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="Low" | |||||
Mode="Output" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="OSC32_IN" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="OSC32_OUT" | |||||
Type="PushPull" | |||||
Speed="Maximum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
</GPIOC> | |||||
<GPIOD> | |||||
<pin0 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin9 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
</GPIOD> | |||||
<GPIOE> | |||||
<pin0 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin1 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin2 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin3 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin4 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin5 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin6 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin7 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin8 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin9 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin10 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin11 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin12 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin13 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin14 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
<pin15 ID="" Type="PushPull" Speed="Minimum" Resistor="PullUp" | |||||
Level="High" Mode="Input" Alternate="0" /> | |||||
</GPIOE> | |||||
<GPIOF> | |||||
<pin0 | |||||
ID="OSC_IN" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin1 | |||||
ID="OSC_OUT" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="Floating" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin2 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin3 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin4 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin5 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin6 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin7 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin8 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin9 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin10 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin11 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin12 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin13 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin14 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
<pin15 | |||||
ID="" | |||||
Type="PushPull" | |||||
Speed="Minimum" | |||||
Resistor="PullUp" | |||||
Level="High" | |||||
Mode="Input" | |||||
Alternate="0" /> | |||||
</GPIOF> | |||||
</ports> | |||||
</board> |
@ -0,0 +1,26 @@ | |||||
# Speedo | |||||
![Speedo](http://assets.cozykeys.xyz/images/keyboards/speedo/speedo-v3.0-angle-led-front_1600x1600.png) | |||||
- Keyboard Maintainer: [Paul Ewing](https://github.com/pcewing) | |||||
- Hardware Supported: Elite-C | |||||
- Hardware Availability: [Speedo Repository](https://github.com/cozykeys/speedo) | |||||
Make example for this keyboard (after setting up your build environment): | |||||
make speedo:default | |||||
Flashing example for this keyboard: | |||||
make speedo:default:flash | |||||
See the | |||||
[build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and | |||||
the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for | |||||
more information. Brand new to QMK? Start with our | |||||
[Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | |||||
## Flashing the Firmware | |||||
See the QMK docs for handwiring a keyboard; there is a section with | |||||
instructions on how to flash the *.hex* file to the Teensy 2.0 controller. |
@ -0,0 +1,17 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#include "speedo.h" |
@ -0,0 +1,23 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#pragma once | |||||
#ifdef KEYBOARD_cozykeys_speedo_v2 | |||||
#include "speedo_v2.h" | |||||
#elif KEYBOARD_cozykeys_speedo_v3 | |||||
#include "speedo_v3.h" | |||||
#endif |
@ -0,0 +1,44 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#pragma once | |||||
#include "config_common.h" | |||||
// USB Device descriptor parameter | |||||
#define VENDOR_ID 0xFEED | |||||
#define PRODUCT_ID 0x1192 | |||||
#define DEVICE_VER 0x0002 | |||||
#define MANUFACTURER CozyKeys | |||||
#define PRODUCT Speedo | |||||
// Key matrix size | |||||
#define MATRIX_ROWS 5 | |||||
#define MATRIX_COLS 14 | |||||
// Keyboard Matrix Assignments | |||||
#define MATRIX_ROW_PINS { D1, D2, D3, C6, C7 } | |||||
#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, B6, B5, D0, B7, B3, B2, B1, B0 } | |||||
#define UNUSED_PINS { D5, D4, D6, D7, B4 } | |||||
#define DIODE_DIRECTION COL2ROW | |||||
// Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed | |||||
#define DEBOUNCE 5 | |||||
// Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap | |||||
#define LOCKING_SUPPORT_ENABLE | |||||
// Locking resynchronize hack | |||||
#define LOCKING_RESYNC_ENABLE |
@ -0,0 +1,79 @@ | |||||
{ | |||||
"keyboard_name": "Speedo", | |||||
"url": "https://github.com/cozykeys/speedo", | |||||
"maintainer": "pcewing", | |||||
"width": 14, | |||||
"height": 5, | |||||
"layouts": { | |||||
"LAYOUT": { | |||||
"layout": [ | |||||
{ "label": "k01", "x": 0.693, "y": 0.0, "r": 10 }, | |||||
{ "label": "k02", "x": 1.675, "y": 0.173, "r": 10 }, | |||||
{ "label": "k03", "x": 2.685, "y": 0.191, "r": 10 }, | |||||
{ "label": "k04", "x": 3.712, "y": 0.106, "r": 10 }, | |||||
{ "label": "k05", "x": 4.64, "y": 0.589, "r": 10 }, | |||||
{ "label": "k06", "x": 5.577, "y": 1.021, "r": 10 }, | |||||
{ "label": "k07", "x": 7.571, "y": 1.021, "r": -10 }, | |||||
{ "label": "k08", "x": 8.507, "y": 0.589, "r": -10 }, | |||||
{ "label": "k09", "x": 9.435, "y": 0.106, "r": -10 }, | |||||
{ "label": "k10", "x": 10.463, "y": 0.191, "r": -10 }, | |||||
{ "label": "k11", "x": 11.472, "y": 0.173, "r": -10 }, | |||||
{ "label": "k12", "x": 12.454, "y": 0.0, "r": -10 }, | |||||
{ "label": "k13", "x": 0.52, "y": 0.982, "r": 10 }, | |||||
{ "label": "k14", "x": 1.502, "y": 1.155, "r": 10 }, | |||||
{ "label": "k15", "x": 2.511, "y": 1.174, "r": 10 }, | |||||
{ "label": "k16", "x": 3.539, "y": 1.088, "r": 10 }, | |||||
{ "label": "k17", "x": 4.467, "y": 1.572, "r": 10 }, | |||||
{ "label": "k18", "x": 5.403, "y": 2.003, "r": 10 }, | |||||
{ "label": "k19", "x": 6.574, "y": 2.559, "r": 0 }, | |||||
{ "label": "k20", "x": 7.744, "y": 2.003, "r": -10 }, | |||||
{ "label": "k21", "x": 8.681, "y": 1.572, "r": -10 }, | |||||
{ "label": "k22", "x": 9.608, "y": 1.088, "r": -10 }, | |||||
{ "label": "k23", "x": 10.636, "y": 1.174, "r": -10 }, | |||||
{ "label": "k24", "x": 11.645, "y": 1.155, "r": -10 }, | |||||
{ "label": "k25", "x": 12.628, "y": 0.982, "r": -10 }, | |||||
{ "label": "k26", "x": 0.346, "y": 1.964, "r": 10 }, | |||||
{ "label": "k27", "x": 1.329, "y": 2.138, "r": 10 }, | |||||
{ "label": "k28", "x": 2.338, "y": 2.156, "r": 10 }, | |||||
{ "label": "k29", "x": 3.366, "y": 2.07, "r": 10 }, | |||||
{ "label": "k30", "x": 4.294, "y": 2.554, "r": 10 }, | |||||
{ "label": "k31", "x": 5.23, "y": 2.986, "r": 10 }, | |||||
{ "label": "k32", "x": 6.574, "y": 3.557, "r": 0 }, | |||||
{ "label": "k33", "x": 7.917, "y": 2.986, "r": -10 }, | |||||
{ "label": "k34", "x": 8.854, "y": 2.554, "r": -10 }, | |||||
{ "label": "k35", "x": 9.781, "y": 2.07, "r": -10 }, | |||||
{ "label": "k36", "x": 10.809, "y": 2.156, "r": -10 }, | |||||
{ "label": "k37", "x": 11.819, "y": 2.138, "r": -10 }, | |||||
{ "label": "k38", "x": 12.801, "y": 1.964, "r": -10 }, | |||||
{ "label": "k39", "x": 0.173, "y": 2.947, "r": 10 }, | |||||
{ "label": "k40", "x": 1.155, "y": 3.12, "r": 10 }, | |||||
{ "label": "k41", "x": 2.165, "y": 3.138, "r": 10 }, | |||||
{ "label": "k42", "x": 3.193, "y": 3.053, "r": 10 }, | |||||
{ "label": "k43", "x": 4.12, "y": 3.536, "r": 10 }, | |||||
{ "label": "k44", "x": 5.057, "y": 3.968, "r": 10 }, | |||||
{ "label": "k45", "x": 6.075, "y": 4.554, "r": 0 }, | |||||
{ "label": "k46", "x": 7.072, "y": 4.554, "r": 0 }, | |||||
{ "label": "k47", "x": 8.09, "y": 3.968, "r": -10 }, | |||||
{ "label": "k48", "x": 9.027, "y": 3.536, "r": -10 }, | |||||
{ "label": "k49", "x": 9.954, "y": 3.053, "r": -10 }, | |||||
{ "label": "k50", "x": 10.982, "y": 3.138, "r": -10 }, | |||||
{ "label": "k51", "x": 11.992, "y": 3.12, "r": -10 }, | |||||
{ "label": "k52", "x": 12.974, "y": 2.947, "r": -10 }, | |||||
{ "label": "k53", "x": 0.0, "y": 3.929, "r": 10 }, | |||||
{ "label": "k54", "x": 0.982, "y": 4.102, "r": 10 }, | |||||
{ "label": "k55", "x": 1.992, "y": 4.12, "r": 10 }, | |||||
{ "label": "k56", "x": 3.02, "y": 4.035, "r": 10 }, | |||||
{ "label": "k57", "x": 3.947, "y": 4.518, "r": 10 }, | |||||
{ "label": "k58", "x": 4.994, "y": 5.235, "r": 40 }, | |||||
{ "label": "k59", "x": 5.753, "y": 6.064, "r": 55 }, | |||||
{ "label": "k60", "x": 7.395, "y": 6.064, "r": -55 }, | |||||
{ "label": "k61", "x": 8.154, "y": 5.235, "r": 40 }, | |||||
{ "label": "k62", "x": 9.2, "y": 4.518, "r": -10 }, | |||||
{ "label": "k63", "x": 10.128, "y": 4.035, "r": -10 }, | |||||
{ "label": "k64", "x": 11.155, "y": 4.12, "r": -10 }, | |||||
{ "label": "k65", "x": 12.165, "y": 4.102, "r": -10 }, | |||||
{ "label": "k66", "x": 13.147, "y": 3.929, "r": -10 } | |||||
] | |||||
} | |||||
} | |||||
} |
@ -0,0 +1 @@ | |||||
# CozyKeys Speedo v2 Default Keymap |
@ -0,0 +1,22 @@ | |||||
# MCU name | |||||
MCU = atmega32u4 | |||||
# Bootloader selection | |||||
BOOTLOADER = halfkay | |||||
# Build Options | |||||
# change yes to no to disable | |||||
# | |||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | |||||
MOUSEKEY_ENABLE = yes # Mouse keys | |||||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||||
CONSOLE_ENABLE = no # Console for debug | |||||
COMMAND_ENABLE = no # Commands for debug and configuration | |||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||||
NKRO_ENABLE = no # USB Nkey Rollover | |||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow | |||||
BLUETOOTH_ENABLE = no # Enable Bluetooth | |||||
AUDIO_ENABLE = no # Audio output |
@ -0,0 +1,17 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#include "speedo_v2.h" |
@ -0,0 +1,36 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#pragma once | |||||
#include "quantum.h" | |||||
#define ___ KC_NO | |||||
#define LAYOUT( \ | |||||
k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, \ | |||||
k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, \ | |||||
k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, k38, \ | |||||
k39, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k50, k51, k52, \ | |||||
k53, k54, k55, k56, k57, k58, k59, k60, k61, k62, k63, k64, k65, k66 \ | |||||
) \ | |||||
{ \ | |||||
{ k01, k01, k03, k04, k05, k06, ___, ___, k07, k08, k09, k10, k11, k12 }, \ | |||||
{ k13, k15, k15, k16, k17, k18, k19, ___, k20, k21, k22, k23, k24, k25 }, \ | |||||
{ k26, k28, k28, k29, k30, k31, ___, k32, k33, k34, k35, k36, k37, k38 }, \ | |||||
{ k39, k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k50, k51, k52 }, \ | |||||
{ k53, k54, k55, k56, k57, k58, k59, k60, k61, k62, k63, k64, k65, k66 } \ | |||||
} |
@ -0,0 +1,58 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#pragma once | |||||
#include "config_common.h" | |||||
// USB Device descriptor parameter | |||||
#define VENDOR_ID 0xFEED | |||||
#define PRODUCT_ID 0x1192 | |||||
#define DEVICE_VER 0x0003 | |||||
#define MANUFACTURER CozyKeys | |||||
#define PRODUCT Speedo | |||||
// Key matrix size | |||||
#define MATRIX_ROWS 5 | |||||
#define MATRIX_COLS 14 | |||||
// Keyboard Matrix Assignments | |||||
#define MATRIX_ROW_PINS { F0, F1, C7, D5, B7 } | |||||
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B6, B2, E6, D7, C6, D4, D0, D1 } | |||||
#define UNUSED_PINS { D2, D3, B0, B4 } | |||||
#define DIODE_DIRECTION COL2ROW | |||||
#ifdef RGBLIGHT_ENABLE | |||||
#define RGB_DI_PIN B5 | |||||
#define RGBLED_NUM 12 | |||||
#define RGBLIGHT_HUE_STEP 8 | |||||
#define RGBLIGHT_SAT_STEP 8 | |||||
#define RGBLIGHT_VAL_STEP 8 | |||||
#define RGBLIGHT_LIMIT_VAL 255 | |||||
#define RGBLIGHT_SLEEP | |||||
#define RGBLIGHT_ANIMATIONS | |||||
#define RGBLIGHT_BREATHE_TABLE_SIZE 256 | |||||
#define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 | |||||
#define RGBLIGHT_EFFECT_BREATHE_MAX 255 | |||||
#endif | |||||
// Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed | |||||
#define DEBOUNCE 5 | |||||
// Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap | |||||
#define LOCKING_SUPPORT_ENABLE | |||||
// Locking resynchronize hack | |||||
#define LOCKING_RESYNC_ENABLE |
@ -0,0 +1,79 @@ | |||||
{ | |||||
"keyboard_name": "Speedo", | |||||
"url": "https://github.com/cozykeys/speedo", | |||||
"maintainer": "pcewing", | |||||
"width": 14, | |||||
"height": 5, | |||||
"layouts": { | |||||
"LAYOUT": { | |||||
"layout": [ | |||||
{ "label": "k01", "x": 0.695, "y": 0, "r": 10 }, | |||||
{ "label": "k02", "x": 1.679, "y": 0.174, "r": 10 }, | |||||
{ "label": "k03", "x": 2.692, "y": 0.192, "r": 10 }, | |||||
{ "label": "k04", "x": 3.722, "y": 0.107, "r": 10 }, | |||||
{ "label": "k05", "x": 4.652, "y": 0.591, "r": 10 }, | |||||
{ "label": "k06", "x": 5.591, "y": 1.023, "r": 10 }, | |||||
{ "label": "k07", "x": 9.457, "y": 1.023, "r": -10 }, | |||||
{ "label": "k08", "x": 10.396, "y": 0.591, "r": -10 }, | |||||
{ "label": "k09", "x": 11.326, "y": 0.107, "r": -10 }, | |||||
{ "label": "k10", "x": 12.356, "y": 0.192, "r": -10 }, | |||||
{ "label": "k11", "x": 13.369, "y": 0.174, "r": -10 }, | |||||
{ "label": "k12", "x": 14.353, "y": 0, "r": -10 }, | |||||
{ "label": "k13", "x": 0.521, "y": 0.985, "r": 10 }, | |||||
{ "label": "k14", "x": 1.506, "y": 1.158, "r": 10 }, | |||||
{ "label": "k15", "x": 2.518, "y": 1.177, "r": 10 }, | |||||
{ "label": "k16", "x": 3.548, "y": 1.092, "r": 10 }, | |||||
{ "label": "k17", "x": 4.478, "y": 1.576, "r": 10 }, | |||||
{ "label": "k18", "x": 5.418, "y": 2.008, "r": 10 }, | |||||
{ "label": "k19", "x": 7.524, "y": 3.305, "r": 0 }, | |||||
{ "label": "k20", "x": 9.63, "y": 2.008, "r": -10 }, | |||||
{ "label": "k21", "x": 10.57, "y": 1.576, "r": -10 }, | |||||
{ "label": "k22", "x": 11.5, "y": 1.092, "r": -10 }, | |||||
{ "label": "k23", "x": 12.53, "y": 1.177, "r": -10 }, | |||||
{ "label": "k24", "x": 13.542, "y": 1.158, "r": -10 }, | |||||
{ "label": "k25", "x": 14.527, "y": 0.985, "r": -10 }, | |||||
{ "label": "k26", "x": 0.347, "y": 1.97, "r": 10 }, | |||||
{ "label": "k27", "x": 1.332, "y": 2.143, "r": 10 }, | |||||
{ "label": "k28", "x": 2.344, "y": 2.162, "r": 10 }, | |||||
{ "label": "k29", "x": 3.375, "y": 2.077, "r": 10 }, | |||||
{ "label": "k30", "x": 4.305, "y": 2.561, "r": 10 }, | |||||
{ "label": "k31", "x": 5.244, "y": 2.993, "r": 10 }, | |||||
{ "label": "k32", "x": 6.524, "y": 3.805, "r": 0 }, | |||||
{ "label": "k33", "x": 8.524, "y": 3.805, "r": 0 }, | |||||
{ "label": "k34", "x": 9.804, "y": 2.993, "r": -10 }, | |||||
{ "label": "k35", "x": 10.743, "y": 2.561, "r": -10 }, | |||||
{ "label": "k36", "x": 11.673, "y": 2.077, "r": -10 }, | |||||
{ "label": "k37", "x": 12.704, "y": 2.162, "r": -10 }, | |||||
{ "label": "k38", "x": 13.716, "y": 2.143, "r": -10 }, | |||||
{ "label": "k39", "x": 14.701, "y": 1.97, "r": -10 }, | |||||
{ "label": "k40", "x": 0.174, "y": 2.954, "r": 10 }, | |||||
{ "label": "k41", "x": 1.158, "y": 3.128, "r": 10 }, | |||||
{ "label": "k42", "x": 2.171, "y": 3.147, "r": 10 }, | |||||
{ "label": "k43", "x": 3.201, "y": 3.062, "r": 10 }, | |||||
{ "label": "k44", "x": 4.131, "y": 3.546, "r": 10 }, | |||||
{ "label": "k45", "x": 5.07, "y": 3.978, "r": 10 }, | |||||
{ "label": "k46", "x": 7.524, "y": 4.305, "r": 0 }, | |||||
{ "label": "k47", "x": 9.978, "y": 3.978, "r": -10 }, | |||||
{ "label": "k48", "x": 10.917, "y": 3.546, "r": -10 }, | |||||
{ "label": "k49", "x": 11.847, "y": 3.062, "r": -10 }, | |||||
{ "label": "k50", "x": 12.877, "y": 3.147, "r": -10 }, | |||||
{ "label": "k51", "x": 13.89, "y": 3.128, "r": -10 }, | |||||
{ "label": "k52", "x": 14.874, "y": 2.954, "r": -10 }, | |||||
{ "label": "k53", "x": 0, "y": 3.939, "r": 10 }, | |||||
{ "label": "k54", "x": 0.985, "y": 4.113, "r": 10 }, | |||||
{ "label": "k55", "x": 1.997, "y": 4.131, "r": 10 }, | |||||
{ "label": "k56", "x": 3.027, "y": 4.047, "r": 10 }, | |||||
{ "label": "k57", "x": 3.957, "y": 4.53, "r": 10 }, | |||||
{ "label": "k58", "x": 4.897, "y": 4.963, "r": 10 }, | |||||
{ "label": "k59", "x": 5.881, "y": 5.136, "r": 10 }, | |||||
{ "label": "k60", "x": 9.166, "y": 5.136, "r": -10 }, | |||||
{ "label": "k61", "x": 10.151, "y": 4.963, "r": -10 }, | |||||
{ "label": "k62", "x": 11.09, "y": 4.53, "r": -10 }, | |||||
{ "label": "k63", "x": 12.021, "y": 4.047, "r": -10 }, | |||||
{ "label": "k64", "x": 13.051, "y": 4.131, "r": -10 }, | |||||
{ "label": "k65", "x": 14.063, "y": 4.113, "r": -10 }, | |||||
{ "label": "k66", "x": 15.048, "y": 3.939, "r": -10 } | |||||
] | |||||
} | |||||
} | |||||
} |
@ -0,0 +1,49 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#include QMK_KEYBOARD_H | |||||
enum { | |||||
LAYER_DEFAULT, | |||||
LAYER_FN, | |||||
__LAYER_COUNT, | |||||
}; | |||||
#define FN MO(LAYER_FN) | |||||
#define RGB_N RGB_MOD // Rotate to next RGB mode | |||||
#define RGB_P RGB_RMOD // Rotate to next RGB mode | |||||
const uint16_t PROGMEM keymaps[__LAYER_COUNT][MATRIX_ROWS][MATRIX_COLS] = { | |||||
[LAYER_DEFAULT] = LAYOUT( | |||||
KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, | |||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_UP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, | |||||
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LEFT, KC_RGHT, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, | |||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DOWN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, | |||||
KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, FN, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_RALT, KC_RGUI, KC_RCTL | |||||
), | |||||
[LAYER_FN] = LAYOUT( | |||||
RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, RESET, | |||||
_______, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, RGB_TOG, _______, KC_GRV, KC_LBRC, KC_RBRC, _______, _______, | |||||
KC_CAPS, KC_F5, KC_F6, KC_F7, KC_F8, KC_INS, RGB_N, RGB_P, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, | |||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_PAUS, RGB_M_P, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, | |||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ | |||||
), | |||||
}; |
@ -0,0 +1,10 @@ | |||||
# CozyKeys Speedo v3 Default Keymap | |||||
## Default Layer | |||||
![Default Layer](https://raw.githubusercontent.com/cozykeys/speedo/master/layout/speedo_layer_default.svg) | |||||
## Function Layer | |||||
![Function Layer](https://raw.githubusercontent.com/cozykeys/speedo/master/layout/speedo_layer_fn.svg) | |||||
@ -0,0 +1,22 @@ | |||||
# MCU name | |||||
MCU = atmega32u4 | |||||
# Bootloader selection | |||||
BOOTLOADER = atmel-dfu | |||||
# Build Options | |||||
# change yes to no to disable | |||||
# | |||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration | |||||
MOUSEKEY_ENABLE = yes # Mouse keys | |||||
EXTRAKEY_ENABLE = yes # Audio control and System control | |||||
CONSOLE_ENABLE = no # Console for debug | |||||
COMMAND_ENABLE = no # Commands for debug and configuration | |||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE | |||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend | |||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work | |||||
NKRO_ENABLE = no # USB Nkey Rollover | |||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality | |||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow | |||||
BLUETOOTH_ENABLE = no # Enable Bluetooth | |||||
AUDIO_ENABLE = no # Audio output |
@ -0,0 +1,17 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#include "speedo_v3.h" |
@ -0,0 +1,36 @@ | |||||
/* | |||||
Copyright 2020 Paul Ewing | |||||
This program is free software: you can redistribute it and/or modify | |||||
it under the terms of the GNU General Public License as published by | |||||
the Free Software Foundation, either version 2 of the License, or | |||||
(at your option) any later version. | |||||
This program is distributed in the hope that it will be useful, | |||||
but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
GNU General Public License for more details. | |||||
You should have received a copy of the GNU General Public License | |||||
along with this program. If not, see <http://www.gnu.org/licenses/>. | |||||
*/ | |||||
#pragma once | |||||
#include "quantum.h" | |||||
#define ___ KC_NO | |||||
#define LAYOUT( \ | |||||
k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, \ | |||||
k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, \ | |||||
k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, \ | |||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k50, k51, k52, \ | |||||
k53, k54, k55, k56, k57, k58, k59, k60, k61, k62, k63, k64, k65, k66 \ | |||||
) \ | |||||
{ \ | |||||
{ k01, k02, k03, k04, k05, k06, ___, ___, k07, k08, k09, k10, k11, k12 }, \ | |||||
{ k13, k14, k15, k16, k17, k18, ___, ___, k20, k21, k22, k23, k24, k25 }, \ | |||||
{ k26, k27, k28, k29, k30, k31, k32, k19, k34, k35, k36, k37, k38, k39 }, \ | |||||
{ k40, k41, k42, k43, k44, k45, k46, k33, k47, k48, k49, k50, k51, k52 }, \ | |||||
{ k53, k54, k55, k56, k57, k58, k59, k60, k61, k62, k63, k64, k65, k66 } \ | |||||
} |
@ -1,5 +1,5 @@ | |||||
RGBLIGHT_ENABLE = no | RGBLIGHT_ENABLE = no | ||||
RGB_MATRIX_ENABLE = WS2812 | |||||
RGB_MATRIX_ENABLE = yes | |||||
MOUSEKEY_ENABLE = no | MOUSEKEY_ENABLE = no | ||||
NKRO_ENABLE = yes | NKRO_ENABLE = yes | ||||
OLED_DRIVER_ENABLE = yes | OLED_DRIVER_ENABLE = yes | ||||