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

Custom `Frequency` enum shared across hals

Abierto
#837 0 comentarios 2 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
18/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
zig
Área
embedded-iot

Línea de trabajo

The issue names no files or tests; the only code is a proof-of-concept Frequency enum and a call to i2c.apply(.{ .baud_rate = .khz(100) }). Start by finding where the HAL I2C config and its baud_rate field are defined in the repository. The open question is whether a shared frequency type should exist and where other measures could use decl literals, so a maintainer must decide the scope before any code. Done would need that decision recorded.

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

Descripción

i2c.apply(.{
    .baud_rate = .khz(100),
});

// POC implementation
const Frequency = enum(u32) {
    _,

    pub fn hz(value: u32) Frequency {
        return @enumFromInt(value);
    }

    pub fn khz(value: u32) Frequency {
        return @enumFromInt(value * 1_000);
    }

    pub fn mhz(value: u32) Frequency {
        // what to do about overflows? Though I think it's fine to assert that the result must fit into u32.
        return @enumFromInt(value * 1_000_000);
    }
};

This would be used for baud rates, etc.

Something like this can be applied for other measures as well (apart from Frequency). In what other places can we use decl literals for more verbose initializations?

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.