Code Monkey home page Code Monkey logo

programmer's People

Contributors

beserge avatar corellmichael avatar gbel avatar jdanford avatar stephenhensley avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

programmer's Issues

gatherExampleData failing on gh-pages

There's a 404 on the examples.json file.

When running a local version of the app this doesn't happen. The path is syntactically the same as loading the js scripts, or image reference in index.html. Could be because it just got merged.

Markdown READMEs not showing up anymore

I'm seeing "marked is not a function" here when trying to grab any of the README URLs and display the markdown.

It doesn't stop the page from functioning, but it prevents any of the READMEs from showing up. Not sure if there was a change to marked or something, but we should look into this ASAP.

Better usage (with picture or diagram)

Textually describing the process to enter the bootloader may not be sufficient, especially with how small the text on the PCB is.

A Diagram marking which buttons are which (or even a gif of the process) would make it a lot easier to illustrate how to enter the mode.

Does not recognize or offer relevant board and uploads

Just plugged in a very brand new Daisy Patch's Seed and it only offered to patch Pod's SimpleLed app after circumventing #16.
Shouldn't it offer Daisy Patch as platform along with the relevant apps?

Will probably try uploading something locally built tomorrow, but haven't come around to set up the toolchain yet. Wanted the rack working first. (Yes, this is my third module, and the first capable of producing audio/cv).

Would be happy to get pointed at ready-made firmware images that i can drop in the programmer, too!

Norns will live next to the Daisy, btw.

Linux: SecurityError: Access denied.

Using the programmer on linux, I get Access Denied error. According to a stackoverflow answer for using WebUSB on Linux, permissions must be given so that chrome can access the specific daisy seed connected on a specific USB port. The subthread suggests that the workarounds do not reliably work... So here I'll walk through the steps and paste the output.

Step 1: Identify the device via lsusb

$ lsusb
Bus 002 Device 004: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 002 Device 003: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 0483:df11 STMicroelectronics STM Device in DFU Mode
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Step 2: Create a new file in /etc/udev/rules.d/

sudo vim /etc/udev/rules.d/99-daisy.rules
# Daisy Seed in DFU Mode

SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTR{idProduct}=="df11", MODE="0660", GROUP="plugdev"

Step 3: Reconnect...
SecurityError: Access denied.

The same error occurs with a boiled down version that attempts to simply connect. So this isn't exclusive to the electrosmith programmer; it's across the board for Linux users and WebUSB.

<!DOCTYPE html>
<html>
<head allow="usb"></head>
    <body>
   <input type="submit" onclick="connect()" value="connect"/>

    <script>
    var device;
    function setup(device) {
        alert(device.productName+" open");
        return device.open()

        .then(() => device.selectConfiguration(1))
        .then(() => device.claimInterface(0))
    }

    function connect() {
        if (device == null) {
            //navigator.usb.requestDevice({ filters: [{ vendorId : 0483 }] })
	    navigator.usb.requestDevice({filters: []})
            .then(selectedDevice => {
                device = selectedDevice;
                console.log(device);
                return setup(device);
            })

            .catch(error => { console.log(error); })
        }


    }
    navigator.usb.getDevices()
    .then(devices => {
        if (devices.length > 0) {
            device = devices[0];
            return setup(device);
        }
    })
    .catch(error => { console.log(error); });
    </script>
    </body>
</html>

Javascript Console

USBDevice {
configurations: Array(1),
deviceClass: 0,
deviceProtocol: 0,
deviceSubclass: 0,
deviceVersionMajor: 2,
…
}
configuration: USBConfiguration {
configurationName: null,
configurationValue: 1,
interfaces: Array(1)
}
configurations: [USBConfiguration]
deviceClass: 0
deviceProtocol: 0
deviceSubclass: 0
deviceVersionMajor: 2
deviceVersionMinor: 0
deviceVersionSubminor: 0
manufacturerName: "STMicroelectronics"
opened: false
productId: 57105
productName: "DFU in FS Mode"
serialNumber: "200364500000"
usbVersionMajor: 2
usbVersionMinor: 0
usbVersionSubminor: 0
vendorId: 1155
__proto__: USBDevice

DOMException: Access denied.

Update Repository & Readme URL

Setting the URL of this github repo will show it in the sidebar. Also, the URL in the readme electro-smith.github.io/Programmer/dfu-util/index.html should be changed to https://electro-smith.github.io/Programmer/

Much needed style update

I did a quick mockup with Vuegg (a pretty neat gui generator, that I might try to import into our existing project). Otherwise we can use something like bootstrap.

Improvements

  • Change name to "Daisy Web Programmer"
  • Mock up ideal layout
  • Rewrite text instructions, etc.
  • improve searching and filtering functionality for example programs

Reconnect button or similar

After using this a bit, its annoying to have to reselect the same USB device over and over.

For instances such as these, there should be a reconnect button or something that just uses the last selected device info (serial/vid I believe).

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.