>
= Package Summary =
A portable, dependency-free ROS client library in pure C
* Maintainer: Christian Holl < choll [theAt] synapticon [theDot] com >
* Author: Christian Holl
* License: BSD
* Status: '''''UNDER DEVELOPMENT'''''
* Source: git https://github.com/synapticon/rosc.git
<
> {{http://web1.synapticon.com/pub/rosc-Logo_150.png}}
== Documentation ==
rosc is a dependency-free ROS client implementation in ANSI C which aims to support small embedded systems as well as any operating system. Its long-term goal is to become a hardened, efficient and highly portable implementation of the ROS middleware (including future evolutions of it), making it a good choice for use in industrial applications or product development.
rosc is based on a modular concept, enabling the developer to select or add the platform support he needs. A rosc node is assembled by the rosc core package which contains the basic communication structure, support packages for each platform (operating systems / bare-metal systems (AVR, ARM, XMOS etc.)) as well as communication packages for bare-metal systems which contain the handling functions for several communication interfaces.
Efficiency of rosc is driven and maintained by a bare-metal, low-memory reference scenario. For bare-metal systems each memory storage is allocated at compile time. This means that the user must define a maximum array length for messages with undefined arrays (as an example from a msg file: uint8t array[]). On systems with an operating system this is not necessary because the memory for the array will be allocated at runtime.
Essential features:
* XMLRPC communication
* HTTP/XML parser
* XMLRPC message generator
* Port interface handling (services, topics, XMLRPC)
* ROS message (msg-File) header/source generation
* TCPROS (un-)marshalling
Planned future extensions:
* Transport layer independency
* Realtime capability
* Development debugging features
* Compiler optimization packages
* special size optimizations
* using special pragmas (like pack)
* Multimaster/masterless concept
== Development Status ==
rosc is available as '''alpha''', and still under heavy development.
You can try out the alpha under Linux now.
'''Updated on: 2nd January 2014'''
[[https://github.com/synapticon/rosc|rosc repository at GitHub]]
[[http://synapticon.github.io/rosc/|Documentation]] (github.io)
##= Report a Bug ==
##<>
##i.e.<>
## AUTOGENERATED DON'T DELETE
## CategoryStack