Table of Contents
HackRF
The original HackRF code can be found at /hackrf
, it is a subproject inside the source code. It points to https://github.com/mossmann/hackrf
Portapack
The rest of the code, including the portapack and havoc/mayhem extras can be found at /firmware
The portapack <--> HackRF interface functions are located in /firmware/baseband
There is an underlying OS framework, the CHIBIOS/RT, which is located at /firmware/chibios
for the abstract functionality, and /firmware/chibios-portapack
for the specific portapack board hardware drivers and configurations.
Application folder
The portapack application software, can be found at /firmware/application
User interface: /firmware/application/ui
Apps (options in each menu): /firmware/application/apps
IC / hardware components interface: /firmware/application/hw
Common protocols functionality: /firmware/application/protocols
User Interface
Menus and Widgets
MOST menus (excluding OPTIONS and DEBUG, which are actually apps) and pop-up boxes (yes/no, yes/cancel, ok) are defined in /firmware/application/ui_navigation.cpp
The Options menu is actually an "app" defined at /firmware/application/apps/ui_settings.cpp
The Debug menu (also an app) is defined at /firmware/application/apps/ui_debug.cpp
The widgets used in the UI, as buttons, texts, checkboxes, input fields, etc. are to be found at /firmware/common/ui_widget.cpp
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
How to collaborate
How to ask questions correctly
User manual
- First steps
- Usage cautions
- Intended use and Legality
- Features
- PortaPack Versions (which one to buy)
- HackRF Versions
- Firmware update procedure
- Description of the hardware
- User interface
- Powering the PortaPack
- Troubleshooting
- Won't boot
- Config Menu
- Firmware upgrade
- Diagnose firmware update in Windows
- Receive Quality Issues
- No TX/RX
- TX Carrier Only
- H2+ speaker modifications
- Dead Coin Cell Battery
- Factory Defaults
- SD card not recognized by PC with the SD-card over USB selected
- DFU overlay
- Full reset
- SolveBoard
- How to Format SDCard
- Applications
Misc
Developer Manual
- Compilation of the firmware
- Compile on WSL with ninja
- How to compile on Windows faster with WSL 2
- Using Docker and Kitematic
- Docker command-line reference
- Using Buddyworks and other CI platforms
- Notes for Buddy.Works (and other CI platforms)
- Using ARM on Debian host
- All in one script for ARM on Debian host
- Compile on Arch based distro (exclude Asahi)
- Dev build versions
- Notes About ccache
- Create a custom map
- Code formatting
- PR process
- Description of the Structure
- Software Dev Guides
- Tools
- Research
- UI Screenshots
- Maintaining
- Creating a prod/stable release (Maintainers only)
- Maintaining rules
- Development States Notes
Hardware Hacks
Note
The wiki is incomplete. Please add content and collaborate.
Important
- This is a public wiki. Everything is visible to everyone. Don't use it for personal notes.
- Avoid linking to external tutorials/articles; they may become outdated or contain false information.