Documents
AAL Brochure

Brochure

AAL Brochure
PDF 1.7MB

Manual

Aero-Acoustic Levitator Operator's Manual
PDF 2.7MB
AAL Programmer's Manual
PDF 308Kb

Technical Papers

Levitating Across the River Styx

Sickel, J. Levitating Across the River Styx. In: Proceedings of the 4th International Workshop on Plan 9 (IWP9), 21-23 Oct. 2009, Athens, Georgia.

PDF 40Kb

Abstract:

The Styx (9p) protocol has been well documented for use in various distributed systems. Demonstrations have proven that it works for communication with embedded devices. This paper presents an implementation of 9p for the 16-bit dsPIC33 family of digital signal controllers. It is used to collaborate multiple distributed nodes to achieve stable aero-acoustic levitation of a sample by tuning sound pressure levels and managing spin control.

Effective Resonant Frequency Tracking with Inferno

Sickel, J. and Nordine, P. Effective Resonant Frequency Tracking with Inferno. In: Proceedings of the 5th International Workshop on Plan 9 (IWP9), 11-13 Oct. 2010, Seattle, Washington.

PDF 103Kb

Abstract

We describe a digital technique for tracking the resonant frequencies of piezoelectric transducers used to drive an aero-acoustic levitator. Real-time sampling of the voltage and current phase difference is used in a low-priority feedback loop to control drift and stabilization.
The implementation leverages 9p on embedded 16-bit dsPIC33F digital signal controllers. Data collection and processing are performed with various 9p clients. This paper describes the use of 9p and Inferno to track, adjust, and optimize output frequency and sound pressure levels on the instrument.

To Stream or not to Stream

Sickel, J. To Stream or not to Stream. In: Proceedings of the 6th International Workshop on Plan 9 (IWP9), 20-21 Oct. 2011, Madrid, Spain.

PDF 124Kb
This paper describes a technique to manage multiple serial devices that switch data transmission modes between request-response and streaming protocols. It utilizes the ideas of coroutines and communicating sequential processes to build concurrent input and output processing routines for each device. The example program leverages Limbo's buffered channels to concurrently queue and process data from multiple inputs in soft real-time.