This firmware is designed to handle a custom smart battery charger board. It provides the following features:
* Configure the maximum input current from the external power supply.
* Configure the output voltage and current in case no battery is present. When a battery is present, these parameters are configured by the battery.
* Report all the parameters of battery, including the start of charge and time to empty/charged.
* Configurable acoustic signals to report dangerous state of charge levels.
It uses the dynamixel protocol as an slave device to communicate with the driver.
Use the [C++ driver](https://gitlab.iri.upc.edu/humanoides/battery_driver) to control the smart battery charger from a desktop computer.
## Dependencies
Check the [STM32 How to](https://gitlab.iri.upc.edu/labrobotica/firmware/stm32_firmware_how_to) page for information on how to set up the environment to work with STM32 micro-controllers.
## Compilation
Initialize and download the necessary submodules ([stm32_libraries](https://gitlab.iri.upc.edu/humanoides/tools/stm32_libraries) and [stm_32_hal](https://gitlab.iri.upc.edu/humanoides/tools/stm32_hal))
``` git submodule init ```
``` git submodule update ```
Compile the code
``` make ```
## Disclaimer
Copyright (C) 2009-2018 Institut de Robòtica i Informàtica Industrial, CSIC-UPC.
Mantainer IRI labrobotics (labrobotica@iri.upc.edu)
This package is distributed in the hope that it will be useful, but without any warranty. It is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. should the program prove defective, the GMR group does not assume the cost of any necessary servicing, repair or correction.
In no event unless required by applicable law the author will be liable to you for damages, including any general, special, incidental or consequential damages arising out of the use or inability to use the program (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the program to operate with any other programs), even if the author has been advised of the possibility of such damages.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>