-
Notifications
You must be signed in to change notification settings - Fork 104
Task List
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.
HydraNFC specific:
- Add HydraNFC Tag Emulation UID ISO14443A (Mifare 1K & ISO14443A)
- Rename command mifare to typea (ISO14443A) as it was not specific to MIFARE
- Sniffer added command sniff-dbg with following new features:
- Add after each 8bits/byte the parity (ASCII char "0" or "1" + space)
- End Of Frame Timestamp + RSSI
- Sniffer added output for Wireshark with specific dissector (thanks to NicoHub)
- To be released see https://github.com/NicoHub/Wireshark-RFID-dissector for more details
HydraBus specific:
- UART: fix bug in baudrate->BRR (thanks to doegox)
- UART: Raw mode sniffer added see command bridge in uart (thanks to Baldanos)
- Logic Analyzer mode up to 1MHz 16chan with SUMP support (thanks to Baldanos)
- Compatible with ols-0.9.7.2 see http://ols.lxtreme.nl see also ols profile for hydrabus https://github.com/bvernoux/hydrafw/blob/master/ols.profile-hydrabus.cfg
- Compatible with sigrok: sigrok-cli & PulseView see http://sigrok.org
- JTAG scanner/debugger mode (like JTAGulator) to be released (thanks to Baldanos)
###TODO v0.7 or more:
- Implement new USB stack(replace the one from chibios) based on STM32Cube USB Host/Device
- Implement for USB1, USB Composite with:
- USB CDC(for terminal)
- Raw Bulk IN/OUT(used for binary mode)
- Implement for USB2, USB Composite with:
- USB CDC(for terminal)
- Raw Bulk IN/OUT(used for binary mode)
- Mass Storage (using microSD card)
- Implement Ctrl-C Abort which work like UBTN press to stop waiting.
- Implement for USB1, USB Composite with:
- Implement new SD card driver(replace the one from chibios) based on STM32Cube HAL
- Implement detection & setting of high-speed microSD, in order to set frequency to 48MHz (instead of default 24MHz).
- Check possibility to avoid IRQ and use DMA for microSD access in order to use microSD to read/write during real-time task (SPI/UART/I2C sniffer, read ADC, read GPIO, NFC sniffer/log...)
- Add binary mode:
- In Firmware for USB1 and USB2(using Raw Bulk IN/OUT dedicated to binary mode) supporting SPI, I2C, UART.
- In Host tools(Windows/Linux... using libusb) to communicate with binary mode SPI, I2C, UART.
###TODO v0.8 ore more:
-
Use "SPI1", "UART2" etc instead of 1/2 when specifying device to use the same for "DAC1" & "DAC2"...
-
Generate DAC output advanced mode using waveform and DMA to generate Sin, Square ...
- Add Offset and Frequency parameter for waveforms.
-
SD commands:
- New feature: Replay some terminal commands from a specified sd file, command name TBD
-
All modes:
- Use freeform string as byte sequence, instead of freeform integers
-
i2c:
- Slave mode
- Number of bits (7, 8, 10)
-
spi:
- Number of bits (any number)
-
Measure frequency (from 1282Hz to 84MHz, 128Hz to 8.4Mhz too, autorange ...)
-
Waveform generator
-
New modes:
- CAN,
- 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
- Nand Flash x8 and x16 support (see https://github.com/bvernoux/hydrafw/issues/12)
-
USB 1.x/2.0 LS/FS sniffer mode (using special passthrough mode with logging directly to MicroSD) (depending on feedback)
-
Cleanup files trf7970a/src/trf797x.c & trf7970a/src/trf_spi.c and change license to Apache 2.0
-
NFC:
- Modes: relabel Mifare into ISO14443A (or "typeA" if you want easy keyword) , Mifare is just one of them
- Scan:
- support 7 & 10-byte UIDs
- implement real anti-collision (be able to detect 2 tags)
- 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)
- Emulation Tag Mifare One UID in Alpha (timings are not compliant, need more test...) is available https://github.com/bvernoux/hydrafw/blob/master/hydranfc/hydranfc_emul_mifare.c
- Emulation Tag ISO14443A Tag UID in Alpha (need more test...) is available https://github.com/bvernoux/hydrafw/blob/master/hydranfc/hydranfc_emul_14443a_sdd.c
-
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)
- Multimeter up to 3.3V/7.2MSPS(12bits) with logging in µSD file in real-time.
-
Bootloader idea using official HydraBus (bootloader) OpenMoko USB ID:
- USB DFU boot like implemented in actual firmware by keeping UBTN pressed during power ON.
- Read a configuration file from SDcard(if present) and boot a custom firmware from SDcard(execution in SRAM).
- other idea TBD.
-
Protection/Debug features(for developer):
- Implement basic stack overflow/underflow check with canaries between each stack (probably need chibios patch)
- Implement advanced stack overflow/underflow protection using M4F MPU
###Hardware Extension/Shield
- Extension using EEPROM:
- Implement support of EEPROM extension detection with same hw & content as Beagle bone defined here
###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)
###DONE (please test):
- TBD
- 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