Mostrando entradas con la etiqueta pinguino. Mostrar todas las entradas
Mostrando entradas con la etiqueta pinguino. Mostrar todas las entradas

domingo, 17 de noviembre de 2013

Pinguino PIC18F2550 USBBulk y SCILAB con USB - bulk error en Manjaro

Probando Pinguino PIC con Scilab, en la modalidad USB Bulk Transfer, me encontré con el atomo de JOSE PABLO CASTRO VALVERDE, en http://forge.scilab.org.

El scilab si reconoce al Pinguino en modalidad Bulk Transfer pero indica el siguiente error al tratar de enumerar al dispositivo
 

 -->;exec('/home/miguel/Documentos/scilab/usbTst.sce', -1)
 
 Libusb-1.0 Library initialized  
 
 device open  
endP_success=bulk_set_endpoint(enpIn,enpOut);
                               !--error 999
bulk_set_endpoint: Wrong size for input argument #1: A scalar expected ????.
at line      29 of exec file called by :   
scilab/usbTst.sce', -1
el código que se le carga al Pinguino es el que viene de ejemplo en la version SVN. Espero tener mas avances proximamente.

Pinguino IDE X.4 en Manjaro version SVN

El funcionamiento adecuado de la tarjeta Pinguino en Manjaro la he logrado gracias a estas entradas de Blog y el wiki de pinguino

 http://wiki.pinguino.cc/index.php/Linux#Archlinux http://www.roboticaludica.com/instal-pinguino-ubuntu/ Vamos por partes,

Como primer punto se trata de copiar las reglas de udev que estan en Pinguino  hacia /etc/udev/rules.d


sudo cp ./extra/rules/{41-microchip.rules,26-microchip.rules} /etc/udev/rules.d/
 
 

Ejecutar los siguientes comandos
sudo groupadd plugdev
sudo usermod -a -G plugdev $USER
sudo chgrp -R plugdev /dev/bus/usb/
Al terminar de ejecutar los comandos anteriores, se debe reiniciar y listo!!

print "current version is " + getVersion() #pinguino_version error de sintaxis Manjaro

Bueno hace dias que baje la ide svn de Pinguino X.4 IDE en la maquina de manjaro, pero al correr el script de inicio, me indicaba un error y pues la cuestión es que Manjaro tiene python3 por defecto entonces solo se debe cambiar la linea que invoca a Pinguino con Python por: python2 pinguino.py y listo! La tarjeta pinguino es programada correctamente en modo superusuario. (Nota Aclaratoria. No se han dado de alta las regles en udev ¿funciona Manjaro con udev?)

sábado, 17 de agosto de 2013

Error al compilar programas con puerto serial en Pinguino X.4

En el programa X.4 viene muchos programas de ejemplo, uno de ellos dentro de la carpeta examples/08.interrupt/Counter.pde.

En este código se usa el contador 3 del microcontrolador pic18F2550, una señal aplicada al pin 10, incrementará el valor del registro 3. y enviara por los pines del puerto serial, el numero que contiene el registro.

Sin embargo, al tratar de compilar este archivo, el X.4 enviará un mensaje de error, donde indica que existe un bit denominado RC1IF que no está definido. El problema está en la línea 98 del archivo x.4/p8/pinguino/core/serial.c

//PIR1bits.RC1IF = 0; // Clear interrupt flag

de acuerdo al datasheet en la página 147 del microcontrolador pic18F2550 el bit del registro PIR1, se denomina RCIF, por lo que es conveniente cambiar esta línea por lo siguiente:

PIR1bits.RCIF = 0; //17 de Agosto de 2013

de acuerdo al data del 2550 Este es el resultado que se obtiene

File: /home/miguel/opt/x.4/examples/08.Interrupt/Counter.pde
compiling... Compilacion completada
code size: 10626 / 24575 bytes (43% used)
1.3107790947 segundos (Tiempo de proceso)
Pinguino not found Is your device connected and/or in bootloader mode ? Pinguino found Bootloader v2.12
Writing ...
Counter.hex successfully uploaded

martes, 14 de mayo de 2013

MyOpenLab

Es software es un clon de Labview, pero codigo fuente abierta. se ve interesante, creo que voy a picar un poco de piedra con el, dejo los enlances: http://es.myopenlab.de/?Descargas

Trabajando con pinguinoKit 1.1 sobre Fedora 18 AMD64

Bueno de nuevo escribiendo mientras los bebes duermen un rato ;) PinguinoKit es un proyecto liberado por Yeison fuerte colaborador del proyecto pinguino, pues bien, este software es de corte didáctico para trabajar con la tarjeta pinguino, y que en esta versión que nos presenta basada en el ide x.4. Es muy fácil de aprender, y rápido si se cuenta con una tarjeta OSH Pinguino. les dejo con código de ejemplo Espero que descarguen y comenten :) Saludos

miércoles, 1 de mayo de 2013

contador con Pinguino pic18F2550 en Fedora con CDC

Aqui se muestra el esquema de conexionado para usar una LCD con Pinguino y envio de datos por CDC en una máquina Fedora 18 Y aqui el video donde se muestra como se importa el modulo de pinguino (de JP Mandon) para Fritzing Fotografia del pinguino funcionando
ImportandoModulo Pinguino en Fritzing por maigke
/*----------------------------------------------------- 
Author:  --<>
Date: Wed Apr 24 00:00:18 2013
Description:

-----------------------------------------------------*/
    u8 n=0;
    unsigned char contador=0;
    unsigned char buttonstate=0;
    
void setup() {
    //run once:
    //lcd(8, 9, 1, 2, 3, 4, 0, 0, 0, 0);//modo 4 bits-relacion pines usados 
    /*
    Manejo de LCD con Pingino
    lcd.pins(pinRS, pinE, pinD4, pinD5, pinD6, pinD7, 0, 0, 0, 0);
        */
    
    lcd.pins(8,9,4,5,6,7,0,0,0,0);
    
    //Numero de columnas = 16 y renglones 2
    lcd.begin(16, 2);
    pinMode(12,INPUT);
    }

void loop() {



    digitalWrite(13, HIGH);
    delay(100);
    digitalWrite(13,LOW);
    delay(100);
    lcd.setCursor(1,1);
    lcd.print("Rally Meca");
    buttonstate = digitalRead(12);
    if(buttonstate == LOW)
    {
        digitalWrite(13,LOW); //para pruebas
        delay(500);
        contador++;
        lcd.setCursor(14,0);
        lcd.printf("%d",contador);
        if(contador < 7)
        {
                switch(contador)
                {
                    case 1:
                        lcd.setCursor(5,0);
                        lcd.print("a"); 
                        CDC.print("a");
                        break;
                   
                    case 2:
                        lcd.setCursor(5,0);
                        lcd.print("b");  
                        CDC.print("b");
                        break;
                    case 3:
                        lcd.setCursor(5,0);
                        lcd.print("c");  
                        CDC.print("c");
                        break;
                    case 4:
                        lcd.setCursor(5,0);
                        lcd.print("d");  
                        CDC.print("d");
                        break;
                    case 5:
                        lcd.setCursor(5,0);
                        lcd.print("e");  
                        CDC.print("e");
                        break;
                    case 6:
                        lcd.setCursor(5,0);
                        lcd.print("f");  
                        CDC.print("f");
                        break;
                    default:
                        lcd.clear();
                        //contador=0;
                }
               digitalWrite(13,HIGH);
               lcd.setCursor(14,0);
               lcd.printf("%d",contador);
               delay(500);
         }
         else
            {contador = 0;}       
    }
    
    }