Classe TADS1115

Unit

Declaração

type TADS1115 = class(TCustomPasRipherals)

Descrição

Esta classe provê acesso simplificado ao ADS1115, um conversor analógico-digital de 16 bits muito popular

Hierarquia

Visão Geral

Campos

Private FI2CController: TI2CController;
Private FSelectedRegister: TADS1115Register;
Private FSlaveAddress: TI2CSlaveAddress;

Métodos

Public constructor Create(AI2CController: TI2CController; ASlaveAddress: TI2CSlaveAddress); reintroduce;
Public function ConversionValue: SmallInt; overload;
Public function ConversionValue(AComparatorQueue: TADS1115ComparatorQueue; AComparatorLatching: TADS1115ComparatorLatching; AComparatorPolarity: TADS1115ComparatorPolarity; AComparatorMode: TADS1115ComparatorMode; ADataRate: TADS1115DataRate; AProgramableGainAplifier: TProgramableGainAplifier; AInputMultiplexer: TADS1115InputMultiplexer): SmallInt; overload;
Private function AssembleConfigRegister(AComparatorQueue: TADS1115ComparatorQueue; AComparatorLatching: TADS1115ComparatorLatching; AComparatorPolarity: TADS1115ComparatorPolarity; AComparatorMode: TADS1115ComparatorMode; ADataRate: TADS1115DataRate; AMode: TADS1115Mode; AProgramableGainAplifier: TProgramableGainAplifier; AInputMultiplexer: TADS1115InputMultiplexer; AOperationalStatus: Boolean): UInt16;
Private function GetComparatorLatching: TADS1115ComparatorLatching;
Private function GetComparatorMode: TADS1115ComparatorMode;
Private function GetComparatorPolarity: TADS1115ComparatorPolarity;
Private function GetComparatorQueue: TADS1115ComparatorQueue;
Private function GetConfigField(AFieldIndex: UInt8; ABitsCount: UInt8): UInt16;
Private function GetConfigRegister: UInt16;
Private function GetConversionRegister: UInt16;
Private function GetDataRate: TADS1115DataRate;
Private function GetGainAplifier: TProgramableGainAplifier;
Private function GetInputMultiplexer: TADS1115InputMultiplexer;
Private function GetMode: TADS1115Mode;
Private function GetWorking: Boolean;
Private procedure SelectRegister(ARegister: TADS1115Register);
Private procedure SetComparatorLatching(ALatchingComparator: TADS1115ComparatorLatching);
Private procedure SetComparatorMode(AComparatorMode: TADS1115ComparatorMode);
Private procedure SetComparatorPolarity(AComparatorPolarity: TADS1115ComparatorPolarity);
Private procedure SetComparatorQueue(AComparatorQueue: TADS1115ComparatorQueue);
Private procedure SetConfigField(AFieldIndex: UInt8; ABitsCount: UInt8; AFieldValue: UInt16);
Private procedure SetConfigRegister(AConfigurations: UInt16);
Private procedure SetDataRate(ADataRate: TADS1115DataRate);
Private procedure SetGainAplifier(AGainAmplifier: TProgramableGainAplifier);
Private procedure SetInputMultiplexer(AInputMultiplexer: TADS1115InputMultiplexer);
Private procedure SetMode(AMode: TADS1115Mode);

Properties

Public property ComparatorLatching: TADS1115ComparatorLatching read GetComparatorLatching write SetComparatorLatching;
Public property ComparatorMode: TADS1115ComparatorMode read GetComparatorMode write SetComparatorMode;
Public property ComparatorPolarity: TADS1115ComparatorPolarity read GetComparatorPolarity write SetComparatorPolarity;
Public property ComparatorQueue: TADS1115ComparatorQueue read GetComparatorQueue write SetComparatorQueue;
Public property DataRate: TADS1115DataRate read GetDataRate write SetDataRate;
Public property GainAplifier: TProgramableGainAplifier read GetGainAplifier write SetGainAplifier;
Public property InputMultiplexer: TADS1115InputMultiplexer read GetInputMultiplexer write SetInputMultiplexer;
Public property Mode: TADS1115Mode read GetMode write SetMode;
Public property Working: Boolean read GetWorking;

Descrição

Campos

Private FI2CController: TI2CController;
 
Private FSelectedRegister: TADS1115Register;
 
Private FSlaveAddress: TI2CSlaveAddress;
 

Métodos

Public constructor Create(AI2CController: TI2CController; ASlaveAddress: TI2CSlaveAddress); reintroduce;
 
Public function ConversionValue: SmallInt; overload;

Obtém o valor de uma conversão analógica quando o ADS1115 está no modo contínuo de operação. No modo contínuo de operação o ADS1115 já precisa estar previamente configurado antes que esta função possa ser chamada. Use esta função quando pretender ler dados da mesma forma, sempre a partir de uma mesma entrada analógica

Retornos

A função retornará um valor entre -32768 e +32767 que corresponde ao valor lido a partir do registrador CONVERSION

Public function ConversionValue(AComparatorQueue: TADS1115ComparatorQueue; AComparatorLatching: TADS1115ComparatorLatching; AComparatorPolarity: TADS1115ComparatorPolarity; AComparatorMode: TADS1115ComparatorMode; ADataRate: TADS1115DataRate; AProgramableGainAplifier: TProgramableGainAplifier; AInputMultiplexer: TADS1115InputMultiplexer): SmallInt; overload;
 
Private function AssembleConfigRegister(AComparatorQueue: TADS1115ComparatorQueue; AComparatorLatching: TADS1115ComparatorLatching; AComparatorPolarity: TADS1115ComparatorPolarity; AComparatorMode: TADS1115ComparatorMode; ADataRate: TADS1115DataRate; AMode: TADS1115Mode; AProgramableGainAplifier: TProgramableGainAplifier; AInputMultiplexer: TADS1115InputMultiplexer; AOperationalStatus: Boolean): UInt16;

Monta um valor que pode ser usado para configurar de uma só vez todos os campos de configuração disponíveis no registrador CONFIG.

Parâmetros
AComparatorQueue
Leia ComparatorQueue
AComparatorLatching
Leia ComparatorLatching
AComparatorPolarity
Leia ComparatorPolarity
AComparatorMode
Leia ComparatorMode
ADataRate
Leia DataRate
AMode
Leia Mode
AProgramableGainAplifier
Leia ProgramableGainAplifier
AInputMultiplexer
Leia InputMultiplexer
AOperationalStatus
Leia OperationalStatus
Retornos

Valor completo que pode ser usado com a função SetConfigRegister para configurar de uma só vez o ADS1115

Private function GetComparatorLatching: TADS1115ComparatorLatching;
 
Private function GetComparatorMode: TADS1115ComparatorMode;
 
Private function GetComparatorPolarity: TADS1115ComparatorPolarity;
 
Private function GetComparatorQueue: TADS1115ComparatorQueue;
 
Private function GetConfigField(AFieldIndex: UInt8; ABitsCount: UInt8): UInt16;

Obtém o valor de um dos componentes (campos) do registrador CONFIG

Parâmetros
AFieldIndex
Índice do primeiro bit do campo a ser lido
ABitsCount
Tamanho do campo a ler em bits
Retornos

Valor do campo solicitado

Private function GetConfigRegister: UInt16;

Obtém o valor completo do registrador CONFIG, ou seja, todas as configurações

Retornos

Valor do registrador CONFIG

Private function GetConversionRegister: UInt16;
 
Private function GetDataRate: TADS1115DataRate;
 
Private function GetGainAplifier: TProgramableGainAplifier;
 
Private function GetInputMultiplexer: TADS1115InputMultiplexer;
 
Private function GetMode: TADS1115Mode;
 
Private function GetWorking: Boolean;
 
Private procedure SelectRegister(ARegister: TADS1115Register);

Seleciona um dos registros do ADS1115. Este método funciona escrevendo dois bits no registrador POINTER a fim de informar ao ADS1115 qual registrador será referenciado nas operações de leitura subsequentes. A tabela 6 do datasheet contém os valores possíveis (p. 18). Este método levanta exceções caso, por algum motivo, não seja possível escrever no registrador POINTER.

É possível configurar o registrador POINTER sozinho, em uma operação de escrita exclusiva e posteriormente realizar uma leitura do registrador que ele aponta. Não é necessário configurar este registrador antes de cada leitura porque o estado do registrador é persistido no ADS. Nas operações de escrita, entretanto, é sempre necessário configurar o registrador POINTER, juntamente com os dados que serão escritos, portanto, esta função não pode ser usada em operações de escrita com o intuito de selecionar o registrador onde se quer escrever

Parâmetros
ARegister
Registrador que se quer selecionar
See also
TADS1115Register
Esta enumeração representa registradores disponíves no ADS1115.
Private procedure SetComparatorLatching(ALatchingComparator: TADS1115ComparatorLatching);
 
Private procedure SetComparatorMode(AComparatorMode: TADS1115ComparatorMode);
 
Private procedure SetComparatorPolarity(AComparatorPolarity: TADS1115ComparatorPolarity);
 
Private procedure SetComparatorQueue(AComparatorQueue: TADS1115ComparatorQueue);
 
Private procedure SetConfigField(AFieldIndex: UInt8; ABitsCount: UInt8; AFieldValue: UInt16);

Configura o valor de um dos componentes (campos) do registrador CONFIG

Parâmetros
AFieldIndex
Índice do primeiro bit do campo a ser escrito
ABitsCount
Tamanho do campo a escrever em bits
AFieldValue
Valor a ser escrito no campo
Private procedure SetConfigRegister(AConfigurations: UInt16);

Configura o valor completo do registrador CONFIG

Parâmetros
AConfigurations
Valor completo do registrador a ser gravado
Private procedure SetDataRate(ADataRate: TADS1115DataRate);
 
Private procedure SetGainAplifier(AGainAmplifier: TProgramableGainAplifier);
 
Private procedure SetInputMultiplexer(AInputMultiplexer: TADS1115InputMultiplexer);
 
Private procedure SetMode(AMode: TADS1115Mode);
 

Properties

Public property ComparatorLatching: TADS1115ComparatorLatching read GetComparatorLatching write SetComparatorLatching;
 
Public property ComparatorMode: TADS1115ComparatorMode read GetComparatorMode write SetComparatorMode;
 
Public property ComparatorPolarity: TADS1115ComparatorPolarity read GetComparatorPolarity write SetComparatorPolarity;
 
Public property ComparatorQueue: TADS1115ComparatorQueue read GetComparatorQueue write SetComparatorQueue;
 
Public property DataRate: TADS1115DataRate read GetDataRate write SetDataRate;
 
Public property GainAplifier: TProgramableGainAplifier read GetGainAplifier write SetGainAplifier;
 
Public property InputMultiplexer: TADS1115InputMultiplexer read GetInputMultiplexer write SetInputMultiplexer;
 
Public property Mode: TADS1115Mode read GetMode write SetMode;
 
Public property Working: Boolean read GetWorking;

Utilize esta propriedade para saber se o ADS1115 está realizando uma conversão, neste caso a propriedade retorna true, do contrário, false


Gerado por PasDoc 0.15.0.