Archive for: ‘septembre 2012’

MP3 Audio Decoder on STM32F4 Discovery (updated 30/10/2012) – ChibiOS 2.4.2

09/23/2012 Posted by admin

I like the work that was done by Marco W. (watz) on that forum.

Using the same hardware (SD Card connected to PA5/6/7 and PC4), ChibiOS 2.4.x and LibMAD (instead of Helix),
I finally have managed to get some output…

Most of the code comes from Marco W. ‘s work, I only tried to replace the stm32 audio discovery code by
functions provided by chibiOS (for I2C / I2S via SPI code and DMA).

Here is the code (you need to have ChibiOS sources too).

Update 23/09/2012 : Thanks to a comment by Deanrock, I have repackaged the source code with the I2C
modification & I have tested recompilation using a current Sourcery Code Bench (gcc version 4.6.3 – Sourcery CodeBench Lite 2012.03-56) and Chibios 2.4.2 (this version does not require any patching, just deflate fatfs from the ‘ext’ folder).

Here is the New code

Update 30/10/2012 : with my first tests, I had to enable the chibiOS debugs to get a stable behaviour. It looks like it is running just fine without, provided that -O2 is used (instead of -Os) and that CORTEX_USE_FPU is set to FALSE.

User button is used to skip to the next file.
This one was only tested with Chibios 2.4.2.

Here is the New code

DS18B20 / 1-wire via Little Wire (USB) / OpenWrt on TL-WR841ND

09/15/2012 Posted by admin

I wanted to interface something to my WR841, without too much hassle.
But also some cheap way to do so, to keep advantages of the WR841 price…

Luckly, I already had an AVR-USB based platform, based on ‘Little Wire’ : http://littlewire.cc/

With its latest v1.1 firmware, 1-Wire is available via the Little Wire : that’s my perfect candidate to
add a DS18B20 and to make some temperature measures.

I have quickly cross-compiled the onewire.c example given in the C computer interfacing sources
(Openwrt buildroot, linking the source with libusb-0.1.12) and here is the result :


root@OpenWrt:~# cat /etc/openwrt_release
DISTRIB_ID="OpenWrt"
DISTRIB_RELEASE="Bleeding Edge"
DISTRIB_REVISION="r33276"
DISTRIB_CODENAME="attitude_adjustment"
DISTRIB_TARGET="ar71xx/generic"
DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment r33276"
root@OpenWrt:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 003: ID 1781:0c9f Multiple Vendors USBtiny
Bus 001 Device 004: ID 1e3d:8246
root@OpenWrt:~# /root/onewire
> Little Wire firmware version: 1.1
> Address search ...
> Addr#0: 28 4F 4F 7E 2 0 0 3B
> End of search with 1 device(s) found
> Start the talking with the last device found
> 64 1 4B 46 7F FF C 10 1
> 63 1 4B 46 7F FF D 10 15
> 63 1 4B 46 7F FF D 10 15
> 64 1 4B 46 7F FF C 10 1

 

Update 20/03/2013 :

Created an OpenWrt source package and an ipkg (not tested)