#ifndef _SV203_H
#define _SV203_H

/****************************************************************************/
/* Copyright (c) 2000 MBARI.                                                */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  : SV203B Stepper Motor Controller - Function Definitions        */
/* Filename : sv203.h                                                       */
/* Author   : Andrew Pearce                                                 */
/* Project  : Dorado AUV Tailcone                                           */
/* Version  : 1.0                                                           */
/* Created  : 01/19/00                                                      */
/* Modified : 01/19/00                                                      */
/* Archived :                                                               */
/****************************************************************************/

typedef struct
{
    quadSerialChan serialChan;
    Byte lastMoveAbs;
} sv203Struct;

#define SV203_CMD_DELAY 1               /* 10 msec delay between commands */
#define SV203_TERM      13              /* Carriage return terminator     */

Int16 sv203OpenSerialChan(sv203Struct *sv, Byte *boardAddr, Nat16 chan,
    IBC_BoardEntry *IBC_CardTable[], Int16 cardCount);

Int16 sv203WriteData(sv203Struct *sv, char *cmd);

Int16 sv203ReadData(sv203Struct *sv, Byte *buffer, Int16 maxLen);

Int16 sv203BoardSelect(sv203Struct *sv, Int16 board);

Int16 sv203ServoSelect(sv203Struct *sv, Int16 board);

Int16 sv203ReadFirmwareID(sv203Struct *sv, char *fimrware);

Int16 sv203ReadAtoD(sv203Struct *sv, Int16 chan, Byte *value);

Int16 sv203MoveAbsolute(sv203Struct *sv, Byte position);

#endif

