HF-Core Platform
0.1.0-dev
Hardware-Agnostic Handler Layer & RTOS Utilities for HardFOC
Loading...
Searching...
No Matches
esp32_test_config.hpp
Go to the documentation of this file.
1
17
#pragma once
18
19
#include <cstdint>
20
21
// ═══════════════════════════════════════════════════════════════════════════
22
// I2C BUS CONFIGURATION
23
// ═══════════════════════════════════════════════════════════════════════════
24
25
#ifndef PIN_I2C_SDA
26
#define PIN_I2C_SDA 8
27
#endif
28
#ifndef PIN_I2C_SCL
29
#define PIN_I2C_SCL 9
30
#endif
31
#ifndef I2C_PORT_NUM
32
#define I2C_PORT_NUM 0
33
#endif
34
#ifndef I2C_CLOCK_HZ
35
#define I2C_CLOCK_HZ 400000
// 400 kHz (Fast Mode)
36
#endif
37
38
// ═══════════════════════════════════════════════════════════════════════════
39
// SPI BUS CONFIGURATION
40
// ═══════════════════════════════════════════════════════════════════════════
41
42
#ifndef PIN_SPI_MOSI
43
#define PIN_SPI_MOSI 11
44
#endif
45
#ifndef PIN_SPI_MISO
46
#define PIN_SPI_MISO 13
47
#endif
48
#ifndef PIN_SPI_SCLK
49
#define PIN_SPI_SCLK 12
50
#endif
51
#ifndef SPI_HOST_ID
52
#define SPI_HOST_ID 1
// SPI2_HOST on ESP32-S3
53
#endif
54
55
// ═══════════════════════════════════════════════════════════════════════════
56
// AS5047U ENCODER (SPI)
57
// ═══════════════════════════════════════════════════════════════════════════
58
59
#ifndef PIN_AS5047U_CS
60
#define PIN_AS5047U_CS 10
61
#endif
62
#ifndef AS5047U_SPI_CLOCK_HZ
63
#define AS5047U_SPI_CLOCK_HZ 1000000
// 1 MHz
64
#endif
65
66
// ═══════════════════════════════════════════════════════════════════════════
67
// BNO08x IMU (I2C)
68
// ═══════════════════════════════════════════════════════════════════════════
69
70
#ifndef BNO08X_I2C_ADDR
71
#define BNO08X_I2C_ADDR 0x4A
// 0x4A (SA0=LOW) or 0x4B (SA0=HIGH)
72
#endif
73
#ifndef PIN_BNO08X_INT
74
#define PIN_BNO08X_INT 4
75
#endif
76
#ifndef PIN_BNO08X_RST
77
#define PIN_BNO08X_RST 5
78
#endif
79
80
// ═══════════════════════════════════════════════════════════════════════════
81
// PCA9685 PWM CONTROLLER (I2C)
82
// ═══════════════════════════════════════════════════════════════════════════
83
84
#ifndef PCA9685_I2C_ADDR
85
#define PCA9685_I2C_ADDR 0x40
// Default (all address pins LOW)
86
#endif
87
88
// ═══════════════════════════════════════════════════════════════════════════
89
// PCAL95555 GPIO EXPANDER (I2C)
90
// ═══════════════════════════════════════════════════════════════════════════
91
92
#ifndef PCAL95555_I2C_ADDR
93
#define PCAL95555_I2C_ADDR 0x20
// Default (A0=A1=A2=LOW)
94
#endif
95
#ifndef PIN_PCAL95555_INT
96
#define PIN_PCAL95555_INT 6
// Interrupt output (active-low, optional)
97
#endif
98
99
// ═══════════════════════════════════════════════════════════════════════════
100
// NTC THERMISTOR (ADC)
101
// ═══════════════════════════════════════════════════════════════════════════
102
103
#ifndef NTC_ADC_CHANNEL
104
#define NTC_ADC_CHANNEL 0
// ADC1_CH0
105
#endif
106
#ifndef NTC_ADC_UNIT
107
#define NTC_ADC_UNIT 0
// ADC_UNIT_1
108
#endif
109
110
// ═══════════════════════════════════════════════════════════════════════════
111
// TMC9660 MOTOR CONTROLLER (SPI)
112
// ═══════════════════════════════════════════════════════════════════════════
113
114
#ifndef PIN_TMC9660_CS
115
#define PIN_TMC9660_CS 15
116
#endif
117
#ifndef PIN_TMC9660_RST
118
#define PIN_TMC9660_RST 16
119
#endif
120
#ifndef PIN_TMC9660_DRV_EN
121
#define PIN_TMC9660_DRV_EN 17
122
#endif
123
#ifndef PIN_TMC9660_FAULTN
124
#define PIN_TMC9660_FAULTN 18
125
#endif
126
#ifndef PIN_TMC9660_WAKE
127
#define PIN_TMC9660_WAKE 21
128
#endif
129
#ifndef TMC9660_DEVICE_ADDR
130
#define TMC9660_DEVICE_ADDR 1
131
#endif
132
#ifndef TMC9660_SPI_CLOCK_HZ
133
#define TMC9660_SPI_CLOCK_HZ 4000000
// 4 MHz
134
#endif
135
136
// ═══════════════════════════════════════════════════════════════════════════
137
// TMC5160 STEPPER MOTOR DRIVER (SPI)
138
// ═══════════════════════════════════════════════════════════════════════════
139
140
#ifndef PIN_TMC5160_CS
141
#define PIN_TMC5160_CS 37
142
#endif
143
#ifndef PIN_TMC5160_DRV_ENN
144
#define PIN_TMC5160_DRV_ENN 38
145
#endif
146
#ifndef PIN_TMC5160_DIAG0
147
#define PIN_TMC5160_DIAG0 39
148
#endif
149
#ifndef PIN_TMC5160_DIAG1
150
#define PIN_TMC5160_DIAG1 40
151
#endif
152
#ifndef TMC5160_SPI_CLOCK_HZ
153
#define TMC5160_SPI_CLOCK_HZ 4000000
// 4 MHz
154
#endif
155
156
// ═══════════════════════════════════════════════════════════════════════════
157
// TLE92466ED SOLENOID DRIVER (SPI)
158
// ═══════════════════════════════════════════════════════════════════════════
159
160
#ifndef PIN_TLE92466ED_CS
161
#define PIN_TLE92466ED_CS 41
162
#endif
163
#ifndef PIN_TLE92466ED_RESN
164
#define PIN_TLE92466ED_RESN 42
165
#endif
166
#ifndef PIN_TLE92466ED_EN
167
#define PIN_TLE92466ED_EN 2
168
#endif
169
#ifndef PIN_TLE92466ED_FAULTN
170
#define PIN_TLE92466ED_FAULTN 1
171
#endif
172
#ifndef TLE92466ED_SPI_CLOCK_HZ
173
#define TLE92466ED_SPI_CLOCK_HZ 5000000
// 5 MHz
174
#endif
175
176
// ═══════════════════════════════════════════════════════════════════════════
177
// MAX22200 SOLENOID / MOTOR DRIVER (SPI)
178
// ═══════════════════════════════════════════════════════════════════════════
179
180
#ifndef PIN_MAX22200_CS
181
#define PIN_MAX22200_CS 36
182
#endif
183
#ifndef PIN_MAX22200_ENABLE
184
#define PIN_MAX22200_ENABLE 35
185
#endif
186
#ifndef PIN_MAX22200_CMD
187
#define PIN_MAX22200_CMD 45
188
#endif
189
#ifndef PIN_MAX22200_FAULT
190
#define PIN_MAX22200_FAULT 48
191
#endif
192
#ifndef MAX22200_SPI_CLOCK_HZ
193
#define MAX22200_SPI_CLOCK_HZ 5000000
// 5 MHz
194
#endif
195
196
// ═══════════════════════════════════════════════════════════════════════════
197
// WS2812 ADDRESSABLE LED STRIP (RMT)
198
// ═══════════════════════════════════════════════════════════════════════════
199
200
#ifndef PIN_WS2812_DATA
201
#define PIN_WS2812_DATA 48
202
#endif
203
#ifndef WS2812_NUM_LEDS
204
#define WS2812_NUM_LEDS 8
205
#endif
206
#ifndef WS2812_RMT_CHANNEL
207
#define WS2812_RMT_CHANNEL 0
208
#endif
examples
esp32
main
esp32_test_config.hpp
Generated by
1.10.0