Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stepping without using class vtables #1349

Merged
merged 30 commits into from
Oct 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
c65c1d9
Make a lot of stuff static
MitchBradley Oct 3, 2024
921f32b
Consolidated stepping engine code
MitchBradley Oct 4, 2024
db2132e
Fixed RMT problem
MitchBradley Oct 5, 2024
10ce701
Fixed limit and homing init order problems
MitchBradley Oct 5, 2024
a26bbe1
Removed old/unused read_settings() interface
MitchBradley Oct 5, 2024
a53fc04
Fixed inverted position reports
MitchBradley Oct 6, 2024
c283f80
I2S FIFO
MitchBradley Oct 6, 2024
38bca56
Limit max speed according to pulse length
MitchBradley Oct 6, 2024
6f10620
Make pulse_us apply to I2S pulse inactive time too
MitchBradley Oct 6, 2024
13b20a1
Cleanup unused functions, add count argument to i2s_push_fifo()
MitchBradley Oct 6, 2024
2ae7173
Created a step_engine abstraction in C
MitchBradley Oct 9, 2024
2403d43
Block HTTP synchronous commands while moving
MitchBradley Oct 9, 2024
875e627
Dollar commands are asynchronous by default; helps WebUI
MitchBradley Oct 9, 2024
b8e2c58
Checked in missing file
MitchBradley Oct 9, 2024
859c0e0
Removed debugging printfs.
MitchBradley Oct 10, 2024
6c07910
Fixed inverted direction on I2S
MitchBradley Oct 10, 2024
621e955
Fixed step count, timing and direction issues
MitchBradley Oct 10, 2024
b160dfe
Increase RMT speed limit
MitchBradley Oct 10, 2024
cfa1d05
Fixed problem with limit switches above GPIO 32
MitchBradley Oct 10, 2024
4e268bc
I2s direction
MitchBradley Oct 11, 2024
b71fea8
Fix SPI Trinamic drivers so the register with the stepping engine
MitchBradley Oct 13, 2024
303aa8e
Fixed problem with no-motor axes
MitchBradley Oct 13, 2024
f073e00
Fix #1355 - I2SO pin inversion ignored
MitchBradley Oct 13, 2024
ad2cc0a
Fixed crash on WiFi disconnect
MitchBradley Oct 18, 2024
e6e00db
No-jitter I2S engine
MitchBradley Oct 19, 2024
59f9b17
Fixed bug in i2s engine that broke homing
MitchBradley Oct 26, 2024
8e36c50
VFD rework (#1324)
atlaste Oct 27, 2024
396fb41
Fix #1361 - changed RR to OR in expressions
MitchBradley Oct 27, 2024
e91ae7a
Omit unnecessary cs_pin toggling in TMC2209 driver
MitchBradley Oct 28, 2024
bbba7f3
Fix I2S bug that prevented some TMC2209s from configuring on Jackpot
MitchBradley Oct 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions FluidNC/esp32/StepTimer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,21 @@ static void IRAM_ATTR timer_isr(void* arg) {
}
}

// Possibly-unnecessary optimization to avoid rewriting the alarm value
static uint32_t old_ticks = 0xffffffff;

void IRAM_ATTR stepTimerStart() {
timer_ll_set_alarm_value(&TIMERG0, TIMER_0, 10ULL); // Interrupt very soon to start the stepping
old_ticks = 10ULL;
timer_ll_set_alarm_enable(&TIMERG0, TIMER_0, true);
timer_ll_set_counter_enable(&TIMERG0, TIMER_0, true);
}

void IRAM_ATTR stepTimerSetTicks(uint32_t ticks) {
timer_ll_set_alarm_value(&TIMERG0, TIMER_0, (uint64_t)ticks);
if (ticks != old_ticks) {
timer_ll_set_alarm_value(&TIMERG0, TIMER_0, (uint64_t)ticks);
old_ticks = ticks;
}
}

void IRAM_ATTR stepTimerStop() {
Expand All @@ -61,7 +68,7 @@ void stepTimerInit(uint32_t frequency, bool (*callback)(void)) {
timer_isr_callback = callback;

esp_intr_alloc_intrstatus(timer_group_periph_signals.groups[TIMER_GROUP_0].t0_irq_id,
ESP_INTR_FLAG_IRAM,
ESP_INTR_FLAG_IRAM | ESP_INTR_FLAG_LEVEL3,
timer_ll_get_intr_status_reg(&TIMERG0),
1 << TIMER_0,
timer_isr,
Expand Down
371 changes: 7 additions & 364 deletions FluidNC/esp32/gpio.cpp

Large diffs are not rendered by default.

358 changes: 358 additions & 0 deletions FluidNC/esp32/gpio_dump.cpp

Large diffs are not rendered by default.

Loading
Loading