2020 November 28 Breaking Changes Update (#11053)
* 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 Changekle2json_hyper 0.11.0
parent
15385d4113
commit
c66df16644
@ -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" |
||||
|
||||
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 |
||||
|
||||
 |
||||
|
||||
- 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 |
||||
|
||||
 |
||||
|
||||
## Function Layer |
||||
|
||||
 |
||||
|
@ -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 } \
|
||||
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue