Code Monkey home page Code Monkey logo

drivewire-mac's Introduction

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. You can download the latest build here.

Obtaining Dependency Frameworks with CocoaPods

CocoaPods 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:

$ sudo gem install cocoapods

Building

Once you have installed CocoaPods, run the following command:

$ 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:

tell application "DriveWire"
    tell server of first document
        set baudRate to 57600
    end tell
end tell

Eject the virtual disk in drive 3:

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:

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.

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.

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:

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.

drivewire-mac's People

Contributors

tlindner avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.