Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hola, Camilo. Después de un pequeño parón porque me atasqué, al final he conseguido sacar adelante vuestra aplicación para Linux. Por supuesto, tendrías que crear un branch distinto (lo siento, no soy profesional), porque las versiones de ambos sistemas operativos son incompatibles (con lo que he aprendido, creo que en unos meses podría sacar una única versión).
Si queréis probar el código, basta con que lo bajéis, y ejecutéis
npm install
npm start
Podéis compilar una appImage, así como una unpacked-version, mediante
npm run compiler
Ha habido que resolver varios problemas:
a) Ya no sirve arduino-builder. Ha habido que empezar a trabajar con arduino-cli. Para ello, la primera vez que compiléis, el programa creará una carpeta oculta para copiar los datos que necesita ahí, y a continuación instalará tanto librerías como las tarjetas arduino de tipo avr. Un problema que aún no he podido solucionar es que es una serie de tareas asíncronas, que no he podido ejecutar en el orden correcto. La solución "temporal" es pedir al usuario que espere unos segundos antes de volver a intentar la carga del programa.
b) Al actualizar la versión de electrón, la pantalla por defecto salía en blanco. He visto en las issues que ya te están preguntando por el tema. El problema es que ahora hay especificar, en el archivo electronApp.js, y cada vez que creemos una ventana como mainWindow, la opción nodeIntegration como true. Ejemplo:
c) La nueva versión de serialport trabaja con promises, por lo que he tenido que reprogramar el modo en que el puerto serie lee los datos.
Sí, lo sé, está muy mal explicado, pero os recuerdo que no soy profesional y que hasta hace dos meses, creía que Electron era un juego del Spectrum.
Ya que estoy, os animo a todos los interesados en el tema a que echéis un vistazo al programa que he redactado mientras analizaba este trabajo: MasayloBlockly (aquí tenéis también la versión web, todo aún temporal).
Un saludo a todos. Si sois constructivos con las críticas, os lo agradeceré.