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
42
52
66
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