- 1 Projects
- 1.1 SPI Flash File System
- 1.2 AVR Internet Radio
- 1.3 CAN Interface
- 1.4 MMC Interface
- 1.5 Ethernut Discoverer
- 1.6 Programming On-Board CPLDs and FPGAs
- 1.7 USB Host Interface
- 1.8 Wireless LAN
- 1.9 1-Wire Interface
- 1.10 Implementing Bluetooth
- 1.11 Extending the Serial Driver
- 1.12 Porting Nut/OS to the H8 CPU
- 1.13 Porting Nut/OS to the ARM CPU
- 1.14 STK500 Compatible ISP Adapter
- 1.15 Timers and Real Time Clock
- 1.16 ICMP API
- 1.17 IDE And Compact Flash Interface
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
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.
Visit Michael Fischer's www.usbdip.de. to check the latest status.
Michael Fischer has started this project at www.usbdip.de
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 [[../arc/xsvfexec101.zip|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?
Michael Fischer succeeded in implementing Wifi on an Ethernut Board by adding a PCMCIA WLAN card. Take a look at his Wireless Internet Radio.
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
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
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
[[../arc/microdelay.zip|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.
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)
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.