Projects
Probably the most often asked questions are: "Do you support..?" or "Anybody working on...?". This page will provide some up-to-date status information about projects under work, future plans or just interesting ideas. Please keep in mind, that most of the code presented here is in a preview stage and may not work for you.
If you are interested in any of these topics, you can get in
touch with other developers through the
Ethernut discussion mailing list.
SPI Flash File System
df-SPIFlashFileSystemWeb_ver111.zip
Dusan Ferbas from
DF Soft
contributed this sample Webserver application, which uses
a SPI data flash for storing web pages. He tested AT45DB161B and AT45DB041B
chips.
A second implementation done by Michael Fischer is available at www.usbdip.de
AVR Internet Radio
This tutorial presents a step by step guide on how to build an Internet Radio.
CAN Interface
Visit Michael Fischer's www.usbdip.de. to check the latest status.
MMC Interface
Michael Fischer has started this project at www.usbdip.de
Ethernut Discoverer
Scan the local network for Ethernuts by using UDP broadcasts. NUTSetup is a tool written by Michael Fischer. It's presented at www.usbdip.de.
The Nut/OS TecNote 3 describes a similar tool.
Programming On-Board CPLDs and FPGAs
XSVF Executor 1.0
is the name of a tool for programming on-board programable logic devices.
Main purpose is to load an XSVF file into the XC9536XL CPLD of the
Ethernut 2 board. Nevertheless, the code is highly portable and can
be easily used on other platforms. Complete code is included in
xsvfexec101.zip
USB Host Interface
Just a photo for now. Hardware (SL811HS) seems to be the easy part. Anyone with experience in writing USB host drivers?
Wireless LAN
Michael Fischer succeeded in implementing Wifi on an Ethernut Board by adding a PCMCIA WLAN card. Take a look at his Wireless Internet Radio.
1-Wire Interface
os-1wire-100.zip
Oliver Schulz contributed this 1-wire interface to Nut/OS. You can directly
connect a data pin of the slave devices to a port pin.
Another implementation has been done by Pavel Celeda for the Charon II and is available at www.hwgroup.cz/products/charon2/ch2dk_demo_en.html
Implementing Bluetooth
Matthias Ringwald from ETH Zürich is working on BTnode, an autonomous wireless communication and computing platform based on a Bluetooth radio and an ATmega128 microcontroller. There are plans to port this software to Nut/OS. More about BTnode is available at btnode.ethz.ch
Extending the Serial Driver
uart_tl16c554.zip
Gediminas Simanskis contributed an UART driver for the TL16C554.
A new USART driver is currently under development. It will support
Hardware (RTS/CTS) and software (XON/XOFF) handshake
Half duplex mode (used by RS485)
9-bit communication
Synchronous communication
More complete implementation of ioctls
Several optimizations
Configurable buffer sizes
Interface de-initialization
Porting Nut/OS to the H8 CPU
There are two ports available, which are not yet part of the official distribution.
Porting Nut/OS to the ARM CPU
Setting up Nut/OS for an ARM CPU had been often discussed. However, almost nothing had been done so far, except this project page.
STK500 Compatible ISP Adapter
SISP Version 1.1.1 uses an AT90S2313 to upload software to your Ethernut board via the PC COM port. This is the same ISP adapter, which is sold by egnite and included in the Ethernut Starter Kit.
Timers and Real Time Clock
microdelay.zip - link fixed
Pavel Chromy provided this modified timer.c containing the function
NutMicroDelay()
for precise timing (microsecond). It does not take calling overhead into
account,
but this is less that a microsecond. It is clock speed dependant, since it is a
hard task to do it otherwise. This tiny function is pretty usefull when
controlling
attached devices.
timerres.zip
Ralph Mason has modified the Timer so you can set-up the resolution of
the system clock. (eg number if jiffies per second)
Ralph uses 40 in his apps giving a 25ms timer resolution, you can increase or decrease as necessary. For 30 ms you could use a value of 100, remembering of course that you are going to get quite pronounced jitter using the system timer.
If you need reasonably precise timers you should use one of the remaining hardware timers. To use the source in the archive, you need to define NUT_CPU_FREQ to whatever your xtal is and change time_base to be whatever you need (number of interrupts per second)
ICMP API
icmphdr.zip
rm-icmp.zip
There's currently no official Nut/Net API for using the ICMP protocol.
Mike Cornelius and Ralph Mason had been working on a solution. Unfortunately
these archives seem to be incomplete.
IDE And Compact Flash Interface
This interface by Michael Fischer is under development, but you can check the running prototypes.