{"id":16832986,"url":"https://github.com/mariokonrad/vhf-sim","last_synced_at":"2025-04-11T04:15:26.012Z","repository":{"id":151419729,"uuid":"50427981","full_name":"mariokonrad/vhf-sim","owner":"mariokonrad","description":"Simulation of a maritime VHF","archived":false,"fork":false,"pushed_at":"2021-09-29T16:59:29.000Z","size":2920,"stargazers_count":12,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T04:15:17.238Z","etag":null,"topics":["cpp","lua","maritime","qt","simulation","vhf","vhf-sim","vhf-simulator"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mariokonrad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-26T12:42:53.000Z","updated_at":"2025-03-05T23:48:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"a5f73889-5dfd-4676-98e9-ae822df1d198","html_url":"https://github.com/mariokonrad/vhf-sim","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariokonrad%2Fvhf-sim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariokonrad%2Fvhf-sim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariokonrad%2Fvhf-sim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mariokonrad%2Fvhf-sim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mariokonrad","download_url":"https://codeload.github.com/mariokonrad/vhf-sim/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248339226,"owners_count":21087215,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","lua","maritime","qt","simulation","vhf","vhf-sim","vhf-simulator"],"created_at":"2024-10-13T11:51:01.652Z","updated_at":"2025-04-11T04:15:25.991Z","avatar_url":"https://github.com/mariokonrad.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VHF-Sim\n\nCopyright (c) 2021 Mario Konrad (mario.konrad@gmx.net)\n\n\nSimulates a VHF radio for maritime navigation. The purpose of this software\nto learn and practice the handling of radio infrastructure, usually found\non pleasure crafts.\n\nIt is also useful for SRC exams.\n\n## Usage\n\nThe VHF simulator has one main window, showing the simulated VHF and a menu.\nUse the buttons shown on the simulation to use it. If it is unclear where\nusable areas are, use the menu `View / Show Buttons` to reveal all existing\nbuttons.\n\n![vhf-sim](doc/vhf-sim.png)\n\n### Features\n\n- Simulation (partial) of an Simrad-RD68 VHF radio.\n- All \"buttons\" displayed by the VHF front end are usable.\n- Simulates an \"empty\" (factory reset) device as well.\n- Contains a pseudo GPS unit to provide position, or enter it manually.\n  Also simulates the loss of GPS signal.\n- Use DSC function to do routine, safety, urgency calls, as\n  well as distress alerts.\n- Simulates DSC calls from a shore station.\n- Communicate with other instances of the simulator, either on\n  the same PC or over network, to simulate DSC calls and distress\n  alerts.\n- Fullscreen mode.\n- Exam mode. This disables repeated distress alerts. Useful for exam\n  situations (SRC).\n\n### Menu\n\n- `File / VHF Preferences`\n  : general configuration of the simulator\n- `File / GPS`\n  : a primitive GPS simulation to feed static positional information\n    to the VHF simulation\n- `File / Exam Mode`\n  : toggles between normal mode and exam mode. In exam mode, the VHF simulation\n    behaves slighly different, for example distress alerts are not being sent\n    every 5 minutes. This is particularly useful in an exam situation for the SRC.\n- `Communication / Control Center`\n  : simulates a communication peer, to receive and confirm DSC calls sent by the\n    simulation. Also able to call the simulation. This is a very rudimentary\n    simulation of a sea or shore station and is useful to learn how the VHF\n    simlator behaves in DSC mode.\n- `Communication / Connection Preferences`\n  : configuration dialog for communication over TCP to a communications hub.\n- `Communication / Open Connection`\n  : Opens a configured communication to the communications hub.\n- `Communication / Close Connection`\n  : closes an open communication channel.\n- `Communication / Communications Hub`\n  : control of a communications hub. Useful if you like to use two or more VHF\n    simulators at the same time, either local or over a network. The communication\n    is TCP based. This is useful if you like to learn how the simulation behaves\n    with DSC calls of all types in conjunction with other sea stations. Only one\n    enabled communications hub is necessary to use this feature.\n- `View / Fullscreen`\n  : toggles between window mode and fullscreen\n- `View / Show Buttons`\n  : reveals all buttons of the simulation. All areas usable by the mouse will\n    be highlighted in red color.\n- `Help / About`\n  : information about the simulation\n- `Help / About Qt`\n  : information about Qt\n\n### Keyboard\n\nIt is possible to use the computer keyboard, following keys are defined:\n\n| Key            | Function within the Simulator |\n|----------------|-------------------------------|\n| 0 ..9          | 0 .. 9                        |\n| F1 .. F4       | Soft 1 .. Soft 4              |\n| RETURN         | E                             |\n| ENTER (numpad) | E                             |\n| ESC            | C                             |\n\n### Commandline Parameters\n\n~~~\n--mmsi MMSI : defines a non-modifyable MMSI for the VHF instance\n~~~\n\n## License\n\nSee file [LICENSE](License)\n\n## Technical\n\n**Note:** this is direct successor of the old implementation from 2007 (which was\n  for free but not open source). The old version was implemented in\n  `wxWidgets-2.8.12` and `OpenAL 1.15`. The current\n  software is not a complete overhaul, but merely a port with minor refactoring.\n  There is however, no guarantee of compatibility.\n\nTested build environments: Linux, Windows (mingw), currently the packaging is done\nonly for Windows.\n\nFormatted using `clang-format-3.7`.\n\nLanguage translations done using Qt's `linguist`, language files in directory `lang`.\n\nThe software is written in C++ (some C++11) and Lua 5.1.1\n\n\n### Build on Linux\n\nTested on Ubuntu 16.04, Ubuntu 18.04, Ubuntu 20.04\n\n#### Requirements\n\n- C++ Compiler, current supported/tested: GCC 4.9, GCC 5.3, GCC 7, GCC 8, GCC 9, GCC 10\n- Qt 5.5 (or newer)\n- cmake 3.12\n- git 2.6\n\n#### Build\n\nThe environment variable `QTHOME` must be set properly.\n\n~~~{.sh}\n$ git clone https://github.com/mariokonrad/vhf-sim\n$ mkdir build\n$ cd build\n$ cmake -DCMAKE_BUILD_TYPE=Release ../vhf-sim\n$ make -j8\n~~~\n\n#### Using Docker\n\nThere are docker files for various distributions and scripts to create and use\nthe containers.\n\nExample: prepare Ubuntu 20.04 container and build the application:\n~~~{.sh}\n$ tools/docker/build.sh ubuntu2004\n$ tools/build-vhf-docker.sh ubuntu2004\n~~~\n\nThe result is built in the directory `build-ubuntu2004`.\n\n\n### Build on Windows\n\nTested on Windows 7 Professional 32bit\n\n#### Requirements\n\nPackages used to build:\n\n- Git 2.7.0\n- CMake 3.12\n- NSIS 2.50\n- Qt 5.5 MinGW 4.9\n\n#### Build\n\nThe environment variable `QTHOME` must be set properly.\n\nOn the console (`cmd.exe`, all necessary paths must be in order):\n\n~~~{.bat}\n\u003e git clone https://github.com/mariokonrad/vhf-sim\n\u003e mkdir build\n\u003e cd build\n\u003e cmake -G \"MinGW Makefiles\" -DCMAKE_BUILD_TYPE=Release ..\\vhf-sim\n\u003e cmake --build .\n\u003e cpack\n~~~\n\n\n### Build on OSX\n\nTested on Sierra, Catalina, Big Sur\n\n#### Requirements\n\nPackages used to build:\n\n- Git 2.19.0\n- CMake 3.12\n- Qt 5.10\n\n#### Build\n\nThe environment variable `QTHOME` must be set properly.\n\nOn the console:\n\n~~~{.sh}\n\u003e git clone https://github.com/mariokonrad/vhf-sim\n\u003e mkdir build\n\u003e cd build\n\u003e cmake -DCMAKE_BUILD_TYPE=Release ../vhf-sim\n\u003e cmake --build .\n\u003e cpack -G DragNDrop\n~~~\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmariokonrad%2Fvhf-sim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmariokonrad%2Fvhf-sim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmariokonrad%2Fvhf-sim/lists"}