// digi10a.h

#include <stdio.h>
#include "outct10a.h" // defines output control structure

struct OC *OutputControl[24];

// prototypes
unsigned get_port(void);
int ConfigureOutput(int arraynumber, 
                    int type, 
                    int ForwardPortNumber, 
                    int ReversePortNumber,
                    int DirectionPortNumber,
                    int BrakePortNumber);
int TurnOn(int arraynumber);
int TurnOff(int arraynumber);
int is_closure(int input);
void set_up_ppi(int mode);
void blinker(long on, long off);
void btoa(void);
void motor(long on, long off);
void motor2(long on, long off);
void portaon(void);
void portaoff(void);
void portbon(void);
void portboff(void);
void portcon(void);
void portcoff(void);

// The following are known only to the functions in this file.
// They can't be modified or even accessed by anything outside
// except through funtions designed to provide access.

unsigned base;
unsigned switch_port;
unsigned ppi_porta;
unsigned ppi_portb;
unsigned ppi_portc;

int porta_val = 0;
int porta_mask;

int portb_val = 0;
int portb_mask;

int portc_val = 0;
int portc_mask;

// end digi10a.h


