Coder Social home page Coder Social logo

knitty-gritty's Introduction

Knitty-gritty

Dropbox for knitting machines

Knitty-gritty manages your knitting machine patterns. You place all your pattern images a folder, and this folder will be uploaded to the machine each time you tell the machine to import patterns. You can of course pre-populate the folder with patterns downloaded from the machine.

Features

  • Reads or writes BMP, PNG, and JPEG images.
  • Compacts the memory used to avoid gaps (fragmentation!) in memory, allowing you to use (almost) 100% of your machine's 32 kb memory.

What Doesn't Work?

  • Adding data to the memo display.
  • Validating that the pattern fits within the machine's working memory.

Platform Support

Only tested on OS X, but should work out of the box on both Windows and Linux given that you have the software requirements listed below installed. Please let me know if it does not - preferably with a pull request fixing the issue :-)

What You Will Need

Hardware:

  • Brother KH940 knitting machine. KH930 might work but is untested.
  • USB FTDI cable connected to the machine.

Software:

  • A Python (2.7) installation.
  • Preferably a Python virtual environment.

Installation Instructions

Knitty-gritty is distributed as a Python package. Install it via pip:

pip install knitty-gritty

If that completed successfully, you will now have a knitty-gritty executable, ready to do its thing!

Downloading Patterns from the Machine

# First, find your USB cable:
ls /dev/tty.usbserial-*

# Replace the file below with the name you found
# The last parameter `patterns` is the folder where your patterns should be saved
knitty-gritty emulate-folder /dev/tty.usbserial-A7XTW5YZ patterns

If this is the first time you run knitty-gritty, you should download all patterns from the machine first. On a KH940, this is done by entering CE, 552, STEP, 1, STEP. When this is done, the machine should beep (as it always does). Quit Knitty-gritty by pressing Control-C. The pattern images should appear in the folder you specified.

Now you can modify/add/remove patterns as much as you like. Just drop them in the folder together with the other patterns.

Uploading Patterns

When you're done with fiddling with the images, you should upload them:

# Replace the TTY-parameter with the cable you found above.
knitty-gritty emulate-folder --no-save /dev/tty.usbserial-A7XTW5YZ patterns

The --no-save argument tells Knitty-gritty to not save any files to the folder on the computer. This is a safeguard against removing/overwriting patterns if anything goes wrong.

To load the patterns on the machine, enter CE, 551, STEP, 1, STEP and wait until it beeps.

Acknowledgements

  • The file format/memory dump file format documentation over at STG's knittington repository was a huge help in writing the parser/serializer.
  • Steve Conklin's PDDemulate.py in knitting_machine was very useful in filling the gaps in Tandy's official floppy drive command documentation.

knitty-gritty's People

Contributors

mhallin 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.