trygas / OpenRE

HandsFree One Page

Home Page:https://hands-free.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenRE -- The Open Source Robot Embedded Library

keywords: moblile robotics , STM32 , c++ , makefiles , ROS


Description

This is a C++ embedded library for robotics base on STM32 and intended to provide GNU Makefiles.

Website:

Folder structure

  • ├── ** 0_Project ** ---- some demos base on this library
  • │ ├── examples ---- stm32fxx examples project of openre
  • │ ├── firmware ---- firmware projects of handsfree robots
  • │ ├── etc..
  • ├── ** 1_Processor ** --- the board-level abstraction layer , support handsfree countrol_unit_v1 , countrol_unit_v2, countrol_unit_mini , stm32f407_discovery
  • │ ├── BoardAbstract
  • │ ├── board.mk
  • │ ├── Interrupt
  • │ ├── STM32F1
  • │ └── STM32F4
  • │ ├── etc..
  • ├── ** 2_Package ** ---- this dir include many tool packs . you can use it for moblile robotics, fly control etc..
  • │ ├── common
  • │ ├── hf_link
  • │ ├── imu
  • │ ├── motor
  • │ ├── robot_abstract
  • │ ├── robot_control
  • │ ├── tf
  • │ ├── etc..
  • ├── ** 3_OS ** : OpenRE support RTOS(ucosII ucosIII nuttx), GUI(STEMWIN) , FATFS
  • ├── ** 4_Thirdparty **
  • │ ├── Dobot
  • │ ├── Eigen3 -│ ├── libs_include.h
  • │ ├── Matrix
  • │ └── thirdparty.mk
  • ├── ** 5_Development_Toolchain **
  • ├── ** 6_Tools **
  • │ ├── env_config.sh
  • │ ├── swd_upload.sh
  • │ ├── tarall.sh
  • │ └── tar.sh
  • ├── ** 7_Documentation **
  • ├── clean_build_linux.sh
  • ├── clean_build_win.bat
  • ├── HANDS_FREE_OpenRE_F1.pro
  • ├── HANDS_FREE_OpenRE_F4.pro
  • └── README.md

Installation


Resources

  • Download the latest code with:

git clone https://github.com/HANDS-FREE/OpenRE

OpenRE Toolchain

Method1: installation by deb

$ sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded  
$ sudo apt-get update          
$ sudo apt-get install openocd  gcc-arm-none-eabi    
$ sudo usermod -a -G dialout $USER    
$ sudo apt-get install lib32ncurses5 libtool libusb-1.0 libftdi-dev python python-serial python-empy libpython2.7:i386    
$ sudo apt-get remove modemmanager    

Method2: source installation (recommended)

  • get toolchain it in Development_Toolchain ,put these softwares in OpenRE/5_Development_Toolchain. or cd OpenRE & git clone git@github.com:HANDS-FREE/5_Development_Toolchain.git
$ cd 5_Development_Toolchain 
$ tar -jxvf gcc-arm-none-eabi-5_4-2016q2.tar.bz2
$ tar -jxvf openocd.tar.bz2
$ tar -jxvf stlink.tar.bz2
$ cd openocd/
$ ./configure
$ make clean
$ make
$ cd ../stlink/
$ make clean
$ make
$ cd ../
$ sudo usermod -a -G dialout $USER      
$ sudo apt-get install lib32ncurses5 libtool libusb-1.0 libftdi-dev python python-serial python-empy libpython2.7:i386     
$ sudo apt-get remove modemmanager    

Usage and Examples


A Simple Demo

* Led toggle:     
        cd 0_Project/examples/handsfree_simple_app/linux    

**check the makefile config matching your main control board **

        make clean
        make    
        make burn   

Robot Firmware

        cd 0_Project/firmware/handsfree_wheel_robot/linux

** check the makefile config matching your main control board **

        make clean
        make
        make burn

Lots of examples are provided in folder 0_Project and you can get some manuals in folder 7_Documentation.

License


OpenRE is licensed generally under a permissive 3-clause BSD license. Contributions are required to be made under the same license.

Contact


If you have any problem, or you have some suggestions for this code, please contact WenKe Ma by 315261982@qq.com, thank you very much!

About

HandsFree One Page

https://hands-free.github.io/


Languages

Language:C 80.1%Language:C++ 13.5%Language:Fortran 3.0%Language:Assembly 1.6%Language:HTML 0.5%Language:CMake 0.4%Language:Prolog 0.2%Language:Makefile 0.2%Language:QMake 0.1%Language:Python 0.1%Language:TeX 0.1%Language:Objective-C 0.1%Language:Jupyter Notebook 0.1%Language:Shell 0.0%Language:JavaScript 0.0%Language:CSS 0.0%Language:Batchfile 0.0%Language:Awk 0.0%