-
Notifications
You must be signed in to change notification settings - Fork 104
Task List
bvernoux edited this page Dec 5, 2014
·
281 revisions
The first place to look for open tasks that you can help with is the Issues List.
The following list will be removed once everything is moved to the Issues List, completed, or obsolete. If you are interested in helping with any of these tasks, coordinate with the person in parentheses. Try IRC first freenode channel #hydrabus, then email.
###Work In Progress HydraBus Only (bvernoux):
- G Frequency generator/PWM (todo)
- d Generate DAC output from 0 to 3.3V (value from 0 to 255) (todo)
###Work In Progress / Planning (bvernoux):
- Implement basic stack overflow/underflow check with canaries between each stack (probably need chibios patch)
- Implement advanced stack overflow/underflow protection using M4F MPU
###Work in progress microrl replacement by tokenline:
-
Convert to https://github.com/biot/tokenline (Bert)
-
Before to merge in trunk:
- optional parameter ":" does not work for all modes (tested with 10:2 or write 10:2 in spi, i2c, uart)
- TODO i2c missing command "stop" remove command "restart" as it is same as "start" for I2C
-
After merge in trunk:
- TODO display full help when "Tab" is pressed (instead of minimal keyword)
- TODO add help syntax for each group of command
- For ADC example: Configuration: adc <adctype (adc1 tempsensor vrefint vbat)> [<period (nb ms)>] Interaction: adc [ ] []
- For GPIO example: Configuration: gpio <string (gpio port)> [<mode (in/out/open-drain)>] [<pull (up/down/floating)>] [<period (nb ms)>] Interaction: gpio [continuous] [<on/off>] []
- For SPI example: Configuration: spi [<device (1/2)] [<pull (up/down/floating)>] [<frequency (value hz/khz/mhz)>] Interaction: spi [<cs (on) OR "[">] [<cs (off) OR "]">] <read or write (value:repeat)>
- For I2C example: Configuration: i2c [<pull (up/down/floating)>] [<frequency (value hz/khz/mhz)>] Interaction: i2c [] [] <read or write (value:repeat)>
- For UART example: Configuration: uart [<device (1/2)] [<speed (value in bauds)>] [<parity (none/even/odd)>] [<stop-bits (1/2)>] Interaction: uart <read or write (value:repeat)>
- For NFC TBD
- TODO add wildcard "*" to read a group of ADC channels
###Development Environment:
- Tutorial for EmBlocks to load project and debug it (Windows only)
- Tutorial for Eclipse/ChibiStudio to load project and debug it (Windows only)
- Tutorial for Eclipse to load project and debug it (Linux)
###TODO common (HydraBus/HydraNFC):
- "Smart" completion depending on command when TAB is pressed to simplify/speedup commands usage => see Bert work on tokenline to be merged soon in trunk
- Implement Ctrl-C Abort which work like UBTN press to stop waiting.
- SD commands:
- New commands: "rm", "mkdir"
- New feature: Replay some terminal commands from a specified sd file, command name TBD
- New feature: "logon [filename]" & "logoff" to log everything from the terminal in & out to a sd card file (automatic name like logX.txt with X=0 at start incremented each time a new logon is called) log is stopped/flushed when calling "logoff"
- SD driver:
- Implement correct detection & setting of high-speed microSD, in order to set frequency to 48MHz (instead of default 24MHz) => To be done in chibios driver or use stm32cube sdcard driver which have such feature.
- Extension using EEPROM for detection:
- Implement support of EEPROM extension detection with same hw & content as Beagle bone defined here https://github.com/jbdatko/eeprom_tutorial/blob/master/eeprom.md
###TODO HydraBus Only:
- Add binary mode for SPI, I2C, UART on USB2 (dedicated to binary mode)
- Add utilities (like BusPirate):
- a/A/@ Control auxillary pin (low/HIGH/read)
- F Measure frequency (from 1282Hz to 84MHz, 128Hz to 8.4Mhz too, autorange ...)
- Add new utilities:
- SPI for non intrusive sniffer for MISO/MOSI line (with support of /CS)
- I2C for non intrusive sniffer for SDA line (with support of /CS)
- I2C to search I2C device(s) address
- Multimeter up to 3.3V/7.2MSPS(12bits) with logging in µSD file in realtime.
- Protocol interaction 'm' new commands:
- CAN, GPIO, Parallel Bus (2 to 32bits) with mode sniffer, read and write (with option to log data in realtime to MicroSD) (depending on feedback)
- 1/2/3 Wire with mode sniffer, read and write (depending on feedback)
- Basic Scope up to 3.3V and up to 7.2MSPS/12bits
- USB 1.x/2.0 LS/FS sniffer mode (using special passthrough mode with logging directly to MicroSD) (depending on feedback)
- Other commands as defined in BusPirate menu (with some extensions/new features) (depending on feedback)
###TODO HydraNFC Only:
- Cleanup files trf7970a/src/trf797x.c & trf7970a/src/trf_spi.c and change license to Apache 2.0
- Sniffer:
- real-time write in SD card to sniff during ultra long session (limited by SD card file size and not by the internal 64KB buffer)
- add optional timestamp global and relative(between data) with at least 73.75ns resolution(for 13.56MHz)
- Mode for ISO14443B and ISO15693 or lot of other mode TBD (raw specific mode)
- Emulator mode (Card Emulation) is planned and lot of other modes TBD (like raw mode to modulate even proprietary protocol on 13.56MHz)
###DONE common (HydraBus/HydraNFC):
- Exceptions management with stack dump and information on crash
- Implement a good core dump in case of crash
###DONE HydraBus Only:
- SPI, UART, I2C modes
- v/V Measure from voltage probe (once/CONTINUOUS) (12bits) (work in progress)
- CHANGELOG
- Console commands
- Binary mode guide
-
NFC/HydraNFC v1 guide
- Read UID of an ISO/IEC_14443 Tag
- Read UID and data of a MIFARE Ultralight Tag
- Read UID of an ISO/IEC 15693 Tag
- Emul ISO14443a Tag
- Emul MIFARE Ultralight Tag
- Emul Mifare Classic Tag
- Unique NFC sniffer design
- Launch NFC sniffer from console
- Sniffer ISO14443A wireshark pcap
- Autonomous/stand-alone sniffer mode
- Sniffer ISO14443A real-time infinite trace mode
- HydraFW-HydraNFC-v1.x-TRF7970A-Tutorial