aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* webhooks: support msgspec json serializationEric Callahan2025-05-021-22/+34
| | | | Signed-off-by: Eric Callahan <arksine.code@gmail.com>
* docs: Update stm32h723 benchmarks now that it runs at 520MhzKevin O'Connor2025-05-022-8/+8
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Run stm32h723 at 520MhzKevin O'Connor2025-05-022-2/+4
| | | | | | Increase speed of stm32h723 chips from 400Mhz to 520Mhz. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Support over 400Mhz main clock in stm32h7_adc.cKevin O'Connor2025-05-021-6/+7
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Use 12Mhz nominal internal clock in stm32f0_i2c.cKevin O'Connor2025-05-021-9/+9
| | | | | | | Increase the internal nominal clock from 8Mhz to 12Mhz - this improves support for higher chip frequencies. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Note canbus_query.py limitations in CANBUS_Troubleshooting.mdKevin O'Connor2025-04-291-0/+17
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Note functioning canbus required even in bridge mode in CANBUS.mdKevin O'Connor2025-04-291-0/+9
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* neopixel: Round up in nsecs_to_ticks()Kevin O'Connor2025-04-281-1/+1
| | | | | | | The rp2040 operates at a fast internal clock with a relatively slow external timer and dividing down could result in a too small delay. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Enable VOS0 power mode on stm32h723 if frequency above 400MhzKevin O'Connor2025-04-281-11/+15
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Don't try to set incorrect PWR->CR3 register on stm32h7Kevin O'Connor2025-04-281-5/+3
| | | | | | It's not valid to set BYPASS and LDOEN at the same time. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Set the PLL frequency equal to CONFIG_CLOCK_FREQ on stm32h723Kevin O'Connor2025-04-281-1/+1
| | | | | | | | There is no reason to use a higher internal PLL frequency. This change also makes it possible to enable higher clock frequencies on the stm32h723. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Avoid read-modify-write register updates in stm32h7 clock_setup()Kevin O'Connor2025-04-281-58/+39
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Use enable_pclock() in stm32h7 clock_setup()Kevin O'Connor2025-04-281-5/+4
| | | | | | | Use the helper functions to enable the peripheral clock instead of directly manipulating the clock enable bits. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32h7: Always clear AHB1ENR at startup on stm32h7Kevin O'Connor2025-04-281-5/+1
| | | | | | | Entirely clear the AHB1ENR register. There is no need to modify AHB1LPENR. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Update date of cycle_time change in Config_Changes.mdKevin O'Connor2025-04-281-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Decrease mcu.max_nominal_duration() to 3 seconds from 5Kevin O'Connor2025-04-282-1/+6
| | | | | | This allows the mcu to utilize faster internal speeds. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* heaters: Confirm heater setting in mcu every 3 seconds instead of 5Kevin O'Connor2025-04-281-2/+2
| | | | | | | Increase the confirmation rate of heater enable settings. This allows the mcu to utilize faster internal speeds. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pwm_tool: Use mcu.min_schedule_time() and mcu.max_nominal_duration()Kevin O'Connor2025-04-281-6/+4
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* led: Use mcu.min_schedule_time() and mcu.max_nominal_duration()Kevin O'Connor2025-04-281-8/+7
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* pwm_cycle_time: Use mcu.min_schedule_time() and mcu.max_nominal_duration()Kevin O'Connor2025-04-281-9/+11
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* output_pin: Use mcu.min_schedule_time() and mcu.max_nominal_duration()Kevin O'Connor2025-04-281-9/+8
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* mcu: Add new min_schedule_time() and max_nominal_duration() helpersKevin O'Connor2025-04-281-1/+10
| | | | | | | | | | | Add a function that returns the minimum amount of time the host needs to reserve for messages to be sent from host to micro-controller. Add a function that returns the maximum amount of time (in seconds) that all micro-controllers should be able to schedule future timers at. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* basecmd: Update stats timing check to support 32bit durationKevin O'Connor2025-04-281-1/+8
| | | | | | Use a 32bit duration check instead of the previous 31bit check. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* lis3dh: increase scale from 8g to 16gWulfsta2025-04-281-3/+3
| | | | Signed-off-by: Luke Vuksta <wulfstawulfsta@gmail.com>
* spi_flash: fix hw busTimofey Titovets2025-04-281-1/+3
| | | | | | | | | _try_send_command() expects a list of args, But receives a string. Fixes abc76ee963d4154dce0bd56f2fdb946d5065cc86. Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* spi_flash: fix spi bus switch (#6906)Timofey Titovets2025-04-201-1/+0
| | | | | Fixes abc76ee963d4154dce0bd56f2fdb946d5065cc86. Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* stm32: Add support for spi6 on stm32f42x chipsRussell Cloran2025-04-191-0/+7
| | | | Signed-off-by: Russell Cloran <rcloran@gmail.com>
* stm32: Fix pll_base on stm32h7 when using a clock other than 25MhzKevin O'Connor2025-04-191-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Update benchmarks for stm32h7Kevin O'Connor2025-04-192-11/+10
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Add optimized stm32h7_gpio.cKevin O'Connor2025-04-194-5/+176
| | | | | | | Add optimized gpio functions for stm32h7 - caching the ODR register can notably improve the performance of the gpio_out_toggle() code. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Remove ProbeEndstopSessionHelperKevin O'Connor2025-04-183-18/+18
| | | | | | Have all callers instantiate the individual helper classes directly. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Separate probe style commands from homing operationsKevin O'Connor2025-04-181-20/+39
| | | | | | | Separate homing operations (as called from probe:z_virtual_endstop) from the normal probe command handling. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe_eddy_current: Do not support QUERY_PROBE commandKevin O'Connor2025-04-181-2/+1
| | | | | | | Report an error if a user issues a QUERY_PROBE command (instead of always returning not-triggered). Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Add a new LookupZSteppers helper classKevin O'Connor2025-04-181-7/+14
| | | | | | | Split code to lookup the Z stepper from HomingViaProbeHelper to new LookupZSteppers class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Convert probing_move() callback to use regular probe sessions systemKevin O'Connor2025-04-182-22/+39
| | | | | | | | Use the normal probe_session_start(), run_probe(), pull_probed_results(), and end_probe_session() API from ProbeSessionHelper. This removes the custom probing_move() callback. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Change probing_move() to pass a gcmd instead of (pos, speed)Kevin O'Connor2025-04-182-16/+25
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Add a new ProbeParameterHelper classKevin O'Connor2025-04-182-35/+44
| | | | | | | Split multi-sample config reading from ProbeSessionHelper to a new ProbeParameterHelper class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Add a new lookup_minimum_z() helper functionKevin O'Connor2025-04-181-8/+9
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Add a new ProbeEndstopSessionHelper classKevin O'Connor2025-04-184-7/+15
| | | | | | | Move the HomingViaProbeHelper() instance from ProbeSessionHelper to a new ProbeEndstopSessionHelper class. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* probe: Add a default probing_move() function to HomingViaProbeHelperKevin O'Connor2025-04-184-12/+11
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* manual_stepper: Implement "drip moves" for manual stepper STOP_ON_ENDSTOPKevin O'Connor2025-04-183-6/+27
| | | | | | | | | | | | | Currently, `MANUAL_STEPPER STOP_ON_ENDSTOP=1` type commands will move until hitting the endstop, but it will still always consume the total amount of move time. That is, following moves can't be started until the total possible time of the homing move is completed. Implement "drip moves" so that the code only schedules the movement in small segments. This allows following movements to be scheduled without a significant delay. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Avoid toolhead.move() and toolhead._process_moves() in drip_move()Kevin O'Connor2025-04-181-37/+48
| | | | | | | Implement move checking and trapq loading directly from drip_move(). This simplifies the interactions between these components. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* toolhead: Avoid LookAheadQueue calling back into toolhead classKevin O'Connor2025-04-181-16/+19
| | | | | | | | | Avoid lookahead.flush() calling back into toolhead._process_moves(). Instead, rename toolhead._process_moves() to toolhead._process_lookahead(), have it call lookahead.flush(), and consistently use it when flushing the lookahead queue. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* neopixel: Add comments on timingKevin O'Connor2025-04-171-4/+7
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* check-software-div: Add a new build check for software divideKevin O'Connor2025-04-172-0/+23
| | | | | | | Update the build checks to include a check for unexpected software divide operations. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Kconfig: Note which chips require software divide operationsKevin O'Connor2025-04-174-0/+8
| | | | | | | Add a new HAVE_SOFTWARE_DIVIDE_REQUIRED that indicates which chips require software divide. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* neopixel: Make sure nsecs_to_ticks() is always inlinedKevin O'Connor2025-04-171-1/+1
| | | | | | It is a compile-time calculation that needs to be inlined to work. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* lcd_st7920: Make sure nsecs_to_ticks() is always inlinedKevin O'Connor2025-04-171-6/+6
| | | | | | It is a compile-time calculation that needs to be inlined to work. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* lcd_hd44780: Make sure nsecs_to_ticks() is always inlinedKevin O'Connor2025-04-171-6/+6
| | | | | | It is a compile-time calculation that needs to be inlined to work. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Change hard_pwm.c MAX_PWM to 257Kevin O'Connor2025-04-172-3/+4
| | | | | | Choose a value for MAX_PWM that avoids an expensive run-time division. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>