ATParser could not support some strings very well.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- cpp
- Área
- embedded-iot
Línea de trabajo
Comienza con la implementación de recv de ATParser y reproduce los casos entre comillas y sin comillas de verify_sscanf(), especialmente los ejemplos de BC95 que usan sscanf(). Compara el recuento de caracteres observado y el valor de destino con los resultados esperados; después, ejecuta las pruebas relevantes del parser o añade cobertura que demuestre que ambas formas de entrada se analizan correctamente sin introducir regresiones en el caso de ESP8266.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I am working to integrate a NBIoT module and found that this ATParser could not support some strings.
After debugging, I found it is caused by the poor sscanf().
For example,
_parser.recv("\"%15[^\n]\"", dev_info.imsi); from ESP8266 driver as reference , it could work.
_parser.recv("%15[^\n]", dev_info.imsi); with no quotes does not work well. it will return the first char in the string to imsi.
Below is a simple test code, would you help to share comments if any idea?
void verify_sscanf()
{
//Verify the AT format for esp8266 with quotes
int count = -1;
char test[] = "0\"123456789\"";
char test1[] = "0\"%*9[^\n]\"%n0";
char test2[] = "0\"1234\"";
sscanf(test2, test1, &count);
printf("\nESP8266: expect -1 - count = %d\n", count);
count = -1;
sscanf(test, test1, &count);
printf("\nESP8266: expect 12 - count = %d\n", count);
//Verify the AT format for BC95 without quotes
char test_bc95[] = "0123456789";
char test1_bc95[] = "0%*9[^\n]%n0";
char test2_bc95[] = "01234";
count = -1;
sscanf(test2_bc95, test1_bc95, &count);
printf("\nBC95: expect -1 - count = %d\n", count);
count = -1;
sscanf(test_bc95, test1_bc95, &count);
printf("\nBC95: expect 10 BUT fail- count = %d\n", count);
}
- Lenguaje dominante
- C++
- Estrellas
- 39
- Forks
- 24
- 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 ARMmbed/ATParser
-
Parse responseAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
-
Accessing a negative indexAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
-
read() and write() do not behave as documentedQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 42/100
-
Parsing a string on a newlineAbiertoquestion
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Todos los issues de ARMmbed/ATParser
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
metasequoiaime/msime#9113 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
tone-3000/tone3000-plugin#257 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Locked plugin flip-flops position on every refresh after being disabledPosiblemente ocupada @Illustar0 la tomó hoy. Abiertoissue report
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
ModOrganizer2/modorganizer#2449 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
enhancement P5
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
open-astro/AlpacaBridge#1468 ·
Los mantenedores suelen responder en 1 día