opamp

package
v0.0.0-...-168ccc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 5, 2021 License: BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Overview

Package opamp provides interface to Operational Amplifier (OPAMP).

Peripheral: OPAMP_Periph Operational Amplifier (OPAMP). Instances:

OPAMP   mmap.OPAMP_BASE
OPAMP1  mmap.OPAMP1_BASE
OPAMP2  mmap.OPAMP2_BASE

Registers:

0x00 32  CSR   Control/status register.
0x04 32  OTR   Offset trimming register for normal mode.
0x08 32  LPOTR Offset trimming register for low power mode.

Import:

stm32/o/l476xx/mmap

Peripheral: OPAMP_Common_Periph Operational Amplifier (OPAMP). Instances:

OPAMP12_COMMON  mmap.OPAMP1_BASE

Registers:

0x00 32  CSR OPAMP control/status register, used for bits common to several OPAMP instances.

Import:

stm32/o/l476xx/mmap

Index

Constants

View Source
const (
	OPAMPxENn = 0
	OPALPMn   = 1
	OPAMODEn  = 2
	PGGAINn   = 4
	VMSELn    = 8
	VPSELn    = 10
	CALONn    = 12
	CALSELn   = 13
	USERTRIMn = 14
	CALOUTn   = 15
)
View Source
const (
	TRIMOFFSETNn = 0
	TRIMOFFSETPn = 8
)
View Source
const (
	TRIMLPOFFSETNn = 0
	TRIMLPOFFSETPn = 8
)

Variables

Functions

This section is empty.

Types

type CSR

type CSR uint32
const (
	OPAMPxEN CSR = 0x01 << 0  //+ OPAMP enable.
	OPALPM   CSR = 0x01 << 1  //+ Operational amplifier Low Power Mode.
	OPAMODE  CSR = 0x03 << 2  //+ Operational amplifier PGA mode.
	PGGAIN   CSR = 0x03 << 4  //+ Operational amplifier Programmable amplifier gain value.
	VMSEL    CSR = 0x03 << 8  //+ Inverting input selection.
	VPSEL    CSR = 0x01 << 10 //+ Non inverted input selection.
	CALON    CSR = 0x01 << 12 //+ Calibration mode enable.
	CALSEL   CSR = 0x01 << 13 //+ Calibration selection.
	USERTRIM CSR = 0x01 << 14 //+ User trimming enable.
	CALOUT   CSR = 0x01 << 15 //+ Operational amplifier1 calibration output.
)

func (CSR) Field

func (b CSR) Field(mask CSR) int

func (CSR) J

func (mask CSR) J(v int) CSR

type LPOTR

type LPOTR uint32
const (
	TRIMLPOFFSETN LPOTR = 0x1F << 0 //+ Trim for NMOS differential pairs.
	TRIMLPOFFSETP LPOTR = 0x1F << 8 //+ Trim for PMOS differential pairs.
)

func (LPOTR) Field

func (b LPOTR) Field(mask LPOTR) int

func (LPOTR) J

func (mask LPOTR) J(v int) LPOTR

type OPAMP_Common_Periph

type OPAMP_Common_Periph struct {
	CSR RCSR
}

func (*OPAMP_Common_Periph) BaseAddr

func (p *OPAMP_Common_Periph) BaseAddr() uintptr

type OPAMP_Periph

type OPAMP_Periph struct {
	CSR   RCSR
	OTR   ROTR
	LPOTR RLPOTR
}

func (*OPAMP_Periph) BaseAddr

func (p *OPAMP_Periph) BaseAddr() uintptr

func (*OPAMP_Periph) CALON

func (p *OPAMP_Periph) CALON() RMCSR

func (*OPAMP_Periph) CALOUT

func (p *OPAMP_Periph) CALOUT() RMCSR

func (*OPAMP_Periph) CALSEL

func (p *OPAMP_Periph) CALSEL() RMCSR

func (*OPAMP_Periph) OPALPM

func (p *OPAMP_Periph) OPALPM() RMCSR

func (*OPAMP_Periph) OPAMODE

func (p *OPAMP_Periph) OPAMODE() RMCSR

func (*OPAMP_Periph) OPAMPxEN

func (p *OPAMP_Periph) OPAMPxEN() RMCSR

func (*OPAMP_Periph) PGGAIN

func (p *OPAMP_Periph) PGGAIN() RMCSR

func (*OPAMP_Periph) TRIMLPOFFSETN

func (p *OPAMP_Periph) TRIMLPOFFSETN() RMLPOTR

func (*OPAMP_Periph) TRIMLPOFFSETP

func (p *OPAMP_Periph) TRIMLPOFFSETP() RMLPOTR

func (*OPAMP_Periph) TRIMOFFSETN

func (p *OPAMP_Periph) TRIMOFFSETN() RMOTR

func (*OPAMP_Periph) TRIMOFFSETP

func (p *OPAMP_Periph) TRIMOFFSETP() RMOTR

func (*OPAMP_Periph) USERTRIM

func (p *OPAMP_Periph) USERTRIM() RMCSR

func (*OPAMP_Periph) VMSEL

func (p *OPAMP_Periph) VMSEL() RMCSR

func (*OPAMP_Periph) VPSEL

func (p *OPAMP_Periph) VPSEL() RMCSR

type OTR

type OTR uint32
const (
	TRIMOFFSETN OTR = 0x1F << 0 //+ Trim for NMOS differential pairs.
	TRIMOFFSETP OTR = 0x1F << 8 //+ Trim for PMOS differential pairs.
)

func (OTR) Field

func (b OTR) Field(mask OTR) int

func (OTR) J

func (mask OTR) J(v int) OTR

type RCSR

type RCSR struct{ mmio.U32 }

func (*RCSR) AtomicClearBits

func (r *RCSR) AtomicClearBits(mask CSR)

func (*RCSR) AtomicSetBits

func (r *RCSR) AtomicSetBits(mask CSR)

func (*RCSR) AtomicStoreBits

func (r *RCSR) AtomicStoreBits(mask, b CSR)

func (*RCSR) Bits

func (r *RCSR) Bits(mask CSR) CSR

func (*RCSR) ClearBits

func (r *RCSR) ClearBits(mask CSR)

func (*RCSR) Load

func (r *RCSR) Load() CSR

func (*RCSR) SetBits

func (r *RCSR) SetBits(mask CSR)

func (*RCSR) Store

func (r *RCSR) Store(b CSR)

func (*RCSR) StoreBits

func (r *RCSR) StoreBits(mask, b CSR)

type RLPOTR

type RLPOTR struct{ mmio.U32 }

func (*RLPOTR) AtomicClearBits

func (r *RLPOTR) AtomicClearBits(mask LPOTR)

func (*RLPOTR) AtomicSetBits

func (r *RLPOTR) AtomicSetBits(mask LPOTR)

func (*RLPOTR) AtomicStoreBits

func (r *RLPOTR) AtomicStoreBits(mask, b LPOTR)

func (*RLPOTR) Bits

func (r *RLPOTR) Bits(mask LPOTR) LPOTR

func (*RLPOTR) ClearBits

func (r *RLPOTR) ClearBits(mask LPOTR)

func (*RLPOTR) Load

func (r *RLPOTR) Load() LPOTR

func (*RLPOTR) SetBits

func (r *RLPOTR) SetBits(mask LPOTR)

func (*RLPOTR) Store

func (r *RLPOTR) Store(b LPOTR)

func (*RLPOTR) StoreBits

func (r *RLPOTR) StoreBits(mask, b LPOTR)

type RMCSR

type RMCSR struct{ mmio.UM32 }

func (RMCSR) Load

func (rm RMCSR) Load() CSR

func (RMCSR) Store

func (rm RMCSR) Store(b CSR)

type RMLPOTR

type RMLPOTR struct{ mmio.UM32 }

func (RMLPOTR) Load

func (rm RMLPOTR) Load() LPOTR

func (RMLPOTR) Store

func (rm RMLPOTR) Store(b LPOTR)

type RMOTR

type RMOTR struct{ mmio.UM32 }

func (RMOTR) Load

func (rm RMOTR) Load() OTR

func (RMOTR) Store

func (rm RMOTR) Store(b OTR)

type ROTR

type ROTR struct{ mmio.U32 }

func (*ROTR) AtomicClearBits

func (r *ROTR) AtomicClearBits(mask OTR)

func (*ROTR) AtomicSetBits

func (r *ROTR) AtomicSetBits(mask OTR)

func (*ROTR) AtomicStoreBits

func (r *ROTR) AtomicStoreBits(mask, b OTR)

func (*ROTR) Bits

func (r *ROTR) Bits(mask OTR) OTR

func (*ROTR) ClearBits

func (r *ROTR) ClearBits(mask OTR)

func (*ROTR) Load

func (r *ROTR) Load() OTR

func (*ROTR) SetBits

func (r *ROTR) SetBits(mask OTR)

func (*ROTR) Store

func (r *ROTR) Store(b OTR)

func (*ROTR) StoreBits

func (r *ROTR) StoreBits(mask, b OTR)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL