Skip to content

Commit 9e5334a

Browse files
authored
Merge pull request #88 from int2001/update_rm
Update Readme
2 parents 689321a + b505a44 commit 9e5334a

File tree

2 files changed

+300
-103
lines changed

2 files changed

+300
-103
lines changed

README.md

Lines changed: 230 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,251 @@
1-
# CAT and WSJT-X Bridge for Wavelog
1+
# WaveLogGate - CAT and WSJT-X Bridge for WaveLog
22

3-
## Prerequisites
3+
A modern Electron-based gateway application that connects WSJT-X, FLRig, Hamlib, and other amateur radio software to WaveLog for seamless logging and radio control.
44

5-
* [FLRig](http://www.w1hkj.com/) properly SetUp to your TRX (if you want to use the CAT-Feature. It's optional!)
6-
* WSJT-X (if you want to use the automatic logging from WSJT-X/Z/Y / FLDigi / Tool which produces UDP-Log-Packets)
7-
* WaveLog-Account on any WaveLog instance
8-
* HTTPS (SSL) has to be enabled for Wavelog to use WLGate
5+
# TL;DR:
6+
- For CAT you'll need [FLRig](https://www.w1hkj.org/files/flrig/) or [Hamlib](https://github.com/Hamlib/Hamlib/wiki/Download) installed and connected to your Transceiver.
7+
- For logging QSOs from WSJT-X, you need to configure the so called "Secondary UDP Server" like shown in the picture:
8+
<img width="788" height="312" alt="image" src="https://github.com/user-attachments/assets/a4d005d0-8546-4ae3-99e8-89a195df9e0e" />
99

10-
## WARNING // IMPORTANT! (When using AppleSilicon Mac)
1110

12-
If you use a newer mac (with M1,M2,M3, etc.) apple changed their policy for unsigned Apps.
13-
There's a workaround available, but you need the Terminal aka Shell for that.
14-
Instructions:
11+
## Features
1512

16-
1. Download Binary/DMG
17-
2. Copy Binary/DMG to Application-Folder
18-
3. Launch Terminal.app
19-
4. Type in the following:
20-
* `xattr -d com.apple.quarantine /Applications/WaveLogGate.app`
21-
* Launch the Application (should launch now)
13+
### Core Functionality
14+
- **Automatic QSO Logging**: Real-time logging from WSJT-X, FLDigi, and any software sending ADIF via UDP
15+
- **CAT Radio Control**: Full radio control via FLRig or Hamlib integration
16+
- **Dual Profile Support**: Switch between two complete configuration profiles
17+
- **Real-time Radio Status**: Live frequency, mode, and power status updates to WaveLog
18+
- **Cross-platform**: Windows, macOS, and Linux support
19+
20+
### Advanced Features
21+
- **WebSocket Server**: Real-time broadcasting of radio status changes to external clients
22+
- **HTTP API**: Simple frequency/mode control endpoint for external integrations
23+
- **Power Monitoring**: Automatic power level reporting (can be disabled if needed)
24+
- **Split Operation**: Support for split frequency operations
25+
- **ADIF Processing**: Robust ADIF and XML parsing with automatic band detection
26+
- **Modern UI**: Bootstrap 4-based interface with responsive design
2227

23-
## Setup
28+
## Prerequisites
2429

25-
1. Download Binary
26-
2. Start Binary (for Windows: Start Binary and after that you have a NEW Binary. One can delete the old one)
27-
3. Fill in informations:
28-
* WAVELog-URL including index.php (if you setted it up with that)
29-
* API-Key (from Wavelog / Right Menu / API-Keys)
30-
* Station-ID (from Wavelog / Right Menu / See Stationlocations / small badge with station-ID)
31-
4. If you're running FLRig on the same machine put 127.0.0.1 to FLRig-Host and 12345 to FLRig Port and enable it.
32-
5. Click "Test" - Button becomes green if working, Red with detailled issue below, when faulty.
33-
6. Click "Save" if everything is okay
30+
- **WaveLog Instance**: Any WaveLog installation with HTTPS (SSL) enabled
31+
- **WaveLog API Key**: Generated from WaveLog right menu → API-Keys
32+
- **WaveLog Station ID**: Found in WaveLog right menu → Station locations
33+
- **Radio Control Software** (optional):
34+
- FLRig for CAT control
35+
- Hamlib for CAT control
36+
- OR any software capable of sending ADIF via UDP
37+
- **WSJT-X** (optional): For automatic digital mode logging
38+
39+
## Installation
40+
41+
### Download Pre-built Binaries
42+
1. Download the latest release from the [WaveLogGate GitHub repository](https://github.com/wavelog/WaveLogGate/releases)
43+
2. Run the installer for your platform:
44+
- **Windows**: Run the `.exe` installer
45+
- **macOS**: Copy the `.app` file to Applications folder
46+
- **Linux**: Install the `.deb` package or extract the AppImage
47+
48+
### Apple Silicon Mac Users
49+
Due to macOS security restrictions for unsigned apps:
50+
51+
```bash
52+
# After copying to Applications folder
53+
xattr -d com.apple.quarantine /Applications/WaveLogGate.app
54+
```
55+
56+
## Configuration
57+
58+
### Basic Setup
59+
1. **Launch WaveLogGate**
60+
2. **Enter WaveLog Details**:
61+
- **WaveLog URL**: Full URL including `/index.php` (e.g., `https://your-wavelog.com/index.php`)
62+
- **API Key**: From WaveLog right menu → API-Keys
63+
- **Station ID**: From WaveLog right menu → Station locations (click the small badge)
64+
3. **Configure Radio Control** (optional):
65+
- Select radio type: FLRig, Hamlib, or None
66+
- Enter host and port (default: 127.0.0.1 and appropriate port)
67+
- Enable/disable mode control and power monitoring
68+
4. **Test Configuration**: Click the "Test" button - it turns green if successful
69+
5. **Save Settings**: Click "Save" to persist your configuration
70+
71+
### Radio Configuration Options
72+
73+
#### FLRig Setup
74+
- **Host**: Usually `127.0.0.1` if running locally
75+
- **Port**: Default `12345`
76+
- **Mode Control**: Enable to let WaveLogGate set radio modes automatically
77+
78+
#### Hamlib Setup
79+
- **Host**: Usually `127.0.0.1` if running locally
80+
- **Port**: Default `4532`
81+
- **Mode Control**: Enable to let WaveLogGate set radio modes automatically
82+
- **Ignore Power**: Check if your radio doesn't report power correctly
83+
84+
### Profile Management
85+
WaveLogGate supports two complete configuration profiles:
86+
- Click the profile toggle button (1/2) to switch between profiles
87+
- Each profile maintains independent WaveLog and radio settings
88+
- Useful for multiple stations or operating locations
89+
90+
## Software Integration
91+
92+
### WSJT-X Setup
93+
1. Open WSJT-X Settings → Reporting
94+
2. **Enable "Secondary UDP Server"**
95+
3. Set UDP port to **2333**
96+
4. **Important**: Do NOT set the main "UDP Server" to port 2333
97+
98+
### FLDigi Setup
99+
Configure FLDigi to send ADIF logs via UDP to port 2333.
100+
101+
### WaveLog Integration
102+
1. **For Live QSOs**: Open WaveLog Live Logging → Radio tab → Select "WLGate"
103+
2. **For Manual QSOs**: In Stations tab, select "WLGate" as radio
104+
3. **Bandmap Control**: Click spots in WaveLog bandmap to automatically QSY your radio
105+
106+
## API and Integration
107+
108+
### HTTP API
109+
**Endpoint**: `http://localhost:54321/{frequency}/{mode}`
110+
111+
Example:
112+
```bash
113+
# Set radio to 7.155 MHz LSB
114+
curl http://localhost:54321/7155000/LSB
115+
```
116+
117+
### WebSocket Server
118+
**Port**: `54322`
119+
**Protocol**: WebSocket
120+
121+
Real-time radio status updates:
122+
```javascript
123+
const ws = new WebSocket('ws://localhost:54322');
124+
ws.onmessage = (event) => {
125+
const data = JSON.parse(event.data);
126+
if (data.type === 'radio_status') {
127+
console.log(`Frequency: ${data.frequency}, Mode: ${data.mode}`);
128+
}
129+
};
130+
```
131+
132+
See [WEBSOCKET_README.md](WEBSOCKET_README.md) for detailed integration examples.
133+
134+
## Advanced Settings
135+
136+
Access advanced settings by pressing **Ctrl+Shift+D** in the configuration window:
137+
138+
- **Force Hamlib**: Override FLRig and use Hamlib instead
139+
- **Disable Power Transfer**: Stop sending power readings to WaveLog
140+
- **Debug Options**: Additional logging and troubleshooting options
141+
142+
**Note**: Advanced settings are in beta - restart the application after changes to ensure they're applied correctly.
143+
144+
## Development
145+
146+
### Prerequisites
147+
- Node.js (v14+) or Bun
148+
- Git
149+
150+
### Setup Development Environment
151+
```bash
152+
# Clone repository
153+
git clone https://github.com/wavelog/WaveLogGate.git
154+
cd WaveLogGate
155+
156+
# Install dependencies
157+
npm install
158+
# or with bun
159+
bun install
160+
161+
# Start development mode
162+
npm start
163+
# or with bun
164+
bun start
165+
166+
# Build application
167+
npm run make
168+
```
34169

35-
## WSJT-X (and derivates) SetUp
170+
### Development Notes
171+
- Configuration stored in application data directory
172+
- Debug console available in development mode
173+
- Single instance enforcement (only one can run at a time)
174+
175+
## Network Ports
36176

37-
Go To WSJT-X-Settings // Reporting
38-
Enable "Secondary UDP Server" like shown in the picture. Do NOT set "UDP Server" (above) to the same Port!
177+
- **2333/UDP**: WSJT-X and ADIF log reception
178+
- **54321/HTTP**: Frequency/mode control API
179+
- **54322/WebSocket**: Real-time radio status broadcasting
180+
- **12345**: Default FLRig port (if used)
181+
- **4532**: Default Hamlib port (if used)
39182

40-
![image](https://github.com/wavelog/waveloggate/assets/1410708/7238b193-c589-4ae3-97f8-eae506965dff)
183+
## Troubleshooting
41184

42-
## SetUp/Working with CAT in Wavelog
185+
### Common Issues
186+
187+
#### Port Conflicts
188+
- Ensure ports 2333, 54321, and 54322 are not blocked
189+
- Stop other applications using these ports
190+
- Application shows clear error messages for port conflicts
191+
192+
#### Radio Connection Issues
193+
- Verify FLRig/Hamlib is running and accessible
194+
- Check host/port configuration matches your radio control software
195+
- Test connectivity using the "Test" button in WaveLogGate
196+
197+
#### WaveLog Connection Issues
198+
- Verify WaveLog URL is correct and accessible
199+
- Check API key is valid and not expired
200+
- Ensure Station ID exists in your WaveLog instance
201+
- HTTPS must be enabled on WaveLog
202+
203+
#### Linux Specific Issues
204+
- Some distributions may need additional libraries:
205+
```bash
206+
# For Raspberry Pi or some Linux distributions
207+
sudo apt-get install libasound2-dev
208+
```
209+
See [DB4SCW's guide](https://www.db4scw.de/getting-waveloggate-to-run-on-the-raspberry-pi/) for detailed Raspberry Pi setup.
210+
211+
#### macOS Apple Silicon Issues
212+
If the app won't start on Apple Silicon Mac:
213+
```bash
214+
xattr -d com.apple.quarantine /Applications/WaveLogGate.app
215+
```
216+
217+
### Debug Information
218+
- Check the application log for detailed error messages
219+
- Use Ctrl+Shift+D to access advanced settings
220+
- In development mode, use the browser console for debugging
43221

44-
1. Open Live-Logging
45-
2. Set Radio at Radio-Tab
46-
3. Do QSO
47-
4. Log
222+
## Contributing
48223

49-
Radio will be saved for next QSO
224+
Contributions are welcome! Please:
50225

51-
## Features
226+
1. Fork the repository
227+
2. Create a feature branch
228+
3. **Submit pull requests to the `dev` branch only**
229+
4. Follow the existing code style
230+
5. Test changes across platforms if possible
52231

53-
* When clicking on a spot in WaveLog-Bandmap your TRX with QSY to the Spot.
54-
* If you log a (non WSJT-X) QSO first go to "Stations Tab" and chose "WLGate" as Radio. After that Band/Mode/QRG will be automatically taken from your Rig into the QSO-Fields
55-
* When clicking the loupe at Live-QSO/Post-QSO Wavelog will automaticly lookup the Spot behind the QRG (if there's a spot)
232+
### Notable Contributors
233+
- [gotoradio](https://github.com/gotoradio)
234+
- [Northrup](https://github.com/northrup)
235+
- [Frédéric (ON4PFD)](https://github.com/fred-corp)
56236

57-
Enjoy
237+
## Version History
58238

59-
## Advanced Settings (Beta!)
60-
* Press CTRL+SHIFT+D in config-Window. A second window appears.
61-
* You can enable Hamlib instead of FLRig here.
62-
* You can disable taking over the Power to Wavelog here.
63-
* WARNING: This is in Beta-State. The main-config-window may(!) not show all changes. To make sure whats saved, pse restart the Application after changing the advanced-config
239+
- **v1.1.x**: Current stable version with full WebSocket support and dual profiles
240+
- **v1.0.x**: Basic FLRig and WSJT-X integration
241+
- Earlier versions: Limited feature set
64242

65-
## Contributing
243+
## License
66244

67-
Contribution is welcome. PRs will only be accepted against the Dev-Branch.
245+
This project is licensed under the terms specified in the [LICENSE](LICENSE) file.
68246

69-
## Contributions
70-
Tnx for contributing:
71-
[gotoradio](https://github.com/gotoradio) [Northrup](https://github.com/northrup) [Frédéric (ON4PFD)](https://github.com/fred-corp)
247+
## Support
72248

73-
## Troubleshooting
74-
Since we are not able to test every Linux-Version out there, we're collecting some "workarounds" and tips if there are problems with the Linux-Version.
75-
* Problem: libasound.so.2 cannot be found AND possible Problems for Raspberry: [Blogpost from DB4SCW (Thank u!)](https://www.db4scw.de/getting-waveloggate-to-run-on-the-raspberry-pi/)
76-
##
249+
- **Issues**: Report via [GitHub Issues](https://github.com/wavelog/WaveLogGate/issues)
250+
- **Documentation**: See additional README files in the repository for specific features
251+
- **WaveLog**: [WaveLog Website](https://wavelog.org/) for logging system support

0 commit comments

Comments
 (0)