You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
The key has expired.
2021-05-01 - Release v1.9
Small bug fixes, now compatible w/ MicroPython v1.14 and "vanilla" v1.15 (esp32-20210418-v1.15.bin).
Now uses RobotlingBase (from robotling_lib), so better separate standard hardware and additional hardware defined in devices (in hexbug_config.py).
As robotling_lib now includes simple.py and robust.py from micropython-lib as fall-back, MQTT can now be used with the standard MicroPython firmware, which does not inlcude umqtt.
Since it was difficult to maintain different versions of the robotling code all accessing the same set of driver etc. libraries, these files have now been moved to a separate repository (robotling_lib).
Simple GUI to show robot status via MQTT (hexbug.gui.py)
Thermal camera support added (amg88xx.py and camera_thermal.py; new behaviour lookAtBlob using the thermal camera (see videos 4, 5). Note that the blob detection (not the camera itself) requires a custom MicroPython firmware that includes the module blob (coded in C for speed reasons).
Configuration file split into fixed (hexbug_global.py) and robot-dependent definitions
Code adapted to MicroPython release 1.12.x, including hardware I2C bus option added and native code generation added for time critical routines (ESP32 only)
PWM frequencies for servos and DC motors are now defined in robotling_board.py to account for the fact that the ESP32 port supports only a single frequency for all standard PWM pins. In addition, drv8835.py now uses the RMT feature of the ESP32 for PWM to run the DC motors. This allows using a different frequency than the normal PWM functions.
New type of Sharp sensor added (GP2Y0AF15X, 1.5-15 cm) to sensors\sharp_ir_ranging.py. This allows using a triple IR distance sensor array such that the robot's head does not need to scan sideways.
I2C frequency increased to 400 kHz in robotling_board.py. The I2C frequency used is now also printed when the robot boots.
Robotling v1.3 board in robotling_board_version.py.
In case of an uncaught Python exception, the firmware tries to send a last MQTT message containing the traceback, allowing to get information on code errors even when the robot is not attached via USB.
Now an option was added to send telemetry via WLAN using the MQTT protocol (ESP32 only). An example script (test_mqtt.py) that demonstrates how to subcribe to robotling telemetry on a PC was added to ../code.
hexbug.py - Bias factor (IR_SCAN_BIAS_F) added to the configuration file hexbug_config.py; it allows correcting for a direction bias in the turning motor. Also, the scan scheme was slightly changed from "left-right-center" to "left-center-right-center", which helps the robot to walk more straight.
telemetry.py- Encapsules the MQTT functionality.
main.py - Simple "memory" was added to remember the direction of successful turns (experimental).
robotling.py - Now the keyword "wlan" can be added as a device to MORE_DEVICES in hexbug_config.py to activate the network (instead of changing boot.py)
Robotling code moved from ../code to ../code/robotling