Digilog Console Firmware
Loading...
Searching...
No Matches
mcp_regs.h
Go to the documentation of this file.
1
34#ifndef MCP_REGS_H
35#define MCP_REGS_H
36#include <stdint.h>
37
38
39/*=============================== MCP23017 ================================*/
40
41#define MCP_IODIRA 0x00
42#define MCP_IODIRB 0x01
43#define MCP_IPOLA 0x02
44#define MCP_IPOLB 0x03
45#define MCP_GPINTENA 0x04
46#define MCP_GPINTENB 0x05
47#define MCP_DEFVALA 0x06
48#define MCP_DEFVALB 0x07
49#define MCP_INTCONA 0x08
50#define MCP_INTCONB 0x09
51#define MCP_IOCONA 0x0A
52#define MCP_IOCONB 0x0B
53#define MCP_GPPUA 0x0C
54#define MCP_GPPUB 0x0D
55#define MCP_INTFA 0x0E
56#define MCP_INTFB 0x0F
57#define MCP_INTCAPA 0x10
58#define MCP_INTCAPB 0x11
59#define MCP_GPIOA 0x12
60#define MCP_GPIOB 0x13
61#define MCP_OLATA 0x14
62#define MCP_OLATB 0x15
63
64// Input/Output Control (IOCON) control macros
65#define IOCON_BANK 0x80
66#define IOCON_MIRROR 0x40
67#define IOCON_SEQOP 0x20
68#define IOCON_DISSLW 0x10
69#define IOCON_HAEN 0x08
70#define IOCON_ODR 0x04
71#define IOCON_INTPOL 0x02
72
73#define MCP_POR_IODIR 0xFF
74#define MCP_POR_OTHER 0x00
75
76
77/*=============================== MCP4728 ================================*/
78
79#define DAC_CMD_FAST 0x00
80#define DAC_CMD_MULTIWRITE 0x40
81#define DAC_CMD_SEQWRITE 0x50
82#define DAC_CMD_SINGLEWRITE 0x58
83#define DAC_CMD_ADDRBITS 0x60
84#define DAC_CMD_WRITE_VREF 0x80
85#define DAC_CMD_WRITE_PD 0xA0
86#define DAC_CMD_WRITE_GAIN 0xC0
87
88#define DAC_FAST_HI(v12) ((uint8_t)(((v12) >> 8) & 0x0F))
89#define DAC_FAST_LO(v12) ((uint8_t)((v12) & 0xFF))
90
91#define DAC_VREF_VDD 0
92#define DAC_VREF_INTERNAL 1 // 2.048V
93#define DAC_GAIN_X1 0
94#define DAC_GAIN_X2 1 // 4.096V
95
96#define DAC_PD_NORMAL 0
97#define DAC_PD_1K 1 // 1kR to gnd
98#define DAC_PD_100K 2
99#define DAC_PD_500K 3
100
101#define DAC_GC_ADDR 0x00
102#define DAC_GC_RESET 0x06
103#define DAC_GC_WAKEUP 0x09
104#define DAC_GC_SWUPDATE 0x08
105#define DAC_GC_READ_ADDR 0x0C
106
107#define MCP23017_BASE 0x20
108#define MCP4728_BASE 0x60
109
110#endif