basecamelectronics / sbgc32-serial-api

A complete C-library and example projects for the SimpleBGC32 Serial API integration. Serial API allows to communicate with all gimbal controllers developed by Basecamelectronics company.
Apache License 2.0
24 stars 12 forks source link

SimpleBGC32 Serial API Open Source C Library

Web-site

Description

This library is a helping instrument for communication between the SimpleBGC32 devices and different data processing devices. For more comfortable interaction with the SBGC32 devices repository contents possible examples of implementations of the driver algorithms are presented. General protocol source files are placed in the modules folder. Also, you may include the pre-made driver files if you rather to create an application using the Arduino (AVR MCUs), STM32 or Linux OS. See the drivers folder. Additionally, the library is compatible with AzureRTOS, FreeRTOS, and Linux OS. Pay attention to the serialAPI_ConfigTemplate.h file. This file helps to configure the internal functionality of the library. Copy it, rename it to "serialAPI_Config.h", move it wherever you want and configure the contents.

Files Description

core/ - the kernel library files;

drivers/ - the driver files;

modules/ - a folder that stores a Serial API commands functional sorted by purpose;

os/ - a folder containing the OS-glue driver files;

adjunct.h - Header help-code file;

sbgc32.c and sbgc32.h - Assembly files of the l;library;

serialAPI_ConfigTemplate.h - Configurations template header file of the library.

Requirements

Minimum device requirements for using this library: at least 2 KB RAM and at least 16 KB FLASH. To fully use the functions of this library, it is recommended to use a device with at least 32 KB RAM and at least 64 KB FLASH.

How to use this library

For more convenient work with the library, it is recommended to use the SimpleBGC32 Serial API protocol specification. It is recommended to review the QuickStart example for more effective use of the library functions. For more advanced usage level see MiniRemote example - a small yet very functional and flexible remote controller for the SBGC32-based devices. Other examples work exclusively in blocking mode. Additionally, please refer to the note contained in the sbgc32.h file. It includes a lot of useful information about the features of this library.

To connect the library to your project, just place the serialAPI folder in it.

Initialization:

// Link the library files
#include "sbgc32.h"

// Declare a general SBGC32 object
sbgcGeneral_t SBGC32_Device;

// Initialize the library
SBGC32_Init(&SBGC32_Device);

Documentation

Use the Doxygen application with the provided doxygen configuration file to generate the library documentation.

Feedback

If you have any questions or suggestions about using this library, you can contact at:

support@basecamelectronics.com

a.ivanisov@basecamelectronics.com