Compare commits

...

5 Commits

Author SHA1 Message Date
ua1zbe 92fc26c4b0 Загрузил(а) файлы в '' 2022-09-17 18:34:31 +03:00
Ezra Taimuty-Loomis b073b8115d Merge branch 'develop' 2021-02-21 00:02:44 -05:00
Ezra Taimuty-Loomis 937b38f490 Update readme for SDR config 2021-02-21 00:02:29 -05:00
Ezra Taimuty-Loomis b60e0428df
Add install step to tutorial 2021-01-30 11:35:08 -05:00
Ezra Taimuty-Loomis 2ca4baf0a3
Fix tutorial mistakes 2021-01-15 13:57:46 -05:00
2 changed files with 30 additions and 12 deletions

View File

@ -23,7 +23,6 @@ A license hasn't been selected yet, though it's likely to be GPL - have to make
- AM demodulation
- Run-time manipulation of scan database and config
- Temporary channel lockout
- SDR configuration
#### Long term:
- P25 trunking
- DMR trunking
@ -75,21 +74,21 @@ Depending on your preferred build system
There are three options available for audio output: PulseAudio, ALSA, JACK, and OSS. By default ALSA is the selected library. Your preference can be set by running one of the following commands from the `build` directory:
cmake ../src -DUSE_AUDIO_PULSE=ON
cmake ../src -DUSE_AUDIO_ALSA=ON
cmake ../src -DUSE_AUDIO_JACK=ON
cmake .. -DUSE_AUDIO_PULSE=ON
cmake .. -DUSE_AUDIO_ALSA=ON
cmake .. -DUSE_AUDIO_JACK=ON
Do note that PulseAudio uses significantly more CPU than ALSA when streaming PiScan audio.
Additionally, some versions of liquid, particularly `libliquid-dev` versions `1.3.2` and greater, have a different API, resulting in build errors in the "Modem" files of the `cubic` module. If that happens, try running this from `build`:
Additionally, some versions of liquid, particularly `libliquid2d` and `libliquid-dev` versions `1.3.2` and greater, have a different API, resulting in build errors in the "Modem" files of the `cubic` module. If that happens, try running this from `build`:
cmake ../src -DLIQUID_API_OLD=OFF
cmake .. -DLIQUID_API_OLD=OFF
### Building
Once the environment is properly configured, `cd` into `build` and build the LiveMedia library:
make live555
If the build fails: If you are building in a shared folder in a VM on a Windows host, you must download and extract the Live sourcefiles manually into `src/external/live` and run the command below before trying again. This is due to Windows not playing nicely with permissions and symbolic links
cmake ../src -DHGFS=ON
cmake .. -DHGFS=ON
Now you can build PiScan:
make all
@ -98,13 +97,20 @@ Alternatively, you can build the binaries individually if you don't need all of
make piscan_server # main program
make piscan_hpdconv # tool to convert Uniden Sentinel files to PiScan files
### Running
For now, you have to be in the `build` directory to run the program. In the future there will be an install command to eliminate the need for this.
You can now run PiScan from the command line:
Once the build is complete, you can run the install script:
./src/piscan_server
sudo make install
Note: install must be re-run if the project is rebuilt
### Running
PiScan can now be run with the command:
piscan_server [args]
See **Usage** for more information on command arguments and setting up the data files
Alternatively, if you prefer not to use `make install` you can run it locally from the `build` directory with the command:
./src/piscan_server [args]
## Usage
### Command Arguments
@ -119,6 +125,18 @@ All data used by PiScan is stored in its working directory (this is the `data` d
- `systems.json` contains the scan database - more on what that looks like below
On the first run of PiScan, these files likely won't exist. It will continue running with default parameters, and a config and state file will be generated with these defaults when the program ends.
If there is no scan file, PiScan cannot scan so it will instead hold at 100MHz. It will not allow the user to scan, but will allow manual frequency tuning.
#### SDR configuration
PiScan allows for configuring specific RTL dongles to run with it. By default, it doesn't have any pre-configured SDR's, so it will select the first available device and save it to the config file. One it's in the config file it will be given a rank (for specifying the order PiScan chooses from configured devies) and a descriptor, which contains the device name and serial number. There, the dongle's PPM correction and preferred sample rate can be set. The format of each device config is as such:
{
"rank": "0",
"descriptor": "Generic RTL2832U OEM :: 00000001",
"driver": "rtlsdr",
"ppm_correction": "0",
"sample_rate": "2048000"
}
#### Scan Database File
`systems.json` MUST adhere to this format (minus the comments) for PiScan to read it correctly. Use the sample file in `data/defaults` as a starting point for your database if writing it manually.

Binary file not shown.