Commit graph

24 commits

Author SHA1 Message Date
83f3221162
Refactor dictionary iteration and output formatting
Standardized the iteration over dictionary keys in `limr.py` to directly call `.keys()` method for clarity. Additionally, streamlined the output formatting by removing redundant data in `print_params()` method, resulting in cleaner output without extraneous details. This enhances code readability and maintains a tidy console display.
2024-02-05 13:07:43 +01:00
99e20dbf9d
Store input args for further processing
Temporarily retain input arguments in a dictionary within the initialization for potential future use, marked with a TODO for deciding on a singular method of parameter storage. This aims to streamline configuration management and facilitate debugging. Further cleanup is needed to consolidate parameter handling.
2024-02-05 13:05:11 +01:00
cd76cb4300
Optimize JSON output format and type annotations
Refactored the dumpConfig function in C++ to output valid JSON format by changing brackets and refining the argument-value pair structure. This corrects the previous invalid JSON syntax and ensures compatibility with JSON parsers. In Python, enhanced type safety by explicitly annotating in_arg as a dictionary and streamlined parameter initialization by iterating over items directly. This change improves code readability and reduces potential errors during parameter assignment.

Fixes issue with JSON serialization and parameter handling.
2024-02-05 12:57:14 +01:00
a4d109dffd
Refactor limr class for enhanced functionality
Refactored the limr class to streamline initialization and improve parameter management by directly fetching default parameters from the `limedriver` binary with a `--dump` flag, eliminating manual parsing, leading to more robust and maintainable code. These changes improve the maintainability and extend the functionality of the parameter handling in the limr class, making it easier to scale and adapt for future requirements.
2024-02-05 11:38:49 +01:00
72e809ccec
Handle special config arguments in JSON output
Improved JSON serialization logic in the driver to correctly handle and label special "///" arguments by giving them unique identifiers. This enhancement ensures that the outputted configuration data is not only syntactically correct but also more informative and easier to process programmatically. These changes address potential ambiguities when parsing the JSON output, leading to more reliable configuration management.
2024-02-05 11:34:13 +01:00
1353137321
Add config dump feature and exit on flag
Introduced a new feature to dump the driver configuration in JSON format to stdout and exit when the "--dump" command-line flag is detected.
2024-02-05 11:24:04 +01:00
jupfi
b3e542d2f6 Merge branch 'main' of github.com:nqrduck/LimeDriver 2024-02-05 10:37:57 +01:00
jupfi
32ff54404d Added limr python file 2024-02-05 10:37:29 +01:00
39de10eae6
Merge branch 'main' of https://github.com/nqrduck/LimeDriver 2024-02-05 10:33:39 +01:00
97c64fc0f4
Add Makefile.in 2024-02-05 10:33:09 +01:00
bcc89b5095
No GPL, please. 2024-02-05 10:32:46 +01:00
Julia Pfitzer
6079282f34
Create c-cpp.yml 2024-02-05 10:29:47 +01:00
05b3b0a869
Standardize binary output directory and cleanup
Moved compiled binaries to a dedicated 'bin/' directory to streamline output organization, ensuring that all executables are consolidated in a single, standard location. Updated the gitignore to reflect this change, which helps prevent accidental commits of executable files. The Makefile was also adjusted to build the 'limedriver' program within the new directory structure.

Removed the previously tracked binary 'limedriver' to reduce repository clutter and avoid potential merge conflicts with binary files. Now, future compilations will adhere to the new 'bin/' directory convention, improving the project's structure and maintainability.
2024-02-05 10:26:03 +01:00
f4e2743690
Fix limedriver.cpp location 2024-02-05 10:23:09 +01:00
2306b80869
Fixing compilation command 2024-02-05 10:22:08 +01:00
d404b95187
Initialized build and dependency management with Automake
Setup the initial build system and dependency management using Automake. This includes checks for a C++ compiler, LimeSuite library, and associated header files. Additionally, configured automatic dependency tracking to facilitate smoother development. This system is necessary for ensuring consistent builds across different environments and simplifying the addition of new components and dependencies as development progresses.
2024-02-05 10:22:00 +01:00
jupfi
6ddad31c7f Updated project structure 2024-02-05 09:51:34 +01:00
Julia Pfitzer
56ebbda5d4
Create README.md 2024-02-05 09:50:00 +01:00
f63b9360ae
Fix output binary name in sample compilation command 2024-02-05 09:48:01 +01:00
d209b877a2
Fix file name in compilation instruction 2024-02-05 09:44:54 +01:00
92bfd57f97
Renamed code file 2024-02-05 09:41:27 +01:00
819653c251
*Greatly* simplified compilation instructions 2024-02-05 09:15:40 +01:00
58bde6449c
Auto-indentation 2024-02-05 09:01:46 +01:00
b3b40021d1
Original code 2024-02-05 09:01:25 +01:00