Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/boisy/drivewire-mac
The official DriveWire Server for macOS
https://github.com/boisy/drivewire-mac
Last synced: about 1 month ago
JSON representation
The official DriveWire Server for macOS
- Host: GitHub
- URL: https://github.com/boisy/drivewire-mac
- Owner: boisy
- Created: 2015-04-16T09:55:53.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-09-28T01:09:13.000Z (over 1 year ago)
- Last Synced: 2023-09-28T09:12:25.594Z (over 1 year ago)
- Language: Objective-C
- Homepage:
- Size: 11.8 MB
- Stars: 10
- Watchers: 5
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-coco - DriveWire 3 Server for Mac
README
# DriveWire Server for macOS
This is the official DriveWire server for macOS. Integrations are performed as commits are made, and Sparkle is used for in-app updating.## Obtaining Dependency Frameworks with CocoaPods
[CocoaPods](http://cocoapods.org) is a dependency manager for Xcode projects which automates and simplifies the process of using 3rd-party libraries. You can install it with the following command:
```bash
$ sudo gem install cocoapods
```## Building
Once you have installed CocoaPods, run the following command:
```bash
$ pod install
```This will fetch the required frameworks and create the DriveWire.xcworkspace file. You can open the workspace file in Xcode and build the server. Use Xcode 9 or later.
## AppleScript Support
You can use AppleScript to communicate with DriveWire server for macOS using the Script Editor application on the Mac. This is convenient if you want to automate your disk image creation and test workflow. Below are several "recipes" that you can use. Note that each script accesses the "first document" but you can also reference a document by name if you have more than one opened.### Set the baud rate:
```AppleScript
tell application "DriveWire"
tell server of first document
set baudRate to 57600
end tell
end tell
```### Eject the virtual disk in drive 3:
```AppleScript
tell application "DriveWire"
tell server of first document
-- an error is returned if the drive number is illegal
eject drive 3
end tell
end tell
```### Insert virtual disk "mydisk.dsk" into drive 0 and set the serial port:
```AppleScript
tell application "DriveWire"
tell server of first document
-- the insert command ejects any virtual disk from the drive before inserting the new one
insert image POSIX path of ("/Users/boisy/mydisk.dsk") into drive 0
change to port "usbserial-FT079LCRB"
end tell
end tell
```### Reload the virtual disk in drive 0:
This command is useful if you have altered the contents of the underlying disk image and want the server to detect those changes.```AppleScript
tell application "DriveWire"
tell server of first document
-- the insert command ejects any virtual disk from the drive before inserting the new one
reload drive 0
end tell
end tell
```### Turn off the serial port:
Sometimes you need to get DriveWire out of the way and not control the serial port.```AppleScript
tell application "DriveWire"
tell server of first document
-- turn off the serial port
change to port ""
end tell
end tell
```### Create a new document, set the baud rate to 57,600 bits per second, and insert a few disk images:
```AppleScript
tell application "DriveWire"
set newDocument to make new document
tell server of newDocument
set baudrate to 57600
-- an error is returned if the drive number is illegal or the path does not exist
insert image POSIX path of ("/Users/boisy/nitros9.dsk") into drive 0
insert image POSIX path of ("/Users/boisy/utilities.dsk") into drive 1
end tell
end tell
```## DriveWire Specification
This server follows the specifications [found here]( https://sourceforge.net/p/drivewireserver/wiki/DriveWire_Specification/).