Tuesday, 5 January 2016

Teensy 3.1 with working flexCAN interrupts and BUSMASTER compatibility

The Teensy 3.1 flexCAN library doesn't have the facility for setting up interrupts for incoming messages. So I set out to fix the problem, and after a lot of forum research and a few tweaks I've been able to get interrupts working.

I've ported my mcp2515 based Arduino CAN to USB logger to the Teensy, this firmware implements the Lawicel protocol (badly haha) to be compatible with canhacker software.

While doing a bit of research I discovered that VScom's ser-com tool also uses the Lawicel protocol and they have drivers built into Bosch's BUSMASTER software, WINNER!! so I've now got access to what looks like a pretty sweet bit of canbus logging software.

To test I programmed one of my STM32 boards to spam the bus continuously and it seems that BUSMASTER and the teensy were able to keep up, and the network stats showed 99.9% bus load! horray.

I still have the transmit side of the Lawicel protocol to implement and maybe tidy up and complete my changes (add loopback and listen only mode and some error detection) made to the flexCAN library.









Tuesday, 29 December 2015

STM32F103xC + ILI9341 LCD + FSMC + CHIBiOS + UGFX = Success! - CC9060 hacking Part 2

After re writing the ugfx board config from scratch and going through the code with a fine tooth comb I finally got the LCD to work!

The included drivers for the ILI9341 are only written for 8bit wiring configs, so I got an Image of sorts, but just in blue.

After reading every thread on the ugfx forum relating to the ILI9341 I found this one which explained what I need to do to get the other 8 bits back.

Tiny tweak of the code and hey presto!


Now that I have working LCD drivers I can push on with canbus and gauges!

I'll be uploading a complete ChibiStudio project for this board once I have all the kinks worked out.

Saturday, 26 December 2015

Resurrecting the Sony Ericsson Live View MN800

Another STM32 I've had for years is the Liveview.

A few clever people on the XDA developers forum have reverse engineered the device and made drivers for chibios.

The code is on github here ----> https://github.com/GottZ/olvfw  FYI this is not my code!!

It's old code but I've compiled it my self and flashed it and it works!

And yes I'll be getting canbus working via the micro usb port at some point  :)



Hacking the Bury CC9060 / VW Touch Phone Kit - Part 1

Whilst looking for an LCD to use as a display for Megasquirt

I found a display from a Volkswagen Touch Phone kit, these are a VW themed and branded version of the Bury CC9060. 

The 708 version of this hardware has an STM32F103 with some nice little goodies left on the board from when it was being developed.

I've sacrificed one to work out the JTAG/SWD pinouts and to establish how the LCD is connected to the board.



Yes that is an unpopulated mini usb connector and that vertical row of pads is the JTAG/SWD interface.

Which works out as the following

TOP TO BOTTOM 
pin 1 - voltage, (haven't checked what voltage, suspect 3v) 
pin 2 - PA14 - JTCK - SWCLK
pin 3 - PB3 - JTDO - SWO
pin 4 - PA13 - JTMS - SWDIO
pin 5 - PA15 - JTDI 
pin 6 - PB4 - NJTRST
pin 7 - ground 

The LCD seems to be an ILI9341 made by Top Foison the data sheet can be found here.
http://www.topfoison.com/product/2.8inch-TFT-LCD-module.html

Its connected to the STM32 on the fsmc pins, I've been trying to get Chibios and ugfx to work with it but example code is a bit scarce for this controller in 16bit.

I'm going to keep poking as its a nice device and once I've go the LCD going, CANbus etc shouldn't be far behind.

Innovate MTS to Megasquirt CAN Bus converter part 1



After quiting my job last month I've finally had some time to put my collection of STM32 boards to work.

With the addition of the STM32 cpus to the MBED platform its made it super simple to write code for them.

The first thing that I've decided to develop is an Innovate MTS to Megasquirt CANBUS converter.

You can see the MBED project here

https://developer.mbed.org/users/sordfish/code/MTS_TO_MSCAN/wiki/Homepage


Its still alpha code but I've had it connected to a Microsquirt and it was doing something!

I've added CAN filtering since I last tested so it may or may not work at this moment in time but I'll be adding a part 2 with the actual hardware in the next few days.

Friday, 25 December 2015

Burg on Linux Mint 17.3

Santa dropped off an SSD for my dev laptop which duel boots windows xp and Linux mint.

I've always wanted something a bit more polished for a boot manager and found Burg (Brand-new Universal loadeR from GRUB)

Here's how I installed it.

sudo add-apt-repository ppa:n-muench/burg
sudo apt-get update
sudo apt-get install burg burg-themes
sudo burg-install /dev/sda (please check the name of your drive)
sudo update-burg

Then to test

sudo burg-emu



ta da! 
F2 allows you to choose what theme and F3 will change the resolution.



please bear in mind adding a repo can be a security risk, I don't own that repo nor have the ability to check how genuine it is, us at your own risk.

Using sudo with boot managers can brick your machine, have a live distro handy in case you make a mistake!



Friday, 23 October 2015

Open source TI Hercules LAUNCHXL2-TMS57012 based ECU

Well I've finally found some free time to open my LauchXL2 - TMS570 dev kit from TI.

Its always been a dream to have made my own ECU from scratch and after having my ear to the ground on what's hot and what's not hardware wise I've opted to go for a TI TMS570 cpu.

There are plenty of "open" ECUs at the moment but none have really excited me as their hardware isn't really automotive grade or the dev kit is a high price tag or they are just buried in conflicting hardware designs.

anyway I'm miles away from starting a jimstim let alone an engine so on with the basics.




There it is, very pretty and I love that every pin is broken out on the edges, in a single row which should make breadboarding simple.

After following the online guides for setting up I've managed to play with the pre programmed firmware and get a blinky project to work.

There doesn't seem to be many online examples and its far more complex than the Arduino ide but I love how the debugging works, gone of the days of adding serial messages or leds for debugging!

More reading and playing around is needed I think, I may even look at RTOS options as its the same direction as OEM ECUs.