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

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/l1xx_md/mmap

Index

Constants

View Source
const (
	OPA1PDn     = 0
	S3SEL1n     = 1
	S4SEL1n     = 2
	S5SEL1n     = 3
	S6SEL1n     = 4
	OPA1CAL_Ln  = 5
	OPA1CAL_Hn  = 6
	OPA1LPMn    = 7
	OPA2PDn     = 8
	S3SEL2n     = 9
	S4SEL2n     = 10
	S5SEL2n     = 11
	S6SEL2n     = 12
	OPA2CAL_Ln  = 13
	OPA2CAL_Hn  = 14
	OPA2LPMn    = 15
	OPA3PDn     = 16
	S3SEL3n     = 17
	S4SEL3n     = 18
	S5SEL3n     = 19
	S6SEL3n     = 20
	OPA3CAL_Ln  = 21
	OPA3CAL_Hn  = 22
	OPA3LPMn    = 23
	ANAWSEL1n   = 24
	ANAWSEL2n   = 25
	ANAWSEL3n   = 26
	S7SEL2n     = 27
	AOP_RANGEn  = 28
	OPA1CALOUTn = 29
	OPA2CALOUTn = 30
	OPA3CALOUTn = 31
)
View Source
const (
	AO1_OPT_OFFSET_TRIMn = 0
	AO2_OPT_OFFSET_TRIMn = 10
	AO3_OPT_OFFSET_TRIMn = 20
	OT_USERn             = 31
)

Variables

Functions

This section is empty.

Types

type CSR

type CSR uint32
const (
	OPA1PD     CSR = 0x01 << 0  //+ OPAMP1 disable.
	S3SEL1     CSR = 0x01 << 1  //+ Switch 3 for OPAMP1 Enable.
	S4SEL1     CSR = 0x01 << 2  //+ Switch 4 for OPAMP1 Enable.
	S5SEL1     CSR = 0x01 << 3  //+ Switch 5 for OPAMP1 Enable.
	S6SEL1     CSR = 0x01 << 4  //+ Switch 6 for OPAMP1 Enable.
	OPA1CAL_L  CSR = 0x01 << 5  //+ OPAMP1 Offset calibration for P differential pair.
	OPA1CAL_H  CSR = 0x01 << 6  //+ OPAMP1 Offset calibration for N differential pair.
	OPA1LPM    CSR = 0x01 << 7  //+ OPAMP1 Low power enable.
	OPA2PD     CSR = 0x01 << 8  //+ OPAMP2 disable.
	S3SEL2     CSR = 0x01 << 9  //+ Switch 3 for OPAMP2 Enable.
	S4SEL2     CSR = 0x01 << 10 //+ Switch 4 for OPAMP2 Enable.
	S5SEL2     CSR = 0x01 << 11 //+ Switch 5 for OPAMP2 Enable.
	S6SEL2     CSR = 0x01 << 12 //+ Switch 6 for OPAMP2 Enable.
	OPA2CAL_L  CSR = 0x01 << 13 //+ OPAMP2 Offset calibration for P differential pair.
	OPA2CAL_H  CSR = 0x01 << 14 //+ OPAMP2 Offset calibration for N differential pair.
	OPA2LPM    CSR = 0x01 << 15 //+ OPAMP2 Low power enable.
	OPA3PD     CSR = 0x01 << 16 //+ OPAMP3 disable.
	S3SEL3     CSR = 0x01 << 17 //+ Switch 3 for OPAMP3 Enable.
	S4SEL3     CSR = 0x01 << 18 //+ Switch 4 for OPAMP3 Enable.
	S5SEL3     CSR = 0x01 << 19 //+ Switch 5 for OPAMP3 Enable.
	S6SEL3     CSR = 0x01 << 20 //+ Switch 6 for OPAMP3 Enable.
	OPA3CAL_L  CSR = 0x01 << 21 //+ OPAMP3 Offset calibration for P differential pair.
	OPA3CAL_H  CSR = 0x01 << 22 //+ OPAMP3 Offset calibration for N differential pair.
	OPA3LPM    CSR = 0x01 << 23 //+ OPAMP3 Low power enable.
	ANAWSEL1   CSR = 0x01 << 24 //+ Switch ANA Enable for OPAMP1.
	ANAWSEL2   CSR = 0x01 << 25 //+ Switch ANA Enable for OPAMP2.
	ANAWSEL3   CSR = 0x01 << 26 //+ Switch ANA Enable for OPAMP3.
	S7SEL2     CSR = 0x01 << 27 //+ Switch 7 for OPAMP2 Enable.
	AOP_RANGE  CSR = 0x01 << 28 //+ Power range selection.
	OPA1CALOUT CSR = 0x01 << 29 //+ OPAMP1 calibration output.
	OPA2CALOUT CSR = 0x01 << 30 //+ OPAMP2 calibration output.
	OPA3CALOUT CSR = 0x01 << 31 //+ OPAMP3 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

func (LPOTR) Field

func (b LPOTR) Field(mask LPOTR) int

func (LPOTR) J

func (mask LPOTR) J(v int) LPOTR

type OPAMP_Periph

type OPAMP_Periph struct {
	CSR   RCSR
	OTR   ROTR
	LPOTR RLPOTR
}

func (*OPAMP_Periph) ANAWSEL1

func (p *OPAMP_Periph) ANAWSEL1() RMCSR

func (*OPAMP_Periph) ANAWSEL2

func (p *OPAMP_Periph) ANAWSEL2() RMCSR

func (*OPAMP_Periph) ANAWSEL3

func (p *OPAMP_Periph) ANAWSEL3() RMCSR

func (*OPAMP_Periph) AO1_OPT_OFFSET_TRIM

func (p *OPAMP_Periph) AO1_OPT_OFFSET_TRIM() RMOTR

func (*OPAMP_Periph) AO2_OPT_OFFSET_TRIM

func (p *OPAMP_Periph) AO2_OPT_OFFSET_TRIM() RMOTR

func (*OPAMP_Periph) AO3_OPT_OFFSET_TRIM

func (p *OPAMP_Periph) AO3_OPT_OFFSET_TRIM() RMOTR

func (*OPAMP_Periph) AOP_RANGE

func (p *OPAMP_Periph) AOP_RANGE() RMCSR

func (*OPAMP_Periph) BaseAddr

func (p *OPAMP_Periph) BaseAddr() uintptr

func (*OPAMP_Periph) OPA1CALOUT

func (p *OPAMP_Periph) OPA1CALOUT() RMCSR

func (*OPAMP_Periph) OPA1CAL_H

func (p *OPAMP_Periph) OPA1CAL_H() RMCSR

func (*OPAMP_Periph) OPA1CAL_L

func (p *OPAMP_Periph) OPA1CAL_L() RMCSR

func (*OPAMP_Periph) OPA1LPM

func (p *OPAMP_Periph) OPA1LPM() RMCSR

func (*OPAMP_Periph) OPA1PD

func (p *OPAMP_Periph) OPA1PD() RMCSR

func (*OPAMP_Periph) OPA2CALOUT

func (p *OPAMP_Periph) OPA2CALOUT() RMCSR

func (*OPAMP_Periph) OPA2CAL_H

func (p *OPAMP_Periph) OPA2CAL_H() RMCSR

func (*OPAMP_Periph) OPA2CAL_L

func (p *OPAMP_Periph) OPA2CAL_L() RMCSR

func (*OPAMP_Periph) OPA2LPM

func (p *OPAMP_Periph) OPA2LPM() RMCSR

func (*OPAMP_Periph) OPA2PD

func (p *OPAMP_Periph) OPA2PD() RMCSR

func (*OPAMP_Periph) OPA3CALOUT

func (p *OPAMP_Periph) OPA3CALOUT() RMCSR

func (*OPAMP_Periph) OPA3CAL_H

func (p *OPAMP_Periph) OPA3CAL_H() RMCSR

func (*OPAMP_Periph) OPA3CAL_L

func (p *OPAMP_Periph) OPA3CAL_L() RMCSR

func (*OPAMP_Periph) OPA3LPM

func (p *OPAMP_Periph) OPA3LPM() RMCSR

func (*OPAMP_Periph) OPA3PD

func (p *OPAMP_Periph) OPA3PD() RMCSR

func (*OPAMP_Periph) OT_USER

func (p *OPAMP_Periph) OT_USER() RMOTR

func (*OPAMP_Periph) S3SEL1

func (p *OPAMP_Periph) S3SEL1() RMCSR

func (*OPAMP_Periph) S3SEL2

func (p *OPAMP_Periph) S3SEL2() RMCSR

func (*OPAMP_Periph) S3SEL3

func (p *OPAMP_Periph) S3SEL3() RMCSR

func (*OPAMP_Periph) S4SEL1

func (p *OPAMP_Periph) S4SEL1() RMCSR

func (*OPAMP_Periph) S4SEL2

func (p *OPAMP_Periph) S4SEL2() RMCSR

func (*OPAMP_Periph) S4SEL3

func (p *OPAMP_Periph) S4SEL3() RMCSR

func (*OPAMP_Periph) S5SEL1

func (p *OPAMP_Periph) S5SEL1() RMCSR

func (*OPAMP_Periph) S5SEL2

func (p *OPAMP_Periph) S5SEL2() RMCSR

func (*OPAMP_Periph) S5SEL3

func (p *OPAMP_Periph) S5SEL3() RMCSR

func (*OPAMP_Periph) S6SEL1

func (p *OPAMP_Periph) S6SEL1() RMCSR

func (*OPAMP_Periph) S6SEL2

func (p *OPAMP_Periph) S6SEL2() RMCSR

func (*OPAMP_Periph) S6SEL3

func (p *OPAMP_Periph) S6SEL3() RMCSR

func (*OPAMP_Periph) S7SEL2

func (p *OPAMP_Periph) S7SEL2() RMCSR

type OTR

type OTR uint32
const (
	AO1_OPT_OFFSET_TRIM OTR = 0x3FF << 0  //+ Offset trim for OPAMP1.
	AO2_OPT_OFFSET_TRIM OTR = 0x3FF << 10 //+ Offset trim for OPAMP2.
	AO3_OPT_OFFSET_TRIM OTR = 0x3FF << 20 //+ Offset trim for OPAMP2.
	OT_USER             OTR = 0x01 << 31  //+ Switch to OPAMP offset user trimmed values.
)

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