Midnight Sun Firmware
Loading...
Searching...
No Matches
opamp.h
1#pragma once
2
3/************************************************************************************************
4 * @file opamp.h
5 *
6 * @brief OPAMP Library Header - Internal Op-Amp Driver for STM32L433
7 *
8 * @date 2025-01-30
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13#include <stdbool.h>
14#include <stdint.h>
15
16/* Inter-component Headers */
17
18/* Intra-component Headers */
19#include "status.h"
20
30typedef enum {
31 OPAMP_1 = 0,
32 NUM_OPAMP_INSTANCES
34
38typedef enum {
42
46typedef enum {
52
56typedef enum {
66
70typedef struct {
76
83
94
103
112
StatusCode opamp_stop(OpampInstance instance)
Stop an OPAMP instance (disable output)
Definition: opamp.c:234
OpampInstance
OPAMP instance identifiers.
Definition: opamp.h:30
OpampInvertingInput
OPAMP inverting input selection (VINM)
Definition: opamp.h:46
OpampProgrammableGain
OPAMP PGA gain configuration (when using PGA mode)
Definition: opamp.h:56
OpampNonInvertingInput
OPAMP non-inverting input selection (VINP)
Definition: opamp.h:38
StatusCode opamp_configure(OpampInstance instance, OpampConfig *config)
Configure and start an OPAMP instance.
Definition: opamp.c:143
StatusCode opamp_init(void)
Initialize the OPAMP peripheral.
Definition: opamp.c:118
StatusCode opamp_start(OpampInstance instance)
Start an OPAMP instance (enable output)
Definition: opamp.c:203
@ OPAMP_1
Definition: opamp.h:31
@ OPAMP_INVERTING_FOLLOWER
Definition: opamp.h:50
@ OPAMP_INVERTING_IO0
Definition: opamp.h:47
@ OPAMP_INVERTING_IO1
Definition: opamp.h:48
@ OPAMP_INVERTING_PGA
Definition: opamp.h:49
@ OPAMP_PROGRAMMABLE_GAIN_16_INVERTING
Definition: opamp.h:64
@ OPAMP_PROGRAMMABLE_GAIN_16
Definition: opamp.h:60
@ OPAMP_PROGRAMMABLE_GAIN_8_INVERTING
Definition: opamp.h:63
@ OPAMP_PROGRAMMABLE_GAIN_2
Definition: opamp.h:57
@ OPAMP_PROGRAMMABLE_GAIN_4_INVERTING
Definition: opamp.h:62
@ OPAMP_PROGRAMMABLE_GAIN_8
Definition: opamp.h:59
@ OPAMP_PROGRAMMABLE_GAIN_2_INVERTING
Definition: opamp.h:61
@ OPAMP_PROGRAMMABLE_GAIN_4
Definition: opamp.h:58
@ OPAMP_NONINVERTING_DAC
Definition: opamp.h:40
@ OPAMP_NONINVERTING_IO0
Definition: opamp.h:39
StatusCode
StatusCodes for various errors.
Definition: status.h:27
OPAMP configuration structure.
Definition: opamp.h:70
OpampInvertingInput vinm_sel
Definition: opamp.h:72
OpampNonInvertingInput vinp_sel
Definition: opamp.h:71
OpampProgrammableGain pga_gain
Definition: opamp.h:73
bool output_to_adc
Definition: opamp.h:74