CNMAT Flashback

A look back at some items in our archives.

Archive Browser

Browse CNMAT content by type
Book page

Device

-----

**/device/id** : Get/set device identification string.

The identification string is an ASCII character sequence, limited to 8 characters in length. It is automatically populated with a random-number on first startup. The device ID is also reported as the "serial number string" in the USB descriptor, but you will need to restart the device for this to be updated.

Book page

EEPROM

The EEPROM module is an experimental module, mainly of interest to developers. It interfaces directly to the EEPROM at the byte level. Presently only the first 64 bytes are in use by micro-OSC, and the current platforms have 256, however more space may be required in the future.

Book page

Terms of Use

The following copyright notice and terms of use apply to the micro-OSC firmware, its source code, and other supporting software distributed by CNMAT:

Copyright © 2008 The Regents of the University of California (Regents). All Rights Reserved.

Book page

OSC over the USB-Serial Transport

# Overview

A serial port is a bidirectional point-to-point communications channel. Open Sound Control is a datagram protocol which means that it requires a packetized transport (UDP is a common example of this). Serial isn't a packetized transport (nor is, for example, TCP).

# The SLIP framing protocol

Book page

USB Descriptor and Device Identification

Here is an overview of the micro-OSC device descriptor.

The VendorID/ProductID used is by permission from Microchip Technology Inc. under a sublicense agreement. This VID/PID may only be used with Microchip products.

Book page

Known Bugs and Possible Issues

- Sometimes the device does not seem to receive commands to toggle the status lights. After resetting uOSC, it works again.
- USB Prober only seems to work correctly before the serial port is activated. Suspect the control endpoint isn't getting serviced because it is starved by activity on the CDC data endpoint.

Book page

Setup for Windows XP

micro-OSC is a USB class-compliant serial device -- it is automatically supported by built-in drivers provided by operating system manufacturers. For some reason, on Windows, you still need to load a driver "information" file, otherwise it won't work.

Book page

Meeting agenda 6/26/08

Meeting agenda for Friday 6/20/08:

- Review candidates for Music Applications Programmer position
- Review status of current research projects
- Sponsored research: Starkey
- Affiliates: Meyer, Sennheiser, Waves, Native Instruments, Ableton...
- Clarify profile of Rimas replacement and goals for Meyer collaborations
- Discuss fundraising strategy for next year.

Book page

Overview

# Project objectives

- Low cost microcontroller target
- Maximally complete OSC implementation
- Timestamps and synchronization
- Floating point support
- High performance transport
- Clock synchronization
- Hardware features
- TTL, SPI and I2C digital connectivity
- Ratiometric ADC for 3.3v regulated systems

Book page

OSC

Provides OSC protocol meta-information and clock synchronization services.

-----

**/osc/version** : Report OSC version

TX: [ /osc/version ]
RX: [ /osc/version ,s "1.0" ]

-----

**/osc/type/accepts** : List typetags understood by device

Book page

TTL Serial

Enables digital communication with devices over TTL serial (0-5v signaling). Baud rates of 2400-115200.

Note that the TTL serial mode conflicts with SPI and I2C modules--only one can be used at a given moment.

The transmit pin is C6 and the receive pin is C7 on the PIC18F series.

**NOTE:** Do NOT leave the input pin (C7) floating! If it is not in use, it must be grounded, otherwise the hardware UART module will behave strangely and may lock up the firmware.

-----

**/ttl/baud** : Get/set baud rate, argument is int-32

Book page

Hardware PWM

Enables 2-channel hardware pulse-width modulation control on pins C1 and C2. This can be used to control brightness of LEDs or digital-to-analog conversion.

Book page

SPI

The SPI module is mostly written but still untested. This is some preliminary documentation.

--------

**/spi/enable**

Turn on/off.

------

**/spi/rate**:

Configure clock rate. Fosc /4, /16, /64.

-------

**/spi/mode**:

Configure the transmission waveform. See spec sheet.

- Mode 0: Clock default low, falling edge on data transmit.
- Mode 1: Clock default high, rising edge on data.
- Mode 2: Clock default low, rising edge on transmit
- Mode 3: Clock default low, falling edge on transmit

Pages