This project aims to help anybody to create an OpenSource environment to develop or port applications on TomTom(tm) devices.
Features
- A customised linux for your TomTom
Categories
SystemLicense
GNU General Public License version 3.0 (GPLv3)Follow OpenTom
Other Useful Business Software
Earn up to 16% annual interest with Nexo.
Generate interest, access liquidity without selling, and execute trades seamlessly. All in one platform.
Geographic restrictions, eligibility, and terms apply.
Rate This Project
Login To Rate This Project
User Reviews
-
Nice project. Some patches dont match. Some games dont compile glib need manual modification and a local libtool. Navit work, but need modifications on 32Mbyte devices like tt one XL I activated swap in Kernel, Busybox and on sdcard. Also i use verry "small" settings: cache_size="6000000" route_depth="4:15%,6:1%,8:10000,18:4000" To enable navit ti speak this simple espeak wrapper help: ----espeakdsp.c------ #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/soundcard.h> #include <sys/wait.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #define IBUFFERLEN 1024 #define MAXARGC 30 int main(int argc, char *argv[],char *envp[]) { int pipefd[2]; pid_t cpid; char buf; int co,wp,l,fh; short bufi[IBUFFERLEN],bufo[IBUFFERLEN*2]; int rate=22050; char *newargv[MAXARGC+2]; for(co=0;co<argc;co++) { if(co>=MAXARGC)break; newargv[co]=argv[co]; } newargv[co++]="--stdout"; newargv[co++]=NULL; if (pipe(pipefd) == -1) { perror("pipe"); exit(EXIT_FAILURE); } if(setpriority(PRIO_PROCESS,0,-10)) perror ("setpriority"); cpid = fork(); if (cpid == -1) { perror("fork"); exit(EXIT_FAILURE); } if (cpid == 0) { /* Child writes to pipe */ close(pipefd[0]); /* Close unused read end */ dup2(pipefd[1],1); execve("/mnt/sdcard/opentom/bin/espeak",newargv,envp); perror("exec /mnt/sdcard/opentom/bin/espeak"); close(pipefd[1]); /* Reader will see EOF */ wait(NULL); /* Wait for child */ exit(EXIT_SUCCESS); } else { /* Parent read from pipe */ close(pipefd[1]); /* Close unused write end */ l=read(pipefd[0],bufi,64); if(memcmp(bufi,"RIFF",4)) { while(l>0) { write(1,bufi,l); l=read(pipefd[0],bufi,IBUFFERLEN); } exit(EXIT_SUCCESS); } l=read(pipefd[0],bufi,IBUFFERLEN); if(l<500) { printf("espeakdsp: avoid noise speaking a empty string\n"); exit(EXIT_SUCCESS); } usleep (50000); fh=open("/dev/dsp",O_WRONLY); if(fh<0) { perror("open /dev/dsp"); exit(EXIT_FAILURE); } ioctl(fh, SNDCTL_DSP_SPEED , &rate); ioctl(fh, SNDCTL_DSP_SYNC, 0); while(l) { for(co=0,wp=0;co<IBUFFERLEN;co++) { bufo[wp++]=bufi[co]; /* mono->stereo */ bufo[wp++]=bufi[co]; } write (fh,bufo,wp); l=read(pipefd[0],bufi,IBUFFERLEN); } ioctl(fh, SNDCTL_DSP_SYNC, 0); close(pipefd[0]); exit(EXIT_SUCCESS); } }