I’ve been doing some experiments with Quartz Composer and got a mockup of the Data Acquisition Overlay. I will explain how to do a similar thing soon. Now enjoy a test-video!

MazHUD Overlay Test from Jesús F. Trujillo on Vimeo.

In the ToDo list remains the development of a Quartz Composer plugin capable of reading the telemetry.

Compiling Android kernel modules: Part II

1. Do a local copy of the Asure’s kernel sources

$ git clone git://

2. Copy kernel config for Dropad A8

$ cp arch/arm/configs/dropad_defconfig .config

3. Select config parameters

ARCH=arm make menuconfig

4. Build process

ARCH=arm CROSS_COMPILE=arm-linux- make prepare
ARCH=arm CROSS_COMPILE=arm-linux- make modules_prepare
ARCH=arm CROSS_COMPILE=arm-linux- make M=net/can
ARCH=arm CROSS_COMPILE=arm-linux- make M=drivers/net/can

Doing this we get a the compiled module binaries of the SocketCAN subsystem for the Dropad A8 :D

Compiling Android kernel modules: Part I

0. Retrieve tablet kernel information

Dropad A8 with Evolution 2.0 R4 (998Mhz) thanks to prox32, the ROM comes rooted so we only need to install Terminal Emulator

$ uname -ar
Linux localhost #363 PREEMPT Sat Aug 6 14:29:51 CST 2011 armv7l GNU/Linux
$ dmesg

<6>[ 0.000000] Initializing cgroup subsys cpu
<5>[ 0.000000] Linux version (raymanfeng@urbetter-linux01) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #363 PREEMPT Sat Aug 6 14:29:51 CST 2011
<4>[ 0.000000] CPU: ARMv7 Processor [412fc082] revision 2 (ARMv7), cr=10c53c7f
<4>[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
<4>[ 0.000000] Machine: SMDKV210
<4>[ 0.000000] Ignoring unrecognised tag 0×00000000
<4>[ 0.000000] Ignoring unrecognised tag 0×00000000
<4>[ 0.000000] Ignoring unrecognised tag 0×41001099
<4>[ 0.000000] Memory policy: ECC disabled, Data cache writeback

Two interesting things on the listings, first the kernel version stated as and second compiler version gcc 4.4.1 and Sourcery G++ Lite 2009q3-67. Now we can setup out compiling environment!.

More >

Summer work!

Hey!. I don’t forget about my 4-5 loyal readers!, this summer in a word has been intense, shortly after returning from Campus Party in Valencia, put my hands on the Land-tiger board and developed a beta firmware, the goal is to make a full compatible CAN sniffer which presents to linux as a network interface.

I think I accomplished my task with good results, now Mazcan can sniff any traffic from the vehicle network’s and do a passthrough to the USB controller and then all the way to linux kernel. I think the firmware task is almost done in the absence of a few new features including a SD module logger, a GPS and an IMU. I will post all the details in the next months about implementation and other thoughts!.

Now, at the end of the Summer, a new course is going to start and i hope this will be my last year in my ¿MSc? (5year full-time degree) in Computer Science. I have some doubts about the latter because in Spain there were two Computer Science degrees, a full-time 3 year (Ingeniería Técnica) and a full-time 5 year degree (Ingeniería Superior) and conversion is not very clear on the pre-2010 courses, this have changed since 2010 and now there’s only a 4year Degree (Grado) and an optional 1year MSc (Master) which engages the European Higher Education Area (Bologna process).

Anyway, last year students must elaborate a dissertation to obtain the degree, usually dissertation is chosen from a catalog of projects offered by the departments but students can propose their own dissertation topic which must be accepted by a department lecturer. I’ve presented Mazcan as a dissertation topic for my Computer Science degree obtaining a very good feedback.


Development template for LPC17xx

I have set up my own project template to start developing ARM software for the LPC17xx platform, it’s based upon the CMSIS libraries (download link) offered by NXP which contains all basic routines to operate the Cortex M3 core and the LPC17xx peripherals using C language.

It also contains a port of the lpcusb stack for the LPC17xx so we can develop USB Device applications, configured retargeting of the printf function to the UART ports instead of semihosting output in retarget.c, a template.c file with main function and basic debug initialization, 2 target configurations (flash and ram execution profile).

The template project is managed through Keil uVision 4 software but source files can be imported into other IDE and compilers.

LandTiger LPC1768

Moving to ARM

It’s been a lot of time since last posted on MazCAN Project blog, since September 15th lots of things had happened.
I think the most important is that we’re moving from Arduino(atmega) to ARM Cortex-M3, a platform plenty of features and power, that will be a leap in terms of transfer rate. As we recognized that the arduino platform in his vanilla form will not give us enough power to communicate all the messages from the ArCan Shield to the PC.

LandTiger Dev Board

This is the new development platform I chose, it’s a LandTiger from PowerAVR chinese seller with a 3,2″ 320x240TFT, it sports a NXP LPC1768

LandTiger LPC1768

So no more FTDI RS232-USB conversors and almost no hardware limits (on its class) but a new challenges approach as I need to learn everything on USB device-to-host communications to develop the firmware, find new base code for the development board and a comfortable IDE.

We have joined CUSL!

We are very pleased to announce that we have joined the Concurso Universitario de Software Libre (CUSL), a inter-university champion on free software, MazcanProject will participate in this edition. The CUSL aims to improve the spread of Free Software development across all students in all educational levels, and to encourage developers to move to Free Software.

The main idea is to continue publishing this entries in English, to improve my language expression and to reach the biggest target developers and interested people as possible.

Concurso Universitario de Software Libre

The project now is stalled until I find some time to spend with it!, but i hope to return to the “good” way and make some revisions to code soon :P

Hello world!

Hello World!, it’s time to open MazCan Project to the open source community, MazCan is a hardware/software implementation on CAN, it aims to create a unix-compatible service layer over the vehicle data.

At its start MazCan started as a sniffing tool over the Mazda 3 network mainly developed over OS X frameworks, like the started by Madox, then I wanted to abstract all code so everyone can develop services (known as clients) and extract all the important data required for other projects.

All the code is developed under Open Source licenses using unix standard frameworks (Standard C Libraries). At the moment of this post, revision 15, interprocess can message transport, message queue operations and a beta implementation of the canserver are implemented. When canserver and communication protocol become more stable client implementation guide will be released.

Hardware implementation relies on Arduino and ArCan Shield, firmware will be published as soon as posible. There are problems with the data throughput Arduino is capable of transport through its usb-rs232 (ftdi chip) interface. The interface is capable of a maximum baudrate of 115,2Kbits while the vehicle low speed interface is 125Kbits, and 500Kbits on the high speed network.