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

domingo, 26 de enero de 2020

Instalación de MPLAB X 5.3 y XC8 en Manjaro Linux

[Video] Uso de Atom en Manjaro y uso para trabajar con ensamblador para AVR como editor

En el siguiente video, muestro la forma en que se usa el editor Atom para trabajar con ensamblador de AVR, aclaro que no es usado Atom para el ensamble, solo como editor.

Instalación de software para programar microcontroladores AVR en Manjaro Linux desde la consola

A continuación muestro en formato de video, la manera de instalar el software necesario para programar microcontroladores AVR en un ambiente Manjaro desde la terminal, cabe mencionar que esta instalación fue hecha desde una instalación limpia.


miércoles, 12 de agosto de 2015

¿El retorno a Fedora?

Desafortunadamente, desde la ultima actualización de Manjaro, y después de creo dos años sin ningún problema grave, antier mi sistema basado en mancjaro se rompió de una forma estrepitosa.

simplemente se quedaba en el splash y asi estaban dando de vueltas las bolitas verdes, despues de seleccionar el kernel de arranque desde GRUB, incluso, el modo a prueba de fallos se quedaba en esa misma situación.

Primero pensé que el grub estaba apuntando mal, después de la actualización, pero mi unidad de dvd no funciona al 100.

resuelto el problema con una unidad usb y el comando dd, logre reinstalar manjaro en su versión de 64 bits (que es la que tenía), sin embargo ahora, después de la reinstalación. al dar inicio en initramfs, la pantalla se volvia negra y se reiniciaba el equipo.

Leyendo en los foros de Manjaro y ArchLinux, encontré que posiblemente estuviera roto el initramfs, por lo que hice un hijack desde el livecd de manjaro y despues de montar la partición en /mnt y hacer que el chroot tuviera acceso a la red.

La actualización, tal y como se indicaba en los foros, no fue posible, y esto por problemas con gpg, cosa que no entendí.

Aunque agradezco el hecho de que he aprendido mucho sobre la reinstalación, ahora mi sistema no reinicia.

Por lo que tuve que bajarme la iso de Fedora en spin con Mate + compiz y pues a ver que resulta.

Ojalá sea posible que mas adelante pueda recuperar Manjaro, ya que la verdad en cuanto a la ejecución de programas para electrónica, todos corrian perfectamente (bueno a excepción del software para programar microcontroladores PIC y Pinguino), cosa que en Fedora hasta su versión creo 19 no logré que lo hiciera de manera satisfactoria.

domingo, 9 de agosto de 2015

codificador de prioridad 74x148 en GHDL usando solo estandares IEEE

En el siguiente código se muestra la implementación y simulación de un codificador de prioridad 74x148 que viene de ejempl en el libro Diseño Digital: Principios y prácticas de John F. Wakerly.

El problema que encontré al tratar de compilar en primera instancia este código para el codificador de prioridad, es que usa la función conv_std_logic_vector. La cual, en la libreria IEEE.numeric_std no está definida.

Esto es un problema y de acuerdo a lo leido en los siguientes links
link1, link2, y link3, el uso de esta función se implementa al incluir a std_arith, la cual no es un estándar del IEEE, y que solo fue un "invento" de synopsys. Aunque cabe señalar los siguiente:

Muchos colaboradores de los hilos de los foros consultados, argumentan que nunca han tenido algún problema de compatibilidad al hacer uso de std_arith, y que esto se puede implementar, al pasarle el respectivo parámetro al "compilador" del VHDL.

Pero siguiendo estándares, la implementación del codificador se puede realizar de la siguiente manera:

library IEEE;
use IEEE.std_logic_1164.all;  -- Para std_logic
use IEEE.numeric_std.all;     -- Para unsigned

entity v74x148b is
   port( 
 EI_L: in std_logic;
 I_L : in std_logic_vector(7 downto 0);
 A_L : out std_logic_vector(2 downto 0);
 EO_L, GS_L : out std_logic
 );
end v74x148b;

architecture arq1 of v74x148b is

 signal EI: std_logic;
 signal I : std_logic_vector(7 downto 0);
 signal A : std_logic_vector(2 downto 0);
 signal EO,GS:std_logic;
begin
 codif: process (EI_L, I_L, EI, EO, GS,I,A)
 variable j: integer range 7 downto 0;
 begin
 
  EI <= not EI_L;
  I <= not I_L;
  
  EO<= '1'; GS<= '0'; A<= "000";
  if(EI) = '0' then EO <= '0'; 
  else for j in 7 downto 0 loop
   if I(j) = '1' then
    GS<= '1';
    EO<= '0';
    A<= std_logic_vector(to_unsigned(j,A 'length));
    exit;
   end if;
  end loop;
  end if;

 

 A_L <= not A;
 GS_L <= not GS;
 EO_L <= not EO;
 end process;
end arq1;


El testbench usado para la prueba de este código es el que se muestra a continuación:


library IEEE;
use IEEE.std_logic_1164.all;  -- Para std_logic
use IEEE.numeric_std.all;     -- Para signed, unsigned

entity v74x148b_tb is
end    v74x148b_tb;

architecture Testbench of v74x148b_tb is

   -- Component Declaration for the Unit Under Test (UUT)
   component v74x148b
      port( 
 EI_L: in std_logic;
 I_L : in std_logic_vector(7 downto 0);
 A_L : out std_logic_vector(2 downto 0);
 EO_L, GS_L : out std_logic
);
   end component;

 signal EI_L: std_logic;
 signal I_L : std_logic_vector(7 downto 0);
 signal A_L : std_logic_vector(2 downto 0);
 signal EO_L,GS_L:std_logic;

begin

  
   uut: v74x148b port map ( 
 EI_L => EI_L, 
 I_L => I_L, 
 A_L => A_L,
 EO_L => EO_L,
 GS_L => GS_L);
stim_proc: process
begin
 I_L <= "11111111"; EI_L <= '1'; wait for 10 ns;
 I_L <= "00000000"; EI_L <= '1'; wait for 10 ns;
 I_L <= "11111111"; EI_L <= '0'; wait for 10 ns;
 I_L <= "10000000"; EI_L <= '0'; wait for 10 ns;
 I_L <= "11000000"; EI_L <= '0'; wait for 10 ns;
 I_L <= "11100000"; EI_L <= '0'; wait for 10 ns;
 I_L <= "11110000"; EI_L <= '0'; wait for 10 ns;
 I_L <= "11111000"; EI_L <= '0'; wait for 10 ns;
 I_L <= "11111100"; EI_L <= '0'; wait for 10 ns;
 I_L <= "11111110"; EI_L <= '0'; wait for 10 ns;
end process;
end Testbench;



Y la salida de la señales son las siguientes:

SSSSSS

Se señala que se utilizó la herramienta UMHDL v2.00 de Pablo Garrido de la Universidad Miguel Hernández, de Elche, en su versión para sistema operativo Linux

La siguiente dirección es la indicada por el software, en la sección de acerca de..
http://labatc.umh.es:50005/pgarrido/

viernes, 24 de julio de 2015

Instalando impresora Samsung SL M2022 en Manjaro Linux

Muy bien, despues de dos dias de andar con jale de esta impresora, me encontré con un problema similar al que marcan en este link, sin embargo, los pasos que ahi marcan, no me funcionaron, y a pesar de haber bajado los drivers oficiales de Samsung, y luego encontre esta otra información, y de igual modo no me funcionó.

El detalle, despues de seguir buscando, es que se debe a un bug con el paquete the Gutenprint, la información la encontré aqui, y pues al desinstalar tal paquete, y al reinstalar el driver unificado de samsung desde AUR, todo funcionó de maravilla.

Como recomendación, la versión que instalé fue la 1 de aur, existen las versiones 4, pero estas, a mi, no me funcionaron.

viernes, 17 de julio de 2015

Mi aventura para elaborar un componente nuevo para Fritzing (el CPLD EPM240 de Altera)

(Ví que en una página mencionaron este pequeño aporte - ¡gracias!)
Pues antes que nada, el desarrollo de material para prácticas de Electrónica digital, requiere de un buen tiempo y en este caso, me enfrente a la situación de que el material debe contener la conexión de una CPLD, en especifico, de un tipo de tarjeta, una Altera, la EPM240.

El breakout que requiero es el siguiente:

Y con la finalidad de que se mostrará la forma de conectar esta CPLD con un protoboard, pense en usar la herramienta Fritzing, la cual, para los estudiantes que recien inician, les facilita mucho la visualización de conexión.

El problema es que este elemento no se encuentra en las bibliotecas de Fritzing, y pues los vendedores en aliexpress, mercadolibre y otros mas, no me dan las medidas de este elemento.

Ahora bien, siguiente los tutoriales de aquí, aquí y aquí  pude, después de algunas horas (inicie hoy a las 11 am y finalice mas o menos a las 2030 hrs) y con ayuda de Inkscape, logré el siguiente gráfico

El problema, después de terminar el gráfico, fue añadirlo al Fritzing, para lo cual, de acuerdo a los anteriores tutos, se puede tomar algún elemento y modificarlo para grabar nuestro nuevo componente.

De igual modo, un problema que encontré, es que la tarjeta contiene muchos terminales (aproximadamente 100), por lo cual me vi en la necesidad de usar un conector, sin embargo Fritzing contiene conectores con una capacidad máxima de 64 terminales. Para esto, de momento y de forma muy chapucera, deje muchos terminales sin conectar.

Otra situación que me encontre, es que Fritzing solo importa imágenes SVG con fuentes OCRA y/o tipo Droid, y lamentablemente mi PC no contaba con esa fuente; este problema se arregla agregando las fuentes requeridas (lee aquí y aquí).

Parecería que ya casi terminaba, pero me encontré con la situación de que a pesar de cambiar las fuentes que había anexado, las ubicaciones de los textos no correspondian con las terminales, y esto lo resolví al modificar una propiedad de los textos en Inkscape:


En el combobox espacio entre líneas, lo tenia a un porcentaje diferente al 100% y esto ocasionaba que al importar la imagen a Fritzing se modificaran las posiciones.

Ya con la imagen bien diseñada, ahora corresponde a la ubicación de los pines según su posición en la tarjeta y reutilizar aquellos que no se encuentran en la numeración. Esto si me llevo un tiempo ;)

Ya finalizado, ahora solo hay que jalar el componente nuevo y armar el proto, el resultado fue el siguiente (para un multiplexor de 4 a 1).

Gracias por leer y no aburrirse  ........

Grabando un CPLD Altera en Manjaro Linux de 64 bits

miércoles, 1 de abril de 2015

Manjaro Linux, casi sin problemas por el momento Intel graphics en Gateway Mx6947

Esta laptop viejita, desde la cual estoy escribiendo, aun funciona muy bien y tiene Manjaro Linux desde el 2013 y casi no ha dado problemas, solo uno con la tarjeta de video Intel que trae
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03) ,

ya que marcaba un error con ciertas aplicaciones, entre ellas
  •  scilab 
  • vlc con algunos videos 
  • captura de mi escritorio con gtkRecordMyDesktop 
Pero como hay de todo en el foro de ArchLinux (de donde viene Manjaro) encontre esto
https://wiki.archlinux.org/index.php/Intel_graphics#InstallationSNA issues 

 From man 4 intel: There are a couple of backends available for accelerating the DDX. "UXA" (Unified Acceleration Architecture) is the mature backend that was introduced to support the GEM driver model. It is in the process of being superseded by "SNA" (Sandybridge's New Acceleration). Until that process is complete, the ability to choose which backend to use remains for backwards compatibility. SNA is the default acceleration method in xf86-video-intel. If you are experience issues with SNA, try using UXA instead, which can be done by creating an X configuration file containing the following:
 /etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
 Identifier "Intel Graphics"
Driver "intel"
 Option "AccelMethod" "uxa"
EndSection 

El problema es que mi distro, no tiene en esa dirección el archivo :S

[miguel@casita ~]$ cd /etc/X11/xorg.conf.d/
[miguel@casita xorg.conf.d]$ ls 20-keyboard.conf 90-mhwd.conf@ 

Note que hay un link simbolico en la carpeta referida en el foro, por ello decidí echarme a la mar y navegar entre los directorios del etc

[miguel@casita xorg.conf.d]$ cd /etc/X11/
 [miguel@casita X11]$ ls mhwd.d/ xinit/ xorg.conf.d/
 [miguel@casita X11]$ cd mhwd.d/
[miguel@casita mhwd.d]$ ls intel.conf
[miguel@casita mhwd.d]$ less intel.conf 

 Aquí fue donde encontre el dichoso Option "AceelMethod" "sna" y lo cambie por uxa tal y como lo recomiendan y listo!!!!

incluso ya puedo correr el glxgear de open gl

Finalmente una imagen de mi lap viejita

jueves, 20 de marzo de 2014

Reactivando el backlight en Manjaro Linux

Esto solo es un repost de
http://wiki.manjaro.org/index.php/Reactivating_the_Backlight

De acuerdo a la liga, no es posible ajustar el brillo de la pantalla, debido a que los fabricantes han deshabilitado mediante BIOS, el dimmer de las lamparas si no es detectado windows, de acuerdo al mismo texto, es posible recuperar el ajuste de brillo cuando entramos en una consola el siguiente comando

sudo sed "s/\(GRUB_CMDLINE_LINUX=\)\"\"/\1\"acpi_osi=Linux acpi_backlight=vendor\"/" /etc/default/grub -i
 
El cual permite reajustar el brillo en linux, esto pide ingresar nuestro passwd y ahora 
solo queda por teclear en consola de nuevo, el siguiente comando
 
sudo update-grub
 
Al terminar se cierra la terminal, se reinicia el sistema y listo!!! 
 
 
 

martes, 21 de enero de 2014

Led Blink ATmega32U4 a 16 MHz

La tarjeta de Teensyduinno V2.0 la cual contiene un ATmega32U4 puede ser programada por medio de un bootloader el cual está residente en la memoria FLASH del microcontrolador.

Una gran ventaja de esta tarjeta ademas de que puede ser programada como un arduino, tambien puede ser programada como un AVR normal, por medio de avr-Gcc

En el siguiente programa se muestra un ejemplo de como hacer que encienda y apague un LED e intervalos de un segundo,

fuente:
http://forum.pjrc.com/threads/21825-Fuses-Teensyduino-sets-for-Teensy-2-0
#define F_CPU 16000000L

#if F_CPU == 16000000L
#define ADC_PRESCALER 0x07
#define CPU_PRESCALER 0x00
#elif F_CPU == 8000000L
#define ADC_PRESCALER 0x06
#define CPU_PRESCALER 0x01
#elif F_CPU == 4000000L
#define ADC_PRESCALER 0x05
#define CPU_PRESCALER 0x02
#elif F_CPU == 2000000L
#define ADC_PRESCALER 0x04
#define CPU_PRESCALER 0x03
#elif F_CPU == 1000000L
#define ADC_PRESCALER 0x03
#define CPU_PRESCALER 0x04
#else
#error "Teensyduino only supports 16, 8, 4, 2, 1 MHz.  Please edit boards.txt"
#endif
//#include 
//#include 
//#include 

void _init_Teensyduino_internal_(void);

int main(void)
{
 _init_Teensyduino_internal_();

    DDRB |= (1 << DDB0); 


    while(1){
            PORTB |= (1 << PB0);
            _delay_ms(1000);

           PORTB &= ~ (1 << PB0);
           _delay_ms(1000);


    }

    return 0;
   
}

void _init_Teensyduino_internal_(void)
{
        cli();
        CLKPR = 0x80;
        CLKPR = CPU_PRESCALER;
}


jueves, 2 de enero de 2014

MyOpenLab contadores en Manjaro Linux

En este video se muestra el funcionamiento de los contadores programados en MyOpenLab sobre una caja Manjaro Linux.

Xfuzzy en Manjaro un ejemplo

En el video se muestra como se puede implementar un ejemplo muy simple de un sistema difuso de una entrada, una salida y dos reglas mediante la herramienta XFuzzy

martes, 17 de diciembre de 2013

Disparo de TRIAC por deteccion de cruce por cero y PWM con QUCS en Manjaro

En esta ocasión presento un circuito simulado que aprendí en la facultad, ya hace algunos ayeres para el disparo de un triac, usando la detección de cruce por cero para el disparo de un TRIAC, empleando un circuito para modular en PWM un voltaje ajustable (Vcomp en el circuito), este voltaje puede provenir de un simple pot, hasta de la salida de una DAC de un microcontrolador, debemos tomar en cuenta que hace falta un optoacoplador, pero no lo encontre en QUCS. a continuación presento el circuito:
En la gráfica se puede apreciar las partes que componen al circuito general; se coloca el diodo ya que el opamp de QUCS no permite poner fuentes, razon por la cual se tiene saturaciones en +Vcc y -Vcc lo cual es correcto si alimentamos con fuente bipolar, pero para este caso no es necesaria una señal en -Vcc, es por ello la razon del diodo

Aqui se muestran las imagenes de las gráficas resultantes de la simulación con QUCS, como verán son muy buenas estas imágenes.


domingo, 15 de diciembre de 2013

Comunicacion HID ATmega32U4 en Manjaro


En la siguiente captura de pantalla se muestra como se establece la comunicacion entre un Atmega32U4 y la caja Manjaro que tengo a 64bits.
Se usa un script de Teensy denominado HID Listen, el cual según dice en la página de Teensy, solo corre en máquinas de 32 bits, pero en la máquina que tengo que es a 64 bits corre sin ningun problema.

Los fuentes de ejemplo los he descargado de este Link, donde se pone el ejemplo que se muestra en la pantalla y se siguen las recomendaciones de esta otra página para corregir los errores LINK

En la siguiente se muestra como se compila el programa, solo con un simple comando $make

Configurar Codeblocks en Manjaro para programar AVR


Code Blocks es un IDE multiplataforma para lenguaje C, en esta entrada describiré brevemente como configurar el Code Blocks para que en Manajro se pueda programar un AVR, en este caso tenemos el ATmega32U4

La primera parte es muy sencilla ya que solo hay que seguir un asistente, el problema es que cuando se pretende compilar el nuevo codigo, envia un error


/usr/lib/libm.so: file not recognized: File format not recognized
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings

Esto es a causa de que el IDE no está correctamente configurado para funcionar con el AVR GCC, por lo tanto solo hay que redireccionarlo, tal y como se indica en esta entrada de AVR Freaks

 http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=99954&view=next

De acuerdo a lo que ahi se indica debemos ir al menu settings, luego al menu Compiler..

Seleccionar el compilador "GNU AVR GCC Compiler"

Ir a la pestaña "Search directories" y en la sub-pestaña "Linker"
cambia la ruta por
/usr/lib/avr/lib/
 que actualmente dice /usr/lib

ahora ir a la sub-pestaña "Compiler" y editar la entrada para que diga lo siguiente:

/usr/lib/avr/include/avr
Entonces, ahora si al compilar tendremos el siguiente resultado :)


jueves, 12 de diciembre de 2013

Tableta con juice ssh y scilab en server SSH Manjaro

Estoy haciendo pruebas de conexion entre un server remoto ssh que tiene scilab instalado y una tableta android con la app juice ssh

pues les comento que siguiendo las instrucciones en este blog

http://jax-metalmax.blogspot.mx/2012/11/instalacion-y-configuracion-de-ssh.html

se instalo y configuro el server ssh en Manjaro Linux y pues accedidendo desde la tableta, se logra ejecutar scilab, aun no pruebo los comandos de ejecucion pero les puedo mencionar que el scilab instalado en el server ssh tiene los siguientes modulos cargados

  • COSELICA
  • Fuzzy Logic Tool Box
  • CPGE
  • SIMM
  • Serial toolbox
  • usb toolbox
  • ANN toolbox
El detalle que tengo para ejecutar scilab desde la conexion de ssh en la tableta,  es que el comando debe ser

$./scilab-adv-cli

ya que

$./scilab-cli

da un error de violacion de segmento.

No pongo foto o imagen por que no se como se envia la captura de pantalla en Android. :p

Saludos

Prueba programando PICs en Manjaro Linux

Estaba con la curiosidad de como funcionaria pk2cmd instalado desde las fuente en Manjaro, y he visto con agrado que si funciona muy bien, los pasos de instalación son de lo mas sencillos

  1. Bajar el archivo .tgz del sitio de microchip
  2. Descomprimir el archivo en una carpeta especial (en mi caso he creado dentro de mi home una carpeta llamda opt para instalar aquellas programas que no vienen por defecto en Manjaro)
  3. entrar en la carpeta descomprimida
  4. teclar la instrucción siguiente:   $make linux para compilar las fuentes para GNU/Linux
  5. ahora como super usuarios teclear (en este ejemplo hago referencia a sudo) $sudo make install
  6. Debido a problema con PK2Device.dat se va a copiar este archivo junto al ejecutable en /usr/local/bin, de la siguiente manera 
$sudo cp  PK2DeviceFile.dat /usr/local/bin

Esto es para que no ocasione problemas en caso de crear un lanzador para el escritorio. 

En el siguiente link se encuentra un script para que se ejecute el pk2cmd en modo grafico

http://pastebin.com/2rKyjbkr

Bien espero que este link sirva para que les de la curiosidad de programar microcontroladores PIC usando un sistema Linux y muy amigable como Manjaro.

Caracteristicas de mi box Linux
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 15
model name      : Intel(R) Core(TM)2 CPU         T5300  @ 1.73GHz
stepping        : 2
microcode       : 0x5c
cpu MHz         : 1733.000
cache size      : 2048 KB


SMBIOS 2.4 present.
25 structures occupying 1385 bytes.
Table at 0x000DF010.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
    Vendor: Phoenix Technologies LTD
    Version: 77.11  
    Release Date: 03/19/2007
    Address: 0xE5A60
    Runtime Size: 107936 bytes
    ROM Size: 1024 kB
    Characteristics:
        ISA is supported
        PCI is supported
        PC Card (PCMCIA) is supported
        PNP is supported
        BIOS is upgradeable
        BIOS shadowing is allowed
        ESCD support is available
        Boot from CD is supported
        Selectable boot is supported
        Print screen service is supported (int 5h)
        8042 keyboard services are supported (int 9h)
        Serial services are supported (int 14h)
        Printer services are supported (int 17h)
        ACPI is supported
        USB legacy is supported
        Smart battery is supported
        BIOS boot specification is supported
        Function key-initiated network boot is supported
        Targeted content distribution is supported

Handle 0x0001, DMI type 1, 27 bytes
System Information
    Manufacturer: Gateway                        
    Product Name: MX6947M                        
    Version: 3408141R               
    Serial Number: T3C74B1001377                  
    UUID: E068DDB3-DB1D-B211-8000-FE779A898FC6
    Wake-up Type: Power Switch
    SKU Number: Not Specified
    Family: Not Specified