Trocando o NetworkManager pelo WICD no Kubuntu 9.04 com KDE4

Inteligente gerenciador de rede WICD pode ser um otimo substituto para o o gerenciador padrão das distros baseadas no ubuntu, o NetworkManager, que já me deixou algumas vezes na mão.
Vamos a instalação.
1 - Como o wicd conflita com o network-manager, é necessário remover o mesmo.


$ sudo dpkg -r plasma-widget-network-manager (Caso esteja utilizando o KDE4)
$ sudo dpkg -P network-manager


2 - Adicionando o repositório do WICD para obter-mos a ultima versão.


# echo deb http://apt.wicd.net jaunty extras >> /etc/apt/sources.list


3 - Adicionando a chave GPG


$ wget -q http://apt.wicd.net/wicd.gpg -O- | sudo apt-key add -


4 - Atualizando o repositório e instalando o WICD.


$ sudo apt-get update && sudo apt-get install wicd


Abaixo a tela principal do WICD

[caption id="" align="alignnone" width="563" caption="http://wicd.sourceforge.net/screenshot.php"]http://wicd.sourceforge.net/screenshot.php[/caption]

Configurando microfone ATI Technologies Inc RS780 Azalia controller no [K]ubuntu

Acrescente as linhas abaixo no arquivo /etc/modprobe.d/alsa-base.conf


# Keep snd-pcsp from beeing loaded as first soundcard
options snd-pcsp index=-2
alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-hda-intel
options snd-hda-intel model=dell-m4-1
options snd-hda-intel enable_msi=1

Instalando o VirtualBox 3 no [K]ubuntu Jaunty 9.04

1 - Adicionar mirror do VirtualBox no sources.list


# echo deb http://download.virtualbox.org/virtualbox/debian jaunty non-free >> /etc/apt/sources.list


2 - Adicionar a chave pública

$ wget -c deb http://download.virtualbox.org/virtualbox/debian jaunty non-free | sudo apt-key add sun_vbox.asc


3 - Atualizar a lista de pacotes

$ sudo apt-get update


4 - Instalando o VirtualBox

$ sudo apt-get install virtualbox-3.0

Tema do Firefox KDE 4 Oxygen

Com esse tema o firefox fica com o mesmo tema do KD4 o chamado Oxygen, [ baixar aqui ]

Definindo codificação default do KATE

Abra o arquivo:



$HOME/.kde/share/config/katerc



na seção [Kate Document Defaults] edite a opção Encoding.



Caso quera usar o ISO 8859-1, a configuração ficará assim:



Encoding=ISO 8859-1

Funk da Engenharia

Segue abaixo o funk da engenharia, não é da Engenharia de Controle e Automação mas a idéia é a mesma.
Vamo que vamo lá curso de doidão.

Tabela em Assembly para escrever em um display de LCD com PIC

Após ter apanhado um monte com assembly e perturbado bastante o professor da cadeira de projetos com microcontroladores aprendi a trabalhar com tabelas em assembly, mesmo sabendo que percorrer uma tabela em assembly no microcontrolador PIC é um sacrifício (que no final recompensa o trabalho). Mas vamos deixa de conversa e ir direto aos trabalhos...


Primeiro devemos conhecer uma das diretivas de dados do assembly, a responsável de gerar series de instruções RETLW (Instrução que retorna de uma chamada CALL com o resultado de W ), uma instrução para cada termo.


DT: Definindo uma tabela de dados


Sintaxe:     dt [termo]


Descrição:  Esta diretiva vai gerar uma série de instruções RETLW, uma instrução para cada termo.


dt "Mensagem" , 0
dt primeiro, segundo, terceiro


Após saber como funciona o DT vamos escrever em um LCD com essa instrução (em um outro post irei informar como inicializar e configurar um Display LCD 16x2).


A rotina abaixo é parte de um projeto que desenvolvi, que tem a função de escrever em um LCD de 16x2 que pula para próxima linha do LCD automaticamente após o termino da escrita na primeira linha.




;*********************************************************
;* MSG *
;*********************************************************
LCD_PRINCIPAL ;DEFINIÇÃO DE FUNÇÃO
BANK0
CLRF CONT_MENS ;LIMPA VARIÁVEL
CALL ESCREVE_LINHA1 ;INFORMA A LINHA EM QUE VAI ESCREVER
MOVLW .16 ;DEFINE A QUANTIDADE DE COLUNAS
MOVWF LINHA ;JOGA DENTRO DE LINHA
BCF POSICAO ;INFORMA A POSIÇÃO DE ESCRITA 0 = PRIMEIRA LINHA MSG_PRINCIPAL
BANK0
MOVF CONT_MENS,W ;JOGA O VALOR DE CONT_MENS PARA W
CALL STRING_LCD ;VAI PARA ESCRITA DA MENSAGEM
MOVWF CARACTER ;COLOCA O RETORNO DA FUNÇÃO STRING EM CARACTER
SUBLW .0 ;SUBTRAI W DE ZERO
BANK0
BTFSC STATUS,Z ;O RESULTADO DEU ZERO?
GOTO VARRE ;SE == 0, JÁ LEU TODA STRING E VAI PARA A ROTINA PRINCIPAL
INCF CONT_MENS,1 ;SE =! 0, INCREMENTE 1 NA VARIÁVEL CONT_MENS
MOVF CARACTER,W ;JOGA A LETRA QUE ESTA EM CARACTER E JOGA PRA W
MOVWF DADOS_LCD ;JOGA CARACTER PARA O LCD
CALL PULSO ;ROTINA DO LCD
DECFSZ LINHA,1 ;DECREMENTA OS 16. QUE E A QUANTIDADE MÁXIMA DE ESCRITA EM UMA LINHA
GOTO RECOMECA ;RECOMEÇA O ENVIO DE UMA PRÓXIMA LETRA NA LINHA 1
GOTO RECOMESA_POS2 ;RECOMEÇA O ENVIO DE UMA PRÓXIMA LETRA NA LINHA 2 STRING_LCD
BANK0
ADDWF PCL,1 ;SOMA W AO DESLOCAMENTO AO PC (PROGRAM COUNT) - W + PC
MSG_LCD DT "MENSAGEM A SER ENVIADA PRO LCD",0 ;CADA LETRA LIDA PELA POSIÇÃO DO PC E ADICIONADA EM W E RETORNA PELO COMANDO RETLW RECOMECA
GOTO MSG_PRINCIPAL ;RECOMEÇA O ENVIO DE UMA PRÓXIMA LETRA RECOMESA_POS2
BANK0
BTFSS POSICAO ;A ESCRITA ESTA EM QUE POSIÇÃO? SE "0" VAI PRA FUNÇÃO ESCREVE_LINHA2 E
CALL ESCREVE_LINHA2 ;DEFINE ESCRITA NA LINHA 2 E MUDA VALOR DA VARIÁVEL POSIÇÃO PARA 1, SENÃO CONTINUA ESCREVENDO NA LINHA 1
GOTO MSG_PRINCIPAL



Abaixo segue a logica do código:
lcd_principal


Aguarde os próximos capítulos, pois estarei disponibilizando mais algumas técnicas que aprendi com essa cadeira.