This release contains the improvements for milestones 0.2.0 and 0.3.0.
New Features
- Built-in HTTP configuration and control page
- Support for up to 4 servos on one servo driver
- Stepper driver supports 32-bit microstepping via JSON (via TCP) and theoretically UDP packet
- The bounds of the servo duty cycle are now changeable via UDP packet
Improvements
- GPIO code foregoes using Espressif’s gpio_output_set in favor of much faster direct register manipulation, allowing us to phase out code based on internet demo code
Bugfixes
- Stepper motor driver sanitizes negative wait_time input
- Fixed a race condition that caused stops to crash the stepper motor driver
- Fixed a condition where some devices couldn’t connect to the driver’s softAP broadcast mode
- The 5us motor driver timer resolution no longer causes a watchdog timer reset
Other notes
- Brushed motor driver has been removed from the builds since it is low priority and will not be fully implemented for a long, long time
- The singular servo driver (servo_driver.c) has been depreciated and removed from the builds since it has been replaced in the product line by the quad servo driver
- Improvements to the stepper driver hardware design have eliminated a crash or two involving the WiFi controller
- The built-in website control page only supports sending commands to the first servo motor in the 4-servo array, and uses outdated values for the calculation of the command values