Midnight Sun Firmware
Loading...
Searching...
No Matches
OpAmp

OpAmp library. More...

Classes

struct  OpampConfig
 OPAMP configuration structure. More...
 

Enumerations

enum  OpampInstance { OPAMP_1 = 0 , NUM_OPAMP_INSTANCES }
 OPAMP instance identifiers. More...
 
enum  OpampNonInvertingInput { OPAMP_NONINVERTING_IO0 = 0 , OPAMP_NONINVERTING_DAC }
 OPAMP non-inverting input selection (VINP) More...
 
enum  OpampInvertingInput { OPAMP_INVERTING_IO0 = 0 , OPAMP_INVERTING_IO1 , OPAMP_INVERTING_PGA , OPAMP_INVERTING_FOLLOWER }
 OPAMP inverting input selection (VINM) More...
 
enum  OpampProgrammableGain {
  OPAMP_PROGRAMMABLE_GAIN_2 = 0 , OPAMP_PROGRAMMABLE_GAIN_4 , OPAMP_PROGRAMMABLE_GAIN_8 , OPAMP_PROGRAMMABLE_GAIN_16 ,
  OPAMP_PROGRAMMABLE_GAIN_2_INVERTING , OPAMP_PROGRAMMABLE_GAIN_4_INVERTING , OPAMP_PROGRAMMABLE_GAIN_8_INVERTING , OPAMP_PROGRAMMABLE_GAIN_16_INVERTING
}
 OPAMP PGA gain configuration (when using PGA mode) More...
 

Functions

StatusCode opamp_init (void)
 Initialize the OPAMP peripheral. More...
 
StatusCode opamp_configure (OpampInstance instance, OpampConfig *config)
 Configure and start an OPAMP instance. More...
 
StatusCode opamp_start (OpampInstance instance)
 Start an OPAMP instance (enable output) More...
 
StatusCode opamp_stop (OpampInstance instance)
 Stop an OPAMP instance (disable output) More...
 

Detailed Description

OpAmp library.

Enumeration Type Documentation

◆ OpampInstance

OPAMP instance identifiers.

Enumerator
OPAMP_1 

OPAMP1 - PA1 (VINP), PA3 (VOUT), Internal VINM options

◆ OpampInvertingInput

OPAMP inverting input selection (VINM)

Enumerator
OPAMP_INVERTING_IO0 

PA0 for OPAMP1 - External feedback

OPAMP_INVERTING_IO1 

PC5 for OPAMP1 - External feedback

OPAMP_INVERTING_PGA 

PGA mode with internal resistors

OPAMP_INVERTING_FOLLOWER 

Follower mode (VINM connected to VOUT internally)

◆ OpampNonInvertingInput

OPAMP non-inverting input selection (VINP)

Enumerator
OPAMP_NONINVERTING_IO0 

PA1 for OPAMP1

OPAMP_NONINVERTING_DAC 

DAC channel output (internal)

◆ OpampProgrammableGain

OPAMP PGA gain configuration (when using PGA mode)

Enumerator
OPAMP_PROGRAMMABLE_GAIN_2 

Gain = 2 (Non-inverting gain)

OPAMP_PROGRAMMABLE_GAIN_4 

Gain = 4

OPAMP_PROGRAMMABLE_GAIN_8 

Gain = 8

OPAMP_PROGRAMMABLE_GAIN_16 

Gain = 16

OPAMP_PROGRAMMABLE_GAIN_2_INVERTING 

Gain = -1 (Inverting with external R)

OPAMP_PROGRAMMABLE_GAIN_4_INVERTING 

Gain = -3 (Inverting with external R)

OPAMP_PROGRAMMABLE_GAIN_8_INVERTING 

Gain = -7 (Inverting with external R)

OPAMP_PROGRAMMABLE_GAIN_16_INVERTING 

Gain = -15 (Inverting with external R)

Function Documentation

◆ opamp_configure()

StatusCode opamp_configure ( OpampInstance  instance,
OpampConfig config 
)

Configure and start an OPAMP instance.

Parameters
instanceOPAMP instance to configure
configPointer to configuration structure
Returns
STATUS_CODE_OK if successful STATUS_CODE_INVALID_ARGS if parameters are invalid STATUS_CODE_UNINITIALIZED if OPAMP not initialized STATUS_CODE_INTERNAL_ERROR if HAL operation fails

◆ opamp_init()

StatusCode opamp_init ( void  )

Initialize the OPAMP peripheral.

Returns
STATUS_CODE_OK if successful STATUS_CODE_INVALID_ARGS if already initialized

◆ opamp_start()

StatusCode opamp_start ( OpampInstance  instance)

Start an OPAMP instance (enable output)

Parameters
instanceOPAMP instance to start
Returns
STATUS_CODE_OK if successful STATUS_CODE_INVALID_ARGS if instance is invalid STATUS_CODE_UNINITIALIZED if OPAMP not initialized or not configured

◆ opamp_stop()

StatusCode opamp_stop ( OpampInstance  instance)

Stop an OPAMP instance (disable output)

Parameters
instanceOPAMP instance to stop
Returns
STATUS_CODE_OK if successful STATUS_CODE_INVALID_ARGS if instance is invalid STATUS_CODE_UNINITIALIZED if OPAMP not initialized