Coder Social home page Coder Social logo

neotools's Introduction

NeoTools

Command-line tools for AlphaSmart NEO.

This project aims to provide common functionality like file management, as well as access to the low-level system details. The device driver has been ported from AlphaSync.

Commands

Read file by index.

> neotools files read 1
Once upon a time...

Read file by name. Enter the name as it appears on your Neo, without extension.

> neotools files read intro
Introduction: ...

Copy all files to the directory, preserving their names.

> neotools files read-all --path archives/
> ls archives
'File 1.txt'    'File 3.txt'    intro.txt

Write file to Neo. It can write both by index and file name.

> neotools files write notes.txt 1
> neotools files write intro.txt intro

Get system information.

> neotools info
{
  "revision_major": 3,
  "revision_minor": 17,
  "name": "System 3 Neo      ",
  "build_date": "Jul 11 2013, 09:44:53",
  "free_rom": 1022224,
  "free_ram": 351744
}

Get the installed applet files from the device.

# Pass applet id and the path where to write the applet
> neotools applets fetch 40967 ControlPanel.OS3KApp
> neotools applets fetch 0 romdump.os3kos

Install applets.

> neotools applets install ~/projects/AlphaSmart\ Manager\ 2/SmartApplets/ControlPanel.OS3KApp
Are you sure you want to install an applet? This is an experimental feature. [y/N]: y
Installing applet Control Panel
Initialization for writing the applet
Initialized writing the applet
Started writing applet content
Completed writing applet content
Finalizing writing the applet
Finalized writing the applet

Remove all applets.

> neotools applets remove-all
Are you sure you want to remove all applets? [y/N]: y

Inspect applets and manage their settings.

> neotools applets list
[
  {
    "name": "System",
    "applet_id": 0,
    "rom_size": 401408,
    ...
  },
...
> neotools applets get-settings 0
[
  {
    "label": "Auto Repeat (16385)",
    "ident": 16385,
    "type": "OPTION",
    "value": {
      "selected": "On (4097)",
      "options": [
        "On (4097)",
        "Off (4098)"
      ]
    }
  },
...

Update system applet settings. Set idle time to five minutes.

> neotools --verbose applets set-settings 0 16388 5 4 59

Installation

Linux

  1. Confirm that you have Python 3 on your machine.

  2. Install neotools from the Python package repository with:

    pip3 install neotools

Mac

  1. Install a package manager Brew.

  2. Install libusb, a cross-platform library to access USB devices:

    brew install libusb

  3. Install neotools from the Python package repository with:

    pip3 install neotools

Troubleshooting

Access denied

usb.core.USBError: [Errno 13] Access denied (insufficient permissions)
A simple way to fix it is to run the command with sudo. However, it is better to give granular udev permissions to neotools. Add the following rule to the udev rules, into, for example /lib/udev/rules.d/50-alphasmart.rules.

For systems based on Debian:

ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="081e", ATTRS{idProduct}=="bd01", MODE="660", GROUP="plugdev"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="081e", ATTRS{idProduct}=="bd04", MODE="660", GROUP="plugdev"

Make sure that your user is a member of the plugdev group.

For systems based on Arch:

ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="081e", ATTRS{idProduct}=="bd01", TAG+="uaccess"
ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="081e", ATTRS{idProduct}=="bd04", TAG+="uaccess"

Attempting to enter the Updater Mode

The device displays this message and is not responsive. This happens when there are no applets installed. It is normal after running the Neotools command applets clear. To resolve the problem, install an applet, for example, AlphaWord or ControlPanel.

neotools's People

Contributors

lykahb avatar egh 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.