https://github.com/hiperiondev/openhpsdr_p1
Complete implementation of OpenHPSDR protocol v1
https://github.com/hiperiondev/openhpsdr_p1
Last synced: 6 days ago
JSON representation
Complete implementation of OpenHPSDR protocol v1
- Host: GitHub
- URL: https://github.com/hiperiondev/openhpsdr_p1
- Owner: hiperiondev
- License: gpl-3.0
- Created: 2022-09-29T02:42:49.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-04-03T23:10:13.000Z (about 3 years ago)
- Last Synced: 2025-11-30T13:49:53.679Z (6 months ago)
- Language: C
- Size: 13.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenHPSDR_P1
The objective of this project is to create a complete framework that supports the Open HPSDR version 1 protocol to implement the control of any generic software-defined radio hardware.
It is only necessary to implement the hardware control functions.
## Callback for manage changes in internal setting.
Every time an ep2 packet change an internal state this function is called
```c
void (*ep2_callback)(int func, char* name)
```
## Buffers
RX/TX buffers are circular queues of double _Complex.
### write functions
```c
bool hpsdr_txbuffer_write(hpsdr_config_t **cfg, double _Complex *iq);
bool hpsdr_rxbuffer_write(hpsdr_config_t **cfg, double _Complex *iq);
```
### read functions
```c
bool hpsdr_txbuffer_read(hpsdr_config_t **cfg, double _Complex *iq);
bool hpsdr_rxbuffer_read(hpsdr_config_t **cfg, double _Complex *iq);
```
## Build test
```bash
$ git clone https://github.com/hiperiondev/OpenHPSDR_P1.git
$ cd OpenHPSDR_P1
$ cd build
$ make all
$ ./OpenHPSDR_P1 -d
```
## TODO
* [x] Add documentation
* [x] Add Doxygen structure
* [ ] Complete protocol
* [x] transmission
* [ ] reception