Giter VIP home page Giter VIP logo

greatfet's People

Stargazers

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

Watchers

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

greatfet's Issues

USB1 host example

I would like an example implementation that can be called from Python (and maybe a command-line tool) on the host that demonstrates USB1 functioning in host mode. For example, it could just read descriptors from a device attached to USB1 and pass those along to the host attached to USB0.

MSP430 register access

Add support for peek and poke of MSP430 CPU registers. Is this even possible via JTAG? Do we need to inject little assembly routines to support this? Would that be worth doing?

Chipcon debug

Port Chipcon functions from GoodFET. This will enable programming of YARD Stick One and the IM-Me with Begonia.

UART command-line tool

Implement UART control and bi-directional UART messages accessible from a command-line tool. The tool should support stdin and stdout so that it can be used in a pipeline like netcat.

Servo

There's a servo on my desk, we should be able to control it from a GreatFET

unified greatfet command-line tool

Unify all command-line tools into a single command with an initial argument specifying the tool name (similar to how the git command works).

Flash Emulation Tool

Make GreatFET live up to its name! This could be implemented with either SPI or I2C or both. It could be supported in a command-line tool, or it could just be some example Python code.

MSP430 command-line tool

We should have a tool that supports flash dump, flash erase, flash write, flash verify, peek, and poke. Avoid erasing info flash except as a separate option.

Host utilities and libraries not installed

Running python setup.py install will only copy the .egg into site-packages/, but will not unpack it, or install the host utilities anywhere.

I am running OS X 10.10.5 (Yosemite) with Python 2.7 installed with macports into /opt/local.
On OS X Python's  site‑packages/ is located at /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/.

GPIO rewrite

The GPIO drivers need a re-write to avoid issues -- this is needed for the factory test jig.

I2C slave

Implement I2C slave mode. (We currently only support master mode.) This should be accessible from firmware, the Python API, and the I2C command-line tool.

set_configuration call fails on some configuration

Calling set_configuration from pyusb on greatfet resutls in an input/output error.
strace output for a greatfet:
openat(AT_FDCWD, "/dev/bus/usb/003/018", O_RDWR) = -1 EPIPE (Broken pipe)

Same strace for another usb device:
openat(AT_FDCWD, "/dev/bus/usb/002/004", O_RDWR) = 9
ioctl(9, USBDEVFS_GET_CAPABILITIES, 0x21cc594) = 0
ioctl(9, USBDEVFS_SETCONFIGURATION, 0x7fffc97809ac) = 0

The system in question uses an Intel Corporation Wildcat Point-LP USB xHCI Controller (rev 03) and runs Linux kernel 4.14.0-3-amd64 #1 SMP Debian 4.14.17-1 (2018-02-14) x86_64 GNU/Linux.
Versions of pyusb and libusb:
pyusb 1.0.2
libusb 2:1.0.21-2

Weight sensor

Try to work out some sort of weight sensor for creme brulee

implement new command API

We want to abandon the use of USB vendor requests for most things and implement a GoodFET-style protocol over a bulk endpoint. This protocol should allow for future implementations of control interfaces other than USB, for example a UART or an interface from micropython that allows the same Python API as we have on the host.

I2C scan

Brute force I2C addresses and report every address that results in an acknowledgement from a slave. The ACK indication can be found in the I2C status register. The scan function should be accessible from firmware and from the Python API.

where is the pc software for greatfet

hi dominicgs
i have made one greatfet myself but i can not find the pc software in
github,in greatfet repository or this repository。 i tried usb goodfet PC python software whrited by goodsman。but it seems not work。PC can not comincation with greatfet。 can you tell me where i can download the pc python software for greatfet。

SPI slave

Support slave mode from the SPI command-line tool.

Add support for a self-test mode.

Provide the capability for a USB-orchestrated self-test mode, which should include:

  • Debug logging, a la dmesg
  • A self-test option that reports overall device/peripheral health targeted towards end-users -- as much as is possible.

DAC from host code

Allow values to be set in python that are represented in the output from the DAC.

I2C clock configuration

Provide a way to configure the I2C clock speed. This should be configurable from firmware, the Python API, and the I2C command-line tool.

SPI documentation

Write a page on the wiki explaining our SPI functions and how they can be used from the command-line tool. Point to the command-line tool as sample code for the SPI Python API. See the Bus Pirate SPI guide for inspiration.

Pin manager in GreatFET firmware

It would be nice to have a method of managing and keeping track of pin assignments / settings / functions. I think this could be implemented as a pin manager that will allow us to set / query pin settings.

I2C peripheral selection

Support the selection of I2C0 or I2C1. This should be configurable from firmware, the Python API, and the I2C command-line tool.

SPI monitor mode

Support monitor (sniffer) mode from the SPI command-line tool.

I2C command-line tool

Make a general-purpose I2C tool that supports arbitrary I2C transactions and I2C scan.

HS USB stream test

Implement a host tool that demonstrates and tests maximum speed transfer of data over Hi-Speed USB. This probably has to be done in C. It could be based on hackrf_transfer.

one-shot ADC

We currently have a method of streaming samples from the internal ADC in the MCU, but I would like a Python function on the host that retrieves a single sample. This function should additionally be implemented in greatfet_adc.py as an alternative to continuous streaming.

Linux kernel integration

Support access of certain functions such as GPIO, UART, SPI, I2C, USB from the Linux kernel. For example, it should be possible to use a GF1 as a USB to serial adapter that gives you a /dev/tty* device file.

I2C monitor

Implement I2C monitor (sniffer) mode. This should be accessible from firmware, the Python API, and the I2C command-line tool.

I2C MITM

Support I2C man-in-the-middle. Sniffing should be possible with the command-line tool, and there should be an indication of the direction of communication over the bus. From the Python API it should be possible to block or modify certain I2C transactions.

I2C documentation

Write a page on the wiki explaining our I2C functions and how they can be used from the command-line tool. Point to the command-line tool as sample code for the I2C Python API. See the Bus Pirate I2C guide for inspiration.

SPI MITM

Support SPI man-in-the-middle. Sniffing should be possible with the command-line tool, and there should be an indication of the direction of communication over the bus. From the Python API it should be possible to block or modify certain SPI transactions.

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.