PS_Fgen_FW  4da88f4073c1cc65ea45c3a652a2751e495e50db
Firmware for an Power Supply and Function Generator build from an ATX power supply
Loading...
Searching...
No Matches
Configuration.h
Go to the documentation of this file.
1
7
8#include "version.h"
9
10#ifndef CONFIGURATION_H_
11#define CONFIGURATION_H_
12
13
14#define DEVICE_TIMER_TICK_INTERVAL_MS 100
15#define POWER_SUPPLY_REG_INTERVAL_MS 100
16#define KEY_POLLING_DELAY_MS 250
17#define TOUCH_HANDLING_DELAY_MS 300
18#define SCREEN_REDRAW_DELAY_MS 500
19#define SETTINGS_AUTOSAVE_DELAY_MS 60000
20#define SPLASHSCREEN_DELAY_MS 2000
21
22
23#define SERIAL_BAUDRATE 9600
24#define SCPI_ENABLED
25#define SCPI_INPUT_BUFFER_LENGTH 16
26#define SCPI_ERROR_QUEUE_SIZE 3
27#define SCPI_IDN_MANUFACTURER "Markus Scheich"
28#define SCPI_IDN_MODEL "PS_Fgen"
29#define SCPI_IDN_SERIAL_NUMBER "01"
30#define SCPI_IDN_SOFTWARE_REVISION VERSION
31
32
33#define SPLASHSCREEN_ENABLED
34#define COLOR_BACKGROUND RGB565(0x00, 0x00, 0x00)
35#define COLOR_FOREGROUND RGB565(0x00, 0xF7, 0x00)
36#define COLOR_FOREGROUND_HEADERS RGB565(0xFF, 0xFF, 0xFF)
37#define COLOR_FOCUS_FRAME RGB565(0xFF, 0xFF, 0xFF)
38
39
40#define TOUCH_ENABLED
41#define TOUCH_LONG_DELAY_MS 750
42
43
44#define USERINPUT_QUEUE_LENGTH 16
45
46
47#define PS_SUBSYSTEM_ENABLED
48#define DDS_SUBSYSTEM_ENABLED
49#define MEASURE_SUBSYSTEM_ENABLED
50
51
52#define DDS_TICK_FREQ 15625
53#define DDS_PHASE_ACCU_BITS 32
54#define DDS_QUANTIZER_BITS 8
55#define DDS_DAC_BITS 12
56#define DDS_SAMPLE_MAX ((1 << DDS_DAC_BITS) - 1)
57#define DDS_AMPLITUDE_MAX 20.0f
58
59
60#ifdef PS_SUBSYSTEM_ENABLED
61 #define NUM_PS_CHANNELS 1
62#else
63 #define NUM_PS_CHANNELS 0
64#endif
65
66#ifdef DDS_SUBSYSTEM_ENABLED
67 #define NUM_DDS_CHANNELS 2
68#else
69 #define NUM_DDS_CHANNELS 0
70#endif
71
72#ifdef MEASURE_SUBSYSTEM_ENABLED
73 #define NUM_MEASURE_CHANNELS 2
74#else
75 #define NUM_MEASURE_CHANNELS 0
76#endif
77
78#define NUM_CHANNELS NUM_PS_CHANNELS + NUM_DDS_CHANNELS + NUM_MEASURE_CHANNELS
79
80#define PS_INTERNAL_IMPEDANCE 5.7
81#define PS_MIN_VOLTAGE 0
82#define PS_MAX_VOLTAGE 10
83#define PS_MAX_CURRENT 2
84#define PS_MIN_OVP_LEVEL_PERCENTAGE 50
85#define PS_MAX_OVP_LEVEL_PERCENTAGE 200
86#define PS_MIN_OVP_DELAY (POWER_SUPPLY_REG_INTERVAL_MS / 1000.0f)
87#define PS_MAX_OVP_DELAY 20
88#define PS_MIN_OCP_LEVEL 0
89#define PS_MAX_OCP_LEVEL 3
90#define PS_MIN_OCP_DELAY PS_MIN_OVP_DELAY
91#define PS_MAX_OCP_DELAY PS_MAX_OVP_DELAY
92#define PS_MIN_OPP_LEVEL 0
93#define PS_MAX_OPP_LEVEL (PS_MAX_VOLTAGE * PS_MAX_OCP_LEVEL)
94#define PS_MIN_OPP_DELAY PS_MIN_OVP_DELAY
95#define PS_MAX_OPP_DELAY 65
96
97#define PS_VOLT_PID_P 0.2f
98#define PS_VOLT_PID_I 3.0f
99#define PS_VOLT_PID_D 0
100
101#define DDS_MIN_FREQ 0.001f
102#define DDS_MAX_FREQ 20000
103#define DDS_MIN_AMPLITUDE 0
104#define DDS_MAX_AMPLITUDE 20
105#define DDS_MIN_OFFSET -10
106#define DDS_MAX_OFFSET 10
107//#define DDS_USER_DEFINED_WAVEFORMS_ENABLED /**< Comment this out to disable support for user defined waveforms for both DDS channels */
108
109#endif /* CONFIGURATION_H_ */