A project log for HTTaP

Test Access Port over HTTP

Yann Guidon / YGDES 03/28/2017 at 00:570 Comments

This page contains a draft for a uniform/universal URI layout and "vocabulary" that all applications/clients can use.

HTTaP defines two "domains" :

The dynamic domain is split further:

Signals use the object notation (with a dot) to represent hierarchy. As a rule of thumb, if it uses a copy of the circuit or an instance of the code, it will be dot-represented. They will be treated similarly by the handler of the server, for example memory spaces...

URI comments GET POST
/path/filename Static file to serve. *
/? Root of HTTaP, serve a JSON-formatted
list of available of valid dynamic resources names
/?loopback Loopback for JS save/restore (optional)
/?list Return the list of the signals and their hierarchy
/?changes same as /?list but only include signals that have changed
/?REG read the value of all the registers
/?REG/R1 read the value of register R1
/?REG/R1,R2 read the values of registers R1 and R2 (optional?)
/?MEM Dump the contents of the memory *
/?MEM/123-456 Dump the contents of the memory from locations 123 to 456 *
/?IO.SPI.1/ Read the full status of the first SPI port

I'm not sure about the representation of ranges but they are pretty useful to reduce the bandwidth and CPU load.

Memory ranges should use the #HYX file format to save bandwidth, compared to plain JSON syntax.