Older blog entries for marcioandreyoliveira (starting at number 82)

The order of the include files make a difference.


Yesterday I was facing some problems to use Google C++ Testing Framework (version 1.4.0).

I got a bunch of error messages from Visual Studio 2005 that you can see below.

Error    1    error C2766: explicit specialization; 'std::numeric_limits<:_bool>' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\limits    482    
Error    2    error C2766: explicit specialization; 'std::iterator_traits<:_bool>' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    678    
Error    3    error C2766: explicit specialization; 'std::_Ptr_cat_helper<:_bool>' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1143    
Error    4    error C2766: explicit specialization; 'std::_Ptr_cat_helper' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1149    
*,std::_bool*>

To make a long story short: the order of the include files made a difference. I put line
#include <gtest/gtest.h>
before all other include files and my problems vanished!

Syndicated 2010-01-06 23:40:00 from Marcio Andrey Oliveira

A ordem dos tratores altera o viaduto


Ontem eu tive alguns problemas ao tentar utilizar o framework de testes do Google (versão 1.4.0).

Eu recebia várias mensagens de erro do Visual Studio 2005 (que tu podes ver abaixo:

Error    1    error C2766: explicit specialization; 'std::numeric_limits<:_bool>' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\limits    482    
Error    2    error C2766: explicit specialization; 'std::iterator_traits<:_bool>' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    678    
Error    3    error C2766: explicit specialization; 'std::_Ptr_cat_helper<:_bool>' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1143    
Error    4    error C2766: explicit specialization; 'std::_Ptr_cat_helper' has already been defined    c:\arquivos de programas\microsoft visual studio 8\vc\include\xutility    1149    
*,std::_bool*>

Para encurtar a história, a ordem dos includes fez toda a diferença. Eu coloquei a linha
#include <gtest/gtest.h>

antes de todos os outros includes e os meus problemas desapareceram.

Syndicated 2010-01-06 23:39:00 from Marcio Andrey Oliveira

Free real-time logic simulator


Today I received an e-mail from a list that I'm signed talking about a real-time logic simulator.

Its' named Atanua (according to documentation I read, the name comes from Polynesian mythology, where Atanua is the goddess of dawn.)

In the following link you can see a demo.

http://sol.gfxile.net/atanua/wink.html

There is a free version for personal, noncommercial use that you can get here:

http://sol.gfxile.net/atanua/downloads.html

The coolest thing is that there is a Linux version (compiled on Ubuntu 8.04), for Mac and Windows.

I already downloaded my version (for Linux, of course) and I'm going to play with it to see if it is as good as it seems on demo.

Do not waste time. Download and install the simulator and start playing / learning.

Syndicated 2009-12-28 17:27:00 from Marcio Andrey Oliveira

Simulador de circuitos eletrônicos


Hoje recebi um e-mal da lista de discussões que assino falando sobre um simulador de circuitos lógicos em tempo real. Chama-se Atanua (segundo a documentação que eu li, é o nome de uma deusa da mitologia polinésia: a Deusa do Amanhecer)

No link abaixo há um demo do produto.

http://sol.gfxile.net/atanua/wink.html

Há uma versão gratuita para uso pessoal e não comercial, que pode ser obtida aqui:

http://sol.gfxile.net/atanua/downloads.html

O mais legal de tudo: Há uma versão para Linux (compilada para Ubuntu 8.04), para Mac e Windows.

Eu baixei a minha versão (para Linux, lógico) e vou começar a brincar com esse programa para ver se ele é bom quanto parece no demo.

Não perca tempo. Baixe e instale o simnulador e comece a brincar / aprender.

Syndicated 2009-12-28 17:13:00 from Marcio Andrey Oliveira

Gravador de PICs


Bom, estou de férias até o dia 04 de janeiro e resolvi me presentear com um circuito eletrônico.

Eu gosto muito de montagens de circuitos analógicos, com amplificadores operacionais, muitos transistores, capacitores, indutores, LEDs e outros componentes discretos.

Geralmente tudo que monto é em proto-board. Assim, após o circuito estar funcionando eu o desmonto para reutilizar as peças em outras montagens.

Mas dessa vez resolvi montar algo definitivo... uma ferramenta: um gravador de PICs.

Como a maioria dos projetos que estou planejando são com os microcontroladores PIC12F675-I/P  e o 16F628A, a primeira versão do programador consegue programar os PICs de 8 e 18 pinos.

A foto abaixo ilustra o resultado final.





Há um espaço na placa para que eu habilite a gravação dos PICs de 28 e 40 pinos. Ela já está preparada para isso. Só não fiz isso na primeira versão porque faltaram componentes e eu estava sem disposição para enfrentar o comércio nesta época de compras natalinas.

Após o aparelho pronto, precisava ter certeza que ele estava funcionando. Daí, eu bolei um circuito bem simples, com 1 LED e utilizei fios no lugar chaves (que estão em falta no meu estoque).

A partir de uma combinação de sinais em nível alto e baixo em determinados pinos, o LED acenderia, apagaria ou ficaria piscando.

Utilizei o Piklab versão 0.15.2 no Ubuntu 8.04 para escrever alguns programas de teste bem simples (em assembly).

Após cada programação do PIC, eu o inseria no proto-board e usava o próprio gravador como fonte de alimentação.

Uma coisa que deve ser observada: no Ubuntu que utilizei não havia o dispositivo para a porta paralela.

Assim tive que criá-lo com o comando

sudo mknod /dev/parport c 99 0

Depois me adicionei ao grupo que tinha direito de leitura e escrita a este dispositivo (no meu caso, o grupo scanner).


A foto abaixo dá a ideia da simplicidade do circuito de teste.





Tudo funcionou muito bem. Agora preciso comprar alguns componentes para começar a brincar com meu gravador.

Bom Natal a todos.

Syndicated 2009-12-25 19:12:00 from Marcio Andrey Oliveira

A nail for a fuse


Some time ago I wrote about the analogy between Electronics and Software Development. Today I came across another interesting analogy: A nail for a fuse - an analogy between fuses and assertions.

This nice reading was written by Miro Samek and can be read here: http://www.embeddedgurus.net/state-space/2009/11/nail-for-fuse.html

Syndicated 2009-11-30 16:32:00 from Marcio Andrey Oliveira

how to enable the touch screen in the simulator sun?


Emulators of WTK from Sun, by default, does not come with the touch screen enabled. But what if we need to develop something for this type of phone?

All we need do is change the configuration of the equipment for which we want to enable the touch screen.

Equipment available for the simulator are in sub-directories within

wtklib\devices\

which is under the root folder of the WTK. The name of the sub-directory is the same as the device available for the simulator.

The configuration file ends with the extension. Properties. Open the configuration file and change the line

touch_screen = false
to
touch_screen = true

For example, suppose that the WTK is used WTK2.5.2_01 and we want to enable the touch screen to the device DefaultColorPhone.

Go to folder

C:\WTK2.5.2_01\wtklib\devices\DefaultColorPhone
then open the
DefaultColorPhone.properties

file and change the line

touch_screen = false
to
touch_screen = true

Syndicated 2009-11-27 19:01:00 from Marcio Andrey Oliveira

Como habilitar touch screen no simulador da Sun


Os emuladores do WTK da Sun, por padrão, não vem com o touch screen habilitado. Mas e se precisarmos desenvolver algo para esse tipo de celular ?

Tudo o que precisamos fazer é alterar a configuração do aparelho para o qual desejamos habilitar o touch screen.

Os aparelhos disponíveis para o simulador encontram-se em subdiretórios dentro de
wtklib\devices\
que fica sob a pasta raiz do WTK. O nome dos subdiretórios é o mesmo do aparelho disponível para o simulador.

O arquivo de configuração termina com a extensão .properties. Abra o arquivo de configuração e altere a linha
touch_screen=false
para
touch_screen=true

Por exemplo, vamos supor que o WTK utilizado é o WTK2.5.2_01 e que desejamos habilitar o touch screen para o aparelho DefaultColorPhone.

Vá em
C:\WTK2.5.2_01\wtklib\devices\DefaultColorPhone

abra o arquivo

DefaultColorPhone.properties

e altere a linha
touch_screen=false
para
touch_screen=true

Syndicated 2009-11-27 18:59:00 from Marcio Andrey Oliveira

uControl número 7


Já está disponível o número 7 da revista uControl, editado pelo pessoal do site MicroPIC. Ela está disponível gratuitamente sob o formato pdf. A qualidade do material publicado é excelente. Recomendo a todos.

Ah, vale lembrar que a revista está em espanhol.

Tu podes obtê-la aqui: http://www.micropic.es/index.php?option=com_content&task=view&id=90&Itemid=1

Syndicated 2009-11-25 17:08:00 from Marcio Andrey Oliveira

73 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!