Commit graph

42 commits

Author SHA1 Message Date
42f226c05b
Change output to text-only 2023-05-17 10:56:29 -04:00
04f78bcebc
Start replacing ErrorLogging with logging library 2023-05-16 15:53:46 -04:00
1bb23393f4
Revert "v5.0.0 alpha build 1"
This reverts commit d045e9d72c.
2023-05-16 15:00:29 -04:00
59c89dec18
Revert "Remove excess dependencies, ensure project builds"
This reverts commit a809d2d70d.
2023-05-16 14:40:56 -04:00
b7ba4453a3
Revert "Replace internal logging with SLF4J"
This reverts commit e1f3c33291.
2023-05-16 14:40:54 -04:00
e1f3c33291
Replace internal logging with SLF4J 2023-04-04 13:54:19 -04:00
a809d2d70d
Remove excess dependencies, ensure project builds 2023-04-03 15:48:40 -04:00
d045e9d72c
v5.0.0 alpha build 1
- Refactor data saving to only save important information.
- Combine OpenCV and Tesseract into single file, ImageFacade.
- ConfigFacade updated to explicitly state image save locations.
- implement ImageFacade force save
- Modified output to be `.txt`, rather than `.xls`, for compatibility
- Minimised r/w operations to filesystem down to only necessary inputs
  (Sample images, bad images, text file containing serial, total
  iterations, pass iterations, std.dev, and median)
2023-04-03 15:26:13 -04:00
e37f7b71f9
Threading overhaul + Updated datasaving
Data-saving at high cycle count takes too long, causing the DUT to fall
asleep. Data-saving has been extracted into its own thread.

Additionally, Run/pause switch has been re-threaded using synchronized
statements, rather than lock statements, making the run switch work
properly (finally).

Data is now saved in the new Cycle object, rather than passing around
multiple maps, hopefully improving memory footprint.
2023-03-20 14:45:04 -04:00
Blizzard Finnegan
52fe20fba5
Change generated Javadoc to public-only
Signed-off-by: Blizzard Finnegan <49597944+blizzardfinnegan@users.noreply.github.com>
2023-03-16 11:01:06 -04:00
5796163068
Version bump
- Update all classes to more verbosely log what's going on.
- Update readme and udev rule for automatic camera checking
- Add dependency-checking plugin to pom.xml
- Add GPIO check on initialisation, and override to not drive GPIO if
  not plugged in
- Continue updating functions to be closer and more accurate to
  documentation
2023-03-15 11:10:09 -04:00
65eaec4035
Add dependency analysis 2023-03-14 14:03:19 -04:00
acf26c67a5
Finish updating of UML and stateflow
Going through documentation again, and ensuring that documentation is
accurate and up to date
2023-03-14 10:04:11 -04:00
fe624512e9
End of Day Mar. 13
Update documentation; make code and code understandable
2023-03-14 07:10:36 -04:00
caed5f0d1e
Remove PWM code
Pi's PWM pin has been replaced with PWM-generating hardware. Motor
location-finding algorithm has been left in, to ensure safe travel.
2023-03-13 10:14:11 -04:00
9afbcfbf43
End of day 10 Mar. commit 2023-03-13 08:08:17 -04:00
6b23c0e156
Fix minor glitch with DataSaving
Also expand buffer range on MovementFacade
2023-03-10 12:14:56 -05:00
429386c428
Remove old comments, change javadoc to public 2023-03-10 09:59:30 -05:00
7708d1359a
Update docs, rollback accidental version increment
ErrorLogging now has consistent indentation
MovementFacade needs to be rolled back
2023-03-07 13:58:45 -05:00
cd0be06a9f
Remove hardcoded camera locations
also:
- Temporarily comment out CLI menu to make movement testing faster
- remove movement from config
2023-03-06 15:08:57 -05:00
19977655c4
End of Mar. 1 commit
- Start adding motor protections
- add motor config variables to config file
- remove magic numbers in TesseractFacade
2023-03-01 15:55:34 -05:00
7b38d83366
Add better motor movement safety
Motor now moves faster, but slows down when more than halfway through
timeout, so that limit switches aren't pushed as hard.
2023-02-28 11:26:54 -05:00
a965283b47
Fix endless loop, save image directly into excel
Images are now also PNG to reduce storage space
2023-02-24 12:55:10 -05:00
9a314215b6
Fix erroneous data saving; version bump 2023-02-20 08:28:42 -05:00
4bdcbb0eae
Version bump 2023-02-17 14:13:51 -05:00
0f2bcdfc90
Update OpenCV to 4.6.0, misc fixes
- Update OpenCV to 4.6.0 (Bytedeco API v1.5.8)
- Remove extra debug image saves to minimise storage space used
- minor version bump
- update final formula in DataSaving to be correct
2023-02-15 09:41:43 -05:00
d13bce1521
Correct data-saving methodology
Edit data-saving methodology to include color-matching, and a final line
formula.
Also, minor version bump
2023-02-13 15:03:30 -05:00
4fdab65dea
Rework cropping UX
Cropping is now done using OpenCV's region detection (selectROI).
This window currently crashes, but this does not effect overall runtime
of the package as a whole.

runScript updated to mute System.err messages, as they are handled
properly at this point in development.
2023-02-10 10:25:52 -05:00
2e8d3e6239
Minor updates to improve ease of use
- UI now reports back more helpful information on current activities
- version bump affected files
2023-02-09 15:48:47 -05:00
498ae813f1
Finish 4.0.0 2023-02-08 15:39:09 -05:00
ae79c0f95f
Remove GUI from current build for 4.0.0 ship 2023-02-08 08:49:58 -05:00
d30edcdceb
Update README with necessary instructions
Also, update pom.xml for easier switching between GUI and CLI
compilations.
2023-02-07 09:55:41 -05:00
fcd830e6ed
Continue updating GUI
Also added a run script, to be copied with the JAR file to the Pi being
imaged. (Stored in main git folder so that it can be version controlled
with the rest of the repo, and not get deleted by Maven on `mvn clean
package`)
2023-02-07 08:26:37 -05:00
33ddd6e20f
Finish documentation
POM temporarily modified to start with Cli, as it was necessary for
demonstration.
2023-02-06 12:36:38 -05:00
066aec9a74
Continue overhaul
- Found and resolved issue with random file organisation.
	This was a rather heavy undertaking, resulting in the changes to
	DataSaving, OpenCVFacade, and TesseractFacade. See API for
	specifics.
- Start debugging GUI.
	Start currently only runs one iteration, and does not save final
	information out. Start/Stop button needs refining, and user
	feedback needs to be improved.
2023-02-06 09:44:48 -05:00
d6224ef2cb
BROKEN - Misc. Bug Hunting
modified:   src/main/java/org/baxter/disco/ocr/Cli.java
	modified:   src/main/java/org/baxter/disco/ocr/ConfigFacade.java
	modified:   src/main/java/org/baxter/disco/ocr/DataSaving.java
	deleted:    src/main/java/org/baxter/disco/ocr/Gui.java
	modified:   src/main/java/org/baxter/disco/ocr/MovementFacade.java
	modified:   src/main/java/org/baxter/disco/ocr/OpenCVFacade.java
2023-02-02 15:00:11 -05:00
74bafcf6d1
INCOMPLETE - End of day 30 Jan. 2023
Started adding user-modifiable threshold value, GUI almost done
2023-01-30 16:20:45 -05:00
9411e0aa5e
Start rewriting GUI
Turns out, packaging JavaFXML into a FatJAR is essentially impossible.
Ah well, time to do things the old-fashioned way...
2023-01-30 13:14:07 -05:00
033852adc6
UNTESTED!!! End of day push 25 Jan.
Major rework of OpenCV, Config, ErrorLogging, and CLI.

Major changes:
- Started debug of image processing. (Currently still nonfunctional)
- Added a PrintWriter.flush() call to ErrorLogging, to force errors to
  be written to log file.
- Cli.main now will always close GPIO and Logs.
- Config properties now have safe names for config files.
- Started removal of null.equals(null) calls, which result in
  NullExceptionErrors. (These have not all been confidently caught.)
2023-01-25 17:07:47 -05:00
294716f236
BROKEN!!! Start fixing ConfigFacade
OpenCV has been fixed, but initialisation of config variables needs to
be fixed.
2023-01-24 15:28:15 -05:00
a7dcf32004
Start updating Javadocs 2023-01-23 11:25:09 -05:00
4311cb8dfc
Pull project out of silly folder
Also, add project site in addition to Javadoc API documentation.
2023-01-20 14:42:41 -05:00
Renamed from ocr/pom.xml (Browse further)