All notable changes in the GeoComPy project will be documented in this file.
The project uses Semantic Versioning.
- Added testing for Python 3.14
- Added logging of the instrument serial number to GeoCOM connection
- Added instrument info logging to GSI Online DNA initialization
- Changed
GsiSerialnumberWordto store value asintinstead ofstr - Changed
get_serialnumbermeasurement command onGsiOnlineDNAto returnintinstead ofstrin the response object
- Added support for CRC16 checksums in GeoCOM transactions
- Added
SocketConnectionto allow socket based communication - Added
open_socketfunction to create TCP and RFCOMM socket connections
- Changed the
Connectioninterface definition to requiresend_binary,receive_binaryandexchange_binarymethods - Changed
open_serialto raiseConnectionRefusedErrorinstead of the original exception when the connection could not be opened - Changed all methods of
SerialConnectionto raise the generalConnectionErorandTimeoutErrorinstead of serial specificSerialExceptionandSerialTimeoutException - Changed
GeoCominit to raiseConnectionRefusedErrorinstead ofConnectionErrorwhen the connection could not be verified - Changed
GsiOnlineDNAinit to raiseConnectionRefusedErrorinstead ofConnectionErrorwhen the connection could not be verified - Updated GeoCOM response parsing to raise exception when the number of received parameters does not match the number of parsers specified
- Updated
GeoCominit signature to require keyword arguments - Updated
GsiOnlineDNAinit signature to require keyword arguments - Updated
Angleinit signature to require keyword arguments - Updated
GsiWordand subclass init signatures to require keyword arguments - Updated
GsiBlock.parseand.serializesignatures to require keyword arguments - Updated
parse_gsi_wordsignature to require keyword arguments - Updated
parse_gsi_blocks_from_filesignature to require keyword arguments - Updated
write_gsi_blocks_to_filesignature to require keyword arguments - Renamed
retryoption ofopen_serialtoattempts - Renamed
retryoption ofGeoComtoattempts - Renamed
retryoption ofGsiOnlineDNAtoattempts
- Removed
REF_VERSIONattribute fromGsiOnlineDNA - Removed
REF_VERSION_STRattribute fromGsiOnlineDNA
- Added
dotproduct toVector - Added
crossproduct toVector - Added
deviceoption to GeoCOM CSVsetup_listing
- Reworked arithmetic operations supported by
Angle - Reworked arithmetic operations supported by
Vector - Renamed
parsestrtoparse_string - Renamed
parsebooltoparse_bool - Renamed
toenumtoget_enum - Renamed
enumparsertoget_enum_parser - Updated GeoCOM FTR
downloadto returnbytesinstead ofstr - Updated GeoCOM FTR
download_largeto returnbytesinstead ofstr
- GeoCOM IMG
set_telescopic_configurationwas missing theprefixparameter - GeoCOM CSV
get_voltage_memorywas calling the wrong GeoCOM commmand Angle.to_dmswas sometimes returning incorrect value due to rounding- Package could not be installed from ZIP due to a missing version fallback
- Removed
normalize_radclassmethod fromAngle
- Added Leica GSI format module
- Container types for words
- Container type for blocks
- Parsing
- Serialization
- GSI Online DNA commands now use the new GSI format module for GSI parsing and serialization
- Fixed DMS angle formatting where leading zeroes were missing from seconds
- Removed the obsolete
gsiwordutility function from thedatamodule
- Added discovered GeoCOM RPC 5074 (unknown true function name, implemented as
abort_listingin CSV subsystem) - Added
loggeroptional parameter toopen_serial - Added
loggeroptional parameter toSerialConnection
- Renamed GeoCOM FTR
abort_listtoabort_listing
- GeoCOM CSV
listcommand did not properly parse returned string parameters
- Removed
get_loggerutility function
- Added
relative_tomethod to theAngletype - Added precision option to DMS angle formatting
- Renamed GeoCOM TMC
set_orientationtoset_azimuthto make its purpose more obvious - Changed input parameter type of
set_azimuthto be more permissive
Starting with this version, the package is in beta stage. The public API is not going to drastically change from this point. Small changes, and developments are still to come.
- GeoCOM CSV
get_laserlot_statuswas renamed toget_laserplummet_status - GeoCOM CSV
switch_laserlotwas renamed toswitch_laserplummet - GeoCOM CSV
get_laserlot_intensitywas renamed toget_laserplummet_intensity - GeoCOM CSV
set_laserlot_intensitywas renamed toset_laserplummet_intensity
- new methods for
SerialConnectionwrapper:send_binaryreceive_binaryexchange_binary
precisionproperty for the GeoCOM definition
- GeoCOM TMC
get_angle_correction_statuswas renamed toget_angle_correction - GeoCOM TMC
switch_angle_correctionwas renamed toset_angle_correction - GeoCOM
get_double_precisionwas moved to COM - GeoCOM
set_double_precisionwas moved to COM
- method docstrings were rendered wrong in some cases due to missing new lines
- GSI Online DNA settings commands were parsing boolean value incorrectly
- GeoCOM AUT
set_search_areacommand would not execute due to incorrect parameter serialization when sending the request to the instrument
All CLI applications were migrated to a new package called Instrumentman. Further development happens there.
- Component swizzling in vectors and coordinates
- Wait/delay times are now expected in seconds instead of milliseconds, where possible
retryoption toopen_serial- Morse CLI application (
geocompy.apps.morse) - Interactive Terminal CLI application (
geocompy.apps.terminal) - Set Measurement CLI applications (
geocompy.apps.setmeasurement...)
- GeoCOM
- Digital Level
- LS10/15 GeoCOM support through new
dnasubsytem (LS10/15 also responds to GSI Online DNA commands)
- LS10/15 GeoCOM support through new
- Central Services
get_firmware_creation_datecommand (RPC 5038)get_datetime_newcommand (RPC 5051)set_datetime_newcommand (RPC 5050)setup_listingcommand (RPC 5072)get_maintenance_endcommand (RPC 5114)
- Theodolite Measurement and Calculation
get_complete_measurementcommand (RPC 2167)
- Digital Level
morse.pyexample script was not using the most up-to-date methods- GeoCOM File Transfer subsystem commmands were missing from the command name lookup table
- Missing GeoCOM
abortcommand - Discovered GeoCOM RPC 11009 (unknown true function name, implemented as
switch_display)
- GeoCOM
get_internal_temperaturereturnedintinstead offloat - GeoCOM
get_user_prism_definitionhad incorrect return param parsers
Initial release on PyPI.
Notable features:
- Serial communication handler
- Utility data types
- GeoCOM commands from TPS1000, 1100, 1200 and VivaTPS instruments (and any other with overlapping command set)
- GSI Online commands for DNA instruments