[Coco] Announcing pyDriveWire v0.2

Michael Furman n6il at ocs.net
Mon Apr 24 00:52:26 EDT 2017


Here are some more detailed instructions.  I will add them to the README after they have been verified.

Ron: Please let me know if this gets you any farther along.

Bill Pierce: These are the instructions that I used for my minimal testing on Windows.  Give it a shot and let me know how it goes.

1. Install PyPy 2.7   Using your Linux Distro's package installer tool will be the most convenient way.  On Windows go to PyPy.org <http://pypy.org/> and download and install it.

2. Install pip.  Download https://bootstrap.pypa.io/get-pip.py <https://bootstrap.pypa.io/get-pip.py> and run it: pypy get-pip.py

3. Install pyserial: pypy -m pip install pyserial

4. Ready to run pyDriveWire

--
Michael R. Furman
Email: n6il at ocs.net <mailto:n6il at ocs.net>
Phone: +1 (408) 480-5865

On Apr 23, 2017, at 5:52 PM, Ron <ron at kdomain.org <mailto:ron at kdomain.org>> wrote:

> Hi Michael,
> 
> Thank you so much for this!
> 
> For those of you running a newer Ubuntu based distribution (I'm using Linux Mint 18.1), there seems to be an issue where 'pypy' can't find 'pip' so I'm unable to install the pyserial module. Looking online reveals a mess of issues regarding conflicting paths, etc..
> 
> You can use regular pip by itself (not called from within 'pypy') to install the 'pyserial' module but it's not found by 'pypy.'  On regular python can use it.
> 
> If you download the source for pyserial and use the 'pypy setup.py install' command, it appears to install the pyserial module in /usr/local/lib/pypy2.7/dist-packages/serial, however pypy is still unable to find pyserial.
> 
> No idea why this should be an issue.  Hoping to get this figured out.
> 
> Thanks
> 
> -Ron
> 
> 
> On 04/22/2017 09:10 PM, Michael Furman wrote:
>> pyDriveWire
>> https://github.com/n6il/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 <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 <mailto:n6il at ocs.net>
>> Phone: +1 (408) 480-5865
>> 
> 
> 
> -- 
> Coco mailing list
> Coco at maltedmedia.com <mailto:Coco at maltedmedia.com>
> https://pairlist5.pair.net/mailman/listinfo/coco <https://pairlist5.pair.net/mailman/listinfo/coco>


More information about the Coco mailing list