diff --git a/README.md b/README.md index 00d0561..92d4941 100644 --- a/README.md +++ b/README.md @@ -104,8 +104,25 @@ wait_for_stop(polling_interval_ms, disable_callbacks) set_max_acceleration(linear_accel, angular_accel) set_servo_parameter(pos_kp, pos_ki, vel_kp, vel_ki, vel_filter_tc) ``` +## ✨ Firmware v1.0.4 -## ✨ Firmware v1.0.1 +Firmware 1.0.4 comes with many smaller improvements and bugfixes and a great new feature as well: + + - **Tools**: Tool usage (for example for laser engraving) is now supported on the two GPIO pins of J5 on the pcb. + They are integrated into the planner and run fast and with correct timing when executing g-code. + The tools support PWM (using the PIO feature to squeeze out extra channels without relying on software PWM). + + Example usage: + ``` + `M3 T0 S0.7` // set pwm output of tool 0 to 70% + `G4 S0.001` // dwell command (or any other motion command) - necessary to apply the tools output + ``` + +- **Calibration**: Calibration has now some addition error checks to improve error reporting of potential problems like encoder alignment. +- **Kinematic Model Parameter**: Initialization code has been cleaned up and better comments where added to the parameters. Parameters are preset for HW v4.0 but you can toggle back to the old HW-v3.0 parameters if necessary. +- **Bugfixes**: smaller bugfixes + +## Firmware v1.0.1 This update improves calibration, homing, logging, and adds several new G-Code commands. @@ -191,6 +208,7 @@ The client must wait for an acknowledgment from the previous command before send | `G4 S/P` | Dwell/pause for a specified time.
• `S`: seconds
• `P`: milliseconds | | `G24 X Y Z A B C` | Directly set current pose for servo loops with optional rotation vector* `A`, `B`, `C`. | | `G28 A-F` | Home one or more joints.
• Optional joint selection `A`–`F`. | +| `M3` | Set Tool output.
• `T`: tool index
• `S`: output value (0.0..1.0)
Note: new values is only applied on the next motion or dwell command | | `M17` | Enable motors and read current pose as the start pose. | | `M18` | Disable motors. | | `M50` | Get current internal pose. (Encoders are not read here) |