auto-ros
v2.2.0
Published
Wrapper of ROSLIB.Ros which automatically reconnects
Readme
auto-ros
Wrapper of ROSLIB.Ros which automatically reconnects
Features
- 🔄 Automatic reconnection to rosbridge websocket
- 📘 Full TypeScript support with type definitions
- 🎯 Modern ES2022+ module
- 🔔 Event-based status updates
- ⚡ Zero configuration required
Installation
npm install auto-rosUsage
JavaScript
import AutoRos from 'auto-ros'
const autoRos = new AutoRos()
autoRos.connect()TypeScript
import AutoRos, { type ConnectionStatus } from 'auto-ros'
const autoRos = new AutoRos({
reconnectTimeOut: 5000,
rosOptions: {
// transportFactory can be provided if you need a custom transport
}
})
autoRos.on('status', (status: ConnectionStatus) => {
console.log('Connection status:', status)
})
autoRos.connect('ws://localhost:9090')API
Constructor
new AutoRos(options?: AutoRosOptions)Options
reconnectTimeOut(number, optional): Reconnect timeout in milliseconds. Default:5000rosOptions(object, optional): Options passed to the Ros constructortransportFactory(ITransportFactory, optional): The factory to use to create a transport. Defaults to a WebSocket transport factory.
Methods
connect(url?: string): void
Connect to rosbridge. If no URL is provided, uses the previous URL or a default based on hostname.
Properties
ros: Ros
The underlying Ros instance from roslib.
status: ConnectionStatus
Current connection status. Can be: 'connecting', 'connected', 'closed', or 'error'.
Events
The class extends EventEmitter, so you can listen to events:
'status': Emitted when connection status changes
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Lint
npm run lintLicense
See the repository license file.
