Remote hub memory access tool for the Parallax Propeller P8X32A.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
python
testing
.gitignore
PeekPoke Protocol v2.txt
PeekPoke.spin
README.md

README.md

Links:

PeekPoke

Status: experimental

PeekPoke is a tool for reading and writing a Propeller's hub memory from a PC. It consists of two parts: a Python module for sending commands from the PC, and a Propeller program for responding to commands.

The Python module has methods to read and write hub memory as bytes, strings, integers, and lists of integers.

The Propeller program can be configured to restrict reads and writes to specific ranges, or to disable writes altogether.

PeekPoke has these additional features:

  • the PAR register may be used to pass a value to the PC,
  • the PC can set the baudrate remotely,
  • the PC can reset the baudrate with a break condition,
  • the Propeller can support baudrates as fast as 26 clocks per bit period,
  • there is a four-byte identifier constant that can read by the PC,
  • a four-byte token variable is 0 on launch and can be set by the PC,
  • the PC can send PASM code to be executed (disabled by default),
  • the Propeller program is completely cog-contained after launch.

Installation

PeekPoke requires Python 3. It can be installed with the command pip install peekpoke (or pip3 install peekpoke). Alternatively, the package may be downloaded from https://pypi.org/project/peekpoke/. PeekPoke also requires the https://pypi.org/project/crow-serial/ and https://pypi.org/project/pyserial/ packages (pip automatically handles these dependencies).

To run PeekPoke on the Propeller include PeekPoke.spin in your project, and use the Spin methods to set up and launch a PeekPoke instance. The latest version of PeekPoke.spin can be found at https://github.com/chris-siedell/PeekPoke.

Documentation

Python: https://github.com/chris-siedell/PeekPoke/wiki/PeekPoke-Python-Documentation

Spin: https://github.com/chris-siedell/PeekPoke/wiki/PeekPoke-Spin-Documentation