MA FTDI utilities  v1.0
 All Data Structures Files Functions Pages
fas_api.h
Go to the documentation of this file.
1 
26 #ifndef __FAS_API_H__
27 #define __FAS_API_H__
28 
29 /* Debug code */
30 #ifndef DEBUG
31 #define DEBUG 0
32 #endif
33 #define DEBUG_CODE(code) if ((gp_debug) || (DEBUG)) { code }
34 extern int gp_debug;
35 
36 /* Version info */
37 #define FASLIB_VERSION "1.1.20131218"
38 
39 /* Standard C libraries */
40 #include<stdio.h>
41 #include<stdlib.h>
42 /* OS specific libraries */
43 #ifdef _WIN32
44 #include<windows.h>
45 #endif
46 #include "ftdi_api.h"
47 #include "ctype.h"
48 
49 #define BYTETOBINARYPATTERN "%d%d%d%d%d%d%d%d"
50 #define BYTETOBINARY(byte) \
51  (byte & 0x80 ? 1 : 0), \
52  (byte & 0x40 ? 1 : 0), \
53  (byte & 0x20 ? 1 : 0), \
54  (byte & 0x10 ? 1 : 0), \
55  (byte & 0x08 ? 1 : 0), \
56  (byte & 0x04 ? 1 : 0), \
57  (byte & 0x02 ? 1 : 0), \
58  (byte & 0x01 ? 1 : 0)
59 
60 #define COMMAND_WRITE (0b0010<<4)
61 #define COMMAND_READ (0b0001<<4)
62 
63 #define FAS_WRITE(REG) \
64 do { fas_writereg(REG,reg ##REG## val); } \
65  while (0)
66 
67 #define FAS_READ(REG) \
68 do { fas_readreg(REG,&reg ##REG## val); } \
69  while (0)
70 
71 
72 typedef struct
73 {
74  unsigned FI;
75  unsigned FLL;
76  unsigned FR;
77  unsigned FWS;
78  unsigned EDF;
79 } REG0_t;
80 
81 
82 typedef struct
83 {
84  unsigned BCT;
85 } REG3_t;
86 
87 typedef struct
88 {
89  unsigned ZH;
90 } REG4_t;
91 
92 typedef struct
93 {
94  unsigned BIY;
95  unsigned BIX;
96  unsigned ETY;
97  unsigned ETX;
98  unsigned ZL;
99 } REG5_t;
100 
101 typedef struct
102 {
103  unsigned AF;
104  unsigned EPT;
105  unsigned ABZ;
106  unsigned UVW;
107  unsigned RD;
108  unsigned PWM;
109 } REG7_t;
110 
111 
112 typedef struct
113 {
114  unsigned F7;
115  unsigned F5;
116  unsigned F4;
117  unsigned F3;
118  unsigned F0;
119 } REG9_t;
120 
121 
122 typedef unsigned char uint8;
123 
139 uint8 reg0gen(REG0_t reg);
140 
156 uint8 reg3gen(REG3_t reg);
157 
173 uint8 reg4gen(REG4_t reg);
174 
190 uint8 reg5gen(REG5_t reg);
191 
207 uint8 reg7gen(REG7_t reg);
208 
224 uint8 reg9gen(REG9_t reg);
225 
241 int reg_set(char* argstr);
242 
257 int fas_init();
258 
273 int fas_close();
274 
291 int fas_writereg(int addr, uint8 val);
292 
310 int fas_readreg(int addr, uint8 *val);
311 
329 int fas_reg_print(uint8 data, int regnum, int radix);
330 
350 int fas_print(uint8 *data, int init_index, int sample_size, int format, int radix);
351 
371 int fas_print_error(uint8 *data, int init_index, int sample_size, int format, int radix);
372 
394 int fas_fprint(FILE *fp, uint8 *data, int init_index, int sample_size, int format, int radix);
395 
417 int fas_fprint_error(FILE *fp, uint8 *data, int init_index, int sample_size, int format, int radix);
418 
419 #endif
int fas_print(uint8 *data, int init_index, int sample_size, int format, int radix)
Prints MA data to screen.
Definition: fas_api.c:538
int fas_writereg(int addr, uint8 val)
Write register value to MA.
Definition: fas_api.c:468
int fas_fprint_error(FILE *fp, uint8 *data, int init_index, int sample_size, int format, int radix)
Prints MA data error file.
Definition: fas_api.c:907
int fas_init()
MA communication initialisation.
Definition: fas_api.c:443
uint8 reg3gen(REG3_t reg)
Generator function for register 3.
Definition: fas_api.c:386
FTDI APIs.
Definition: fas_api.h:72
uint8 reg7gen(REG7_t reg)
Generator function for register 7.
Definition: fas_api.c:401
uint8 reg5gen(REG5_t reg)
Generator function for register 5.
Definition: fas_api.c:396
Definition: fas_api.h:112
int fas_fprint(FILE *fp, uint8 *data, int init_index, int sample_size, int format, int radix)
Prints MA data to file.
Definition: fas_api.c:655
int fas_readreg(int addr, uint8 *val)
Read register value from MA.
Definition: fas_api.c:483
Definition: fas_api.h:101
uint8 reg9gen(REG9_t reg)
Generator function for register 9.
Definition: fas_api.c:406
Definition: fas_api.h:87
int fas_reg_print(uint8 data, int regnum, int radix)
Prints MA register data to screen.
Definition: fas_api.c:509
Definition: fas_api.h:92
Definition: fas_api.h:82
int fas_print_error(uint8 *data, int init_index, int sample_size, int format, int radix)
Prints MA data error file to screen.
Definition: fas_api.c:773
int fas_close()
MA communication destructor.
Definition: fas_api.c:460
uint8 reg0gen(REG0_t reg)
Generator function for register 0.
Definition: fas_api.c:381
int reg_set(char *argstr)
Parsing function for setting register value from commandline arguments.
Definition: fas_api.c:59
uint8 reg4gen(REG4_t reg)
Generator function for register 4.
Definition: fas_api.c:391