Go to the documentation of this file.
38 #include "mikrosdk_version.h"
41 #if mikroSDK_GET_VERSION < 20800ul
42 #include "rcu_delays.h"
48 #include "drv_digital_out.h"
49 #include "drv_digital_in.h"
50 #include "drv_spi_master.h"
64 #define WAVEFORM_MAP_MIKROBUS( cfg, mikrobus ) \
65 cfg.miso = MIKROBUS( mikrobus, MIKROBUS_MISO ); \
66 cfg.mosi = MIKROBUS( mikrobus, MIKROBUS_MOSI ); \
67 cfg.sck = MIKROBUS( mikrobus, MIKROBUS_SCK ); \
68 cfg.cs = MIKROBUS( mikrobus, MIKROBUS_CS ); \
69 cfg.rst = MIKROBUS( mikrobus, MIKROBUS_RST ); \
70 cfg.pwm = MIKROBUS( mikrobus, MIKROBUS_PWM )
78 #define WAVEFORM_ERROR -1
85 #define WAVEFORM_CR_B28_BITMASK 0x2000
86 #define WAVEFORM_CR_HLB_BITMASK 0x1000
87 #define WAVEFORM_CR_FSELECT_BITMASK 0x0800
88 #define WAVEFORM_CR_PSELECT_BITMASK 0x0400
89 #define WAVEFORM_CR_RESET_BITMASK 0x0100
90 #define WAVEFORM_CR_SLEEP1_BITMASK 0x0080
91 #define WAVEFORM_CR_SLEEP12_BITMASK 0x0040
92 #define WAVEFORM_CR_OPBITEN_BITMASK 0x0020
93 #define WAVEFORM_CR_DIV2_BITMASK 0x0008
94 #define WAVEFORM_CR_MODE_BITMASK 0x0002
101 #define WAVEFORM_SINE_OUT 0x01
102 #define WAVEFORM_TRIANGLE_OUT 0x02
103 #define WAVEFORM_SQUARE_OUT 0x03
110 #define WAVEFORM_OSC_FREQUENCY 25000000ul
111 #define WAVEFORM_FREQ_RESOLUTION 0x0FFFFFFFul
257 #endif // _WAVEFORM_H_
void waveform_digipot_dec(waveform_t *ctx)
Decrement function.
void waveform_triangle_output(waveform_t *ctx, uint32_t freq)
Triangle output function.
void waveform_sine_output(waveform_t *ctx, uint32_t freq)
Sinusoide output function.
void waveform_digipot_inc(waveform_t *ctx)
Increment function.
void waveform_square_output(waveform_t *ctx, uint32_t freq)
Square output function.
void waveform_cfg_setup(waveform_cfg_t *cfg)
Config Object Initialization function.
err_t waveform_init(waveform_t *ctx, waveform_cfg_t *cfg)
Initialization function.
void waveform_write_frequency(waveform_t *ctx, uint32_t freq)
Frequency function.
void waveform_write_reg(waveform_t *ctx, uint16_t reg_setting)
Registry function.