prefect
Home Engineering Publications
DACS: Mixer Driver Header, mixdrv.h
 
  next up previous contents
Next: Mixer Driver Code, mixdrv.c Up: Mixer Unit Previous: Interrupt Vector Table, mixvect.c   Contents

Mixer Driver Header, mixdrv.h

The following header defines many values for mixer unit configuration, defines configuration structures, and provides function prototypes.
/*****************************************************************************
 * DACS : Distributed Audio Control System
 *============================================================================
 *         File: mixdrv.h
 *       Author: Stephen S. Richardson
 * Date Created: 04.14.97
 *  Environment: ICC11 v4.0, 68HC11 target
 *        Build: library, not standalone
 *============================================================================
 * The code, executables, documentation, firmware images, and all related
 * material of DACS are  
 * Copyright (C) 1997 Stephen S. Richardson - ALL RIGHTS RESERVED
 *****************************************************************************
 * Source code control:
 *
 * $Id: mixdrv.h,v 1.1 1997/07/13 01:22:23 prefect Exp prefect $
 *
 *****************************************************************************/
 
#ifndef _mixdrv
#define _mixdrv
 
/* masks for writing to the SSM2163's on the mixer module cards */
#define CHIP0    0xA8
#define CHIP1    0xA2
#define CHIP2    0x8A
#define CHIP3    0x2A
#define CHIPALL  0x00
 

#define MAXMIXBRDS 16
#define MAXINPBRDS 4
#define MAXOUTBRDS 2
#define MAXOPTBRDS 2

#define MIX_2163x4   1   /* ID byte for stock 4xSSM2163 mix module card */
#define MIX_2163x4V  2   /* ID byte for stock 4xSSM2163 with trim ctrl */

#define IN_ANALOG8   1   /* ID byte for 8-input analog input card */
#define IN_DIGITAL8  2   /* ID byte for 8-input digital input card (TBD) */

#define OUT_ANALOG8  1   /* ID byte for 8-output analog card */
#define OUT_DIGITAL8 2   /* ID byte for 8-output digital output card (TBD) */

#define OPT_BUSCOMB  1   /* ID byte for input/output bus combiner */
#define OPT_VU       2   /* ID byte for digital VU meter board */

#define NO_BRD       0   /* NO board installed */

struct mixer_unit_info {
  unsigned char id;         /* unit ID of this DACS mixer (from host) */
  unsigned char serno[12];  /* serial number of this mixer (factory) */
  unsigned char ver[30];    /* version number of firmware (compile) */
  
  unsigned char mix_brd[MAXMIXBRDS];  /* ID bytes for mixer boards */
  unsigned char mix_brds;             /* number of mixer boards installed */
  unsigned char inp_brd[MAXINPBRDS];  /* ID bytes for input boards */
  unsigned char inp_brds;             /* number of input boards installed */
  unsigned char out_brd[MAXOUTBRDS];  /* ID bytes for output boards */
  unsigned char out_brds;             /* number of output boards installed */
  unsigned char opt_brd[MAXOPTBRDS];  /* ID bytes for option boards */
  unsigned char opt_brds;             /* number of option boards installed */
  
  unsigned char hostname[17];   /* name of host unit is connected to */
};

extern struct mixer_unit_info unit;

void mix_get_system_config (void);
void mix_system_init (void);
void mix_reset_mixers (void);
void mix_reset_buscomb (void);
void mix_reset_vu (void);

void pbus_mwrite (unsigned char addx, unsigned char data0,
		  unsigned char data1, unsigned char data2,
		  unsigned char data3, unsigned char mask);



#endif


Steve Richardson 2000-07-06
Table of Contents

[PDF] [Whole document in PDF 1.9MB]

[more photos and information]

 
Page last modified:
Copyright © 1993-2000 prefect - All Rights Reserved.