domingo, 17 de noviembre de 2013

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?)

jueves, 7 de noviembre de 2013

Qucs 0.01.17 en Manjaro

Bien pues sigo probando el uso de Manjaro y pues de momento va muy bien, el desktop es ligero en la PC que tengo, ya es un poco viejita (Gateway con procesador Core 2 con 2GB de RAM y disco de 500GB ) Pues como les comento, estoy probando Qucs y de momento va muy bien y lo mejor es que a diferencia de Fedora 19, esta distro si me está generando el VHDL a partir del diagrama lógico sin problemas, de igual forma Scilab despueś del detalle de ayer, he instalado los atoms de Fuzzy Logic, el complemento Coselica y SIMM para simulación física, y pues las simulaciones han corrido, el problema que tengo es con el IDE de Pinguino X.4 que no me abre, pero ya veré como funciona, aun no he probado la grabación de archivos .hex con AVR y PIC, pero ya está en la pc SDCC y AVR-GCC con el codeblocks.

miércoles, 6 de noviembre de 2013

Scilab en Manjaro opt/scilab-5.4.1/lib/thirdparty/libz.so.1: version `ZLIB_1.2.3.4' not found (required by /usr/lib/libpng16.so.16) - RESUELTO

Bueno la cosa es que despues de instalar la versión binaria del sitio de Scilab, en Manjaro funcionabe muy bien, pero despues de una actualización, scila no funcionaba, entonces abrí la consola y al introducir el script que inicia a Scilab 4.5.1, la consola me enviaba este mensaje
scilab-bin: /home/miguel/opt/scilab-5.4.1/lib/thirdparty/libz.so.1: version `ZLIB_1.2.3.4' not found (required by /usr/lib/libpng16.so.16)

Entonces buscando en la red, en un foro de Gentoo encontré la respuesta entre lineas (http://gentoo.2317880.n4.nabble.com/Error-with-version-of-libraries-with-scilab-td270648.html)
En este foro, se menciona este error es por que los autores de SCILAB están jugando con la LD_LIBRARY_PATH y que mediante el comando
$ ldd /usr/lib64/libpng16.so.16
Se tiene este resultado
        linux-vdso.so.1 (0x00007fff7d79a000)
        libz.so.1 => /lib64/libz.so.1 (0x00007ff9ad6ab000)
        libm.so.6 => /lib64/libm.so.6 (0x00007ff9ad3b5000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ff9ad00a000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ff9adb3c000
El autor de la respuesta, menciona que se ve que libpng usa libz, ambas se encuentran en el sistema y que no hace falta usar la libreria que propone el script de scilab. y finalmente menciona lo siguiente: "Go find the startup script for scilab and edit the mods to LD_LIBRARY_PATH to put the scilab directory at the end (not the beginning where it is now) "(Alan McKinnon, 2013) Pues bien siguiendo estas indicaciones, vi el resultado que arrojaba mi libpng y obtuve lo siguiente
[miguel@casita bin]$ ldd /usr/lib64/libpng16.so.16
 
        linux-vdso.so.1 (0x00007fffee13e000)
 libz.so.1 => /usr/lib/libz.so.1 (0x00007f33ab303000)
 libm.so.6 => /usr/lib/libm.so.6 (0x00007f33ab000000)
 libc.so.6 => /usr/lib/libc.so.6 (0x00007f33aac55000)
 /usr/lib64/ld-linux-x86-64.so.2 (0x00007f33ab74f000)
Lo que me indicó que el libpng si está usando el libz pero del sistema
entonces mediante una consola y nano me dediqué a indagar como funciona el script de Scilab 5.4.1, esto me dio como resultado lo siguiente
En estas lineas encontré lo siguiente, aqui se carga la LD_LIBRARY_PATH con $SCIBINARYBASE/lib/thirdparty
if test $IS_SCILAB_BINARY -eq 1; then

    TCL_LIBRARY="$SCIBINARYBASE/thirdparty/tcl8.5"
    Tk_LIBRARY="$SCIBINARYBASE/thirdparty/tk8.5"

    LD_LIBRARY_PATH=$SCIBINARYBASE/lib/scilab:$SCIBINARYBASE/lib/thirdparty${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}
    DOCBOOK_ROOT="$SCI/../../thirdparty/docbook"
    PATH="$PATH:$SCI/modules/scicos/"
Entonces, agregamos a la LD_LIBRARY_PATH /usr/lib que es donde el comando ldd dice que está libz
if test $IS_SCILAB_BINARY -eq 1; then

    TCL_LIBRARY="$SCIBINARYBASE/thirdparty/tcl8.5"
    Tk_LIBRARY="$SCIBINARYBASE/thirdparty/tk8.5"

LD_LIBRARY_PATH=/usr/lib64/:$SCIBINARYBASE/lib/scilab:$SCIBINARYBASE/lib/thirdparty${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}
    DOCBOOK_ROOT="$SCI/../../thirdparty/docbook"
    PATH="$PATH:$SCI/modules/scicos/"
Una vez hecho esto, Scilab volvió a funcionar

jueves, 17 de octubre de 2013

Grabar y codificar screencast desde consola

Bueno esta opcion la encontre, ya que los videos que he sacado con recordmydesktop, con los efectos de KDE salen todos cuadriculados, es por ello que buscando en la red, me encontre que es posible realizar un scrrencast mediante ffmpeg y su posterior conversiion a video x264 con un alto grado de compresion y buena calidad. El problema de capturar con la consola, en mi caso muy particular, que los videos salen acelerados y no me acepta la opcion para sincronizacion -async 1 (no me marca error aclaro) bien el comando es el siguiente para capturar la pantalla desde la consola ffmpeg -async 1 -f alsa -i plughw:0,0 -c:a pcm_s16le -b:a 16k -f x11grab -r 20 -s 1024×768 -i :0.0 -b:v 10000k ~/Desktop/video.avi y para conversion, a fin de que los videos quedeb bastante cortitos es mencoder -ovc x264 -oac copy video4.avi -o video4.h264.mp4 Las referencias de estas instrucciones, las hallé en http://kikefree.wordpress.com/2013/01/24/grabar-escritorio-con-ffmpeg-o-ffmpeg2theora/ http://www.pagondel.org/how-to-grabar-tu-escritorio-usando-ffmpeg/ http://www.youtube.com/watch?v=WctNRVdxXN8

miércoles, 2 de octubre de 2013

Deshabilitando o Eliminando repositorios en Fedora

Esta información la he tomado del siguiente link http://www.if-not-true-then-false.com/2010/yum-remove-repo-repository-yum-disable-repo-repository/ thx's

nmap para detectar OS de una LAN

Bueno esta es una entrada muy corta, se trata de poner el comando para Linux donde se usa nmap: [miguel@dhcppc6 ~]$ sudo nmap -O --osscan-guess --fuzzy 192.168.1.67 Starting Nmap 6.40 ( http://nmap.org ) at 2013-10-02 22:01 CDT Nmap scan report for 192.168.1.67 Host is up (0.010s latency). All 1000 scanned ports on 192.168.1.67 are closed MAC Address: A0:4E:04:9C:29:91 (Nokia) Too many fingerprints match this host to give specific OS details Network Distance: 1 hop OS detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 8.79 seconds En este caso lo use para ver cual era el SO que está conectado a mi router, es un celular Nokia (de mi hermana) En cuanto a nmap -O se usa para habilitar la detección de SO --osscan-guess --fuzzy Se usa para aproximar los resultados del SO cuando el SO que se ve en tu red Local

sábado, 21 de septiembre de 2013

Mi archivo 41-microchip.rules Fedora 19 x64

El siguiente es mi archivo 41-microchip.rules, el uso de este archivo es con el fin de conectar los siguientes programadores y ser accedidos como usuario normal a través del software Piklab (http://piklab.sourceforge.net/) :
  1. Pickit2 clon con firmware  2.x
  2. ICD2 clon
  3. Pinguino PIC18F2550  
Aquí mi archivo que está ubicado en /etc/udev/rules.d

# sudo cp 41-microchip.rules /etc/udev/rules.d/
# sudo usermod -a -G plugdev $USER
#
# Pinguino8 (PIC18F)
ATTR{idVendor}=="04d8", ATTR{idProduct}=="feaa", MODE="0660",GROUP="plugdev"
#
# Pinguino32 (PIC32MX)
ATTR{idVendor}=="04d8", ATTR{idProduct}=="003c", MODE="0660",GROUP="plugdev"
#
# Pickit 2
ATTR{idVendor}=="04d8", ATTR{idProduct}=="0033", MODE="0660",GROUP="plugdev"
#
# Pickit 3
ATTR{idVendor}=="04d8", ATTR{idProduct}=="900a", MODE="0660",GROUP="plugdev"
# ICD2
ATTR{idVendor}=="04d8", ATTR{idProduct}=="8000", MODE="0660",GROUP="plugdev"
# ICD21
ATTR{idVendor}=="04d8", ATTR{idProduct}=="8001", MODE="0660",GROUP="plugdev"

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

miércoles, 10 de julio de 2013

Problema scilab ./scilab-bin: error while loading shared libraries: libscilab.so.0:

En Fedora 19 de 32bits, viene por defecto en los repositorios SCILAB 5.4.1, sin embargo, si se desea instalar desde el paquete rpm que viene en la pagina web de Scilab. Solo se debe descargar y descomprimir en una carpeta en específico (en mi caso, cree un directorio denominado opt dentro de mi $HOME) El binario ejecutable está en la ruta /home/miguel/opt/scilab-5.4.1/bin sin embargo al tratar de ejecutar el binario, se marca el siguiente error (solo es visible cuando se ejecuta desde consola)
./scilab-bin 
./scilab-bin: error while loading shared libraries: libscilab.so.0: cannot open shared object file: No such file or directory

de acuerdo a la página https://bugs.launchpad.net/ubuntu/+source/scilab/+bug/560283
se debe verificar que /usr/bin/scilab contiene
 
LD_LIBRARY_PATH=/usr/lib/scilab/:/usr/lib64/scilab/:$LD_LIBRARY_PATH

Para modificar el valor de la variable de entorno (Para saber mas: http://landerpfc.wordpress.com/2010/09/28/variables-de-entorno-en-gnulinux/)
Se debe dar la ruta a la librería donde se encuentra el archivo libscilab.so.0, que está en:
$HOME/opt/scilab-5.4.1/lib/scilab/

Entonces ahora se teclea la siguiente instrucción:
[miguel@MalillaReturns bin]$ export LD_LIBRARY_PATH=/home/miguel/opt/scilab-5.4.1/lib/scilab/
[miguel@MalillaReturns bin]$ echo $LD_LIBRARY_PATH
/home/miguel/opt/scilab-5.4.1/lib/scilab/
Sin embargo al tratar de ejecutar el entorno se tiene el siguiente error:
[miguel@MalillaReturns bin]$ ./scilab-bin 
./scilab-bin: error while loading shared libraries: libhdf5.so.6: cannot open shared object file: No such file or directory

Este archivo se puede localizar con el comando find, de la siguiente forma
[miguel@MalillaReturns ~]$ find -iname libhdf5.so.6
./opt/scilab-5.4.1/lib/thirdparty/libhdf5.so.6
Con esta dirección, podemos agregar un dato mas a la variable de entorno
[miguel@MalillaReturns bin]$ export LD_LIBRARY_PATH=$HOME/opt/scilab-5.4.1/lib/thirdparty/:$LD_LIBRARY_PATH
[miguel@MalillaReturns bin]$ echo $LD_LIBRARY_PATH
/home/miguel/opt/scilab-5.4.1/lib/thirdparty/:/home/miguel/opt/scilab-5.4.1/lib/scilab/
Pero de nueva cuenta se tiene un error.
[miguel@MalillaReturns bin]$ ./scilab-bin 
./scilab-bin: error while loading shared libraries: libjava.so: cannot open shared object file: No such file or directory
De igual forma la libreria libjvm.so. Mediante el comando find, se encuentra la ruta de la librería solicitada por el programa
[miguel@MalillaReturns ~]$ find -iname libjava.so
./opt/scilab-5.4.1/thirdparty/java/lib/i386/libjava.so
La libreria libjvm.so se encuentra en:
[miguel@MalillaReturns ~]$ find -iname libjvm.so
./opt/scilab-5.4.1/thirdparty/java/lib/i386/server/libjvm.so
./opt/scilab-5.4.1/thirdparty/java/lib/i386/client/libjvm.so

En consecuencia, se debe agregar esta nueva ruta al LD_LIBRARY_PATH
[miguel@MalillaReturns bin]$ export LD_LIBRARY_PATH=$HOME/opt/scilab-5.4.1/thirdparty/java/lib/i386/:$HOME/opt/scilab-5.4.1/thirdparty/java/lib/i386/client/libjvm.so:$LD_LIBRARY_PATH
En resumen, se puede decir que la definición de la variable de entorno
[miguel@MalillaReturns bin]$ export LD_LIBRARY_PATH=$HOME/opt/scilab-5.4.1/lib/scilab/:$HOME/opt/scilab-5.4.1/lib/thirdparty/:$HOME/opt/scilab-5.4.1/thirdparty/java/lib/i386/client/:$HOME/opt/scilab-5.4.1/thirdparty/java/lib/i386/
Pero esto, nos deja ver el siguiente error
[miguel@MalillaReturns bin]$ ./scilab-bin 
SCI environment variable not defined.
Ahora se debe definir la variable de entorno SCI
[miguel@MalillaReturns bin]$ export SCI=/home/miguel/opt/scilab-5.4.1/share/scilab
de esta forma ya debe funcionar la instalación de SCILAB
Nota. LA Libreria de lógica difusa que se ve se instala mediante ATOMS.

Metallica - Live In Studio 2003 [St. Anger Full Concert HQ]


jueves, 4 de julio de 2013

Instalando moderncv con Lyx 2.0 en Fedora 18

Después de un rato de estar tratando de elaborar un CV con Lyx, en Fedora 18, por fin lo logré, pero no solo conviene instalar lyx con yum, sino que habrá que agregar unos paquetes extras, la información para la elaboración del CV la retomé de los siguientes blogs
Saint blog de Cristián Maureira Fredes, en http://saint.archlinux.cl/2008/10/moderncv-curriculum-vitae-con-latex/
jcGeorge's Blog de Jorge Valverve Rebaza, en http://jc-info.blogspot.mx/2009/04/curriculum-elegante-con-latex.html
y finalmente no podrìa faltar la apreciable fuente de
Blog de un bioinformatiquillo de Francisco Dubouis, en https://bioinformatiquillo.wordpress.com/manual-latex-con-lyx/clases-de-documento/
Bien la cosa es que la clase moderncv, que es la que se usa para generar el CV en Lyx, no se encuentra disponible de primera instancia.
indicando que faltan los archivos moderncv.cls y suffix.sty para compilarse de forma adecuada
para instalar la clase moderncv, primero se va a ejecutar la orden
# cd /usr/share/texmf/tex/latex

y ahora una vez ahi se va a ejecutar el siguiente codigo
wget http://tug.ctan.org/tex-archive/macros/latex/contrib/moderncv.zip

ahora se descomprime mediante el comando
#unzip moderncv.zip

y ahora para intergrarse a lyx se ejecuta el comando
#texhash

Para instalar la clase suffix.sty, ahora se debe descargar el archivo bigfoot
# wget http://tug.ctan.org/tex-archive/macros/latex/contrib/bigfoot.zip

entonces se descomprime
#unzip bigfoot.zip

con este archivo hay que hacer un paso mas
meterse dentro de la carpeta creada al realizar el unzip
#cd bigfoot
#latex bigfoot.ins
#texhash
esto es por que de acuerdo al manual de Personalizacion en Lyx 2.0, los paquetes disponibles en CTAN, los archivos .sty estan comprimidos en el archivo .ins.
ya con esto, es posible compilar el ejemplo de moderncv que viene en el Lyx.
Saludos

jueves, 20 de junio de 2013

Uso de pragma config en SDCC 3.3 Fedora 18 x86_64

Bien en F18 las actualizaciones me han dejado fuera a SDCC, ya que la version 3.2 que tiene, no me permite programar los bits de configuración.

#include 
#define FOSC 48000000
#include "simple_delay.h"
#include "fLCD3bSDCC.h"
#include "cabecera.h"

/**
 * 20/jun/2013
 * Actualizacion a SDCC 3.3 donde se definen los bits de configuracion
 * mediante la directiva pragma, debido a que la version existente en
 * F18 no permite compilar PIC16 con pragma ni con __code char __at ...
 */
#pragma config PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 2
#pragma config FOSC = HSPLL_HS, FCMEN = ON, IESO = ON
#pragma config PWRT = ON, BOR = ON, BORV = 0, VREGEN = OFF
#pragma config WDT = OFF, MCLRE = ON, LPT1OSC = ON
#pragma config PBADEN = OFF, CCP2MX = ON
#pragma config STVREN = ON, LVP = OFF
#pragma config XINST = OFF, DEBUG = OFF

/*
__code char __at __CONFIG1L CONFIG1L = _PLLDIV_DIVIDE_BY_5__20MHZ_INPUT__1L & _CPUDIV__OSC1_OSC2_SRC___1__96MHZ_PLL_SRC___2__1L & _USBPLL_CLOCK_SRC_FROM_96MHZ_PLL_2_1L;
__code char __at __CONFIG1H CONFIG1H = _OSC_HS__HS_PLL__USB_HS_1H & _FCMEN_ON_1H & _IESO_ON_1H;
__code char __at __CONFIG2L CONFIG2L = _PUT_ON_2L & _BODEN_ON_2L & _BODENV_4_2V_2L & _VREGEN_ON_2L;
__code char __at __CONFIG2H CONFIG2H = _WDT_DISABLED_CONTROLLED_2H & _WDTPS_1_32768_2H;
__code char __at __CONFIG3H CONFIG3H = _CCP2MUX_RC1_3H & _PBADEN_PORTB_4_0__CONFIGURED_AS_DIGITAL_I_O_ON_RESET_3H & _LPT1OSC_ON_3H & _MCLRE_MCLR_ON_RE3_OFF_3H;
__code char __at __CONFIG4L CONFIG4L = _STVR_ON_4L & _LVP_OFF_4L & _ENHCPU_OFF_4L & _BACKBUG_OFF_4L;
__code char __at __CONFIG5L CONFIG5L = _CP_0_OFF_5L & _CP_1_OFF_5L & _CP_2_OFF_5L & _CP_3_OFF_5L;
__code char __at __CONFIG5H CONFIG5H = _CPB_OFF_5H;
__code char __at __CONFIG6L CONFIG6L = _WRT_0_OFF_6L & _WRT_1_OFF_6L & _WRT_2_OFF_6L & _WRT_3_OFF_6L;
__code char __at __CONFIG6H CONFIG6H = _WRTC_OFF_6H & _WRTB_OFF_6H;
__code char __at __CONFIG7L CONFIG7L = _EBTR_0_OFF_7L & _EBTR_1_OFF_7L & _EBTR_2_OFF_7L & _EBTR_3_OFF_7L;
__code char __at __CONFIG7H CONFIG7H = _EBTRB_OFF_7H;
*/
Como se verá en el código se encuentra comentada la forma obsoleta que se utilizaba antes de SDCC 3.2 y la actual.

viernes, 17 de mayo de 2013

Instalando WebISE Pack 14 en Fedora 18

A estas alturas ya debe haber salido una nueva version del software de Xilinx, pero como dispongo de esta versión y es muy pesado el software (7G aprox) entonces posteriormente bajaré una nueva versión:
como primer paso habrá que darle permisos de ejecución a los archivos xsetup y xinfo del primer directorio al descomprimir el archivo .tar.tgz

entras al sub directorio bin y de ahi, dependiendo del sistema que tengas eliges una carpeta, en mi caso fue lin64

ahora ahí ejecutas el comando chmod a+x * para dar permisos de ejecución a todos los scripts que ahí se encuentran.

regresas al directorio raíz del archivo descomprimido y ejecutas
sudo  ./xsetup
Es importante ejecutar con sudo ya que el software solicita instalarse en el directorio /opt/xilinx, y un usuario normal en ese punto del sistema de archivos no tiene acceso.

Por otra parte también puedes instalar en otra ubicación en tu home.



a continuación se muestran las capturas de pantalla de la instalación:











al dar clic en install se inicia propiamente la instalación

Casi por terminar, el software solicita la instalación de una licencia, la cual puedes adquirir de forma gratuita para el web ise pack desde el sitio de xilinx.
los pasos son los que a continuación se muestran






ya con esto tenemos la instalación de la licencia gratuita y se continua con la instalación


Y finalmente, después de unos minutos, nos aparece la pantalla siguiente:


martes, 14 de mayo de 2013

Mexican Teensyduino USB en Fedora 18

El siguiente post es para hacer funcionar el clon de Arduino que encontré en la siguiente página en Fedora18
www.comunidadatmel.com
Este clon cuenta con la ventaja de ser un micro con modulo USB integrado, ya que tiene el atmega32u4, el cual de acuerdo al vendedor puede ser programado con sketchs arduino o mediante avr-gcc como un micro normal, pero cuenta con la ventaja de tener un bootloader, el cual le permite grabar al microcontrolador sin necesidad de un programador externo.
Para trabajarlo en modo arduino en Windows, se requiere del software de Arduino, el plug in de Teensyduino y finalmente de Flip. Pero como tengo unas cajas Linux, entonces vamos a echarlo a andar aquí. En otro post les comentaré mi motivación.
Se van a requerir que se descarguen software de los links que a continuación expongo:
http://arduino.cc/en/Main/Software
http://www.pjrc.com/teensy/td_download.html
https://sourceforge.net/projects/dfu-programmer/files/latest/download?source=files

(al final se trabajará con línea de comandos- problemas de dependencias en Fedora18)

No eran problemas de dependencias solo hay que cambiar un poco el archivo .pro, quedando de la siguiente manera

#-------------------------------------------------
#
# Project created by QtCreator 2011-05-31T09:58:34
#
#-------------------------------------------------

QT       += core gui

TARGET = easydfu
TEMPLATE = app


SOURCES += main.cpp\
        easydfu.cpp

HEADERS  += easydfu.h

FORMS    += easydfu.ui

RESOURCES += \
    icons.qrc

INCLUDEPATH += "/usr/include/QxtCore/"
LIBS += -lQxtCore -lQxtGui

La linea que se cambio fue
INCLUDEPATH+="/usr/include/qxt/QxtCore"
y en el archivo easydfu.h la línea 31 que dice

#include qxt/QxtGui/QxtGlobalShortcut

se cambia por
#include QxtGui/QxtGlobalShortcut

no pongo los signos de mayor que y menor que por que me edita el blogspot ;P

y finalmente el archivo easydfu.cpp se modifican la línea 30 para que el código quede así:
  ui->setupUi(this);
//modificado para que lo encuentre el root
    programPath = "/usr/local/bin/dfu-programmer";



En Ubuntu (12.04) mi otra box, pude instalar el siguiente paquete
https://sourceforge.net/projects/dfu-programmer/?source=dlp
Que es un cargador gráfico del .hex generado hacia el micro, mas o menos tipo Flip (ya tambien en Fedora18)
  1. Se descargan los paquetes de acuerdo al tipo de sistema que tengamos ya sea de 32 o 64 bits.
  2. Se descomprime el archivo arduino-X.X.X-linuxXX.tgz
  3. El archivo teensyduino.64bit se le dan permisos de ejecución, solo da clic derecho sobre el icono, selecciona propiedades, da clic en la pestaña Permisos y sobre la casilla "es ejecutable" coloca una paloma mediante un clic.
  4.  Da un doble clic para instalar y saldrá la siguiente pantalla
  5. Da clic en Next y elige el lugar donde descomprimiste el software de arduino.



  6. Escoge las librerias que te interesa instalar (yo seleccioné todas y di clic en siguiente)
  7. al dar siguiente, ya nos permitirá instalar el software de Teensy
  8. Una vez instalado nos aparece la ventana que indica que ya ha terminado la instalación.
  9. Da clic en el botón Done.
  10. Ahora ejecuta el software de arduino.
  11. Y elige la tarjeta Teensy 2.0 del menu Herramientas -> Board ->Teensyduino 2.0
  12. De esta forma ya podremos generar sketch's para la tarjeta, el siguiente paso consiste en instalar DFU, que es el software a utilizar en lugar de Flip de atmel (Esto es por que flip aun no es compatible con Linux)
  13. Se descomprime el archivo dfu-programmer-0.6.0
  14. ingresamos en la carpeta descomprimida
  15. abrimos una terminal ahi y tecleamos el comando $./bootstrap.sh
  16. luego $./configure
  17. $make
  18. $sudo make install
  19. La instalacion la realiza en /usr/local/bin, por lo que hay que tener cuidado ya que su no ve este directorio así que para invocar como superusuario debera hacer esto
  20. $ sudo /usr/local/bin/dfu-programmer atmega32u4 erase por ejemplo
  21. para programar un sketch realizado
  22. $sudo /usr/local/bin/dfu-programmer atmega32u4 flash /home/miguel/sketchbook/sketch_may15a/sketch_may15a.cpp.hex
  23. y para que funcione
  24. $sudo /usr/local/bin/dfu-programmer atmega32u4 start
  25. Para la instalación del entorno gráfico (si compila pero no carga correctamente al dfu-programmer :( )
  26. Se descomprime easydfu_1.0_src.tar.gz
  27. Entramos a la carpeta
  28. ejecutamos la orden qmake de la siguiente manera
  29. qmake-qt4 EasyDFU.pro (recuerda las modificaciones indicadas al inicio del post)
  30. y luego make
  31. se debe usar como root o mediante el comando sudo
  32.  asa
    sas
  33. Esta es una prueba de que está corriendo el software :)
    a
    sas


Cargar Teensy version mexicana en caja Fedora... por maigke

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

viernes, 3 de mayo de 2013

Impresion a doble cara con bookbinder

Bueno, casualmente me encuentro haciendo unos manuales, pero como se requiere de engrapar, pues bookbinder es una solucion de software libre para elaborar folletos. este software a partir de un pdf te crea dos archivos, pues la cosa de imprimirlos es facil, (bueno despues de varios intentos lo es) 1. imprime el documento 1 2. asi como sale la hoja, la giras 180º y la introduces así como salió de la impresora 3. imprime el documento 2 pero con la opcion de imprimir de forma inversa. y eso es todo!

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;}       
    }
    
    }

sábado, 20 de abril de 2013

zotero 4.0

La nueva version de zotero me ha dejado una agradable sabor de boca, ya que ahora es mas amigable para generar referencias con el formato APA 6.0. no dejen de consultarlo, por cierto en Linux es posible usarlo en conjunto con Lyx, un editor de Latex.

lunes, 15 de abril de 2013

montando archivos tipo iso en Linux

Lo siguiente lo aprendí de la siguiente págin web: http://www.linuxtotal.com.mx/index.php?cont=info__tips_001 En este caso, el montaje de la imagen de cd iso, se montó en la carpeta opt dentro de mi home
/home/miguel/opt
en la carpeta se crea una nueva, que es el lugar a donde se montará la nueva imagen
mkdir iso
Ahora, se requiere habilitar el modulo loop, en Fedora, esto se puede realizar con usuario normal
modprobe loops
Como se va a montar el iso, entonces debemos usar los poderes de supervaca
sudo mount -t iso9660 -o loop image.iso iso/
Para desmontar la imagen iso, solo debemos entrar a la carpeta creada y ejecutar el comando umount con el comando sudo
sudo umount iso/

viernes, 12 de abril de 2013

Problema con eñes y acentos en archivo zip y rar

Revisando trabajos de mis alumnos, en unos ip y archivos rar que me han dado, al ser comprimidos con el software de Redmon, al tratar de descomprimirlo, me causaba error al tratar de leer los archivos descomprimidos. Todo era culpa de la codificación. ya que en win2, se usa ISO-8859-1, y en Linux utf-8 En consecuencia, de acuerdo a las siuientes páginas : http://ecoslackware.wordpress.com/tag/convmv/ http://elblogdeelsant0.blogspot.mx/2011/02/solucion-al-problema-codificacion-no.html La solución es utilizar convmv, que es un software que transforma la codificación de un archivo en otra.
[miguel@dhcppc6 Unidad5]$ convmv -r -f ISO-8859-1 -t UTF-8 * --notest
Skipping, already UTF-8: ./DÍAZ AGUSTÍN FRANCISCO JAVIER UNIDAD 4-5.rar
mv "Portafolio de evidencias Alejandro P�rez Micros unidad 4 y 5/CONFIGURACI�N Y CARACTER�STICAS EL�CTRICAS DE LOS PUERTOS E.docx"    "Portafolio de evidencias Alejandro P�rez Micros unidad 4 y 5/CONFIGURACIÓN Y CARACTERÍSTICAS ELÉCTRICAS DE LOS PUERTOS E.docx"
mv "./Portafolio de evidencias Alejandro P�rez Micros unidad 4 y 5"     "./Portafolio de evidencias Alejandro Pérez Micros unidad 4 y 5"
mv "PORTAFOLIO DE EVIDENCIAS PREZA PE�A CARLOS DE JESUS/UNIDAD 5/ACTIVIDADES/Configuraci�n y caracter�sticas el�ctricas de los puertos EYS.pdf"       "PORTAFOLIO DE EVIDENCIAS PREZA PE�A CARLOS DE JESUS/UNIDAD 5/ACTIVIDADES/Configuración y características eléctricas de los puertos EYS.pdf"
mv "./PORTAFOLIO DE EVIDENCIAS PREZA PE�A CARLOS DE JESUS"      "./PORTAFOLIO DE EVIDENCIAS PREZA PEÑA CARLOS DE JESUS"
Skipping, already UTF-8: ./PORTAFOLIO DE EVIDENCIAS PREZA PEÑA CARLOS DE JESUS.zip
Skipping, already UTF-8: SERVO/Servomotor - ¿Como funciona un servo_.mp3
Skipping, already UTF-8: SERVO/Servomotor - ¿Como funciona un servo_.mp4
Ready!
Como veran, en esta carpeta, teno tanto archivos en utf-8 como el iso-8859-1, a los primeros no los modifica.

miércoles, 10 de abril de 2013

Programador USBAsp en fedora 18 como usuario normal

Bueno me canse de estar entrando como root para programar mis micros en Fedora, y pues cosa de no buscarle mucho encontré una solución que al menos para mí sirvio, y esta consistió en agregar una nueva regla al udev, par ello como root, se tiene que logear y teclear los siguiente:


[root@dhcppc6 ~]# nano /etc/udev/rules.d/99-usbasp.rules
Lo cual va a abrir el editor nano y se debe agregar el siguiente texto
ATTR{idVendor}=="16c0", ATTR{idProduct}=="05dc", MODE="0666" , GROUP="plugdev"
ahora agregamos a nuestro usuario al grupo plugdev con el siguiente comando
usermod -a -G plugdev miguel
reiniciamos nuestro equipo y ahora desde una terminal tecleamos
[miguel@dhcppc6 ~]$ avrdude -c usbasp -p m48 -P usb

avrdude: error: programm enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

[miguel@dhcppc6 ~]$ 
el error indicado sale por que de momento no tengo ningun micro conectado al programador USBasp finalmente lo anterior aplica a la programación con eclipse.

martes, 9 de abril de 2013

Gambas con Pinguino y MySQL

Bien de momento solo voy a escribir que estoy trabajando en un proyecto para la academia a fin de tener una interfaz para el Rally Mecatronico en su versión 5, donde usando MySQL, Gambas2 y Pinguino se vidualizará un tablero de resultados.!!

Aquí una imagen
:D

sábado, 6 de abril de 2013

Creando Interfacez

Generalmente, he visto que para la creación de prototipos de interfaces hombre máquina, se usan herramientas de diseño de imagenes y/o presentaciones, pero en este caso, Fedora 18, en sus repositorios incluye a Pencil, el cual es un software para el diseño de interfaces, el cual es multiplataforma y muy agradable, pero mas que palabras, los invito a conocerlo a través del siguiente video:

http://ia700302.us.archive.org/29/items/IntroduccionAPencil/pencil.ogv

Espero les agrade.

viernes, 5 de abril de 2013

Instalando MySQL en fedora 18

Los pasos salieron de: http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/ el primer paso es acceder como superusuario
[miguel@dhcppc6 ~]$ sudo -i
[sudo] password for miguel:
A continuación se dan de alta los repositorios de rpmfusion
[root@dhcppc6 ~]# rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm 
[root@dhcppc6 ~]# rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Ahora se van a habilitar los repositorios y ver las versiones disponibles de MySQL
[root@dhcppc6 ~]# yum --enablerepo=remi list mysql mysql-server
Ahora a instalar MySQL desde los repositorios
[root@dhcppc6 ~]# yum --enablerepo=remi install mysql mysql-server
Iniciando el servicio MySQL e instalando para su arranque automático con cada inicio de sesión
[root@dhcppc6 ~]# systemctl start mysqld.service
[root@dhcppc6 ~]# systemctl enable mysqld.service
ln -s '/usr/lib/systemd/system/mysqld.service' '/etc/systemd/system/multi-user.target.wants/mysqld.service'
[root@dhcppc6 ~]# 

Ahora se continúa con el "hardening" de la instalación de MySQL, 1. Instalación (cambio de la contraseña de root) 2. Retirar acceso a usuarios anónimos 3. Deshabilitar el acceso remoto como root 4. Remover la Base de datos de prueba y su acceso 5. Renovar la tabla de privilegios iniciar la instalación segura mediante el siguiente comando
[root@dhcppc6 ~]# /usr/bin/mysql_secure_installation
Al pulsar enter solicita la nueva contraseña de root
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] 
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Cleaning up...



All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

conectarse a la base de datos
[root@dhcppc6 ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 5.5.30 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

Creación de una base de datos, un usuario y la habilitación de conexiones remotas a una base datos MySQL Los parámetros que se proponen son:

  • DB_NAME = webdb 
  • USER_NAME = webdb_user 
  • REMOTE_IP = 10.0.15.25 
  • PASSWORD = password123 
  • PERMISIONS = ALL

## CREATE DATABASE ##
mysql> CREATE DATABASE webdb;
 
## CREATE USER ##
mysql> CREATE USER 'webdb_user'@'10.0.15.25' IDENTIFIED BY 'password123';
 
## GRANT PERMISSIONS ##
mysql> GRANT ALL ON webdb.* TO 'webdb_user'@'10.0.15.25';
 
##  FLUSH PRIVILEGES, Tell the server TO reload the GRANT TABLES  ##
mysql> FLUSH PRIVILEGES;
 
ahora, el acceso en mi caso solo lo podía hacer por medio de root, con la orden sudo, sin embargo, con mi usuario habitual, aunque colocaba correctamente el password de root de mysql no podia acceder, ni de consola ni por phpMyAdmin, entonces para corregir esto:
 1. agregar a mi usuario al grupo mysql, en KDE, Inicio-; Aplicaciones - Administración - usuarios y grupos (requiere contraseña de administrador)

2. Ya en el entorno, quitar el check, de la opción "Ocultar grupos del sistema" en Preferencias del menú Editar

3. ir a la pestaña grupos, dar clic sobre mysql y clic en el botón Propiedades.

4. Selecciona a tu usuario habitual o normal, o como lo quieras llamar.

5. Cerrar el sistema y probar desde una consola Si nuevamente obtienes error de acceso, entonces gracias a la siguiente página vi la luz http://my.opera.com/FastTigerBlog/blog/solucion-al-problema-mysql-u-root-p
*******************************************************************************
1. Detener el servicio mysql, recuerda que estoy en fedora18 usando mysql del repo rpmfusion (http://www.if-not-true-then-false.com/2010/install-mysql-on-fedora-centos-red-hat-rhel/)
systemctl stop mysqld.service
2. brincarnos el passwd de root
/usr/bin/mysqld_safe --user=mysql --skip-grant-tables
3. Abre otra terminal y teclea en ella
[miguel@dhcppc6 ~]$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.30 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
4. ahora hacemos uso de la tabla mysql use mysql; 5. Se realiza la actualización del passwd de root de mysql
mysql> update user set Password=PASSWORD('xxxxxxxx') where user='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3  Changed: 3  Warnings: 0
6. salimos exit; 7. Detenemos la consola de modo seguro (cierra la consola) 8. Re arranca el servicio mysql
[miguel@dhcppc6 ~]$ sudo -i
[sudo] password for miguel: 
[root@dhcppc6 ~]# systemctl start mysqld.service
[root@dhcppc6 ~]# exit
logout

9. Reinicia la sesion nueva de mysql con la contraseña nueva de root
[miguel@dhcppc6 ~]$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.5.30 MySQL Community Server (GPL) by Remi

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

sábado, 30 de marzo de 2013

Instalar fuentes en Fedora

Buscando una forma de poner interfaces en LCD, y que estas se encuentren documentadas, me dí a la tare de buscar fuentes tipo LCD, por el momento solo encontré unas fuentes en el siguiente link:

http://www.dafont.com/liquid-crystal.font

ahora para instalar las fuentes y hacer uso de ellas con el programa Pencil. leí el documento que se encuentra expuesto en el siguiente blog
http://otroblogdegnu-linux.blogspot.mx/2013/03/instalar-fuentes-de-fedora-facilmente.html

donde se describe paso a paso la instalación de fuentes en fedora, en el cual piden instalr gnome-font-viewer, el cual afortunadamente lo tenía instalado.

solo se descomprime el archivo descargado y los archivos de fuente se abren con la aplicación antes mencionada.

En la parte inferior tiene el botón de instalar y cuando éste se presiona, nos da dos opciones:
  • instalar solo para usuario
  • instalar para sistema
La primera supongo que no solicita contraseña, pero la segunda, si lo hace


De esta forma, el resultado es el que en la figura anterior se muestra

jueves, 28 de marzo de 2013

Para configurar piklab con pickit2

consultado de aquí:

http://www.electronica.robotsperu.org/index.php/microcontroladores/pic-linux-win/5-instalacion-configuracion-pickit-2-piklab

martes, 26 de marzo de 2013

Máquinas de estados finitas en C

La siguiente herramienta les permitirá construir una máquina de estados finitos

http://qfsm.sourceforge.net/download.html

Las dependencias son
Graphviz  ()
cmake
make

para instalar desde las fuentes usa la version 0.52 ya que la actual en Fedora 18 indica un error

/usr/include/string.h:66:77: error: declaration of ‘int memcmp(const void*, const void*, size_t) throw ()’ has a different exception specifier
/usr/include/graphviz/cdt.h:242:12: error: from previous declaration ‘int memcmp(const void*, const void*, size_t)’

El cual en el sourceForge, el autor indica lo siguiente:


Date: 2012-11-20 08:18:18 PST
Sender: sttoduProject Admin
I cannot reproduce the problem with Linux 3.2.0 / Ubuntu 12.04 / Qt 4.8.1 /
graphviz 2.26.3.
You seem to have graphviz 2.28 installed, and it seems that the problem
comes from an incompatibility between graphviz 2.28 and Qt.
I will do some further investigation.

Stefan

Y en mi caso, tengo Fedora 18, con graphviz 2.28 , que de acuerdo al autor, causa el problema indicado.

error semántico en eclipse AVR

Cuando se tiene una instalación fresca de eclipse con el plug-in de avr, es posible compilar un programa aunque en la ventana de problemas coloca un error al no identificar los defines de los puertos

Descripción    Información    Ruta    Ubicación    Type
Symbol 'PB3' could not be resolved    main.c    /mo    línea 27    Semantic Error

aunque el programa incluya al archivo io.h

#include 
//#include 
#define F_CPU 1000000UL
#include 

#define clearbit(sfr,bit) _SFR_BYTE(sfr)&=~_BV(bit)
#define setbit(sfr,bit) _SFR_BYTE(sfr)|=_BV(bit)

#define start    PINB0
#define pstart    PINB
#define stop    PINB1
#define pstop    PINB



#include "help.h"



int main(void) {
    //unsigned char flag = hola;
    config();
    while(1)
        {
            if(bit_is_set(pstart,start) && bit_is_set(pstop,stop))
            {
                clearbit(PORTB, PB3);
            }
            else
            {
                setbit(PORTB,PB3);
            }
        }
    return 0;
}
Una forma de resolver este problema es medinte la inclusión del  archivo .h del correspondiente microcontrolador (en este caso el
#include  
que se encuentra comentado).

Otra opción que se lee en el foro http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=902018 es entrar a las propiedades del proyecto y en la opción Target Hardware del menú AVR
seleccionar de nuevo el microcontrolador a utilizar  y posteriormente dar clic derecho sobre el nombre del proyecto.
Una vez ahí seleccionar índices y luego la opción rebuild.

domingo, 24 de marzo de 2013

pk2cmd en Fedora 18 64bits

Primero hay que tener instalado la libreria de comunicaciones usb
[root@dhcppc6 rules]# yum install libusb-devel.x86_64
Luego hay que descargar el pk2cmd desde aquí
http://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1.20LinuxMacSource.tar.gz
Ahora se descomprime la carpeta y se entra en ella, puedes usar el entorno gráfico para esta actividad.
entras a la carpeta con una consola
y ya en la consola tecleas el comando

$make linux

Si toda va bien no saldrá ningún error

ahora con el comando sudo se realiza la instalación
[miguel@dhcppc6 pk2cmdv1.20LinuxMacSource]$ sudo make install
[sudo] password for miguel:
mkdir -p /usr/share/pk2
cp pk2cmd /usr/local/bin
chmod u+s /usr/local/bin/pk2cmd
cp PK2DeviceFile.dat /usr/share/pk2/PK2DeviceFile.dat

Ahora el usuario debe modificar sua archivo bashrc de la siguiente manera
 $ nano /home/miguel/.bashrc

y añade las siguientes lineas
# User specific aliases and functions
export PATH=$PATH:/usr/share/pk2

y para que las modificaciones sean aceptadas
$ source /home/miguel/.bashrc

ahora solo resta probar

En mi caso con pickit2 clon conectado y grabando el bootloader del Pinguino X.4 me dan los siguientes resultados:
[miguel@dhcppc6 8bit]$ pk2cmd -P -M -F bootloaderV3.00_PIC18Fx550.hex
Auto-Detect: Found part PIC18F2550.

PICkit 2 Program Report
24-3-2013, 13:05:21
Device Type: PIC18F2550

Program Succeeded.

Operation Succeeded
[miguel@dhcppc6 8bit]$


Programando Pinguino con Linux rules! Fedora 18 64bits

Bien las instrucciones de instalación de pinguino vienen aqui:
http://wiki.pinguino.cc/index.php/Linux

y una vez terminada la instalación de las librerias

se debe continuar con la ediación de reglas para que como usuarios normales sea posible la carga de programas hacia pinguino.

De acuerdo a la pagina, hay que seguir con estos pasos:

cd "DIRECTORY WHERE YOU UNPACK THE IDE"
chmod a+x *.py
su (give root password)
cp 41-microchip.rules /etc/udev/rules.d/
cp 26-microchip.rules /etc/udev/rules.d/
groupadd microchip
usermod -a -G microchip $USER
 
ahora debemos asegurarnos que nuestro usuario pertenece al grupo
microchip y al grupo plugdev

NOTA.- la palabra $USER se sustituye por el nombre de usuario, en mi caso quedó así:

usermod -a -G microchip miguel
usermod -a -G plugdev miguel

los parametros de usermod de acuerdo al man nos dicen que se cambiará la forma de comportarmiento de un usuario en específico, en este caso:

-a significa que se le van a agregar mas atributos (append)
-G significa que va hacia un grupo (microchip, plugdev)

Configurando USBasp en Fedora 18 64 bits

En la siguiente pagina se encuentran los pasos para configurar el programador USBasp 

http://translate.google.com.mx/translate?sl=auto&tl=en&js=n&prev=_t&hl=es-419&ie=UTF-8&eotf=1&u=http%3A%2F%2Fwww.nibyblog.pl%2Fprogramowanie-mikrokontrolerow-avr-w-linuksie-3445.html&act=url

1. Conectar el programador y teclea el comando siguiente
 lsusb
..
Bus 002 Device 003: ID 16c0:05df VOTI

2. Con la información obtenida de los campos Bus y Device llenar los parámetros de udev
 udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/002/003)
3. Con los datos obtenidos, se edita la regla para el sistema
 sudo nano /etc/udev/rules.d/81-avr-programator.rules
4. Y agrega los siguiente datos
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", ATTRS{serial}=="0000:00:1d.0", MODE="0660", GROUP="users"
 5. Ahora agregamos a nuestro usuario al grupo USERS para que sin ser root, podamos acceder al USB


sábado, 23 de marzo de 2013

Cambiar Gnome a KDE en Fedora 18 64 bits

Esta información la saque de la siguiente entrada de blog

http://blog.desdelinux.net/como-instalar-kde-en-fedora/

Donde se indica que como primer paso, se debe agregar los repositorios kde de red-hat

#yum -y install wget && wget http://apt.kde-redhat.org/apt/kde-redhat/fedora/kde.repo -O /etc/yum.repos.d/kde.repo

Después hace la siguiente recomendación:

Luego hay que activarlos (Personalmente me quedaron activados pero verifica que hayan quedado activados)
sudo nano /etc/yum.repos.d/kde.repo
Busca la palabra Enable y cambia su valor a 1 (Enable = 1).
Guarda

Ahora van los pasos de actualizar

yum update

y luego instalación de kde

yum install @kde-desktop

Ahora reinicia el pc y selecciona iniciar con kde.

SDCC en Fedora 18 64 bits

Al instalar SDCC en Fedora, este no lo reconoce el software Piklab, ya que piklab lo busca como

sdcc -v

sin embargo en la instalación se encuentra definido como

sdcc-sdcc

pues que en /usr/bin así está definido

 [root@dhcppc6 bin]# ls -l sdcc-sdcc
-rwxr-xr-x. 1 root root 67 jul 26  2012 sdcc-sdcc
[root@dhcppc6 bin]#

ahora solo se procede a renombrar el paquete
y ya lo acepta piklab


miércoles, 20 de marzo de 2013

Poniendo ISO en USB Fedora 17 y Fedora 18

En la siguiente dirección http://fedoratimes.wordpress.com/2013/01/19/crear-un-usb-de-instalacion-de-fedora-18-kde-2/ encontré la forma de como instalar una fedora.iso en una memoria usb, tal y como comenté en la entrada de dicho blog, mi memoria tenia formato exFAT y si funcionó el procedimiento:

1. entrar como root
2. ver cual es la partición donde está nuestra memoria usb
3. instalar el programa livecd-tools
$su -c 'yum install livecd-tools'
4. desmontar la unidad seleccionada
 # umount /dev/sdb1
5. Ingresar el comando (ejemplo)
#su -c "livecd-iso-to-disk --format --reset-mbr  RutaALaISO /dev/sdbX"
6. en mi caso la imagen iso la tengo en la carpeta Descargas de mi home

# cd /home/miguel/Descargas/
# su -c "livecd-iso-to-disk --format --reset-mbr Fedora-17-x86_64-Live-Desktop.iso /dev/sdb1"

Y al dar enter arroja el sistema los siguientes mensajes, hay que estar atentos cuando nos pida pulsar la tecla INTRO, para confirmar que queremos proceder con la instalacion de la ISO
en la memoria USB

Verifying image...
/home/miguel/Descargas/Fedora-17-x86_64-Live-Desktop.iso:   8f867005fc8d23b3a9f0d3918d7ad825
Fragment sums: 937bd8e8d79fa61fdebca46ed56bb7f295116544a578b8c2c6c35f51cb9e
Fragment count: 20
Press [Esc] to abort check.
Checking: 100.0%

The media check is complete, the result is: PASS.

It is OK to use this media.
WARNING: THIS WILL DESTROY ANY DATA ON /dev/sdb!!!
Press Enter to continue or ctrl-c to abort

2 bytes were erased at offset 0x000001fe (dos): 55 aa
Waiting for devices to settle...
mke2fs 1.42.3 (14-May-2012)
Etiqueta del sistema de ficheros=LIVE
OS type: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
Stride=0 blocks, Stripe width=0 blocks
991232 inodes, 3962112 blocks
198105 blocks (5.00%) reserved for the super user
Primer bloque de datos=0
Número máximo de bloques del sistema de ficheros=4060086272
121 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8192 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: hecho                          
Escribiendo las tablas de nodos-i: hecho                          
Creating journal (32768 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros:   0/hecho 

Copying live image to target device.
squashfs.img
   655540224 100%   15.19MB/s    0:00:41 (xfer#1, to-check=0/1)

sent 655620321 bytes  received 31 bytes  15798080.77 bytes/sec
total size is 655540224  speedup is 1.00
osmin.img
        8192 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 8265 bytes  received 31 bytes  16592.00 bytes/sec
total size is 8192  speedup is 0.99
Updating boot config file
Installing boot loader
/media/tgttmp.ucr2nj/syslinux is device /dev/sdb1
Target device is now set up with a Live image!

Backlight en NV55C con tarjeta hídrida intel-nvidia en fedora 18 64 bits

http://lirabyte.blogspot.mx/2012/11/problema-de-brillo-de-pantalla-acer.html

Tomado de aqui para el mismo modelo NV55C gateway pero con fedora 18

ya solamente que no funciona update-grub

sino que de acuerdo a http://fedoraproject.org/wiki/GRUB_2

se debe teclear
grub2-mkconfig -o /boot/grub2/grub.cfg

y ya luego un reboot

lunes, 18 de febrero de 2013

ACTUALIZADO - Instalando el tookit de Lógica Difusa en Octave en Fedora 18 64 bits

Octave cuenta desde hace poco con un toolbox de lógica difusa, del autor Markowsky L., quien en el International Workshop “Open-Source Software for Scientific Computation (OSSC) 2011” dictó una conferencia titulada The Octave Fuzzy Logic Toolkit llevada a cabo del 12 al 14 de octubre. El paper se encuentra disponible en http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6184706

El software se encuentra disponible de forma gratuita en: http://sourceforge.net/projects/octave-fuzzy/ y solo pesa unos 80kB, ya que se encuentra conformada por archivos .m Para su instalación, en Linux, desde octave , en la linea de comando teclea lo siguiente:

>>>pkg install -forge fuzzy-logic-toolkit 


de esta forma, automáticamente se instala el toolkit en octave.

Ahora tecleando:

>>>pkg list

Se muestran los paquetes instalados en nuestro sistema:
 
Package Name | Version | Installation directory
---------------------+---------+-----------------------
audio *| 1.1.4 | /usr/share/octave/packages/audio-1.1.4
control *| 2.4.0 | /usr/share/octave/packages/control-2.4.0
fuzzy-logic-toolkit | 0.4.2 | /home/miguel/octave/fuzzy-logic-toolkit-0.4.2
gnuplot *| 1.0.1 | /home/miguel/octave/gnuplot-1.0.1
gsl *| 1.0.8 | /usr/share/octave/packages/gsl-1.0.8
image *| 1.0.15 | /usr/share/octave/packages/image-1.0.15
miscellaneous *| 1.2.0 | /usr/share/octave/packages/miscellaneous-1.2.0
nnet *| 0.1.13 | /usr/share/octave/packages/nnet-0.1.13
odebvp *| 1.0.6 | /home/miguel/octave/odebvp-1.0.6
optim | 1.2.2 | /usr/share/octave/packages/optim-1.2.2
physicalconstants *| 0.1.7 | /home/miguel/octave/physicalconstants-0.1.7
quaternion *| 2.0.0 | /usr/share/octave/packages/quaternion-2.0.0
signal | 1.1.3 | /usr/share/octave/packages/signal-1.1.3
specfun | 1.1.0 | /usr/share/octave/packages/specfun-1.1.0
statistics *| 1.0.10 | /home/miguel/octave/statistics-1.0.10
struct | 1.0.10 | /usr/share/octave/packages/struct-1.0.10
symbolic *| 1.1.0 | /usr/share/octave/packages/symbolic-1.1.0

donde aquellos que tienen un '*' delante del nombre del paquete instalado, son los que se encuentran instalados. (si deseas instalar mas paquetes, puedes consultar la siguiente página)
 http://octave.sourceforge.net/

Ahora como verán, el paquete de lógica borrosa no está cargado automáticamente, para cargarlo debe teclear lo siguiente

 
>>> pkg load fuzzy-logic-toolkit

En consecuencia, es posible usar ya funciones del toolkit
>>> demo('sigmf')
sigmf example 1:
x = 0:100;
params = [0.3 40];
y1 = sigmf(x, params);
params = [0.2 40];
y2 = sigmf(x, params);
params = [0.1 40];
y3 = sigmf(x, params);
figure('NumberTitle', 'off', 'Name', 'sigmf demo');
plot(x, y1, 'r;params = [0.3 40];', 'LineWidth', 2)
hold on;
plot(x, y2, 'b;params = [0.2 40];', 'LineWidth', 2)
hold on;
plot(x, y3, 'g;params = [0.1 40];', 'LineWidth', 2)
ylim([-0.1 1.2]);
xlabel('Crisp Input Value', 'FontWeight', 'bold');
ylabel('Degree of Membership', 'FontWeight', 'bold');
grid;

 solo una advertencia, el comando load debe usarse siempre que se requiera usar el toolkit.


solo descarga el paquete tar.gz en alguna ubicación, y crean dentro de tu home un archivo opt

$makedir opt

y descomprime ahi el archivo descargado ahora abre octave y desde la línea de comandos (http://iimyo.forja.rediris.es/tutorial/gui.html) teclea el siguiente comando

path(path,'/home/miguel/opt/fuzzy-logic-toolkit/')

 y con esto, es posible usar las funciones del fuzzy-logic-toolkit, por ejemplo al usar

help trimf
`trimf' is a function from the file /home/miguel/opt/fuzzy-logic-toolkit/inst/t rimf.m

-- Function File: Y = trimf (X, PARAMS)
-- Function File: Y = trimf ([X1 X2 ... XN], [A B C])

For a given domain X and parameters PARAMS (or [A B C]), return the corresponding Y values for the triangular membership function.

The argument X must be a real number or a non-empty vector of strictly increasing real numbers, and parameters A, B, and C must be real numbers that satisfy A < B < C. None of the parameters A, B, and C are required to be in the domain X. The minimum and maximum values of the triangle are assumed to be 0 and 1.

The parameters [A B C] correspond to the x values of the vertices of the triangle:

 1-|      /\
    |     /  \
    |    /    \
    |   /      \
     0-----------------------
       a b   c

To run the demonstration code, type demo('trimf') at the Octave prompt.

See also: dsigmf, gauss2mf, gaussmf, gbellmf, pimf, psigmf, sigmf, smf, trapmf, trimf_demo, zmf

Additional help for built-in functions and operators is available in the on-line version of the manual. Use the command `doc ' to search the manual index.

En la siguiente página podrás encontrar las referencias y las funciones con las que cuenta el toolkit

http://octave.sourceforge.net/fuzzy-logic-toolkit/overview.html


 Help and information about Octave is also available on the WWW at http://www.octave.org and via the help@octave.org mailing list.

miércoles, 30 de enero de 2013

Este es el link para consultar las bases del quinto Rally mecatrónico, organizado por la academia de Ing Mecatronica en el ITST http://www.facebook.com/media/set/?set=a.453017148085895.107113.102397876481159&type=1 Se llevará a cabo a fines del mes de mayo. los esperamos!