Now i can run python on my WRT54GL.
First, install an SD CARD on the router:
Then install Python packages on the SD CARD and run Python:
Everything is ready to drive Pinguino with Python serial and OpenWRT !!
Tuesday, December 29, 2009
Pinguino with WRT54GL
This new tutorial is dedicated to the linksys router WRT54GL. We connected it to Pinguino via is internal serial port.
A complete tutorial is on the tutorial website.
A complete tutorial is on the tutorial website.
Libellés :
Hack
Friday, December 25, 2009
Sunday, November 29, 2009
Pinguino in India
Libellés :
pinguino general
Sunday, November 22, 2009
Pinguino Eagle
Benoit Espinola designed an eagle version of the simplified 2550.
It will be available soon for download.
It will be available soon for download.
Libellés :
pinguino general
JAL with Pinguino
I discovered JAL and tried to make it usable with Pinguino bootloader. It's done !!
How to do this ?
Upgrade your pinguino with bootloader 2.12
Create your program and compile it with JAL ( i use piklab to do this ),
Convert your program with our jal2pinguino converter: ./jal2pinguino.py jalprog.hex pingprog.hex
Upload your program with VascoBoot.py
Add the option -loader18 8224 -no-fuse to the JAL command line.
links:
pinguino bootloader 2.12
JAL
JALLIB and JALLIB group
jal2pinguino converter written with python
vascoboot uploader written with python
The next Pinguino version will both support Arduino langage and JAL.
Thanks to Vasile, Sébastien Lelong and Albert Faber from the jallib group.
How to do this ?
Upgrade your pinguino with bootloader 2.12
Create your program and compile it with JAL ( i use piklab to do this ),
Convert your program with our jal2pinguino converter: ./jal2pinguino.py jalprog.hex pingprog.hex
Upload your program with VascoBoot.py
Add the option -loader18 8224 -no-fuse to the JAL command line.
links:
pinguino bootloader 2.12
JAL
JALLIB and JALLIB group
jal2pinguino converter written with python
vascoboot uploader written with python
The next Pinguino version will both support Arduino langage and JAL.
Thanks to Vasile, Sébastien Lelong and Albert Faber from the jallib group.
Libellés :
Hack
Pinguino bootloader version 2.12
A new version of the bootloader is available. Some bugs were removed ( particulary the start delay wich was a little short for windows computer ) and the bootloader is now compatible with JAL with our hex file converter ( see the next post ).
download it here
download it here
Libellés :
Last release
Monday, September 28, 2009
FONERA, PINGUINO and IPHONE
Yet another walter application. Pinguino is connected to the fonera with the serial port. The Fonera run Lighttpd web server with LUA CGI-BIN. The Iphone is connected to the Fonera web server and drive Fonera GPIO and Pinguino.
Thanks for the video Walter, you did a great job.......
Thanks for the video Walter, you did a great job.......
Libellés :
Hack
Monday, September 14, 2009
Virtual Pinguino
Walter from madrid works on a virtual pinguino model with ISIS on windows.
The bootloader works and Pinguino IDE can recognize the module as a real board. There is only a problem of speed when trying to download the code.
We will try to fix this.
Good idea and good job.......
Tuesday, September 8, 2009
Pinguino on 18F2455/18F4455
Finally, i tested Pinguino on 18F2455 and 4455. These chips offer the same functions but less memory capacity.
Everything is OK with bootloader V2, but i programmed the chips with 18F4550 checked. If i check 18F4455 on my programer software, nothing works !!
I use a home made JDM programer and IC-PROG with wine.
Maybe it will be useful for other users.........
Everything is OK with bootloader V2, but i programmed the chips with 18F4550 checked. If i check 18F4455 on my programer software, nothing works !!
I use a home made JDM programer and IC-PROG with wine.
Maybe it will be useful for other users.........
Libellés :
build Pinguino
Sunday, September 6, 2009
Pinguino beta 7
Pinguino beta 7 is now available for Linux, Windows and MAC OSX.
You can download it here.
You can download it here.
Libellés :
pinguino software
Saturday, September 5, 2009
Bootloader V2 upgraded
Vasile ( FreeJALduino project ) sent me an email to report a problem. With bootloader alpha V2, when Pinguino is external powered, the program didn't start.
This bug is corrected in bootloader4550V2.hex
Thanks for submitting this bug.
This bug is corrected in bootloader4550V2.hex
Thanks for submitting this bug.
Libellés :
pinguino software
Thursday, September 3, 2009
FreeJALduino works !!
Vasi made FreeJALduino, a 18F2550 board exactly like an arduino ( see this post ).
I am happy to know that the first test works with a modified version of Pinguino.
I plan to integrate a FreeJALduino directive in the next version of pinguino.
Congratulations for this nice job Vasi.
Vasi website
I am happy to know that the first test works with a modified version of Pinguino.
I plan to integrate a FreeJALduino directive in the next version of pinguino.
Congratulations for this nice job Vasi.
Vasi website
Libellés :
On the web
Tiny 4550 on a proto-board
This is the last design of tiny pinguino 4550 on a proto-board.
It was drawn with Inkscape:
You must cut the tracks marked with a red point.
I used this home made tool to do this:
Now you can sold components and wires. The 18F4550 must be mounted on a suport.
This version offers the same functionalities as the PCB version.
The booloader V2 must be used with this design.
Last upgrade 29/09/2009: Cutting points were modified, thanks to André.
It was drawn with Inkscape:
You must cut the tracks marked with a red point.
I used this home made tool to do this:
Now you can sold components and wires. The 18F4550 must be mounted on a suport.
This version offers the same functionalities as the PCB version.
The booloader V2 must be used with this design.
Last upgrade 29/09/2009: Cutting points were modified, thanks to André.
Libellés :
build Pinguino
Sunday, August 30, 2009
Pinguino on a proto-board
Libellés :
pinguino general
Thursday, August 27, 2009
Pinguino tutorial started
I started a Pinguino tutorial.
If somebody want to contribute, original drawings are made with inkscape ( bread board and Pinguino board ).
I will put some other examples soon.
Pinguino tutorial
If somebody want to contribute, original drawings are made with inkscape ( bread board and Pinguino board ).
I will put some other examples soon.
Pinguino tutorial
Libellés :
On the web
Tuesday, August 25, 2009
Alpha beta 7 upgraded
It seems that there was an error in the tar.gz file of beta 7.
This file was upgraded now.
This file was upgraded now.
Libellés :
pinguino general
Saturday, August 22, 2009
alpha beta 7 for Linux available
This version offer full support of 18F4550.
I work on packaging for windows and MAC OSX.
download alpha beta 7 for linux, see examples folder to see how to use 18F4550.
Reports are welcome.
I work on packaging for windows and MAC OSX.
download alpha beta 7 for linux, see examples folder to see how to use 18F4550.
Reports are welcome.
Libellés :
pinguino general
Tuesday, August 18, 2009
Bootloader version 2
Alpha version of bootloader version 2 is available !!
This booloader is compatible with our 18F4550 design but can be used with the old 18F2550 pinguino design.
It doesn't need a run button. Run is automatic after 5 seconds.
All functionalities are currently under testing.
Download alpha version.
09/05/2009: Alpha version is out of date.
see this post.
This booloader is compatible with our 18F4550 design but can be used with the old 18F2550 pinguino design.
It doesn't need a run button. Run is automatic after 5 seconds.
All functionalities are currently under testing.
Download alpha version.
09/05/2009: Alpha version is out of date.
see this post.
Libellés :
pinguino general
Monday, August 17, 2009
Tiny 4550 is ready for test !!
The kicad file to build the board can be downloaded here.
An implant png file and a ps file of the PCB were added to the compressed file.
An implant png file and a ps file of the PCB were added to the compressed file.
Libellés :
build Pinguino
Saturday, August 15, 2009
18F4550 tiny board
A tiny board was designed for 18F4550. This board, without external power supply will be used to test beta 7. It was designed with Kicad.
TOP VIEW
Libellés :
build Pinguino
Wednesday, August 12, 2009
Pinguino beta 6
Pinguino beta 6 is available for download.
Thanks to Ulises for MAC OSX test.
Changelog:
- corrected bug on comment in source (UTF8)
- added function CTRL-ESC to see special functions in editor
- implementation of I2C function ( see examples )
- implementation of eeprom PIC memory function ( see examples )
- Support of 4800 bauds for Serial
Thanks to Ulises for MAC OSX test.
Changelog:
- corrected bug on comment in source (UTF8)
- added function CTRL-ESC to see special functions in editor
- implementation of I2C function ( see examples )
- implementation of eeprom PIC memory function ( see examples )
- Support of 4800 bauds for Serial
Libellés :
pinguino software
Monday, August 10, 2009
Pinguino extended board
Libellés :
build Pinguino
FreeJALduino/Pinguino
FreeJALduino is another PIC based Arduino. Initiated by Funlw65 ( vasi ), the goal is to build a PIC based board compatible with Arduino shields.
Originally made to work with JAL ( just another langage ), it would be used with Pinguino.
I work on Pinguino and FreeJALduino compatibility.
Nice project Vasi and good idea, congratulations.
Vasi website
Originally made to work with JAL ( just another langage ), it would be used with Pinguino.
I work on Pinguino and FreeJALduino compatibility.
Nice project Vasi and good idea, congratulations.
Vasi website
Libellés :
On the web
18F4550 schematic
Pinguino 18F4550 is now defined. This is a tiny version USB powered. The run switch disappeared and 29 I/O are available. 8 analogic inputs.
Linux and windows version will be soon available and the KICAD PCB is in test.
23/08/2009:
Schematic upgraded. The last was buggy, led on pin 6 must be connected to Vcc because RA4 is an open collector output. Kicad board is OK. Thanks to walter for info.
Libellés :
build Pinguino
Monday, August 3, 2009
HELP on MAC OSX
Beta 6 of pinguino is available for Linux and Windows. Because i can't have access to a MAC, i'm trying to find somebody to test it on MAC OSX.
Who can help me ?
Who can help me ?
Libellés :
pinguino general
Wednesday, April 22, 2009
Pinguino IRC channel
Pinguino has its own IRC channel on Freenode. Channel is Pinguino.
Thanks to Alejo from Locus Sonus lab.
Thanks to Alejo from Locus Sonus lab.
Libellés :
On the web
Saturday, April 4, 2009
Pinguino with 18F4550
This is my first test of Pinguino with a 18F4550.
What are the differences with the 18F2550 version:
- 30 digital input/output, 13 input can be used as analogic input
- 470 resistors suppressed on the outputs,
- Run switch was suppressed, run is automatic after 5 seconds,
- Run can be manually controlled with a switch,
Processor will be defined in the IDE by a radio button or #define directive in the code.
The new bootloader will be compatible with the 18F2550 board version 1.
The development environment will be compatible with all software already written.
This modifications will be integrated in the beta 6 version. This version should be available april 30th. Other improvements in this version are:
- full support of UTF8 in the source, comments can be redacted in many langage.
- corrected some bugs in comments ( keywords are not accepted in comments for beta 5 ).
- case sensitive help in the editor.
What are the differences with the 18F2550 version:
- 30 digital input/output, 13 input can be used as analogic input
- 470 resistors suppressed on the outputs,
- Run switch was suppressed, run is automatic after 5 seconds,
- Run can be manually controlled with a switch,
Processor will be defined in the IDE by a radio button or #define directive in the code.
The new bootloader will be compatible with the 18F2550 board version 1.
The development environment will be compatible with all software already written.
This modifications will be integrated in the beta 6 version. This version should be available april 30th. Other improvements in this version are:
- full support of UTF8 in the source, comments can be redacted in many langage.
- corrected some bugs in comments ( keywords are not accepted in comments for beta 5 ).
- case sensitive help in the editor.
Libellés :
pinguino general
Monday, March 16, 2009
Processing library for Pinguino
Last week, Stéphane Cousot wrote a basic library for communicating between Processing and Pinguino. This the first release but it was tested and is fully functional. Stéphane made a package with a processing sketch and the Pinguino program associated. You can download this package on Stéphane website.
This library is the result of our work with Douglas Edric Stanley. The goal is to build a USB interface wich can be driven by many different software ( Processing, Python, Pure data, java ... ).
Pinguino is the hardware part of this project.
Douglas Edric Stanley Blog.
This library is the result of our work with Douglas Edric Stanley. The goal is to build a USB interface wich can be driven by many different software ( Processing, Python, Pure data, java ... ).
Pinguino is the hardware part of this project.
Douglas Edric Stanley Blog.
Libellés :
Pinguino Processing
Sunday, March 15, 2009
8 PWM output on Pinguino !!
This is an interrupt code example. It show how to build 8 PWM output on pin 0 to 7 with the timer 1. The PWM frequency is about 400 Hz. With the 2 analogWrite output, you can now drive 10 PWM outputs and this code can be adapted to drive 16 PWM outputs.
Applications are motors, lights and others analogic outputs.
// How to use interrupt on Pinguino
// add 8 analog outputs ( PWM ) to your Pinguino
// can be extended to 16
// Jean-Pierre MANDON 2009
08/04/2009
When copied to the blog, this file is corrupted.
You can download the source here.
Applications are motors, lights and others analogic outputs.
// How to use interrupt on Pinguino
// add 8 analog outputs ( PWM ) to your Pinguino
// can be extended to 16
// Jean-Pierre MANDON 2009
When copied to the blog, this file is corrupted.
You can download the source here.
Libellés :
tutorial (expert)
CodeBlocks model Released !!
CodeBlocks model for Pinguino released to be conform to beta 5 of the IDE.
The new file can be downloaded here..........
The new file can be downloaded here..........
Libellés :
tutorial (expert)
How to use Interrupt with Pinguino......
With beta 5 you can use interrupt in a Pinguino program. This is a simple example to blink a led with timer 1. Nothing to do in the main loop because level of the led is changed by the interrupt routine.
// How to use interrupt on Pinguino
// simple example blink a led with timer 1
// led is connected on output 0
// Jean-Pierre Mandon 2009
void UserInterrupt()
{
// timer 1 interrupt flag in register PIR1
if (PIR1bits.TMR1IF)
{
// reset interrupt flag
PIR1bits.TMR1IF=0;
// reverse state of pin 0 ( blink )
digitalWrite(0,digitalRead(0)^1);
}
}
void setup()
{
// led is connected on output 0
pinMode(0,OUTPUT);
// timer 1 configuration
// you can write T1CON=0xB1; or
// timer1 register is 16 bits
T1CONbits.RD16=1;
// clock source for timer 1 is derived from clock
T1CONbits.T1RUN=0;
// prescale value 1/8
T1CONbits.T1CKPS1=1;
T1CONbits.T1CKPS0=1;
// timer 1 oscillator is shut off ( internal clock )
T1CONbits.T1OSCEN=0;
// T1SYNC is not used ( internal clock )
// timer clock is internal clock ( Fosc/4 )
T1CONbits.TMR1CS=0;
// timer 1 is On
T1CONbits.TMR1ON=1;
// FOSC is 48 Mhz => Internal clock = 48 Mhz / 4 = 12 Mhz
// clock period is 83 nS
// prescale for timer 1 is 8 => clock period for timer 1 is 667 nS
// timer 1 is incremented every 667 nS
// timer 1 is a 16 bits register, it will overflow every 667nS*65536 = 43.6 mS
// when timer 1 overflow it generate an interrupt
// Interrupt configuration
// enable interrupt for timer1 in register PIE1
PIE1bits.TMR1IE=1;
// Here you can write INTCON|=0xC0; or
// enable peripheral interrupt
INTCONbits.PEIE=1;
// global enable interrupt
INTCONbits.GIE=1;
// now an interrupt will be generated by timer1 every 43,6 mS
}
void loop()
{
// nothing to do in the main loop :-)
}
// How to use interrupt on Pinguino
// simple example blink a led with timer 1
// led is connected on output 0
// Jean-Pierre Mandon 2009
void UserInterrupt()
{
// timer 1 interrupt flag in register PIR1
if (PIR1bits.TMR1IF)
{
// reset interrupt flag
PIR1bits.TMR1IF=0;
// reverse state of pin 0 ( blink )
digitalWrite(0,digitalRead(0)^1);
}
}
void setup()
{
// led is connected on output 0
pinMode(0,OUTPUT);
// timer 1 configuration
// you can write T1CON=0xB1; or
// timer1 register is 16 bits
T1CONbits.RD16=1;
// clock source for timer 1 is derived from clock
T1CONbits.T1RUN=0;
// prescale value 1/8
T1CONbits.T1CKPS1=1;
T1CONbits.T1CKPS0=1;
// timer 1 oscillator is shut off ( internal clock )
T1CONbits.T1OSCEN=0;
// T1SYNC is not used ( internal clock )
// timer clock is internal clock ( Fosc/4 )
T1CONbits.TMR1CS=0;
// timer 1 is On
T1CONbits.TMR1ON=1;
// FOSC is 48 Mhz => Internal clock = 48 Mhz / 4 = 12 Mhz
// clock period is 83 nS
// prescale for timer 1 is 8 => clock period for timer 1 is 667 nS
// timer 1 is incremented every 667 nS
// timer 1 is a 16 bits register, it will overflow every 667nS*65536 = 43.6 mS
// when timer 1 overflow it generate an interrupt
// Interrupt configuration
// enable interrupt for timer1 in register PIE1
PIE1bits.TMR1IE=1;
// Here you can write INTCON|=0xC0; or
// enable peripheral interrupt
INTCONbits.PEIE=1;
// global enable interrupt
INTCONbits.GIE=1;
// now an interrupt will be generated by timer1 every 43,6 mS
}
void loop()
{
// nothing to do in the main loop :-)
}
Libellés :
tutorial (expert)
Sunday, March 8, 2009
beta 5 for MAC OSX......
Libellés :
pinguino software
Pinguino beta 5 Windows....
The windows packaging of beta 5 is Here........
Libellés :
pinguino software
Pinguino beta 5 Linux is available......
The beta 5 release is online with many new improvements.
- Full support of UserInterrupt
- millis() instruction
- fast analogWrite on output 11 and 12 without affect on the process speed
- standart c variable initialisation
- possible use of user libraries.
You can download this version for Linux here.......
Windows and MAC OS version will be soon available.
- Full support of UserInterrupt
- millis() instruction
- fast analogWrite on output 11 and 12 without affect on the process speed
- standart c variable initialisation
- possible use of user libraries.
You can download this version for Linux here.......
Windows and MAC OS version will be soon available.
Libellés :
pinguino software
Friday, March 6, 2009
Pinguino on a proto-board....
Fabi from Madrid built his Pinguino on a proto-board. Very good idea !!
Maybe we can build a tiny Pinguino on a breadboard :-)
I will try..............
Libellés :
build Pinguino
Thursday, March 5, 2009
Pinguino with Processing
I tried to connect Pinguino with Processing with the LibUSB java wrapper. It works without problem. This is the Processing test sketch:
// This is a simple example to communicate with Pinguino
// based on the LibusbJava wrapper http://libusbjava.sourceforge.net/wp/
// Jean-Pierre MANDON 05/03/2009
import ch.ntb.usb.Device;
import ch.ntb.usb.USB;
import ch.ntb.usb.USBException;
import ch.ntb.usb.logger.LogUtil;
// define Pinguino Product ID and Vendor ID
int VID = 0x04D8;
int PID = 0xFEAA;
// declare public USB device
Device Pinguino;
// declare output buffer
byte[] data = new byte[] { 'W', -1 };
void setup()
{
size(400,100);
frameRate(20);
LibusbJava.usb_init(); // init libusbjava
LibusbJava.usb_find_busses(); // find all usb busses
LibusbJava.usb_find_devices(); // find all devices
try {
Pinguino=USB.getDevice( (short) VID , (short) PID ); // create a new device
Pinguino.open(3,0,-1); // try to open it ( configuration 3, interface 0 )
println("Pinguino found"); // it's OK
}
catch (USBException e) // error
{
println("Pinguino not found"); // Pinguino is not connected !!
}
}
byte lastposition=-1;
byte position;
void draw()
{
background(204);
rect(mouseX,40,20,20); // draw a rectangle
position=byte(mouseX/50); // position modulo 8
if (position!=lastposition)
{
try {
if (lastposition!=-1) data[1]=lastposition;
else data[1]='C'; // WC clear all leds
Pinguino.writeBulk(0x01,data,2,200,false); // send command to Pinguino
data[1]=position; // led to be lighted
Pinguino.writeBulk(0x01,data,2,200,false); // send command
lastposition=position;
}
catch (USBException e) {}
}
}
void stop()
{
data[1]='C'; // clear all when stop
try {
Pinguino.writeBulk(0x01,data,2,200,false);
}
catch (USBException e) {}
}
Now this is the Pinguino side:
// test Pinguino with Processing
// Jean-Pierre MANDON 2009
int i;
uchar caractere,caractere1;
void setup()
{
for (i=0;i<8;i++)
{
pinMode(i,OUTPUT);
digitalWrite(i,LOW);
}
}
void loop()
{
if (USB.available())
{
caractere=USB.read();
if (caractere=='W') if (USB.available())
{
caractere1=USB.read();
if (caractere1=='C')
for (i=0;i<8;i++) digitalWrite(i,LOW);
else
digitalWrite(caractere1,digitalRead(caractere1)^1);
}
}
}
And you can see the result here.
// This is a simple example to communicate with Pinguino
// based on the LibusbJava wrapper http://libusbjava.sourceforge.net/wp/
// Jean-Pierre MANDON 05/03/2009
import ch.ntb.usb.Device;
import ch.ntb.usb.USB;
import ch.ntb.usb.USBException;
import ch.ntb.usb.logger.LogUtil;
// define Pinguino Product ID and Vendor ID
int VID = 0x04D8;
int PID = 0xFEAA;
// declare public USB device
Device Pinguino;
// declare output buffer
byte[] data = new byte[] { 'W', -1 };
void setup()
{
size(400,100);
frameRate(20);
LibusbJava.usb_init(); // init libusbjava
LibusbJava.usb_find_busses(); // find all usb busses
LibusbJava.usb_find_devices(); // find all devices
try {
Pinguino=USB.getDevice( (short) VID , (short) PID ); // create a new device
Pinguino.open(3,0,-1); // try to open it ( configuration 3, interface 0 )
println("Pinguino found"); // it's OK
}
catch (USBException e) // error
{
println("Pinguino not found"); // Pinguino is not connected !!
}
}
byte lastposition=-1;
byte position;
void draw()
{
background(204);
rect(mouseX,40,20,20); // draw a rectangle
position=byte(mouseX/50); // position modulo 8
if (position!=lastposition)
{
try {
if (lastposition!=-1) data[1]=lastposition;
else data[1]='C'; // WC clear all leds
Pinguino.writeBulk(0x01,data,2,200,false); // send command to Pinguino
data[1]=position; // led to be lighted
Pinguino.writeBulk(0x01,data,2,200,false); // send command
lastposition=position;
}
catch (USBException e) {}
}
}
void stop()
{
data[1]='C'; // clear all when stop
try {
Pinguino.writeBulk(0x01,data,2,200,false);
}
catch (USBException e) {}
}
Now this is the Pinguino side:
// test Pinguino with Processing
// Jean-Pierre MANDON 2009
int i;
uchar caractere,caractere1;
void setup()
{
for (i=0;i<8;i++)
{
pinMode(i,OUTPUT);
digitalWrite(i,LOW);
}
}
void loop()
{
if (USB.available())
{
caractere=USB.read();
if (caractere=='W') if (USB.available())
{
caractere1=USB.read();
if (caractere1=='C')
for (i=0;i<8;i++) digitalWrite(i,LOW);
else
digitalWrite(caractere1,digitalRead(caractere1)^1);
}
}
}
And you can see the result here.
Libellés :
Pinguino Processing
Friday, February 27, 2009
Pinguino with CodeBlocks............
Pinguino can be used with CodeBlocks. To do this, you need to install SDCC and GPUTILS. CodeBlocks recognize if SDCC is installed.
First you must download the CodeBlocks model for Pinguino.
Then you have to configure CodeBlocks to work with SDCC.
Create a new empty project in the same folder than the CodeBlocks model,
Go to the Settings menu/Compiler and debugger and choose SDCC in the Selected compiler panel,
Click the compiler settings tab and Compiler flags tab and select:
Select the Project/Build Options menu,
Click on the Compiler Settings tab and Other Options tab,
type -p18f2550 in the field.
Click now on the Linker Settings panel.
In the Other Linker Options field, type:
--no-crt -Wl-s18f2550.lkr,-m
In the Link Libraries field, click on add and select this files:
libpuf.lib wich is in the project folder,
libc18f.lib wich is in the /usr/share/sdcc/lib/pic16 folder ( Linux )
libio18f2550.lib wich is in the /usr/share/sdcc/lib/pic16 folder ( Linux )
Now you can click on the Build button and an hex file should be generated.
All the code must be written in the application_main() in main.c
To upload the code to the PIC, you can use the Python downloader wich can be downloaded here.
I hope to propose some models of applications.
First you must download the CodeBlocks model for Pinguino.
Then you have to configure CodeBlocks to work with SDCC.
Create a new empty project in the same folder than the CodeBlocks model,
Go to the Settings menu/Compiler and debugger and choose SDCC in the Selected compiler panel,
Click the compiler settings tab and Compiler flags tab and select:
- Be verbose
- [CPU] PIC 16 bits
- ouput intel hex
- --optimize-goto --denable-peeps --obanksel=9 --opt-code-size --optimize-cmp --optimize-df
Select the Project/Build Options menu,
Click on the Compiler Settings tab and Other Options tab,
type -p18f2550 in the field.
Click now on the Linker Settings panel.
In the Other Linker Options field, type:
--no-crt -Wl-s18f2550.lkr,-m
In the Link Libraries field, click on add and select this files:
libpuf.lib wich is in the project folder,
libc18f.lib wich is in the /usr/share/sdcc/lib/pic16 folder ( Linux )
libio18f2550.lib wich is in the /usr/share/sdcc/lib/pic16 folder ( Linux )
Now you can click on the Build button and an hex file should be generated.
All the code must be written in the application_main() in main.c
To upload the code to the PIC, you can use the Python downloader wich can be downloaded here.
I hope to propose some models of applications.
Libellés :
tutorial (expert)
Monday, February 23, 2009
Pinguino group on Google
This group was created to develop Pinguino and it wil be a space where questions can be posed. Hope it will be useful for you.
Pinguino |
Visit this group |
Libellés :
On the web
Pinguino PCB with Inkscape
It seems that there is some problems to draw the PCB. An inkscape picture can be downloaded on hackinglab website.
This picture is scaled and can be used to build the PCB.
this is the link to the SVG file
Libellés :
build Pinguino
Sunday, February 22, 2009
Pinguino/LA FONERA serial interface
La fonera work with a 3,3V power supply. This assembly converts levels from 3,3V to 5V for Pinguino and from 5V to 3,3V for LA FONERA. The Fonera serial connector is inside the box, on the right side.
Be careful, this Pinout is only for FONERA 2100.
Libellés :
Hack
Saturday, February 21, 2009
Pinguino with LA FONERA
we worked Friday with Benoit espinola on the link beetween LA FONERA and Pinguino. It Works !!
The FONERA was flashed with openwrt 7.09 and the ser2net package was installed. A small interface was build to convert 3,3V signal from the ttyS0 to 5V for the PIC UART.
The last step is to link a FONERA 2 with Pinguino but it seems that i must write a driver for USB.
Benoit Espinola wrote a small processing sketch to test the link:
import processing.net.*;
boolean onoff;
Client c;
String data;
void setup() {
size(200, 200);
background(50);
fill(200);
onoff = true;
c = new Client(this, "192.168.1.1", 2001); // Connect to FONERA on port 2001
c.write("W01"); // write W output (0) state of the output (1)
// this is the protocol we defined in the pinguino program
}
void draw() {
if (c.available() > 0) { // If there's incoming data from the client...
data = c.readString(); // ...then grab it and print it
println(data);
}
}
// press the mouse change the state of the output
void mousePressed(){
onoff = !onoff;
c.write("W0" + int(onoff));
}
// the led is darked when program stop
void stop(){
c.write("W00");
}
Nice job Benoit !!
Libellés :
Hack
Sunday, February 15, 2009
Pinguino at the MediaLab Madrid
The last week end, Pinguino was presented for Interactivos'09 in Madrid.
It was the first public presentation of this project. I make a point of thanking all the staff and participants. There was a lot of interesting project. It was the first time i saw a RepRap in construction.
I hope to return to the medialab soon !!
http://www.flickr.com/photos/medialab-prado/3265956675/
It was the first public presentation of this project. I make a point of thanking all the staff and participants. There was a lot of interesting project. It was the first time i saw a RepRap in construction.
I hope to return to the medialab soon !!
http://www.flickr.com/photos/medialab-prado/3265956675/
Libellés :
pinguino general
Pinguino in Linux Magazine ( France )
Libellés :
pinguino general
Sunday, January 4, 2009
Pinguino in UBUNTU 8.10
Rules for usb device have changed in the latest version of Ubuntu.
For a full access to Pinguino, download this file:
26-microchip.rules
Put this file in /etc/udev/rules.d
You must now go in the administration panel and select 'users and groups'.
Create a new group microchip,
select the microchip group and check your name to be in this group.
For a full access to Pinguino, download this file:
26-microchip.rules
Put this file in /etc/udev/rules.d
You must now go in the administration panel and select 'users and groups'.
Create a new group microchip,
select the microchip group and check your name to be in this group.
Pinguino beta 4 available !!
Pinguino Beta 4 is now online with full support of usb.
Mac OS X package will be available ASAP
Enjoy......
Mac OS X package will be available ASAP
Enjoy......
Subscribe to:
Posts (Atom)