[Coco] Announcing pyDriveWire v0.2
Michael Furman
n6il at ocs.net
Sat Apr 22 22:10:41 EDT 2017
pyDriveWire
https://github.com/n6il/pyDriveWire/
Python Implementation of DriveWire 4
PyDriveWire is a nearly complete DriveWire4 Server written in Python. The goal is to eventually implement all of the features available. The server also implements additional features that are not available in DriveWire4.
Features
• Connections to serial ports at all supported baud rates: 38400, 57600, 115200, 230400, 460800, 921600
• Listen for incoming connection on any TCP port with a default of 65504
• Ability to make outgoing TCP connections for serial-net converters
• Disks to be mounted can be specified on the command line
• Interactive console allowing all dw commands to be run
• Support for DriveWire 4 virtual ports
• dw commmands over vport
• AT Modem-style connections
• Outbound connections with ATD/ATDT or tcp connect
• Inbound vports via tcp listen/join/kill commands
Notable Missing Features
• Support for mounting disks via URL/URI
• MIDI
• Printing
• OS9 /Z console windows
Requirements
• pypy -- For maximum performance it is recommended to run the server with pypy. pypy is a Python interpreter that does JIT compilation and results in greatly increased speed
• pyserial -- Install using pip
Supported Operating Systems
• Any OS where you can run Python, including but not limited to:
• Linux
• macOS
• Windows support is PRELIMINARY. Minimal testing has been done but it should work. Please contact me off list if you wish to help beta test Windows support.
Installation (Linux/macOS/UNIX)
• Download Latest: https://github.com/n6il/pyDriveWire/releases
• Mac: brew install pypy; pypy -m pip install pyserial
• Ubuntu: apt-get install pypy; pypy -m pip install pyserial
Run It
Usage: ./pyDriveWire <port> <speed> [<file>] [...]
./pyDriveWire /dev/tty.usbserial-FTF4ZN9S 115200 ...
./pyDriveWire accept <port> ...
./pyDriveWire connect <host> <port> ...
Supported DW Commands
• dw disk
• dw disk show
• dw disk insert 0 <file>
• dw disk eject 0
• dw disk reset 0 -- (re-open)
• dw port
• dw port show
• dw port close <n>
• dw server
• dw server instance
• dw server dir [<path>]
• dw server list <file>
• tcp commands
• tcp connect <host> <port>
• tcp listen <port> ... -- Remainder of options ignored
• tcp join <channel>
• tcp kill <channel>
• AT Commands
• ATD<host>:<port>
• ATDT<host>:<port>
• ATE
• ATH
• ATI
• ATO
• ATZ
• Debugging commands
• dw port debug <n> [true/false]
• dw server debug [true/false]
• dw server dump
• dw server timeout <s>
--
Michael R. Furman
Email: n6il at ocs.net
Phone: +1 (408) 480-5865
More information about the Coco
mailing list