|
Next: Serial Communications Code, serial.c
Up: MIDI Controller
Previous: CDROM Service Provider CD
  Contents
This header file defines functions and structures for the serial handling
code that implements the protocol described in the firmware section of
this document.
/*****************************************************************************
* DACS : Distributed Audio Control System
*============================================================================
* File: serial.h
* Description: routines to handle serial communications with DACS components
* Author: Stephen S. Richardson
* Date Created: 07.12.97
* Environment: GNU C Compiler (GCC) v2.7.1, Linux i486 v2.0.28
* Build: library
*============================================================================
* 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: serial.h,v 1.1 1997/07/25 12:09:25 prefect Exp prefect $
*
*****************************************************************************/
#define SERBUFLEN 1024 /* serial buffer size */
#define MAXPAYLOAD 128 /* maximum payload size */
#define MAXFRSIZE MAXPAYLOAD+MAXPAYLOAD+4 /* maximum frame size */
#define DLE '!' /* data link escape character 0x10 */
#define STX '[' /* start transmission 0x02 */
#define ETX ']' /* end transmission 0x03 */
struct serbuf {
char data[SERBUFLEN]; /* data in buffer */
int len; /* current length of buffer */
int cur; /* index to current data in buffer */
};
struct raw_frame {
int len; /* length of frame */
int cur; /* current index */
char data[MAXPAYLOAD]; /* frame data */
char done; /* done flag */
char dleflag; /* DLE flag */
char stxflag; /* STX flag */
};
void ser_init_frame (struct raw_frame *f);
void ser_init_serbuf (struct serbuf *b);
int ser_write_buf (struct raw_frame *fr, struct serbuf *ob);
int ser_open (char *devnam, int bd);
int ser_service (struct serbuf *ib, struct serbuf *ob,
struct raw_frame *of, int serfd);
Steve Richardson
2000-07-06
|
Table of Contents
[Whole document in PDF 1.9MB]
[more photos and information]
|