|Documentation :||Hardware | Software | Tutorials||Wardrobe :||Jackets | Applications|
|Papers :||Notes | Proposals | Research||Administration :||Stock | Minutes | Progress|
The electronic compass interface board has been designed to act as an intelligent sensor in relation to the event driven device architecture of the new cyber-jacket. The device is primarily intended to interface with a Vector 2X electronic compass by Precision Navigation Inc. The compass is interfaced to a PIC16F84 chip that decodes its output and communicates with the host computer via a shared TTL channel on the system bus. The interface also provides power (5 Volts) to the compass.
The device communicates with the host using a pseudo RS-232 protocol (TTL) on the system bus. Since the device has been designed to operate in conjunction with other sensors on the shared bus, contention issues are partially solved through the use of a status line on the system bus (wire 1). When a device wishes to send data it first checks this status line, if it is high (idle state) then it pulls the line low and transmits otherwise it polls the status line until it becomes high.
Communication between the host and the compass interface is as follows:
Host to Compass Interface
$SCXP where X = minor device indentifier [0..1].
Compass Interface to Host
$RCXAB where heading = (A == 0) ? B : (256 + B)
Please refer to schematic above.
ASM Code for PIC
The latest firmware for the compass interface's PIC can be found here; This must be compiled using MPLAB (installed on Prawn).