Skip to content

duserzym/RAPID

Repository files navigation

RAPID — RapidPy Paleomagnetic System

VB6 → Python 64-bit modernisation of the UC Berkeley RAPID paleomagnetic magnetometer controller.

The original VB6 source is archived at sourceforge.net/projects/paleomag (GPLv3). The VB6/ folder in this repo contains the Berkeley-specific variant operated on the Hargraves magnetometer, upgraded 2024-2025 and deployed at the Institute for Rock Magnetism (University of Minnesota, 2025).

Modern replacements live under RapidPy/ — self-contained Python apps with a shared hardware abstraction layer and a unified UMN maroon-and-gold UI style.


Current Progress

RapidPy is now beyond the initial three-app milestone. The repository currently contains seven released modules, additional in-progress migration panels, and bench or support utilities, with public app pages under the GitHub Pages site and recent one-file Windows builds landing in the repo-root dist/ folder.

Module Snapshot

App Status Module Current packaging Documentation
Gaussmeter Control Released RapidPy/gaussmeter_control dist/RapidPy_Gaussmeter.exe Manual · App page
VRM Decay Logger Released RapidPy/vrm_logger dist/RapidPyVRM.exe Manual · App page
ADwin Communications Tester Released RapidPy/adwin_comms dist/RapidPyADWin.exe Manual · App page
COM Port Mapper Released RapidPy/com_port_mapper dist/RapidPyCOMMapper.exe README · App page
XY Sample Changer Released RapidPy/changer_xy_control dist/RapidPyChangerXY.exe Manual · App page
Up/Down Control Released RapidPy/updown_control dist/RapidPyUpDown.exe Manual · App page
RapidPy DataViewer Released utility RapidPy/data_viewer Source launcher today App page
AF Tuner In progress RapidPy/af_tuner dist/RapidPyAFTuner.exe README · App page
RAPID v4 System Shell In progress RapidPy/system_shell dist/RapidPySystemShell.exe README
DC Motor Control Migration / bench RapidPy/dc_motor_control dist/RapidPyDCMotors.exe README
AF Clip Test Bench utility RapidPy/af_clip_test dist/RapidPyAFClipTest.exe README

Recent Highlights

  • COM Port Mapper: released Windows utility for serial-role discovery and saved machine-local COM assignments before launching hardware apps.
  • XY Sample Changer: released stage-centric operator panel with XY-only mode, in-app cup calibration editing, and VB6-compatible HomeToCenter / MoveToCorner behavior.
  • Up/Down Control: released Z-axis panel combining raw motion, top-switch readback, vacuum control, and SQUID-guided MeasPos optimisation in one window.
  • RapidPy DataViewer: released lightweight palaeomagnetic viewer for CIT .sam, MagIC measurements.txt, and legacy CSV data, with 2D/3D directional views, stereonet, intensity and paleointensity quicklooks, rule-based next-step hints, automatic file watching, and a generated app icon.
  • Docs and site: GitHub Pages homepage, hash-routed app pages, refreshed screenshots, module icons, and a compiled-app manual index now track the public migration surface.

Architecture

RapidPy/
├── rapidpy_common/          # Shared hardware layer
│   ├── ui.py                # UMN maroon/gold liquid-glass style sheet
│   ├── hardware.py          # Quicksilver motor protocol + motion helpers
│   ├── adwin_af.py          # ADwin AF ramp backend
│   └── gaussmeter.py        # gm0.dll / FW Bell wrapper + reading helpers
├── gaussmeter_control/      # Released FW Bell 908A operator panel
├── vrm_logger/              # Released three-axis SQUID VRM decay logger
├── adwin_comms/             # Released ADwin I/O diagnostic tester
├── com_port_mapper/         # Released serial-role discovery utility
├── af_tuner/                # In-progress AF coil tuning panel
├── af_clip_test/            # Bench utility for AF clipping workflows
├── changer_xy_control/      # Released stage-centric XY changer panel
├── updown_control/          # Released Z-axis / vacuum / MeasPos panel
├── dc_motor_control/        # Broader motor migration surface
├── system_shell/            # In-progress subsystem launcher
└── data_viewer/             # Standalone demagnetisation data viewer

Build & Distribution

Recent Windows builds are one-file PyInstaller bundles written to the repo-root dist/ folder:

Executable Description
RapidPy_Gaussmeter.exe Gaussmeter Control
RapidPyVRM.exe VRM Decay Logger
RapidPyADWin.exe ADwin Communications Tester
RapidPyCOMMapper.exe COM Port Mapper
RapidPyChangerXY.exe XY Sample Changer
RapidPyUpDown.exe Up/Down Control
RapidPyAFTuner.exe AF Tuner
RapidPySystemShell.exe RAPID v4 System Shell
RapidPyDCMotors.exe DC Motor Control
RapidPyAFClipTest.exe AF Clip Test
install_fwbell_drivers.exe FW Bell USB driver installer (bundled with Gaussmeter Setup)

RapidPy/data_viewer is currently maintained as a source-launched utility rather than a packaged executable; its app assets are generated from RapidPy/data_viewer/tools/generate_icon.py.

PyInstaller specs live under installer/. Most app folders provide a build_windows.bat that regenerates icons and invokes the matching spec from the repo root.

Build from an app folder with:

Set-Location RapidPy\<module_folder>
conda run -n paleomag cmd /c build_windows.bat

Examples:

Set-Location RapidPy\gaussmeter_control
conda run -n paleomag cmd /c build_windows.bat

Set-Location RapidPy\changer_xy_control
conda run -n paleomag cmd /c build_windows.bat

Set-Location RapidPy\updown_control
conda run -n paleomag cmd /c build_windows.bat

Requirements: conda env create -f environment.yml creates the paleomag environment (Python 3.13, PySide6, pyqtgraph, PyInstaller).


Additional Documentation

Document Description
compiled-apps-manual-index.md Current compiled-app status, manual coverage, and VB6 transition-sheet tracking
docs/site/index.html Static source for the GitHub Pages homepage
docs/site/apps/index.html Static source for the GitHub Pages app-detail pages
fw-bell-gaussmeter-user-guide.md Operator setup, driver installation, DLL placement, and GUI usage
fw-bell-gaussmeter-developer-guide.md Direct driver work, helper usage, SCPI communication
gaussmeter-user-manual.md Full Gaussmeter Control app manual
vrm-logger-user-manual.md VRM Decay Logger full manual
adwin-comms-user-manual.md ADwin Communications Tester manual
changer-xy-control-user-manual.md XY Sample Changer full manual
updown-control-user-manual.md Up/Down Control full manual

Licence

GPLv3 — see LICENSE.

About

New Python GUI software migrated from old VB6 Paleomag2014 software code used at the IRM to run the Hargraves magnetometer Rapid system

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors