Archive for February, 2006

Como Sincronizar una Palm TX por bluetooth usando un “serial port” desde Debian Linux

Sunday, February 5th, 2006

Epa,

Cuantos articulos seguidos, como se nota que estamos en examenes. jejejejej.

Pues llevaba un millon de años, milenio arriba milenio abajo, mirando como sincronizar esta belleza sin usar un cable, he de decir que con el cable tampoco es que fuera facil.

Pues lo unico que habia visto era que todo el mundo se hace una red por bluetooth y sobre la red hace hotsync, pero yo sabia que habia una opcion(de hecho esta por defecto) para usar bluetooth directamente. Asi pues me he puesto a mirar cosas y a hablar de ello con Pablo y al final es la ostia de facil, y eso que habia visto pro ahi comentarios de que por serial port no se podia o noseque.

El tema es el siguiente. Yo solo he probado “pilot-xfer -b”, que es para hacer backups de todo. Lo primero que hay que hacer es registrar en el ordenador un puerto de bluetooth como servicio de Serial Port(SP). Para esto necesitaras tener aparte de el soporte bluetooth en el kernel las bluez-utils(apt powah!)
1: #sdptool add –channel=3(o el que quieras) SP

Despues hay que poner a alguien a escuchar en ese puerto

2: #rfcomm listen /dev/rfcomm0(o el que quieras, no existe ahora mismo) 3

Ojo!! Esta esperando pero nadie ha creado todavia ese /dev/rfcomm0.

Ahora es cuando pulsas el boton de hotsync despues de elegir conexion por bluetooth, si no tienes la conexion creada creala, es muy facil, eliges a PC y despues bluetooth y le pones el nombre que quieras.

3: Pulsamos el boton de hotsync

Y ahora ejecutamos el pilot-xfer, un problema con esto que me pasa a mi es que tengo que arrancar el pilot-xfer casi a la vez que aprieto el boton de hotsync, pero creo que es por algun cambio y solo afecta a la palm tx, si espero un poco mas a mi me peta.

4: pilot-xfer -p /dev/rfcomm0 -b backup

Y ya esta!

Como una rosa, mucho mas facil que hacer una red y la de cristo.

Cosas que no se deben hacer programando para Palm OS

Thursday, February 2nd, 2006

Pues nada, hay una cosa que me jodia mogollon de la palm, cada vez que mandabas via bluetooth algun fichero con extension desconocida por el SO te lo rechazaba, no habia manera de almacenarlo.

Asi que estuve mirando por ahi y vi una app que pillaba de todo, pero era de pago y solo te dejaba 15 dias de prueba y encima no era software libre (despues he visto otras app que lo hacian gratis pero no SL). Y entonces dije que coño! lo voy a hacer yo. Y me puse manos a la obra.

Vale, una vez que tengo cierto control ya sobre mi aplicacion empiezo a ver como decirle al sistema que me pase las llamadas cuando llegue un fichero. Me entero que eso se hace con el exchange manager y que tengo que registrar extension o mime de fichero y registrar si soy yo el default app para ese fichero en caso de que haya mas de una aplicacion registradas para ese tipo de ficheros.

Hago unas pruebas y fona, pero claro no voy a registrar una por una todas extensiones o mimetypes del mundo, podria llevarme eones. Asi que tonto de mi pruebo con *.

Ya esta digo. ya funcionara. le paso por bluetooth ficheros .sala y funciona, .ark y funciona. Excelente digo yo. Y un webo. Digo “voy a meter otra version de la app a ver si funciona lo que acabo de implementar”. La envio por bluetooth y va el OS y en vez de instalarla se la pasa a mi app!!! Claro *.

Total, que te quedas sin poder instalar nada ni modificar nada ni recibir nada ni ostias.

Asi que solucion: Hago un backup en windows, Hard-reseteo la palm y restauro el backup.

Y ya esta. Ahora funciona bien.

PD: Si alguien sabe como cojoños se arregla lo que le hace el cabrón del wordpress a mi post anterior que me comente que yo de gestores de contenido nooool

Programando para Palm OS sobre Debian

Wednesday, February 1st, 2006

Pues ya tenia yo ganas de empezar a meterle mano a la Palm TX que pille. Nada mejor que una epoca de examenes para estas cosas. Ya sabeis…
Vale, empezamos.
Hay que instalarse algunas cosillas para poder compilar c para PalmOS.
Las Palm llevan un procesador m68k(Motorola?) asi que no vale como si fuera para nuestro ordenador.
Hay que instalarse estas cosillas:

saladino@Zack:~/palm/dos$ dpkg -l |grep prc
ii  prc-tools                      2.3-1                         GCC, GDB, binutils, etc. for PDAs using the
ii  prc-tools-arm                  2.3-1                         Development toolchain for PalmOS (armlets)
ii  prc-tools-m68k                 2.3-1                         Development Toolchain for PDAs using the Pal
ii  prc-tools-utils                2.3-1                         Development toolchain for PDAs using the Pal

Luego hay que bajarse la SDK de PalmOS, tienes que meter un email y registrarte como “PalmOS Developer”(blablabla). Una vez has hecho esto ya te puedes bajar la SDK.
La pones en /usr/local/share/palmdev/ y ejecutas el comando palmdev-prep, este comando busca las SDKs que tengas instaladas y te las pone bien para que puedas incluir los .h que necesitas.
Vale, con esto ya casi esta, solo falta hacer tu programa.
Haces un MakeFile como este:

CC=m68k-palmos-gcc
SRCDIR=src/
SalaPalm.prc: src/main.c  src/Resources.rcp MainForm.o
$(CC) src/main.c -o SalaPalm MainForm.o         m68k-palmos-obj-res SalaPalm         pilrc -I src/ src/Resources.rcp         build-prc  SalaPalm.prc “SalaPalm” XXXX *.grc *.bin$(OUTPUTDIR)%.o: $(SRCDIR)%.c
$(CC) $(CFLAGS) -c $< -o $@clean:
rm -f *.bin         rm -f *.grc         rm -f *.prc         rm -f *.o         rm -f *.stamp

Una vez ya con esto solo tienes que hacer tu src/main.c que tiene que ser parecido a este:

#include

#include “ResourceDefines.h”

#include “MainForm.h”

//Le llamamos despues desde el bucle principal par