Files
Cnomicon/src/libPIC/analog.h
2021-01-22 10:16:20 -05:00

102 lines
2.9 KiB
C

/*****************************************************************************
* Copyright (C) 2008
* ProbeStar Telematics, LLC
* All Rights Reserved. Proprietary and Confidential.
*============================================================================
* Generic A/D Chip Interface
*----------------------------------------------------------------------------
* PIC 10-bit A/D
* Maxim 186, 188, 355
* Microchip MCP320X, MCP3301
*****************************************************************************/
/* prevent multiple inclusions */
#ifndef _ANALOG_H_
#define _ANALOG_H_
/*****************************************************************************
* includes
*****************************************************************************/
#include "system.h"
#include "types.h"
/*****************************************************************************
* defines
*****************************************************************************/
/*****************************************************************************
* macros
*****************************************************************************/
#ifdef ANALOG_MAX186
#define ANALOG_MODULE
#define AnalogInit() AdMax186Init()
#define AnalogRead(C) AdMax186Read(C)
#endif
#ifdef ANALOG_MCP320X
#define ANALOG_MODULE
#define AnalogInit() AdMcp320XInit()
#define AnalogRead(C) AdMcp320XRead(C)
#endif
#ifdef ANALOG_MCP3301
#define ANALOG_MODULE
#define AnalogInit() AdMcp3301Init()
#define AnalogRead(C) AdMcp3301Read()
#endif
#ifdef ADMUX_MAX355
#define AnalogMux(C) AdMax355Mux(C)
#endif
/*****************************************************************************
* structs & typedefs
*****************************************************************************/
/*****************************************************************************
* global constants
*****************************************************************************/
/*****************************************************************************
* global variables
*****************************************************************************/
/*****************************************************************************
* C function prototypes
*****************************************************************************/
/* export C functions to C++ */
#ifdef __cplusplus
extern "C" {
#endif
// Internal Analog
extern void AdInit( void );
extern WORD AdRead( BYTE byCh );
extern void AdWrite( BYTE byCh, WORD wData );
// Analog Drivers
#ifdef ANALOG_MAX186
extern void AdMax186Init(void);
extern WORD AdMax186Read( BYTE byChan );
#endif
#ifdef ANALOG_MCP320X
extern void AdMcp320XInit( void );
extern WORD AdMcp320XRead( BYTE byChan );
#endif
#ifdef ANALOG_MCP3301
extern void AdMcp3301Init( void );
extern short AdMcp3301Read( void );
#endif
// Analog Multiplexors
#ifdef ADMUX_MAX355
extern void AdMax355Mux( BYTE byChan );
#endif
#ifdef __cpluscplus
}
#endif
#endif