aboutsummaryrefslogtreecommitdiff
path: root/docs/es/hardware_avr.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/es/hardware_avr.md')
-rw-r--r--docs/es/hardware_avr.md182
1 files changed, 0 insertions, 182 deletions
diff --git a/docs/es/hardware_avr.md b/docs/es/hardware_avr.md
deleted file mode 100644
index ac6a71565..000000000
--- a/docs/es/hardware_avr.md
+++ /dev/null
@@ -1,182 +0,0 @@
1# Teclados con Procesadores AVR
2
3Esta página describe el soporte para procesadores AVR en QMK. Los procesadores AVR incluyen el atmega32u4, atmega32u2, at90usb1286, y otros procesadores de la Corporación Atmel. Los procesadores AVR son MCUs de 8-bit que son diseñados para ser fáciles de trabajar. Los procesadores AVR más comunes en los teclados tienen USB y un montón de GPIO para permitir grandes matrices de teclado. Son los MCUs más populares para el uso en los teclados hoy en día.
4
5Si aún no lo has hecho, debes leer las [Pautas de teclados](hardware_keyboard_guidelines.md) para tener una idea de cómo los teclados encajan en QMK.
6
7## Añadir tu Teclado AVR a QMK
8
9QMK tiene varias características para simplificar el trabajo con teclados AVR. Para la mayoría de los teclados no tienes que escribir ni una sola línea de código. Para empezar, ejecuta `qmk new-keyboard`:
10
11```
12$ qmk new-keyboard
13Ψ Generating a new QMK keyboard directory
14
15Keyboard Name: mycoolkeeb
16Keyboard Type:
17 1. avr
18 2. ps2avrgb
19Please enter your choice: [1]
20Your Name: [John Smith]
21Ψ Copying base template files...
22Ψ Copying avr template files...
23Ψ Renaming keyboard.[ch] to mycoolkeeb.[ch]...
24Ψ Replacing %YEAR% with 2021...
25Ψ Replacing %KEYBOARD% with mycoolkeeb...
26Ψ Replacing %YOUR_NAME% with John Smith...
27
28Ψ Created a new keyboard called mycoolkeeb.
29Ψ To start working on things, `cd` into keyboards/mycoolkeeb,
30Ψ or open the directory in your preferred text editor.
31```
32
33Esto creará todos los archivos necesarios para tu nuevo teclado, y rellenará la configuración con valores predeterminados. Ahora sólo tienes que personalizarlo para tu teclado.
34
35## `readme.md`
36
37Aquí es donde describirás tu teclado. Por favor sigue la [Plantilla del readme de teclados](documentation_templates.md#keyboard-readmemd-template) al escribir tu `readme.md`. Te animamos a colocar una imagen en la parte superior de tu `readme.md`. Por favor, utiliza un servicio externo como [Imgur](https://imgur.com) para alojar las imágenes.
38
39## `<keyboard>.c`
40
41Aquí es donde pondrás toda la lógica personalizada para tu teclado. Muchos teclados no necesitan nada aquí. Puedes aprender más sobre cómo escribir lógica personalizada en [Funciones Quantum Personalizadas](custom_quantum_functions.md).
42
43## `<keyboard>.h`
44
45Este es el archivo en el que defines tu(s) [Macro(s) de Layout](feature_layouts.md). Por lo menos deberías tener un `#define LAYOUT` para tu teclado que se ve algo así:
46
47```c
48#define LAYOUT( \
49 k00, k01, k02, \
50 k10, k11 \
51) { \
52 { k00, k01, k02 }, \
53 { k10, KC_NO, k11 }, \
54}
55```
56
57La primera mitad de la macro pre-procesador `LAYOUT` define la disposición física de las llaves. La segunda mitad de la macro define la matriz a la que están conectados los interruptores. Esto te permite tener una disposición física de las llaves que difiere de la matriz de cableado.
58
59Cada una de las variables `k__` tiene que ser única, y normalmente sigue el formato `k<row><col>`.
60
61La matriz física (la segunda mitad) debe tener un número de filas igualando `MATRIX_ROWS`, y cada fila debe tener exactamente `MATRIX_COLS` elementos. Si no tienes tantas teclas físicas puedes usar `KC_NO` para rellenar los espacios en blanco.
62
63## `config.h`
64
65El archivo `config.h` es donde configuras el hardware y el conjunto de características para tu teclado. Hay un montón de opciones que se pueden colocar en ese archivo, demasiadas para listar allí. Para obtener una visión de conjunto completa de las opciones disponibles consulta la página de [Opciones de Configuración](config_options.md).
66
67### Configuración de hardware
68
69
70En la parte superior de `config.h` encontrarás ajustes relacionados con USB. Estos controlan la apariencia de tu teclado en el Sistema Operativo. Si no tienes una buena razón para cambiar debes dejar el `VENDOR_ID` como `0xFEED`. Para el `PRODUCT_ID` debes seleccionar un número que todavía no esté en uso.
71
72Cambia las líneas de `MANUFACTURER` y `PRODUCT` para reflejar con precisión tu teclado.
73
74```c
75#define VENDOR_ID 0xFEED
76#define PRODUCT_ID 0x6060
77#define DEVICE_VER 0x0001
78#define MANUFACTURER Tú
79#define PRODUCT mi_teclado_fantastico
80```
81
82?> Windows y macOS mostrarán el `MANUFACTURER` y `PRODUCT` en la lista de dispositivos USB. `lsusb` en Linux toma estos de la lista mantenida por el [Repositorio de ID USB](http://www.linux-usb.org/usb-ids.html) por defecto. `lsusb -v` mostrará los valores reportados por el dispositivo, y también están presentes en los registros del núcleo después de conectarlo.
83
84### Configuración de la matriz del teclado
85
86La siguiente sección del archivo `config.h` trata de la matriz de tu teclado. Lo primero que debes establecer es el tamaño de la matriz. Esto es generalmente, pero no siempre, el mismo número de filas y columnas como la disposición física de las teclas.
87
88```c
89#define MATRIX_ROWS 2
90#define MATRIX_COLS 3
91```
92
93Una vez que hayas definido el tamaño de tu matriz, necesitas definir qué pines en tu MCU están conectados a filas y columnas. Para hacerlo simplemente especifica los nombres de esos pines:
94
95```c
96#define MATRIX_ROW_PINS { D0, D5 }
97#define MATRIX_COL_PINS { F1, F0, B0 }
98#define UNUSED_PINS
99```
100
101El número de entradas debe ser el mismo que el número que asignaste a `MATRIX_ROWS`, y del mismo modo para `MATRIX_COL_PINS` y `MATRIX_COLS`. No tienes que especificar `UNUSED_PINS`, pero puedes si deseas documentar qué pines están abiertos.
102
103Finalmente, puedes especificar la dirección en la que apuntan tus diodos. Esto puede ser `COL2ROW` o `ROW2COL`.
104
105```c
106#define DIODE_DIRECTION COL2ROW
107```
108
109#### Matriz de patas directas
110Para configurar un teclado en el que cada interruptor está conectado a un pin y tierra separados en lugar de compartir los pines de fila y columna, usa `DIRECT_PINS`. La asignación define los pines de cada interruptor en filas y columnas, de izquierda a derecha. Debe ajustarse a los tamaños dentro de `MATRIX_ROWS` y `MATRIX_COLS`. Usa `NO_PIN` para rellenar espacios en blanco. Sobreescribe el comportamiento de `DIODE_DIRECTION`, `MATRIX_ROW_PINS` y `MATRIX_COL_PINS`.
111
112```c
113// #define MATRIX_ROW_PINS { D0, D5 }
114// #define MATRIX_COL_PINS { F1, F0, B0 }
115#define DIRECT_PINS { \
116 { F1, E6, B0, B2, B3 }, \
117 { F5, F0, B1, B7, D2 }, \
118 { F6, F7, C7, D5, D3 }, \
119 { B5, C6, B6, NO_PIN, NO_PIN } \
120}
121#define UNUSED_PINS
122
123/* COL2ROW, ROW2COL */
124//#define DIODE_DIRECTION
125```
126
127### Configuración de retroiluminación
128
129QMK soporta retroiluminación en la mayoría de los pines GPIO. Algunos de ellos pueden ser manejados por el MCU en hardware. Para más detalles, consulta la [Documentación de Retroiluminación](feature_backlight.md).
130
131```c
132#define BACKLIGHT_PIN B7
133#define BACKLIGHT_LEVELS 3
134#define BACKLIGHT_BREATHING
135#define BREATHING_PERIOD 6
136```
137
138### Otras opciones de configuración
139
140Hay un montón de características que se pueden configurar o ajustar en `config.h`. Debes consultar la página de [Opciones de Configuración](config_options.md) para más detalles.
141
142## `rules.mk`
143
144Usa el archivo `rules.mk` para decirle a QMK qué archivos construir y qué características habilitar. Si estás construyendo sobre un atmega32u4 deberías poder dejar mayormente los valores predeterminados. Si estás usando otro MCU es posible que tengas que ajustar algunos parámetros.
145
146### Opciones MCU
147
148Estas opciones le indican al sistema de compilación para qué CPU construir. Ten mucho cuidado si cambias cualquiera de estos ajustes. Puedes inutilizar tu teclado.
149
150```make
151MCU = atmega32u4
152F_CPU = 16000000
153ARCH = AVR8
154F_USB = $(F_CPU)
155OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
156```
157
158### Gestores de arranque
159
160El gestor de arranque es una sección especial de tu MCU que te permite actualizar el código almacenado en el MCU. Piensa en ello como una partición de rescate para tu teclado.
161
162#### Ejemplo de gestor de arranque
163
164```make
165BOOTLOADER = halfkay
166```
167
168#### Ejemplo de cargador DFU Atmel
169
170```make
171BOOTLOADER = atmel-dfu
172```
173
174#### Ejemplo de gestor de arranque Pro Micro
175
176```make
177BOOTLOADER = caterina
178```
179
180### Opciones de construcción
181
182Hay un serie de características que se pueden activar o desactivar en `rules.mk`. Consulta la página de [Opciones de Configuración](config_options.md#feature-options) para obtener una lista detallada y una descripción.