MA FTDI utilities  v1.0
 All Data Structures Files Functions Pages
Data Structures | Macros | Typedefs | Functions | Variables
fas_api.h File Reference

MA utility APIs. More...

#include <stdio.h>
#include <stdlib.h>
#include "ftdi_api.h"
#include "ctype.h"
Include dependency graph for fas_api.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  REG0_t
 
struct  REG3_t
 
struct  REG4_t
 
struct  REG5_t
 
struct  REG7_t
 
struct  REG9_t
 

Macros

#define DEBUG   0
 
#define DEBUG_CODE(code)   if ((gp_debug) || (DEBUG)) { code }
 
#define FASLIB_VERSION   "1.1.20131218"
 
#define BYTETOBINARYPATTERN   "%d%d%d%d%d%d%d%d"
 
#define BYTETOBINARY(byte)
 
#define COMMAND_WRITE   (0b0010<<4)
 
#define COMMAND_READ   (0b0001<<4)
 
#define FAS_WRITE(REG)
 
#define FAS_READ(REG)
 

Typedefs

typedef unsigned char uint8
 

Functions

uint8 reg0gen (REG0_t reg)
 Generator function for register 0. More...
 
uint8 reg3gen (REG3_t reg)
 Generator function for register 3. More...
 
uint8 reg4gen (REG4_t reg)
 Generator function for register 4. More...
 
uint8 reg5gen (REG5_t reg)
 Generator function for register 5. More...
 
uint8 reg7gen (REG7_t reg)
 Generator function for register 7. More...
 
uint8 reg9gen (REG9_t reg)
 Generator function for register 9. More...
 
int reg_set (char *argstr)
 Parsing function for setting register value from commandline arguments. More...
 
int fas_init ()
 MA communication initialisation. More...
 
int fas_close ()
 MA communication destructor. More...
 
int fas_writereg (int addr, uint8 val)
 Write register value to MA. More...
 
int fas_readreg (int addr, uint8 *val)
 Read register value from MA. More...
 
int fas_reg_print (uint8 data, int regnum, int radix)
 Prints MA register data to screen. More...
 
int fas_print (uint8 *data, int init_index, int sample_size, int format, int radix)
 Prints MA data to screen. More...
 
int fas_print_error (uint8 *data, int init_index, int sample_size, int format, int radix)
 Prints MA data error file to screen. More...
 
int fas_fprint (FILE *fp, uint8 *data, int init_index, int sample_size, int format, int radix)
 Prints MA data to file. More...
 
int fas_fprint_error (FILE *fp, uint8 *data, int init_index, int sample_size, int format, int radix)
 Prints MA data error file. More...
 

Variables

int gp_debug
 

Detailed Description

MA utility APIs.

Author
Benjamin Zhai (benja.nosp@m.min..nosp@m.zhai@.nosp@m.sens.nosp@m.ima.c.nosp@m.om)
Version
1.1
Date
20131218 Copyright © 2013-2014 Sensima Technology SA
Company Confidential
Project: MA-FTDI USB
Module: MA sensor communication utility using FTDI USB
Revision History:
0.1 - rev 9 - 20131025 - Initial version
0.2 - rev 24 - 20131031 - Added write functions
0.3 - rev - 2013xxxx - Modified to use SPI 0
0.9 - rev 123 - 20131211 - Merged pre-release
0.95 - rev 132 - 20131211 - Pre-release
1.0 - rev 136 - 20131212 - Release
1.02 - rev 143 - 20131216 - Added auto channel detection
1.06 - rev 150 - 20131216 - Corrected bitfield write
Todo:
Add flashing operations

Macro Definition Documentation

#define BYTETOBINARY (   byte)
Value:
(byte & 0x80 ? 1 : 0), \
(byte & 0x40 ? 1 : 0), \
(byte & 0x20 ? 1 : 0), \
(byte & 0x10 ? 1 : 0), \
(byte & 0x08 ? 1 : 0), \
(byte & 0x04 ? 1 : 0), \
(byte & 0x02 ? 1 : 0), \
(byte & 0x01 ? 1 : 0)
#define FAS_READ (   REG)
Value:
do { fas_readreg(REG,&reg ##REG## val); } \
while (0)
int fas_readreg(int addr, uint8 *val)
Read register value from MA.
Definition: fas_api.c:483
#define FAS_WRITE (   REG)
Value:
do { fas_writereg(REG,reg ##REG## val); } \
while (0)
int fas_writereg(int addr, uint8 val)
Write register value to MA.
Definition: fas_api.c:468

Function Documentation

int fas_close ( )

MA communication destructor.

This function releases MA communication resources

Returns
Returns 0 for success Example Usage:
*
See Also
Note
Warning
int fas_fprint ( FILE *  fp,
uint8 *  data,
int  init_index,
int  sample_size,
int  format,
int  radix 
)

Prints MA data to file.

This function prints data read from MA to specified file with formatting

Parameters
[in]*fpPointer to file where the data will be stored
[in]*dataPointer to memory block where data is stored
[in]init_indexThe first number of the index
[in]sample_sizeNumber of samples read from FAS. Each sample has 3 bytes
[in]formatThe output format
[in]radixThe output radix
Returns
Returns 0 for success Example Usage:
* FILE *outputfile;
* fas_print_file(outputfile,buffer,0,gp_sample_size,gp_output_format,gp_output_radix);
*
See Also
Note
Warning
int fas_fprint_error ( FILE *  fp,
uint8 *  data,
int  init_index,
int  sample_size,
int  format,
int  radix 
)

Prints MA data error file.

This function prints discrepencies of data read from MA to specified file with formatting

Parameters
[in]*fpPointer to file where the data will be stored
[in]*dataPointer to memory block where data is stored
[in]init_indexThe first number of the index
[in]sample_sizeNumber of samples read from FAS. Each sample has 3 bytes
[in]formatThe output format
[in]radixThe output radix
Returns
Returns 0 for success Example Usage:
* FILE *errorfile;
* fas_print_file(errorfile,buffer,0,gp_sample_size,gp_output_format,gp_output_radix);
*
See Also
Note
Warning
int fas_init ( )

MA communication initialisation.

This function initialises MA communication

Returns
Returns 0 for success Example Usage:
*
See Also
Note
Warning
int fas_print ( uint8 *  data,
int  init_index,
int  sample_size,
int  format,
int  radix 
)

Prints MA data to screen.

This function prints data read from MA to screen with formatting

Parameters
[in]*dataPointer to memory block where data is stored
[in]init_indexThe first number of the index
[in]sample_sizeNumber of samples read from FAS. Each sample has 3 bytes
[in]formatThe output format
[in]radixThe output radix
Returns
Returns 0 for success Example Usage:
* fas_print(buffer,0,gp_sample_size,gp_output_format,gp_output_radix);
*
See Also
Note
Warning
int fas_print_error ( uint8 *  data,
int  init_index,
int  sample_size,
int  format,
int  radix 
)

Prints MA data error file to screen.

This function prints discrepancies of data read from MA to screen with formatting

Parameters
[in]*dataPointer to memory block where data is stored
[in]init_indexThe first number of the index
[in]sample_sizeNumber of samples read from FAS. Each sample has 3 bytes
[in]formatThe output format
[in]radixThe output radix
Returns
Returns 0 for success Example Usage:
* fas_print_error(buffer,0,gp_sample_size,gp_output_format,gp_output_radix);
*
See Also
Note
Warning
int fas_readreg ( int  addr,
uint8 *  val 
)

Read register value from MA.

This function reads register value from MA

Parameters
[in]addrRegister address from which data will be read
[out]*valPointer to read register value
Returns
Returns 0 for success Example Usage:
* uint8 *regval;
* ftdi_write_stream(0,regval);
*
See Also
Note
Warning
int fas_reg_print ( uint8  data,
int  regnum,
int  radix 
)

Prints MA register data to screen.

This function prints register data read from MA to screen with formatting

Parameters
[in]dataData content of the register
[in]regnumThe register number
[in]radixThe output radix
Returns
Returns 0 for success Example Usage:
* fas_reg_print(data, 0, gp_radix);
*
See Also
Note
Warning
int fas_writereg ( int  addr,
uint8  val 
)

Write register value to MA.

This function writes register value to MA

Parameters
[in]addrRegister address to which data will be written
[in]valValue to write
Returns
Returns 0 for success Example Usage:
*
See Also
Note
Warning
uint8 reg0gen ( REG0_t  reg)

Generator function for register 0.

This function generates the register value for register 0 from bit fields

Parameters
[in]regRegister data from bit fields
Returns
Returns register value Example Usage:
* regval = reg0gen(reg0);
*
See Also
Note
Warning
uint8 reg3gen ( REG3_t  reg)

Generator function for register 3.

This function generates the register value for register 3 from bit fields

Parameters
[in]regRegister data from bit fields
Returns
Returns register value Example Usage:
* regval = reg3gen(reg3);
*
See Also
Note
Warning
uint8 reg4gen ( REG4_t  reg)

Generator function for register 4.

This function generates the register value for register 4 from bit fields

Parameters
[in]regRegister data from bit fields
Returns
Returns register value Example Usage:
* regval = reg4gen(reg4);
*
See Also
Note
Warning
uint8 reg5gen ( REG5_t  reg)

Generator function for register 5.

This function generates the register value for register 5 from bit fields

Parameters
[in]regRegister data from bit fields
Returns
Returns register value Example Usage:
* regval = reg5gen(reg5);
*
See Also
Note
Warning
uint8 reg7gen ( REG7_t  reg)

Generator function for register 7.

This function generates the register value for register 7 from bit fields

Parameters
[in]regRegister data from bit fields
Returns
Returns register value Example Usage:
* regval = reg7gen(reg7);
*
See Also
Note
Warning
uint8 reg9gen ( REG9_t  reg)

Generator function for register 9.

This function generates the register value for register 9 from bit fields

Parameters
[in]regRegister data from bit fields
Returns
Returns register value Example Usage:
* regval = reg9gen(reg9);
*
See Also
Note
Warning
int reg_set ( char *  argstr)

Parsing function for setting register value from commandline arguments.

This function generates the register value from commandline arguments

Parameters
[in]regRegister data from bit fields
Returns
Returns register value Example Usage:
* regval = reg9gen(reg9);
*
See Also
Note
Warning