|
1 | | -# Contributor Covenant Code of Conduct |
| 1 | +## Instrument & Software Update Log |
| 2 | +--- |
| 3 | +[1.0.1] - 2025-12-02 (Current) |
| 4 | +Changed |
2 | 5 |
|
3 | | -## Our Pledge |
| 6 | + Directory Structure: Refactored codebase into a professional project structure; moved numerous files to appropriate subdirectories for better organization. |
4 | 7 |
|
5 | | -We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. |
| 8 | + Versioning: Standardized version naming conventions. Adopted Semantic Versioning (v1.0.1). |
6 | 9 |
|
7 | | -We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. |
| 10 | +Research & Documentation |
8 | 11 |
|
9 | | -## Our Standards |
| 12 | + Paper Draft: Completed and presented the first draft of the research paper to Dr. Sudip Mukherjee. |
10 | 13 |
|
11 | | -Examples of behaviour that contribute to a positive environment for our community include: |
| 14 | + Feedback: Received critical feedback regarding the inclusion of ATMS (Advanced Trasport Measuremenet Systems). |
12 | 15 |
|
13 | | -* Demonstrating empathy and kindness toward other people |
14 | | -* Being respectful of differing opinions, viewpoints, and experiences |
15 | | -* Giving and gracefully accepting constructive feedback |
16 | | -* Accepting responsibility and apologising to those affected by our mistakes |
17 | | -* Focusing on what is best not just for us as individuals, but for the overall community |
| 16 | +[Community] - 2025-12-01 |
18 | 17 |
|
19 | | -Examples of unacceptable behaviour include: |
| 18 | + Launch: PICA project posted on Hacker News. |
| 19 | +--- |
| 20 | +### Version 15 |
| 21 | +*Released: November 22, 2025* |
| 22 | +*Status: Tested and operational. Minor cosmetic updates pending.* |
| 23 | +**JOSS Submission & Professionalization** |
| 24 | +- **Code Cleanup:** Comprehensive refactoring and cleanup of the codebase to meet professional standards for JOSS submission. |
| 25 | +**A Note on Recent Updates and Testing:** |
| 26 | +> This software suite is actively used for daily laboratory measurements and is regularly tested on the physical instruments. Recently, a suite of automated tests has been integrated to improve code quality and stability. While these tests validate the core logic, the changes made to support them require a new round of thorough manual testing on the hardware to identify and resolve any practical bugs that may have been introduced. This process is currently underway, and further updates will be provided upon its completion. |
20 | 27 |
|
21 | | -* The use of sexualized language or imagery, and sexual attention or advances of any kind |
22 | | -* Trolling, insulting or derogatory comments, and personal or political attacks |
23 | | -* Public or private harassment |
24 | | -* Publishing others' private information, such as a physical or email address, without their explicit permission |
25 | | -* Other conduct which could reasonably be considered inappropriate in a professional setting |
| 28 | +--- |
26 | 29 |
|
27 | | -## Enforcement Responsibilities |
| 30 | +### Version 14.0 and 14.1 |
| 31 | +*Released: November 15, 2025* |
| 32 | +- **Improved "Getting Started" Guide:** Clarified installation and launch instructions. |
| 33 | +- **Enhanced Documentation:** Overhauled the main project `README.md` to provide a more comprehensive overview, including a new "Architecture" section that details the frontend-backend separation and the role of `multiprocessing`. |
| 34 | +- **Synchronized Executable README:** Updated `PICA_README.md` for the standalone executable. |
28 | 35 |
|
29 | | -Community leaders are responsible for clarifying and enforcing our standards of acceptable behaviour and will take appropriate and fair corrective action in response to any behaviour that they deem inappropriate, threatening, offensive, or harmful. |
| 36 | +**GUI Enhancements & New Measurement Modes** |
| 37 | +- **Major GUI Version Bumps:** Updated numerous frontend scripts to their latest stable versions. |
| 38 | +- **New Passive "Sensing" Modes:** Introduced "T-Sensing" modes for resistance logging during external temperature changes. |
| 39 | + - New `Delta Mode R-T (T_Sensing)` module. |
| 40 | + - New `K2400 R-T (T_Sensing)` module. |
| 41 | + - New `K2400_2182 R-T (T_Sensing)` module. |
| 42 | + - New `K6517B R-T (T_Sensing)` module. |
| 43 | +- **Plotter Utility Upgrade:** Enhanced `PlotterUtil_GUI.py` to support simultaneous multi-file plotting. |
30 | 44 |
|
31 | | -## Enforcement |
| 45 | +--- |
32 | 46 |
|
33 | | -Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported to the community leaders responsible for enforcement at prathameshnium@duck.com. All complaints will be reviewed and investigated promptly and fairly. |
| 47 | +### Version 13.10 (Lab Baseline) |
| 48 | +*Released: October 10, 2025* |
34 | 49 |
|
35 | | -## Attribution |
| 50 | +**Milestone: Base Laboratory Deployment** |
| 51 | +- **Status:** A stable base version for the laboratory is in place. Almost all core instrument communication and measurement loops are working perfectly. |
| 52 | +- **Context:** This release (`b545cef`) marked the completion of functional development before the focus shifted to cosmetic UI improvements and standardization. |
36 | 53 |
|
37 | | -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. |
| 54 | +--- |
| 55 | + |
| 56 | +### Version 13.9 |
| 57 | +*Released: October 09, 2025* |
| 58 | + |
| 59 | +**Documentation & Launcher Synchronization** |
| 60 | +- **Documentation Overhaul:** Synchronized `README.md` and `Change_Logs.md`. |
| 61 | +- **Executable-Specific README:** Created `PICA_README.md`. |
| 62 | +- **Launcher Script Update:** Updated `PICA.py` to reflect versioning. |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +### Version 13.8 |
| 67 | +*Released: October 09, 2025* |
| 68 | + |
| 69 | +**Build System & Documentation Overhaul** |
| 70 | +- **New Build System:** Introduced `Picachu.py` for creating standalone Windows executables via Nuitka. |
| 71 | +- **Automated Releases:** Implemented GitHub Actions `build-exe.yml` for automated compilation. |
| 72 | +- **Build Script Refinements:** Optimized `resource_path` for bundled assets. |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +### Version 13.7 |
| 77 | +*Released: October 08, 2025* |
| 78 | + |
| 79 | +**GUI Standardization & Modernization** |
| 80 | +- **Major UI/UX Overhaul:** Refactored key frontends (Delta Mode R-T, High-Resistance R-T, Lakeshore Control) to align with the modern, dark-themed UI standard. |
| 81 | +- **Backend Refinements:** Updated `IV_K6517B_L350_T_Control_Backend_v6.py` and `T_Control_L350_Simple_Backend_v10.py` with improved stability logic. |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +### Version 13.6 |
| 86 | +*Released: October 07, 2025* |
| 87 | + |
| 88 | +**New Measurement GUIs & UI Standardization** |
| 89 | +- **New LCR C-V GUI:** Integrated `CV_KE4980A_GUI_v2.py`. |
| 90 | +- **New K2400/2182 Suites:** Added standardized I-V and R-T frontends. |
| 91 | +- **UI/UX Overhaul:** Standardized all new frontends with a consistent dark-themed design. |
| 92 | + |
| 93 | +--- |
| 94 | + |
| 95 | +### Version 13.5 |
| 96 | +*Released: October 06, 2025* |
| 97 | + |
| 98 | +**Project-Wide Refactoring** |
| 99 | +- **Major Refactoring:** Reorganized all scripts into instrument-specific folders (e.g., `Keithley_2400`, `Delta_mode_Keithley_6221_2182`). |
| 100 | +- **New Structure:** Separated logic into `Backends` and `GUI` sub-folders. |
| 101 | + |
| 102 | +--- |
| 103 | + |
| 104 | +### Version 13.4 |
| 105 | +*Released: October 05, 2025* |
| 106 | + |
| 107 | +**PICA Launcher & Script Integration** |
| 108 | +- **Enhancement:** Upgraded to `PICA.py` with a two-column layout. |
| 109 | +- **New Feature:** Integrated markdown documentation viewer and automatic GPIB/VISA scanner. |
| 110 | + |
| 111 | +--- |
| 112 | + |
| 113 | +### Version 13.3 |
| 114 | +*Released: October 05, 2025* |
| 115 | + |
| 116 | +- **Enhancement:** Updated launcher to distinguish between "Active" and "Passive" R-T modes. |
| 117 | +- **New Scripts:** Integrated specialized scripts for Keithley 2400 R-T measurements. |
| 118 | + |
| 119 | +--- |
| 120 | + |
| 121 | +### Version 13.2 |
| 122 | +*Released: October 05, 2025* |
| 123 | + |
| 124 | +- **Enhancement:** Integrated new professional frontends for the Keithley 2400/2182 measurement suite. |
| 125 | + |
| 126 | +--- |
| 127 | + |
| 128 | +### Version 13.1 |
| 129 | +*Released: October 04, 2025* |
| 130 | + |
| 131 | +- **Enhancement:** Validated `Delta_Mode_Active_Temp_Control_V2.py` and `Delta_Mode_IV_Ambient.py`. |
| 132 | + |
| 133 | +--- |
| 134 | + |
| 135 | +### Version 13.0 (Delta Mode Milestone) |
| 136 | +*Released: October 03, 2025* |
| 137 | + |
| 138 | +- **New Program:** Developed `Delta_Mode_Active_Temp_Control.py` for automated temperature ramping. |
| 139 | +- **New Program:** Created `Delta_Mode_IV_Ambient.py`. |
| 140 | + |
| 141 | +--- |
| 142 | +## Historical Development Archive |
| 143 | + |
| 144 | +> **Note on Project Origins:** |
| 145 | +> The PICA software suite underwent an extensive offline development phase on isolated laboratory instrument control systems before its full migration to GitHub. The timeline below reconstructs the development history from raw commit logs and code diffs. |
| 146 | +
|
| 147 | +### Phase 3: Expansion & Refinement (Sept 2025) |
| 148 | +*Focus on High Resistance & Temperature Control* |
| 149 | +- **Sep 18, 2025:** Refined backend logic for High-Resistance Module (6517B). |
| 150 | +- **Sep 17, 2025:** Developed comprehensive front-end/back-end for High-Resistance R vs. T. Integrated linearized drivers for Lakeshore 350. |
| 151 | +- **Sep 10, 2025:** Major cleanup of `IV_Measurement` scripts and creation of `Lockin_Only.py`. |
| 152 | +- **Sep 06, 2025:** **First Major Refactor.** Reorganized loose scripts into categorized folders (`IV_2400_Only`, `Pyroelectricity`, `Temprature_Controller`). |
| 153 | + |
| 154 | +### Phase 2: Modularization (July - Aug 2024) |
| 155 | +*Transitioning from Scripts to Modules* |
| 156 | +- **Aug 15, 2024:** Added `Lakeshore_340_Continue_test.py` to support the older Lakeshore 340 model. |
| 157 | +- **July 27, 2024:** **Structural reorganization.** Moved root-level scripts into categorized folders (`Pyroelectricity`, `LCR Keysight E 4980 A`). Renamed `Keithley_6517B.py` to `Pyroelectricity/Keithley_6517B.py`. |
| 158 | + |
| 159 | +### Phase 1: The "Bulk Upload" Era (Mar 2024) |
| 160 | +*Migration of Offline Work* |
| 161 | +- **Mar 22, 2024:** Added Poling capabilities (`Poling_Keithley6517B.py`). |
| 162 | +- **Mar 12, 2024:** Updates to `IV_Measurement.py` and `IV_Combine_2400-2182.py` logic. |
| 163 | +- **Mar 11, 2024:** **Massive Feature Commit.** Added `LCR_CV.py` (Capacitance-Voltage), `Live_Data_Final-pyro.py`, and `IV_Measurement.py`. |
| 164 | +- **Mar 03, 2024:** **Core Drivers Added.** Initial upload of `Keithley_6517B.py`, `Lakeshore350.py`, and `Pyroelectric.py` drivers. This marks the end of the first major offline development block. |
| 165 | + |
| 166 | +### Phase 0: Implementation & Testing (Dec 2023) |
| 167 | +*Proof of Concept & Raw SCPI Implementation* |
| 168 | +- **Dec 09, 2023:** Updates to `IV_Front_End.py` and `README`. |
| 169 | +- **Dec 08, 2023:** **Project Birth (Version Control).** |
| 170 | + - *Commit:* `963c8fd` - "Create Combine_2400-2182.py". |
| 171 | + - *Technical Detail:* This initial script implemented raw SCPI buffer operations (`trace:data?`, `assert_trigger`). |
| 172 | + - *Commit:* `f45dba8` - "Create GPIB_TEST.py". Established the first connectivity test for instrument communication. |
| 173 | + |
| 174 | +### Phase -1: Inception & Feasibility (June 2022) |
| 175 | +*Concept, Learning, and Prototyping* |
| 176 | +- **June 10, 2022:** **First Tangible Prototype.** Initial proof-of-concept scripts for I-V characterization and shared ("Emailing code for IV.pdf"). This marked the validation of the Python-based control approach before formal development began. |
| 177 | +- **June 09, 2022:** **Environment Setup & Skill Acquisition.** Due to the air-gapped nature of the laboratory computers, the initial Python environment was established by manually downloading dependencies (PyVISA, NumPy, Matplotlib) and installing them offline. This phase involved guided learning of instrument control concepts (e.g., "Python in Origin", SCPI basics) alongside specific training provided by the PI. |
| 178 | + |
| 179 | +- **Collaboration Note:** The project's realization was significantly aided by colleagues (from UGC-DAE CSR,Mumbai) who assisted in rectifying technical issues and developing the necessary cryogenic probes and hardware fixtures required for measurements. |
| 180 | +- **June 2022:** **Project Ideation.** Dr. Sudip Mukherjee (Principal Investigator) proposed the initiative for laboratory automation from manual methods to Python-based control. He provided critical roadmap materials, including reference videos, instrument handling protocols, and conceptual designs for the GUI layouts and hardware integration. |
38 | 181 |
|
39 | | -[homepage]: https://www.contributor-covenant.org |
|
0 commit comments