Go to the documentation of this file.
35 #include "mikrosdk_version.h"
38 #if mikroSDK_GET_VERSION < 20800ul
39 #include "rcu_delays.h"
45 #include "drv_digital_out.h"
46 #include "drv_digital_in.h"
47 #include "drv_spi_master.h"
70 #define WAVEFORM4_REG_SPI_CONFIG 0x0000
71 #define WAVEFORM4_REG_POWER_CONFIG 0x0001
72 #define WAVEFORM4_REG_CLOCK_CONFIG 0x0002
73 #define WAVEFORM4_REG_REF_ADJ 0x0003
74 #define WAVEFORM4_REG_DAC4_AGAIN 0x0004
75 #define WAVEFORM4_REG_DAC3_AGAIN 0x0005
76 #define WAVEFORM4_REG_DAC2_AGAIN 0x0006
77 #define WAVEFORM4_REG_DAC1_AGAIN 0x0007
78 #define WAVEFORM4_REG_DACX_RANGE 0x0008
79 #define WAVEFORM4_REG_DAC4_RSET 0x0009
80 #define WAVEFORM4_REG_DAC3_RSET 0x000A
81 #define WAVEFORM4_REG_DAC2_RSET 0x000B
82 #define WAVEFORM4_REG_DAC1_RSET 0x000C
83 #define WAVEFORM4_REG_CAL_CONFIG 0x000D
84 #define WAVEFORM4_REG_COMP_OFFSET 0x000E
85 #define WAVEFORM4_REG_RAM_UPDATE 0x001D
86 #define WAVEFORM4_REG_PAT_STATUS 0x001E
87 #define WAVEFORM4_REG_PAT_TYPE 0x001F
88 #define WAVEFORM4_REG_PATTERN_DLY 0x0020
89 #define WAVEFORM4_REG_DAC4_DOF 0x0022
90 #define WAVEFORM4_REG_DAC3_DOF 0x0023
91 #define WAVEFORM4_REG_DAC2_DOF 0x0024
92 #define WAVEFORM4_REG_DAC1_DOF 0x0025
93 #define WAVEFORM4_REG_WAV43_CONFIG 0x0026
94 #define WAVEFORM4_REG_WAV21_CONFIG 0x0027
95 #define WAVEFORM4_REG_PAT_TIMEBASE 0x0028
96 #define WAVEFORM4_REG_PAT_PERIOD 0x0029
97 #define WAVEFORM4_REG_DAC43_PATX 0x002A
98 #define WAVEFORM4_REG_DAC21_PATX 0x002B
99 #define WAVEFORM4_REG_DOUT_START_DLY 0x002C
100 #define WAVEFORM4_REG_DOUT_CONFIG 0x002D
101 #define WAVEFORM4_REG_DAC4_CST 0x002E
102 #define WAVEFORM4_REG_DAC3_CST 0x002F
103 #define WAVEFORM4_REG_DAC2_CST 0x0030
104 #define WAVEFORM4_REG_DAC1_CST 0x0031
105 #define WAVEFORM4_REG_DAC4_DGAIN 0x0032
106 #define WAVEFORM4_REG_DAC3_DGAIN 0x0033
107 #define WAVEFORM4_REG_DAC2_DGAIN 0x0034
108 #define WAVEFORM4_REG_DAC1_DGAIN 0x0035
109 #define WAVEFORM4_REG_SAW43_CONFIG 0x0036
110 #define WAVEFORM4_REG_SAW21_CONFIG 0x0037
111 #define WAVEFORM4_REG_DDS_TW32 0x003E
112 #define WAVEFORM4_REG_DDS_TW1 0x003F
113 #define WAVEFORM4_REG_DDS4_PW 0x0040
114 #define WAVEFORM4_REG_DDS3_PW 0x0041
115 #define WAVEFORM4_REG_DDS2_PW 0x0042
116 #define WAVEFORM4_REG_DDS1_PW 0x0043
117 #define WAVEFORM4_REG_TRIG_TW_SEL 0x0044
118 #define WAVEFORM4_REG_DDSX_CONFIG 0x0045
119 #define WAVEFORM4_REG_TW_RAM_CONFIG 0x0047
120 #define WAVEFORM4_REG_START_DLY4 0x0050
121 #define WAVEFORM4_REG_START_ADDR4 0x0051
122 #define WAVEFORM4_REG_STOP_ADDR4 0x0052
123 #define WAVEFORM4_REG_DDS_CYC4 0x0053
124 #define WAVEFORM4_REG_START_DLY3 0x0054
125 #define WAVEFORM4_REG_START_ADDR3 0x0055
126 #define WAVEFORM4_REG_STOP_ADDR3 0x0056
127 #define WAVEFORM4_REG_DDS_CYC3 0x0057
128 #define WAVEFORM4_REG_START_DLY2 0x0058
129 #define WAVEFORM4_REG_START_ADDR2 0x0059
130 #define WAVEFORM4_REG_STOP_ADDR2 0x005A
131 #define WAVEFORM4_REG_DDS_CYC2 0x005B
132 #define WAVEFORM4_REG_START_DLY1 0x005C
133 #define WAVEFORM4_REG_START_ADDR1 0x005D
134 #define WAVEFORM4_REG_STOP_ADDR1 0x005E
135 #define WAVEFORM4_REG_DDS_CYC1 0x005F
136 #define WAVEFORM4_REG_CFG_ERROR 0x0060
137 #define WAVEFORM4_SRAM_ADDRESS_MIN 0x6000
138 #define WAVEFORM4_SRAM_ADDRESS_MAX 0x6FFF
156 #define WAVEFORM4_WAV_CFG_PRESTORE_CST 0x00
157 #define WAVEFORM4_WAV_CFG_PRESTORE_SAWTOOTH 0x10
158 #define WAVEFORM4_WAV_CFG_PRESTORE_PSEUDO 0x20
159 #define WAVEFORM4_WAV_CFG_PRESTORE_DDS 0x30
160 #define WAVEFORM4_WAV_CFG_WAVE_FROM_RAM 0x00
161 #define WAVEFORM4_WAV_CFG_WAVE_PRESTORED 0x01
162 #define WAVEFORM4_WAV_CFG_WAVE_PRESTORED_DELAY 0x02
163 #define WAVEFORM4_WAV_CFG_WAVE_PRESTORED_RAM 0x03
164 #define WAVEFORM4_DDSX_CFG_ENABLE_COSINE 0x08
165 #define WAVEFORM4_SAW_CFG_RAMP_UP 0x00
166 #define WAVEFORM4_SAW_CFG_RAMP_DOWN 0x01
167 #define WAVEFORM4_SAW_CFG_TRIANGLE 0x02
168 #define WAVEFORM4_SAW_CFG_NO_WAVE 0x03
169 #define WAVEFORM4_SAW_CFG_STEP_1 0x04
175 #define WAVEFORM4_DEFAULT_GAIN 0.5
176 #define WAVEFORM4_DEFAULT_FREQUENCY 100000
182 #define WAVEFORM4_UPDATE_SETTINGS 0x01
183 #define WAVEFORM4_MEM_ACCESS_ENABLE 0x04
184 #define WAVEFORM4_MEM_ACCESS_DISABLE 0x00
185 #define WAVEFORM4_BUF_READ 0x08
186 #define WAVEFORM4_START_PATTERN 0x01
187 #define WAVEFORM4_STOP_PATTERN 0x00
193 #define WAVEFORM4_CHANNEL_1 0x00
194 #define WAVEFORM4_CHANNEL_2 0x01
195 #define WAVEFORM4_CHANNEL_3 0x02
196 #define WAVEFORM4_CHANNEL_4 0x03
202 #define WAVEFORM4_WAVE_SINE 0x00
203 #define WAVEFORM4_WAVE_COSINE 0x01
204 #define WAVEFORM4_WAVE_TRIANGLE 0x02
205 #define WAVEFORM4_WAVE_POSITIVE_SAWTOOTH 0x03
206 #define WAVEFORM4_WAVE_NEGATIVE_SAWTOOTH 0x04
212 #define WAVEFORM4_GAIN_MAX 2.0
213 #define WAVEFORM4_GAIN_MIN (-2.0)
214 #define WAVEFORM4_GAIN_RESOLUTION 1024
220 #define WAVEFORM4_MASTER_CLOCK 125000000
221 #define WAVEFORM4_FREQ_RESOLUTION 0x1000000
227 #define WAVEFORM4_SPI_READ_MASK 0x80
228 #define WAVEFORM4_SPI_WRITE_MASK 0x7F
238 #define WAVEFORM4_SET_DATA_SAMPLE_EDGE SET_SPI_DATA_SAMPLE_EDGE
239 #define WAVEFORM4_SET_DATA_SAMPLE_MIDDLE SET_SPI_DATA_SAMPLE_MIDDLE
257 #define WAVEFORM4_MAP_MIKROBUS( cfg, mikrobus ) \
258 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
259 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
260 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
261 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
262 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
263 cfg.trg = MIKROBUS( mikrobus, MIKROBUS_PWM );
590 #endif // WAVEFORM4_H
uint32_t freq
Definition: main.c:34
float gain
Definition: main.c:35
This file contains SPI specific macros, functions, etc.
uint8_t channel
Definition: main.c:36
uint8_t wave
Definition: main.c:37