aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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>
* stm32: Fix prescaler overflow check in hard_pwm.cKevin O'Connor2025-04-171-3/+3
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* docs: Update Config_Changes.md to note software spi is now rate limitedKevin O'Connor2025-04-171-0/+9
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* hall_filament_width_sensor: Add filament switch values to statusRussell Cloran2025-04-172-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | `hall_filament_width_sensor` contains a runout sensor object internally. This exposes those values in the API status result. ``` SEND: {"id":123,"method":"objects/query","params":{"objects":{"hall_filament_width_sensor":["enabled","filament_detected","is_active","Diameter","Raw"]}}} GOT: b'{"id":123,"result":{"eventtime":199567.823596603,"status":{"hall_filament_width_sensor":{"enabled":true,"filament_detected":true,"is_active":true,"Diameter":1.9499999999999986,"Raw":6113}}}}' ``` The duplication of `is_active` and `enabled` seems confusing, but both of these can be independently manipulated by GCode: ``` SEND: {"id":123,"method":"gcode/script","params":{"script":"DISABLE_FILAMENT_WIDTH_SENSOR"}} GOT: b'{"id":123,"result":{}}' SEND: {"id":123,"method":"objects/query","params":{"objects":{"hall_filament_width_sensor":["enabled","is_active"]}}} GOT: b'{"id":123,"result":{"eventtime":199770.446013297,"status":{"hall_filament_width_sensor":{"enabled":true,"is_active":false}}}}' SEND: {"id":123,"method":"gcode/script","params":{"script":"SET_FILAMENT_SENSOR SENSOR=hall_filament_width_sensor ENABLE=0"}} GOT: b'{"id":123,"result":{}}' SEND: {"id":123,"method":"objects/query","params":{"objects":{"hall_filament_width_sensor":["enabled","is_active"]}}} GOT: b'{"id":123,"result":{"eventtime":199847.927726196,"status":{"hall_filament_width_sensor":{"enabled":false,"is_active":false}}}}' ``` Signed-off-by: Russell Cloran <rcloran@gmail.com>
* tmc: add missing freewheel config optionsTimofey Titovets2025-04-174-0/+6
| | | | Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* i2c_software: pass pulse ticks from hostTimofey Titovets2025-04-172-12/+17
| | | | Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* i2c_software: reduce gpio calls countTimofey Titovets2025-04-171-10/+12
| | | | | | | | | gpio reset calls are heavy. gpio state are persistent between calls. Drop useless calls. Avoid calls if SDA does not changed. Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* i2c_software: allow freq adjustTimofey Titovets2025-04-171-0/+7
| | | | Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* software_spi: set rate limiting ticks from the hostTimofey Titovets2025-04-173-25/+48
| | | | Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* spi_software: respect expected rateTimofey Titovets2025-04-171-5/+32
| | | | | | | | On fast MCU software spi may violate maximally supported by TMC driver rate. Add dynamic limits to overcome that. Signed-off-by: Timofey Titovets <nefelim4ag@gmail.com>
* Revert "Makefile: Don't disable gcc's use-linker-plugin option"Kevin O'Connor2025-04-162-4/+2
| | | | | | | | This reverts commit 8087200ffe2fbbe62265dd480ce8be67db8349eb. The change can break the build on some versions of gcc. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* test: Disable all additional features in atmega328 buildKevin O'Connor2025-04-161-11/+10
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* config: Update generic-bigtreetech-skr-2.cfg - SPI Drivers (#6895)JamesH19782025-04-161-0/+45
| | | | | Added SPI tmc2130 driver config Signed-off-by: James Hartley <james@hartleyns.com>
* atsamd: Enable HAVE_LIMITED_CODE_SIZE on small atsamd chipsKevin O'Connor2025-04-162-0/+2
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Kconfig: Add some user visible comments to the optional features menuKevin O'Connor2025-04-161-7/+13
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* stm32: Simplify MakefileKevin O'Connor2025-04-161-31/+19
| | | | | | Breakout selection of timer and gpioperiph objects. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Kconfig: Add new WANT_ADC option to reduce code sizeKevin O'Connor2025-04-168-18/+28
| | | | | | | Make it possible to not compile in support for ADC on chips with small flash sizes. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>