|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Raw PDF generation from a C program as a web script
|
Having had loads of fun over the years generating
PostScript files from C programs and Unix Bash scripts,
this was an experiment in understanding and generating
PDF files directly from a C program without resorting
to any of the Adobe
tools. You'll need (the free)
Adobe Reader to view
the calendar.
The program runs as a web 'script' and offers a range
of output formats and features. Users can select
a wall planner or normal calendar, in either landscape
of portrait, on most common paper sizes from US Letter
to A0. There are also month or year per page options.
Options are set using buttons and menus on a web page.
Special dates and moon phases can be highlighted.
The user also has a choice themed pictures and
a wide range of colour options. Multi-page calendars
include thumbnails and proper named month/year links.
The calendar at the top of these pages is based on the
same core C code.
See the Calendar
page to have a go.
|
GPS based navigation on Windows CE
Written in MS Embedded C++ |
My first attempt at using Microsoft Embedded C++ and,
the Windows and PocketPC APIs.
The system reads NEMA strings from a GPS module and
converts the lat/long data into flat UK grid coordinates
so conventional mapping data can be used.
Multiple sets of map data are used so more or less
detailed maps can be displayed as users approach their
destination or enter urban areas. Manual zooming is
also supported via the PDA buttons.
Maps are held as tiles to reduce processing overheads.
Redrawing is properly double buffered for smooth
scrolling as the coordinates or orientation changes.
Fuzzy matched hot-spot data can be defined to allow
points of interest to be defined. This has been used
for locating hotels, bus and railway stations, speed
cameras, etc. Each hotspot can initiate a defined action
such as playing sound files, etc.
|
Web based vehicle tracking
using GPS navigation (above) and GSM card
Written in C# and ASP.NET |
An extension of the above system added location
transmission using GSM SMS text messages.
Text messages are sent periodically to a central
site that can generate an overview map showing the
location of all vehicles, their speed and direction
of travel on a web page.
Transmission intervals vary according to vehicle speed
to reduce costs.
The system was written in C# and ASP.NET back in 2001 and
led to a number of companies deveopling similar systems.
|
Bill Gates presents award
for group's implementation of MobileIPv6 for Microsoft OSs |
The IPv6 group I established in early 1997 became
interested in MobileIPv6 and developed a number of
implementations. These included stacks for Linux,
Cisco IOS,
Microsoft
Windows 2000, and Windows XP Professional.
MobileIPv6 allows devices to move between networks
without breaking existing network connections.
For example, you could move seamlessly from a corporate
wired Ethernet network to a public Wireless LAN service
while downloading a file.
The MobileIPv6 protocol also allows devices to be
contacted even if they are not currently connected to
their home network.
Our implementation for Microsoft Windows 2003 Server,
and Windows CE .NET was shipped by
Microsoft and for
this we were awarded the first
Microsoft Windows Embedded Academic Excellence Award
by Bill Gates in 2002.
|
SD Interface for Tahoe .NET Micro Framework
development board from Device Solutions.net (formerly Embedded Fusion). |
I've recently been playing with the .NET Micro Framework
from Microsoft
on the Tahoe development board from
Device
Solutions.net (formerly
Embedded
Fusion).
To try out the platform I created a C# implementation
of the FAT filesystem and simple animated picture viewer
application.
The project also involved building a board with an
MMC/ SD card interface and Bluetooth module.
See opposite.
More details are given on the
project page.
|
Simple Breakout game in JavaScript
|
Simple Pacman game in JavaScript
|
3D animation in JavaScript
With simple hidden surface removal |
Animation: Simulated oscilloscope in JavaScript
Radio buttons add/subtract signals |
Defender: Object-oriented game in JavaScript
|
|
© 2006 - 2008 Andrew Scott
|
||