Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

rp2xxx: PIO: Support more directives

Abierto
#737 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
30/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Área
embedded-iot

Línea de trabajo

Start with the RP2350 datasheet section 11.3.1 and the directive list in the issue, then find where the project parses PIO .define, .set and .side_set today. Decide which new directives are in scope and whether the redundant .set <count> should stay, which the issue leaves open. Check the PinMappingOptions side-set count against the program directive, using #736 as context. Done means agreed directives parse and the count is set once, with tests.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

rp

From 11.3.1 in the RP2350 [datasheet](https://pip-assets.raspberrypi.com/categories/1214-rp2350/documents/RP-008373-DS-2-rp2350-datasheet.pdf?disposition=inline]:

.define (PUBLIC) <symbol> <value>
.clock_div <divider>
.fifo <fifo_config>
.mov_status rxfifo < <n>
.mov_status txfifo < <n>
.mov_status irq <(prev|next)> set <n>
.in <count> (left|right) (auto) (<threshold>)
.program <name>
.origin <offset>
.out <count> (left|right) (auto) (<threshold>)
.pio_version <version>
.set <count>
.side_set <count> (opt) (pindirs)
.wrap_target
.wrap
.lang_opt <lang> <name> <option>
.word <value>

Many of these are new to rp2350.

Also, some seem redundant: e.g. What is the purpose of .set <count> if we are setting it explicitly in SET_COUNT?

I noticed this when I found the bug fixed in #736: whether side set is optional is ONLY set in the directive, but the count is set twice, once in the program, once when setting up pins with PinMappingOptions. I don't know if we do anything with the value collected from the directive.

Lenguaje dominante
Zig
Estrellas
2.3k
Forks
198
Merge medio
1 d 8 h
PR fusionados (30 d)
37

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ZigEmbeddedGroup/microzig

Todos los issues de ZigEmbeddedGroup/microzig

Issues similares

Más issues de Embedded & IoT

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.