Deviot plugin para Sublime Text

Amigos/as llevo un tiempo desarrollando un plugin para Sublime Text para el desarrollo de aplicaciones IoT. La idea es la misma que Stino, pero este plugin en vez de usar Arduino IDE como núcleo para compilar, utiliza platformIO, un ecosistema que soporta más de ~200 placas.

Su nombre es Deviot está alojado en: GitHub - gepd/Deviot: Sublime Text plugin for IoT development based in PlatformIO ecosystem (Arduino IDE)
Aún quedan muchos bugs por corregir y detalles/funciones por agregar. Estoy en busca de beta testers para ir probando lo que ya hay, toda la información sobre como instalarlo y usarlo está en el link anterior.

Cualquier feedback es bien recibido.

Bueno, ya hemos estado probandola y las primeras impresiones son muy buenas.

¡Excelente! En mis primeras pruebas trabajando en un proyecto real me parece bastante aceptable, aunque ya he corregido varios bugs que estaban dando vuelta, puede que la primera versión estable esté cerca.

Notable el cambio Guillermo!! Ahora se maneja mucho mejor. Te comentaré de alguna falla que encuentre pero por ahora muy bien.
Bueno a título de prueba, solicité una librería y se encargó automáticamente de incorporarla. Gran automatismo.
Parece (salvando la distancia) que fuera un Raspberry Pi corriendo Raspian. Muy bueno!!

La primera versión estable de Deviot ya está disponible, ahora solo necesitas tener instalado Python 2.7 y descargar el plugin desde el control de paquetes (package control)

Más detalles para instalarlo aquí: https://github.com/gepd/Deviot/blob/master/Docs/README-es.md

Voy a relatar mi experiencia. Ya lo hice en mi otro hilo de ST 3 y sus problemas pero ahora voy a explicarlo desde el punto de vista de DEVIOT.
Como dije, me resistía a usar DEVIOT por el tema de las librerías. Tenia muchas librerías instaladas en el IDE y pretendía usarlas.
Entonces cuando re instalé WIndows en una Notebook mi primera opción fue STINO pero me encontré que aunque funciona bien no puedo hacer que trabaje con ARduino DUE y es fundamental para mi.
Uso basicamente dos plataformas DUE's y NANOs y proximamante MINI PRO de 3.3V
Asi que me dije. me dejo de pelear y trabajo con lo que se que funciona.

Ya habia instalado el IDE 1.6.5 asi que como STINO no iba con el DUE, no lo reconoce y en github me respondieron que la solución era bajar a 1.6.0 dije. Nooo, no voy a retroceder.
Asi que segui los pasos de gepd. Y en min apenas Platform.io instaldo, DEVIOT instalado y todo funcionando.
Luego dije... probemos con lo que estoy trabajando.
Un código con librerías de TIme y TimeALarm, mas Wire.h (ya estaba) y otra mas que no recuerdo.
Las busque con el buscador de librerías.
1.8 seg instalada con EXITO
la segunda
1.9 instaladas con EXITO
vaya!!! que facil

Sigo y de repetente tengo todas las librerías.. ahorro de muchos minutos contra el metodo tradicional.
Asi que elijo mi plataforma, Arduino, luego mis Arduinos Nano Due UNO (solo para simular) MEGA (para simular) y estoy listo.
Selecciono NANO con ATMEGA328 y ya esta.
Compilo y me dice exito
SUBO y todo funciona perfecto

Vaya... no se imaginan, me dije, debo cambiar la manera de bajar las librerías.
OUT con el metodo del IDE, este es mucho mejor.

Instalo librerías de RF24, RF24Network y MESH y todas en segundos.. increíble.
Pruebo un demo y también perfecto.

Asi que no puedo mas que saludar y agradecer a GEPD por su gran tarea!!!

Yo lo recomiendo. La comunidad que decida por su propia experiencia

gepd .Gracias .Me funciono de diez.

Ante todo aclaro que soy muy muy nuevo en el mundo Arduino y el mundo de c ,c++ etc

Voy a tratar de explicar mi experiencia ,me pareció muy bueno como lo hizo surbyte ,ayuda mucho al inexperto

Estaba tratando de conseguir algún soft que pueda hacer mas fácil la orientación dentro de mis programas,ya que generaba algunas funciones y me costaba encontrar donde arrancaban y donde terminaban las funciones

encontré información y empece a trabaja con el sublime text y el stino al principio sin problemas pero no podía trabajar con el arduino due ,después me costaba que encuentre las librerías,un día se levantaba de buen humor y funcionaba bien al otro día se levantaba de mal humor y no me reconocía las librerías ,así que empece a leer , buscar info y muchos decían que había que cambiar la versión del IDE .

Imaginen como termina de mareado uno que es nuevo con tanta información,Version del IDE,del Sublime text etc, etc..

yo tengo instalada la version 1.6.11

Llegue al hilo donde nombraste que desarrollaste este plugin asi que trate de probar y seguir todo, paso a paso.Pero como siempre sucede las cosas no salen igual que lo que se lee

Empece a hacer pruebas y ya el ST no funcionaba mas lo desinstalaba y lo instalaba de nuevo pero no funcionaba siempre tiraba un error,Pense que había matado el programa y que nunca mas lo iba a poder usar (obvio soy un poco extremista )

leia que había que borrar las carpetas de origen del St ,las borraba pero nada .Hasta que me di cuenta que había una carpeta escondida que nunca borraba,la misma era una carpeta repetida

desinstale todo IDE de arduino ,ST, las carpetas ocultas.

Insatale el python ( no se por que pero ahí lo decia) el Plataform IO el ST 3 .
Copie y pegue el texto que instala el " Package control" pero no hacia nada .
Mi problema era el proxi de la red ,me fui a otra red sin proxi y arranco a instalar algo .

No aparecía lo que mostraba en el instructivo ,no me aparecia la opcion "Package control" el desplegable "preference ".

Asi que probe colocar la carpeta devion el la carpeta Browse Package ,reinicie el programa y ya podia ver el desplegable de Devoid.

cargue el programa blink, seleccionado mi placa Due . compilaba bien pero no descargaba nada de nada.

Por cuestiones de trabajo me habia conectado de nuevo a la red con proxi .Necesitaba conectarme nuevamente a la red sin Proxy .
Cambie de red y arranco ,cargo el blink el la placa due (todos sabemos la emoción cuando prende la luz que queremos , y por dentro decimos ¿tan contento por una luz que prende?),después hice lo mismo con una placa uno lo mismo descargo algunos archivos y funciono perfecto.

probé con otros programas mas complejos con mas librerías y funciono de diez .

Tardo bastante en la primera configuración de cada placa pero después trabaja bastante rápido.

Creo que lo que seria muy bueno hacerle ,es que en la ventana deplegable del costado (donde muestra el código en tamaño chico) se pueda escribir un texto para identificar areas del programa ,por ejemplo Void loop, o función 1

pero es solo una idea

muchas amente si gracias nuevamente ,si llego a encontrar algún error o algo te estaré consultando

Hola ddwasil, interesante tu experiencia, cuando gepd la lea algo te dirá porque es muy cuidadoso con su trabajo en DEVIOT (el lo desarrolló) y hay que decir que es notable.
Yo lo vengo instando con cuanta persona ayudo en el foro, muchas veces un problema lleva dias y dias y entonces le ofrezco ayudarlo remotamente porque veo que el no entiende lo que se le dice.
Termino instalándole ST 3 y DEVIOT y si o si debes instalar Python porque DEVIOT corre bajo Python 2.7.X
La secuencia que da gepd esta perfecta y me sorprenden tus problemas porque yo no los he tenido pero si los tuve al principio porque instalar y desinstalar ST.
Lo bueno es que ST y DEVIOT usan Platform.IO y esta plataforma esta en continua actualización. Soporta muchisimas placas asi que no estas limitado a Arduino. Puedes usar si eres electrónico TODO el mundo de los microcontroladores.
Lo que lo hace potente y te dice que tendrá una continua atención.
DEVIOT por otro lado funciona muy bien, y funciona muy estable.

Surbyte.
Si la verdad funciona muy bien ,mis problemas fueron por mi falta de experiencia y por haber instalado y desinstalado varias veces es St.

Los pasos no fueron exactamente igual a los que describe la pagina pero funciona de diez .
Por eso mi aclaración que tuve que colocar la carpeta Deviot dentro del Package browser.

Mi otro gran problema grande fue con el proxi ,no hacia nada ,cuando cambie de red bajo todo en diez minutos.

Gracias por sus comentarios @surbyte y @ddwasil.

No sé en que versión instalaste Deviot por primera vez, pero en este momento solo debes instalar python y el package control para descargar Deviot, o si lo instalas manualmente la carpeta debe quedar dentro de Packages (Package browser) como lo mencionaste, revisaré el proceso de instalación para evitar alguno de los problemas que comentas, aunque con el tema del proxy no hay nada que hacer.

Te agradezco tu comentario y te agradeceré cada reporte con algún problema o alguna función que le esté faltando, estoy constantemente agregando y arreglando problemas para que el plugin funcione cada vez mejor. Además ahora que salió PlatformIO 3 se agregaron y mejoraron muchas cosas, entre ellas la posibilidad de incluir librerías externas fuera de la carpeta principal. Esto significa que en la próxima actualización, Deviot reconocerá automáticamente las librerías que comúnmente están en Documentos/Arduino

Cualquier problema puedes reportarlo aquí: Issues · gepd/Deviot · GitHub e intentaré solucionarlo lo más pronto posible.

Saludos!

Gracias gepd.
Vuelvo a repetir los errores son mios el programa por ahora funciona barbaro

Hola gepd me empezo a aparecer este error ,se te curre que puede ser
gracias

error.PNG

¿Te aparece siempre?
Ese archivo debería estar en la carpeta raíz del plugin, si no está puedes descargarlo y guardarlo en el mismo directorio principal desde aquí: https://raw.githubusercontent.com/gepd/Deviot/master/Console.tmLanguage

Sabes si el plugin realizó alguna actualización antes de comenzar el problema?

Es raro que haya un problema con ese archivo ya que no es generado dinámicamente y el plugin solo hace un llamado a este cuando utiliza la consola.

La ultima veces que lo use no tenia problema ,hoy lo quise usar y arranco con este error.
no permite nisiquiera compilar .
Ya habia echo las actualizaciones y cargado las placas que necesito usar (due y uno)

¿Disculpa mi ignorancia como bajo este archivo ? no veo la opción de descarga

La verdad no hay un botón para descargar un archivo especifico, pero hay dos opciones:

  • Descargar la carpeta completa con el plugin desde aquí
  • Copiar el contenido de archivo desde aquí y guardarlo como Console.tmLanguage

probe ambos caminos sin exito.voy a probar desinstalado e instalando todo de nuevo

Esa ultima opción debería ser la solución, estoy revisando el código para ver que pudo causar ese problema y también para evitar que suceda en el futuro, si vuelves a tener el problema, te agradecería que copies aquí el log de la consola de ST (ST Menu > View > Show Console) asi puedo saber que es lo que está sucediendo.

PD: ¿Qué S.O estás usando?

Gepd.
desinstale todo ,borre todas las carpetas ,baje los archivos de nuevo ,reinicie la pc ,instale todo de nuevo y tengo el mismo error
El error lo hace antes de compilar ,

tengo un windows 7 professional de 64 bits

error2.PNG

¿Puedes copiar la salida de la consola de ST?, no la de Deviot (ST Menu > View > Show Console)

Windows 7 siempre arroja errores que no aparecen en otros S.O, de todas maneras instalaré W7 para ver si puedo replicar el error

DPI scale: 1
startup, version: 3114 windows x64 channel: stable
executable: /C/Program Files/Sublime Text 3/sublime_text.exe
working dir: /C/Program Files/Sublime Text 3
packages path: /C/Users/damianw/AppData/Roaming/Sublime Text 3/Packages
state path: /C/Users/damianw/AppData/Roaming/Sublime Text 3/Local
zip path: /C/Program Files/Sublime Text 3/Packages
zip path: /C/Users/damianw/AppData/Roaming/Sublime Text 3/Installed Packages
ignored_packages: ["Vintage"]
pre session restore time: 0.715731
startup time: 0.742731
first paint time: 0.742731
first paint time: 0.742731
reloading plugin Default.auto_indent_tag
reloading plugin Default.block
reloading plugin Default.comment
reloading plugin Default.convert_syntax
reloading plugin Default.copy_path
reloading plugin Default.delete_word
reloading plugin Default.detect_indentation
reloading plugin Default.duplicate_line
reloading plugin Default.echo
reloading plugin Default.exec
reloading plugin Default.fold
reloading plugin Default.font
reloading plugin Default.goto_line
reloading plugin Default.history_list
reloading plugin Default.indentation
reloading plugin Default.kill_ring
reloading plugin Default.mark
reloading plugin Default.new_templates
reloading plugin Default.open_context_url
reloading plugin Default.open_file_settings
reloading plugin Default.open_in_browser
reloading plugin Default.pane
reloading plugin Default.paragraph
reloading plugin Default.paste_from_history
reloading plugin Default.profile
reloading plugin Default.quick_panel
reloading plugin Default.run_syntax_tests
reloading plugin Default.save_on_focus_lost
reloading plugin Default.scroll
reloading plugin Default.set_unsaved_view_name
reloading plugin Default.show_scope_name
reloading plugin Default.side_bar
reloading plugin Default.sort
reloading plugin Default.swap_line
reloading plugin Default.switch_file
reloading plugin Default.symbol
reloading plugin Default.transform
reloading plugin Default.transpose
reloading plugin Default.trim_trailing_white_space
reloading plugin CSS.css_completions
reloading plugin Diff.diff
reloading plugin HTML.encode_html_entities
reloading plugin HTML.html_completions
reloading plugin Deviot-master.DeviotStarter
plugins loaded
Unable to fetch update url contents
error: Error loading syntax file "Packages/Deviot/Console.tmLanguage": Unable to open Packages/Deviot/Console.tmLanguage