A huge update for robot and RC is just released. I was working on it since summer (but not only on it of course).
An extension board added. The board provides an easy way to connect different modules to power lines with different voltage and data interface lines (SPI, I2C, 1-Wire) without soldering.
Powerful lighting LED instead of 4 green LEDs which actually don't provide enough light to make the camera see anything in the darkness.
Small constructive improvements to the remote control case. No impressing photos.
of robot: https://github.com/Danya0x07/DUMRON/releases/tag/v2.0 (in Russian)
- Refactoring names and CodeStyle, how can we do without it!)
- Moving the code for interaction with NRF24L01 + and DS18B20 into separate, cross-platform super-duper libraries with documentation, examples and other benefits of humanity;
- The DS18B20 library implements checksum verification, so the heresy about temperature no longer comes to the RC.
- Added power-on self test;
- Added debug logs to UART and runtime errors indication;
- Detected and fixed a stack overflow in one of the tasks;
- Various local optimizations (eg. uint8_t -> uint_fast8_t);
- Battery charge measurement now works not "head-on", but through DMA;
- Optimized manipulator control, now, when it does not move, its software timer does not spin idle, but stopped;
- The communication protocol with the RC has been rethought and optimized, the encapsulation of data from the rear rangefinder has been improved.
- Added detection of mechanical failure of the rear rangefinder;
- Migration to CMSIS-RTOS APIv2;
- Added the ability to change the radio frequency channel by command from the RC.
of remote control: https://github.com/Danya0x07/DUMRON_RC/releases/tag/v2.0 (in Russian)
- Migration to the PlatformIO build system;
- Moving the Nokia display Interaction code into a standalone PCD8544 cross-platform library;
- Added energy saving measures (redundant microcontroller subsystems are disabled);
- Added scanning of the radio frequency range after power on and switching the RC and the robot to the new selected clear channel;
- GUI updated and improved;
- Refactoring and optimization of various kinds;