Error de compilacion al programar a Zowi



  • Hola a todos.


    He instalado los drivers, el programa web2board, y me he registrado, en la web.
    Cuando entro en nuevo proyecto y selecciono a Zowi, sin poner ni un solo bloque de código el compilador me da este error, y no se a que es debido. A ver si alguno de vosotros me puede ayudar. Gracias por anticipado.

    Error al compilar: C:/DOCUME~1/.web2board/tmp.ino:13: error: 'Zowi' does not name a type
C:/DOCUME~1/.web2board/tmp.ino: In function 'void setup()':
C:/DOCUME~1/.web2board/tmp.ino:16: error: 'zowi' was not declared in this scope





  • ¡Hola metaZowi, bienvenido!

    Como primera comprobación, haz lo siguiente:

    En tu ordenador, ve a Inicio > Documentos > Arduino > libraries. En ésta carpeta, borra todo el contenido que haya (sin miedo).

    Una vez hecho, ve a la localización donde hayas instalado Web2board y ejecuta "web2board.bat" manualmente. Comprueba si, de esta manera, puedes compilar sin problemas.



  • Hola

    el mismo problema aquí, con chrome y windows xp

    os pego abajo aquí el contenido de la ventana de ejecución de web2board a lo mejor os da una idea de lo que está pasando., el problema es que las rutas de los ficheros no aparecen completas pero supongo que os dará una idea.

    He probado a desinstalar web2board, a volver a instalarlo, a reiniciar y a abrir primero el web2board y luego acceder a la página web de bitbloq, el resultado siempre el mismo.

    Si eliges descargar el código del proyecto pues el código parece correcto, lo pego al final del post

    A ver si alguien puede echar una mano. Si queréis que haga alguna otra prueba decídmelo.
    un saludo
    inco.

    ('127.0.0.1', 1175) connected
    ['EEPROM', 'Servo']
    ['BitbloqBatteryReader', 'BitbloqLedMatrix', 'BitbloqOscillator', 'BitbloqUS', '
    BitbloqZowi']
    [Stino - Start building]\n
    [  3%] \n
    2016-01-07 18:30:02,155 "C:\Archivos de programa\Web2board\src\res\arduinoWin/ha
    rdware/tools/avr/bin/avr-g++" -c -g -Os -w -fno-exceptions -ffunction-sections -
    fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -I "C:\DOCUME~1.web2boar
    d" -I "C:\Archivos de programa\Web2board\src\res\arduinoWin\hardware\arduino\cor
    es\arduino" -I "C:\Archivos de programa\Web2board\src\res\arduinoWin\libraries\E
    EPROM"  -I "C:\Archivos de programa\Web2board\src\res\arduinoWin\libraries\Servo
    "  -I "C:\DOCUME~1\Documents\Arduino\libraries\BitbloqBatteryReader"  -I "C:\DOC
    UME~1\Documents\Arduino\libraries\bitbloqLibs\BitbloqBatteryReader"  -I "C:\DOCU
    ME~1\Documents\Arduino\libraries\BitbloqLedMatrix"  -I "C:\DOCUME~1\Documents\Ar
    duino\libraries\bitbloqLibs\BitbloqLedMatrix"  -I "C:\DOCUME~1\Documents\Arduino
    \libraries\BitbloqOscillator"  -I "C:\DOCUME~1\Documents\Arduino\libraries\bitbl
    oqLibs\BitbloqOscillator"  -I "C:\DOCUME~1\Documents\Arduino\libraries\BitbloqUS
    "  -I "C:\DOCUME~1\Documents\Arduino\libraries\bitbloqLibs\BitbloqUS"  -I "C:\DO
    CUME~1\Documents\Arduino\libraries\BitbloqZowi"  -I "C:\DOCUME~1\Documents\Ardui
    no\libraries\bitbloqLibs\BitbloqZowi"  -I "C:\Archivos de programa\Web2board\src
    \res\arduinoWin\hardware\arduino\variants\standard"  "C:\DOCUME~1\Ama\CONFIG~1\T
    emp\Stino_build.web2board.web2board.ino.cpp" -o "C:\DOCUME~1\Ama\CONFIG~1\Temp
    \Stino_build.web2board.web2board.ino.cpp.o"
    2016-01-07 18:30:02,217 None
    2016-01-07 18:30:05,046 1
    2016-01-07 18:30:05,046 1
    2016-01-07 18:30:05,046 1
    2016-01-07 18:30:05,046 [Stino - Exit with error code 1.]\nC:/DOCUME~1/.web2boar
    d/tmp.ino:13: error: 'Zowi' does not name a type
    C:/DOCUME~1/.web2board/tmp.ino: In function 'void setup()':
    C:/DOCUME~1/.web2board/tmp.ino:16: error: 'zowi' was not declared in this scope

    2016-01-07 18:30:05,046 C:/DOCUME~1/.web2board/tmp.ino:13: error: 'Zowi' does no
    t name a type
    C:/DOCUME~1/.web2board/tmp.ino: In function 'void setup()':
    C:/DOCUME~1/.web2board/tmp.ino:16: error: 'zowi' was not declared in this scope


    [{'function': "C:/DOCUME~1/.web2board/tmp.ino : 'Zowi' does not name a type\r",
    'error': [{'line': '13', 'bloqsError': ['not-name-a-type'], 'error': "C:/DOCUME~
    1/.web2board/tmp.ino : 'Zowi' does not name a type\r"}]}, {'function': "'void se
    tup()'\r", 'error': [{'line': '16', 'bloqsError': ['not-declared-in-scope'], 'er
    ror': "C:/DOCUME~1/.web2board/tmp.ino : 'zowi' was not declared in this scope\r"
    }]}]

     edito, se me había olvidado el código
    /***   Included libraries  /
    #include <BitbloqZowi.h>
    #include <BitbloqUS.h>
    #include <BitbloqBatteryReader.h>
    #include <BitbloqLedMatrix.h>
    #include <Servo.h>
    #include <BitbloqOscillator.h>
    #include <EEPROM.h>


    /   Global variables and function definition  /
    Zowi zowi;

    /   Setup  /
    void setup(){zowi.init();}

    /   Loop  ***/
    void loop(){}


  • MVP

    El código que me genera al tirar un zowi y compilar en mi caso es este:

    /*** Included libraries ***/
    #include <bitbloqzowi.h>
    #include <bitbloqus.h>
    #include <bitbloqbatteryreader.h>
    #include <bitbloqledmatrix.h>
    #include <servo.h>
    #include <bitbloqoscillator.h>
    #include <eeprom.h>

    /*** Global variables and function definition ***/
    Zowi zowi;

    /*** Setup ***/
    void setup(){zowi.init();}

    /*** Loop ***/
    void loop(){}

    Me compila bien, sin problemas. El archivo tmp.ino que genera parece clavado al tuyo.</eeprom.h></bitbloqoscillator.h></servo.h></bitbloqledmatrix.h></bitbloqbatteryreader.h></bitbloqus.h></bitbloqzowi.h>



  • Hola
    sí, el programa es el mismo que el mío y el mismo que genera haciéndolo con otro equipo que tengo con ubuntu 14.04, en ubuntu compila bien, en xp no he conseguido compilar nada. El equipo que utiliza mi hijo es el que tiene xp y con el que me gustaría poder compilar.

    Parece que no cargara alguna o ninguna de las librerías, que supongo que es en donde están las definiciones de 'zowi' y el resto de cosas que no reconoce.
    A ver si alguien puede orientarnos hacia una solución.
    Saludos.


  • MVP

    ¿Puede ser un problema de permisos? ¿Está instalado el web2board con permisos de administrador? En mi caso he utilizado Windows 10.



  • @olmo, ¿has realizado la comprobación de eliminar los archivos de las librerías para después ejecutar manualmente Web2board?



  • Hola, si, he probado a borrar las librerías y ejecutar después w2b y sigue dando el mismo problema. Instalo como administrador y no da ningún problema. Pero el resultado es siempre el mismo de error de compilación explicado unos post mas atrás en este tema.



  • Pues me temo que, en efecto, el problema puede encontrarse precisamente en el Sistema Operativo, ya que Bitbloq y Web2board están certificados desde Windows 7 en adelante...



  • Pues vaya con la obsolescencia programada....
    no estamos hablando de que el xp no tenga capacidad para mover el bitbloq ni el web2board ni el chrome. Estamos hablando de que no se ha probado en xp y que por algún motivo el compilador parece que no añade las librerías o algo similar. Está tirando un error el compilador de que se hace referencia a zowi y antes no se le ha contado quien es zowi. No está diciendo que" esto es demasiado fuerte para compilarlo en este equipo".
    Todo lo que viene con el web2board se instala correctamente, drivers, compilador, python... No sé que significado dais a la palabra "certificado". Y tampoco es un problema como el de apple de que el hardware tenga cosas capadas.



  • Buenos días, @olmo:


    Cuando hablamos de "certificado" nos referimos a que Bitbloq y Web2board sólo han sido testeados en los Sistemas Operativos que te indico (además de Ubuntu, Mac OS X...). En efecto, es posible que Web2board se instale correctamente, pero sí que pueden surgir otros problemas, como por ejemplo durante la compilación o carga de código, tal y como te ocurre a ti.

    No obstante, como comprobación (no parece que sea cosa de drivers, pero mejor ir eliminando posibles causas), prueba a descargar e instalar los drivers VCP para la placa de ZOWI desde aquí: https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx





  • Hola, como comentaba en otro post de este hilo no tengo ningún problema al instalar el web2board, los drivers se instalan correctamente y el equipo me reconoce perfectamente a zowi cuando se lo enchufo

    si pudiérais decirme un comando sencillo para probar primero, que el compilador compila, un ejemplo sencillo como el de hacer parpadear el led del pin 13, y luego algo mas elaborado que incluya una librería, pues a lo mejor acotamos mejor el problema y saber si es un problema con las rutas, permisos o lo que sea. En cuanto a los permisos recordaros que está todo instalado como administrador del equipo.

    Un saludo y gracias.
    inco.



  • @olmo Comprueba si este código te compila correctamente. Es similar al tuyo, pero no es lo mismo (el tuyo, tras comprobarlo, me da error de compilación, pero éste no):


    /***   Included libraries  /
    #include <BitbloqZowi.h>
    #include <BitbloqUS.h>
    #include <BitbloqBatteryReader.h>
    #include <BitbloqLedMatrix.h>
    #include <Servo.h>
    #include <BitbloqOscillator.h>
    #include <EEPROM.h>


    /   Global variables and function definition  /
    Zowi zowi;

    /   Setup  /
    void setup() {
        zowi.init();
    }

    /   Loop  ***/
    void loop() {}


    Este es el código que me aparece únicamente colocando a ZOWI en la "mesa de trabajo".



  • Hola, 

    el tuyo tampoco me compila y el que me sale a mi cuando solamente colocas a zowi tampoco me compila.
    He cogido código de arduino a pelo y le he quitado los comentarios (sólo por abreviar, con ellos compilaba) y compila perfectamente, luego he probado a añadirle las librerías (todas las líneas de "includes") y también me compila correctamente. Luego he probado a añadirle la definición de zowi ( "Zowi zowi;") y ahí ya me tira error. Te pego el código que si que me compila sin errores, es el programa del parpadeo del led en el pin 13 de toda la vida.
    /***   Included libraries  /
    #include <BitbloqZowi.h>
    #include <BitbloqUS.h>
    #include <BitbloqBatteryReader.h>
    #include <BitbloqLedMatrix.h>
    #include <Servo.h>
    #include <BitbloqOscillator.h>
    #include <EEPROM.h>
    /   Global variables and function definition  ***/


    const int ledPin =  13; 
    int ledState = LOW; 
    unsigned long previousMillis = 0;
    const long interval = 1000;
    void setup() {
      pinMode(ledPin, OUTPUT);
    }

    void loop() {
      unsigned long currentMillis = millis();
      if (currentMillis - previousMillis >= interval) {
        previousMillis = currentMillis;
        if (ledState == LOW) {
          ledState = HIGH;
        } else {
          ledState = LOW;
        }
        digitalWrite(ledPin, ledState);
      }
    }



  • Bueno, lo he solucionado


    he vuelto a instalar el web2board y en lugar de dejar que lo instalara en donde va por defecto "C:/archivos de programa/web2board" he creado una carpeta nueva (archi_prog_zowi), luego me he ido ahí y he modificado el código del archivo C:\Archi_prog_zowi\Web2board\src\libs\Arduino\Compiler.py y en la línea 256 (aprox) he añadido la siguiente línea
                                    self.libs.append('C:/Archi_prog_zowi/Web2board/src/res/arduinoWin/libraries/'+lib)
    justo antes de estas dos líneas
    self.libs.append(sketchbookDir+'/libraries/'+lib)
    self.libs.append(sketchbookDir+'/libraries/bitbloqLibs/'+lib)

    edito: he copiado todas las librerias propias de zowi desde /documentos/arduino/libraries hasta  C:/Archi_prog_zowi/Web2board/src/res/arduinoWin/libraries/

    y con eso ya está.

    El código original generaba una línea de salida como....
    -I "C:\DOCUME~1\Documents\Arduino\libraries\BitbloqBatteryReader"  
    -I "C:\DOCUME~1\Documents\Arduino\libraries\bitbloqLibs\BitbloqBatteryReader"  
    en lugar de....
    -I "C:\Archi_prog_zowi\Web2board\src\res\arduinoWin\libraries\BitbloqBatteryReader" 

    el programa lo tendríais que modificar para que si el sistema operativo es xp que ponga la ruta completa al archivo en lugar de "C:\DOCUME~1\Doc...", para futuras versiones. Yo no sé programar en python.

    Ah, al hacer lo que he hecho tengo que lanzar a mano el web2board antes de entrar al bitbloq pero por lo menos funciona.

    Un saludo y gracias.
    inco.



  • Buenas @olmo


    Gracias por esta información. Vamos a facilitarla a nuestro departamento de desarrollo por si puede serles de utilidad.



  • Buenas a todos!


    Yo lo he solucionado de la siguiente manera: 
    1. He borrado todo lo que habia en la caperta Documentos/arduino/libraries
    2. He encendido el bitbloq y he compilado un programa para el zowi: Simplemente que tenga un bloque zowi:descansa y un zowi:se feliz
    3. Esto ha comportado que el sistema ha encendido el web2board y se han descargado el https://codeload.github.com/bq/bitbloqLibs/zip/v0.0.1.zip y el https://codeload.github.com/bq/bitbloqLibs/zip/v0.0.5.zip.
    4. Pero actualmente hay para descargar ya la versión 0.1.0 - > descargo por web https://codeload.github.com/bq/bitbloqLibs/zip/v0.1.0.zip y extraigo su contenido.
    5. Muevo todas las subcarpetas a Documentos/arduino/libraries y sobreescribo todo. 
    Y ya me funciona con el zowi! 

    Ya me direis...



  • Buenas tardes, tenemos el mismo problema que el señor Olmo, no nos compila. Ya hemos intentado lo que indica en sus instrucciones pero nos sigue diciendo lo mismo.

    Error al compilar: C:/Users/eloym/.web2board/tmp.ino:13: error: 'Zowi' does not name a type&#10;C:/Users/eloym/.web2board/tmp.ino: In function 'void setup()':&#10;C:/Users/eloym/.web2board/tmp.ino:16: error: 'zowi' was not declared in this scope&#10;C:/Users/eloym/.web2board/tmp.ino: In function 'void loop()':&#10;C:/Users/eloym/.web2board/tmp.ino:19: error: 'zowi' was not declared in this scope&#10;C:/Users/eloym/.web2board/tmp.ino:19: error: 'ZowiHappy' was not declared in this scope&#13;&#10

    Mi sistema operativo es windows 10 home 1511