1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-11-25 06:31:25 +00:00
C02/include/comm.h02
2018-11-07 00:11:09 -05:00

89 lines
2.8 KiB
Plaintext

/***********************************************
* comm - Serial Communication Library for C02 *
***********************************************/
/* Command Register Constants */
#define BR50 = $01 //Baud Rate - 50 BPS
#define BR75 = $02 //Baud Rate - 75 BPS
#define BR110 = $03 //Baud Rate - 110 BPS
#define BR134 = $04 //Baud Rate - 134 BPS
#define BR150 = $05 //Baud Rate - 140 BPS
#define BR300 = $06 //Baud Rate - 300 BPS
#define BR600 = $07 //Baud Rate - 300 BPS
#define BR1200 = $08 //Baud Rate - 1200 BPS
#define BR1800 = $09 //Baud Rate - 1800 BPS
#define BR2400 = $0A //Baud Rate - 2400 BPS
#define BR4800 = $0B //Baud Rate - 4800 BPS
#define BR9600 = $0C //Baud Rate - 9600 BPS
#define SBITS1 = $00 //1 Stop Bit
#define SBITS2 = $80 //2 Stop Bits
#define WRDLN5 = $60 //Word Length - 5 Bits
#define WRDLN6 = $40 //Word Length - 5 Bits
#define WRDLN7 = $20 //Word Length - 5 Bits
#define WRDLN8 = $00 //Word Length - 5 Bits
/* Control Register Constants */
#define PTYOFF = $00 //Parity - Disable
#define PTYODD = $01 //Parity - Odd
#define PTYEVN = $02 //Parity - Even
#define PTYMRK = $03 //Parity - Mark
#define PTYSPC = $04 //Parity - Space
#define DPXFUL = $00 //Duplex - Full
#define DPXHLF = $80 //Duplex - Half
#define XLTNON = $00 //No Translation
#define XTLASC = $10 //ASCII Translation
#define LFNONE = $00 //No LF after CR
#define LFSEND = $40 //Send LF after CR
#define SHKSFT = $00 //Handshake - Software
#define SHKHRD = $80 //Handshake - Hardware
/* Return Serial Buffer Status *
* Args: fp - file pointer *
* Returns: tuple: number of characters in *
input buffer and output buffer */
char cbffrs();
/* Close Serial Port *
* Args: fp - file pointer *
* Returns: 0 if successful *
* 255 if error */
char cclose();
/* Get Serial Port Error Status *
* Returns: Error Code *
* 0 if No Error */
char cerror();
/* Read Character from Serial Port *
* Args: fp - file pointer *
* Returns: character read */
char cgetc();
/* Open Serial Port for Communication *
* Args: prt - Serial Port Number *
* cmd - Command Register *
* ctl - Control Register *
* Returns: File Pointer for Opened Port *
* 0 if Error */
char copen();
/* Write Character to Serial Port *
* Args: fp - file pointer *
* c - character to write *
* Returns: 0 if successful *
255 if error */
char cputc();
/* Write String to Serial Port *
* Args: fp - file pointer *
* &s - string to write *
* Returns: 0 if successful *
255 if error */
char cputs();