diff options
| author | dmlunar <root@lunar.sh> | 2025-01-22 16:47:21 +0200 |
|---|---|---|
| committer | dmlunar <root@lunar.sh> | 2025-10-15 23:42:50 +0200 |
| commit | 729f2a2c3ebfb2612d873caf453a1d7ca02180d9 (patch) | |
| tree | 7bab2fcc0c7f50eab3013348697bc06ddd71d551 /firmware/inc/driver/mcp4725.h | |
| download | varpa-729f2a2c3ebfb2612d873caf453a1d7ca02180d9.tar.gz varpa-729f2a2c3ebfb2612d873caf453a1d7ca02180d9.zip | |
varpa: initial public commit
Diffstat (limited to 'firmware/inc/driver/mcp4725.h')
| -rw-r--r-- | firmware/inc/driver/mcp4725.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/firmware/inc/driver/mcp4725.h b/firmware/inc/driver/mcp4725.h new file mode 100644 index 0000000..06f6281 --- /dev/null +++ b/firmware/inc/driver/mcp4725.h @@ -0,0 +1,48 @@ +/** + * + * Author: Dylan Muller + * Copyright (c) 2025 + * All rights reserved. + * + * - Commercial/IP use prohibited. + * - Attribution required. + * See License.txt + * + */ + +#ifndef MCP4725_H_ +#define MCP4725_H_ + +#define MCP4725_BIT_PD0(x) (x << 4) +#define MCP4725_BIT_PD1(x) (x << 5) + +#define MCP4725_ID_GATE_VOLT 0xB1 +#define MCP4725_ID_DRAIN_VOLT 0xB2 + +#define MCP4725_DEV_0 0 +#define MCP4725_DEV_1 1 + +#define MCP4725_DEV_GATE_VOLT MCP4725_DEV_0 +#define MCP4725_DEV_DRAIN_VOLT MCP4725_DEV_1 + +#define MCP4725_DEV_GATE_VOLT_ADDR 0x60 +#define MCP4725_DEV_DRAIN_VOLT_ADDR 0x61 + +#define MCP4725_DRAIN_GAIN 23 + +void dac_init( + uint16_t init_value +); + +void dac_write( + uint8_t id, + uint16_t value, + uint8_t conv_bypass +); + +uint16_t dac_read( + uint8_t id, + uint8_t conv_bypass +); + +#endif |
