Skip to content

HotelCalifornia/serial-share

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

serial-share

Objective

Create a working proof of concept that facilitates bidirectional communication over a serial port by more than one client

Motivation

When working with peripheral devices that communicate over serial ports, it can sometimes be useful to write to/read from a device from multiple processes on a client computer. However, ports (read: file descriptors) generally do not allow concurrent I/O, as this may give rise to race conditions or file corruption-- neither of which are optimal outcomes.

This project will be developed keeping in mind future interoperability with the PROS CLI. One use case of this project on the PROS platform involves simultaneously communicating with a microcontroller from the pros terminal command and debugging sensor values using JINX. This is currently impossible due to aforementioned limitations with serial ports.

Method

The idea behind this project makes heavy use of the ZeroMQ Project's libraries (specifically pyzmq) that abstract sockets and provide a unified interface for interprocess communication (IPC) across many different languages.

Over two parallel, unidirectional pipelines (each following the publisher/subsriber pattern), a proxy attached to the serial port will broadcast data coming from the serial port through one pipeline, and receive data intended to be sent out over the serial port on the other.

About

Bidirectional communication over a serial port by more than one client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages