Semana 5: integración en RoboticsAcademy
Comienzo a recomponer mi aplicación dentro del entorno de RA
Objetivos
- Preparar el entorno de desarrollo de RoboticsAcademy
- Integrar mi proyecto audio_out en un ejercicio preexistente.
Trabajo realizado
Preparación del entorno
Para empezar la semana, seguí paso a paso la [guía para desarrolladores][https://github.com/JdeRobot/RoboticsAcademy/blob/humble-devel/docs/InstructionsForDevelopers.md] que hay publicada en el repositorio. Además, dediqué bastante tiempo a entender con qué tipo de archivos estaba tratando exactamente y cuál era la mejor forma de afrontar la integración.
Integración: frontend
Tras leer en varios foros y chats de dudas, una cosa me quedó clara: HTML se parece a JSX. Por tanto, he traducido mi “index.html” a JSX y lo he incluido en el archivo “WebGUI.tsx”. También en este archivo he incluido mi pcm-worklet, que se carga como un Blob. La parte funcional del frontend está por tanto codificada en otro lenguaje, y he añadido como elementos visibles el botón y el texto de estado para ver cómo se encuentra la conexión.
Integración: backend
Esta semana no he logrado que el ejercicio funcione como tal, pero he dejado incluidos los archivos python y los relacionados con Piper en la carpeta “python_template” del ejercicio. Espero empezar la semana siguiente devolviendo la funcionalidad al ejercicio.
Obstáculo a mitad de semana
Como no podía ser de otra forma, a parte de los incontables errores, crasheos y bugs que supone el desarrollo, esta semana tocaba enfrentarse a problemas externos. El martes, mi sistema Ubuntu dió un aviso de que no le quedaba prácticamente espacio libre. Efectivamente, tras hacer una comprobación, verifiqué que a la partición de disco que corresponde a Ubuntu en mi dispositivo se le había asignado muy poco espacio en la semana 1. Por tanto, tuve que formatear un pincho USB y hacer desde la BIOS un reparto del espacio entre particiones que no logré terminar hasta el miércoles por la tarde.
Próximos pasos
- Terminar de integrar el ejercicio.