- Joined
- Jun 22, 2011
- Messages
- 2,431
- Points
- 83
First of all many thanks to Trevor for this wonderful piece of software!
I've been working on some modifications/additions to Peregrine and now I think I've got enough new stuff to be worth sharing my version with your guys. I talked with Trevor and he had the great idea of creating a new thread and letting people beta test my version for some time before merging it back on the official version.
Please post your feedback, even if it is to say it didn't run or you didn't like it. Let me know if you find any (unknown) bugs.
Here it is, at last: Peregrine 1.4!
Download it here.
Here's an exported graph showing some of the new features (software zeroing, selection box exporting and minimum power)
Here's a shot of the interface with the new buttons (sorry, no laser)
The changelog is quite long but IMHO very worth reading, else you might not notice some of the new features.
Changes from version 1.2.1.3 (made by Trevor) to version 1.4 (made by Atomic)
As any biggish software this has some bugs. Here's the list of what I've found so far.
Known bugs
I've been working on some modifications/additions to Peregrine and now I think I've got enough new stuff to be worth sharing my version with your guys. I talked with Trevor and he had the great idea of creating a new thread and letting people beta test my version for some time before merging it back on the official version.
Please post your feedback, even if it is to say it didn't run or you didn't like it. Let me know if you find any (unknown) bugs.
Here it is, at last: Peregrine 1.4!
Download it here.
Here's an exported graph showing some of the new features (software zeroing, selection box exporting and minimum power)
Here's a shot of the interface with the new buttons (sorry, no laser)
The changelog is quite long but IMHO very worth reading, else you might not notice some of the new features.
Changes from version 1.2.1.3 (made by Trevor) to version 1.4 (made by Atomic)
- Changed version to 1.4
- Changed autorange algorithm - now it goes: 1, 2, 3, ..., 9, 10, 20, 30, ..., 90, 100, 200, 300, ..., 900, 1000, 2000, 3000, ..., 9000, 10000, 20000 and so on.
- Interface changes
- Moved status bar to bottom
- Moved buttons
- Moved contents of the Measurement menu to buttons because they're used all the time
- Moved measurements settings from New to a Settings button
- Changed the New menu to a (Re)start button, that starts a new measuremnt with current settings and discards the old one
- Stop button will stop current measurement without erasing, just like it did before
- Added the last missing time label on the graph and resized to accomodate
- Merged monitoring mode and regular measurements
- New end action setting:
- Stop: stops measuring when the graph border is reached
- Roll Window: starts to roll the window when the graph border is reached, discarding old readings (this is the same as the old monitoring mode)
- Increase Length: keeps getting new measurements and resizing the graph to fit, use this when you don't know how long you'll measure before starting (might slow down if you use it for a long time)
- Added end action to configs
- Threshold can be left negative or blank to disable - use this to start measuring as soon as you press (Re)start
- Added default threshold to configs
- New end action setting:
- Removed auto start when connecting because it didn't read new settings - use the (Re)start button
- Cancelling the Settings dialog will now properly revert the changes made
- Added background color setting
- Made grid a lighter shade of grey (on both real time and exported graphs)
- Allowed saving whenever graphing is stopped (allows empty graphs but that's fine to me)
- Added software zeroing
- Amount of samples to take before computing the zero can be set on configs (more samples will take longer but produce a better zero, adjust based on the datarate of your LPM)
- Type of zero can be set on configs:
- Minimum: use the smallest reading from the samples (will fluctuate slightly above zero, with rare negative readings)
- Average (recommended): use the average of all the samples (will fluctuate around zero but both positive and negative readings might happen)
- Maximum: use the highest reading from the samples (will fluctuate slightly below zero, with rare positive readings)
- Added a panel that shows current zero
- Added buttons to zero and unzero
- Zero will be on exported graph if it's being used
- Added minimum reading panel
- Added minimum on exported graph
- Improvements to exported graph
- Added default export dir config, will default to user folder if commented out
- Changed the code to make the graph mathematically accurate, considering the limitations of floating point math and rounding
- Rescaled the time axis to include the borders and not just the inside
- Made sure the graph line draws over everything else (border, grid and selection)
- The selection box is now exported and the Peak/Average/Minimum readings will be taken from the selection
- Added width and height configs (height was already there but didn't work) and made the exported graph resize accordingly (there are some limitations listed on the config file)
- Added autoconnect config - just type the name of your COM port and it will connect as soon as you plug it in
- Added software oversampling - this will collect a number of samples, compute the average and treat them as a single sample
- Choose the amount of samples to average on the Settings dialog (more samples will decrease error/increase resolution but will lower the datarate) (use more samples to accurately read weak lasers) (can be left negative/zero/blank to disable)
- Added to configs
- Internal changes:
- Used enums instead of constants when possible
- Centralized config loading
- Removed start_flag
- Removed done state
- Added some debug values and moved others to fit window
- Moved/restyled a lot of code (but not all of it)
- Added some helper methods: drawRectangle, toPanelFormat and toRoundedString
- Added variables for background, grid and selection box colors that affect both the real time graph and the exported graph, to make easier to add configs for them eventually
As any biggish software this has some bugs. Here's the list of what I've found so far.
Known bugs
- Real time graph has a few inaccuracies (use the exported graph when accuracy is needed)
- A reading of 10% wont fall exactly on the first grid
- The selection box is off by a few pixels
- Grid size isn't consistent
- Peregrine will slow down if you leave it collecting data on Increase Length mode (workaround: increase oversampling to store less readings)
- Datarate seems slightly wrong when a lot of oversampling is used, needs further investigation but does not seem to affect accuracy
Last edited: