Releases: teuler/robotling
Releases · teuler/robotling
Robotling for HUZZAH32 w/ board v1.3 and MicroPython 1.15
- 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
(fromrobotling_lib
), so better separate standard hardware and additional hardware defined indevices
(in hexbug_config.py). - As
robotling_lib
now includessimple.py
androbust.py
from micropython-lib as fall-back, MQTT can now be used with the standard MicroPython firmware, which does not inlcudeumqtt
. - 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
) - Support for TinyPICO added
- Configurations for different hardware combinations
- General class to manage and control a set of servos (
servo_manager.py
) and improvements in Servo class - Class for PCA9685 16-channel servo driver (
servos_pca9685.py
) - Class for 18-channel Mini Maestro servo driver (
servos_mini_maestro_18.py
) - Thermal camera support added (
amg88xx.py
andcamera_thermal.py
; new behaviourlookAtBlob
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 moduleblob
(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 filehexbug_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 toMORE_DEVICES
inhexbug_config.py
to activate the network (instead of changingboot.py
)- Robotling code moved from
../code
to../code/robotling
Robotling for HUZZAH32 w/ board v1.2
- 2019-07-17 - Release v1.7
hexbug_config.py
reorganised (i.e. user section)deepsleep
/lightsleep
support for HUZZAH32 (ESP32)- Support for LSM9DS0 accelerometer/magnetometer/gyroscope added
- Preparations for MQTT telemetry
- Tested w/ MicroPython v1.11
- New "behaviours" added (find light, take naps)
- Wiki updated and extended
- Note: This release has not yet been tested with M4 Express Feather (and CircuitPython).
Robotling for HUZZAH32 or M4 w/ board v1.2
- 2019-03-17 - Release v1.5
- Some code improvements (handing devices, cleaning up)
- Tested w/ MicroPython v1.10
- New pictures
- A new wiki page with extentions and modifications
- New pictures, annotated pictures of board v1.2
- Some new text on memory and performance
- A few bug fixes
- More drivers (dotstar, VL6180X).
- Works now also with the M4 Express Feather from Adafruit (and CircuitPython).
- Eliminated the need for a timer. Added
spin_ms()
, which needs to be called once per loop and instead ofsleep_ms()
to keep board updated. This solution is superior to the use of a timer, because (i) it is deterministic (avoids randomly interrupting the program flow and, hence, inconsistencies) and (ii) makes the code compatible to CircuitPython, which does not (yet?) support timers. - Now board v1.2 included, some code refactoring and improvements
First robotling for huzzah32 w/ board v1.0
- 2018-11-29 - Release v1.1
- First complete version for board v1.0 and huzzah32
- Initial release