The bsproxy can support 8 simultaneous clients, with each client having access to 8 proxied devices. Different clients can have access to the same proxied device. The bsproxy provides mutual exclusion mechanisms to ensure device and message correctness.
A proxied device is a target system resource, typcially a device driver controlling a specific hardware device, supported by bsprox. For example, a target system's I2C Bus and an RS-232 serial port are proxied devices. In addition, higher software level proxied devices are support. For example, the BrainPack Foot is proxied device with a specific set of operatations over an I2C Bus, while the RCB-3 Controller proxied device supports specific operations on an RS-232 over USB port.
Table 1 list the proxied devices that are or will be supported by the BotSense Proxy server by version 1.2.0.
| BSPROXY_DEVTYPE_I2C | I2C Bus |
| BSPROXY_DEVTYPE_BPFOOT | BrainPack left or right foot I2C device |
| BSPROXY_DEVTYPE_BPIMU | BrainPack Inertia Measurement Unit I2C device |
| BSPROXY_DEVTYPE_BPHAND | BrainPack left or right hand I2C device |
| BSPROXY_DEVTYPE_BPCOMPASS | BrainPack compass I2C device |
| BSPROXY_DEVTYPE_RS232 | RS-232 serial port |
| BSPROXY_DEVTYPE_RCB3 | RCB-3 Controller |
| Table 1: Proxied Device Types | |
Permission is hereby granted, without written agreement and without license or royalty fees, to use, copy, modify, and distribute this software and its documentation for any purpose, provided that (1) The above copyright notice and the following two paragraphs appear in all copies of the source code and (2) redistributions including binaries reproduces these notices in the supporting documentation. Substantial modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated in all files where they apply.
IN NO EVENT SHALL THE AUTHOR, ROADNARROWS LLC, OR ANY MEMBERS OR EMPLOYEES OF ROADNARROW LLC OR DISTRIBUTORS OF THIS SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHORS OR ANY OF THE ABOVE PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE AUTHOR AND ROADNARROWS LLC SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
All Rights Reserved by RoadNarrows LLC (C) 2007
1.4.6