Fixed-point scalar types
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- embedded-iot
Línea de trabajo
Start with the proposed fixed-point Q16.8 use case and the related quaternion discussion in dsdl/issues/34; then review the representation concerns for generated DSDL classes, including Python arithmetic and libuavcan. Done means reaching a concrete decision on whether fixed-point scalar types belong in the native DSDL type set and how they should be represented.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
@jschall once proposed to add those to the set of native DSDL types:
Can we use a floating point standard that matches IEEE 754 for 16, 32, 64 and 128-bit floats, but also provides for arbitrary bit lengths of floating point fields? I've got a spot where I'd like to use a 24-bit float, but there isn't really any support for it.
Actually what I really want to use here is fixed point Q16.8 - because I want uniform precision for this field. This keeps coming up, again and again and again, and I'd really like built-in support for it.
I can't make it a 32-bit float without spilling into another CAN frame
To which I said:
while I do like the idea in general, it seems like too much work right now, and besides there are questions on how to represent fixed-point numbers in generated DSDL classes. In Python there is support for fixed-point arithmetics in the standard library; but what about libuavcan. We'll have to either cast fixed-point numbers to floats, which pretty much defeats the purpose, or we'll need to code up custom fixed-point arithmetic classes (I know that many modern MCU support fixed-point in hardware, but the solution has to be generic). Overall I'm not sure if this feature is worth the extra complexity, at least right now.
This issue is to attract relevant discussion and feedback.
In this thread over there there was also a related discussion on how to represent the elements of rotation quaternions in the most efficient and usable way; fixed-point types could be applied there greatly: https://github.com/UAVCAN/dsdl/issues/34
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 1
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
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
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OpenCyphal/dsdl_specification
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
OpenCyphal/dsdl_specification#2 · 2 comentarios ·
-
Allow multidimensional arraysAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
-
Explicit structuringAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
-
DSDL enumeration typeAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Todos los issues de OpenCyphal/dsdl_specification
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
ARM-software/CMSIS-DSP#356 ·
-
followup
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
prestonbrown/helixscreen#1865 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
project-chip/connectedhomeip#74924 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
bigtreetech/BIGTREETECH-TouchScreenFirmware#3056 ·
Los mantenedores suelen responder en 1 día