Network and Communication
Itty-Bitty-Internet-Protocol is a tiny IP stack I created to allow communcation with embedded systems too small to have a network capable operating system. It contains minimal implementations of ARP, IP, DHCP, UDP, TCP and ICMP, and has hooks to add additional protocols if needed. All that is required to integrate it are routines to send/receive raw network packets and a system timer capable of seconds resolution. The application interface has been kept very simple to minimize integration effort. Ibip is very useful to provide telnet console and file transfer capability to otherwise non IP aware systems.
This Wind Turbine Controller implements a proprietery internet based management protocol allowing hundreds of 10 & 20kw wind turbines deployed across the country to:
Sniff is an ethernet packet sniffer which can capture and record ethernet traffic on a wire. Its main features are:
I use this regularily to monitor and debug prorietary network protocols I develop for my clients.
Ddlink is a tiny (15k) file transfer program ideal for use on bootable "recovery" disks - No network operating system is required. Ddlink can operate over a Serial, Parallel or Ethernet connection (with packet driver), and provides a traditional split-screen display with the local system on one side, and the remote system on the other. Files and entire directory structures can be easily transferred in either direction, as well as other file management functions (erase, rename, mkdir, rmdir, set attributes etc.). In cases where this is no other means to get Ddlink onto the target system, it can even bootstrap itself to a DOS based recovery session with nothing but a serial port.
I have developed many Tftp implementations, as this is one of the easiest ways to move files around between small systems. Examples are:
Mac Monitor is a tool I created to keep tabs on my childrens PC and internet use. It:
Every parent should have one!
Bridge is a program which bridges a connection between two ethernet interfaces. All packets are passed in either direction, with configurable error injection. This provides an ideal platform for testing network protocol implementations.
Loadgen is an ethernet packet load generator, which is used to place a known load/stress on an ethernet network. Packet type, size, content and generation rate are all configurable.
Data Line Monitor is a PC based asynchronous RS-232 data analyser. It uses a 'Y' cable to monitor both directions of a serial communications channel and provide time relative view and timestamps of the data and control signals occuring on that channel. Events can be captured and reviewed with various (Ascii, Hex, Control, Custom) display options. DLM includes a font editor which allow the creation of custom display characters.
Multochannel Data Line Monitor is a redesign of DLM done at the requests of a client - it adds many features including the ability to monitor up to 24 simultaious channels.
Pc100 is a PC terminal emulator which features:
Serial Monitor is a PC TTY emulator with the ability to monitor and log output from up to four RS-232 sessions sumultaniously. The screen can be "zoomed" between the four channel display and a single session, and the "keyboard" can to switched any session. This is primarily used to monitor devices in the lab which have serial consoles without having to have multiple terminals.
Line Error Simulator is a PC based tool using two serial ports which injects common errors into a serial communications channel at controllable rates. It is used to serial communication protocols.
Serial Debug Terminal" is a PC terminal emulator which has additional features for debugging serial communications and protocols. It can send and receive in ASCII or HEX formats, supports any baud-rate possible on the PC serial port, reports the status of all input control signals on the serial port, and has function keys to manipulate all output control signals on the serial port. It also has pop-up help for RS-232 port pinouts and hex/ascii charts.
Contact Information