All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- implement a plugin system
- add a more precise camera calibration (lens distortion)
- make calibration more robust
- split camera calibration for combo and seperate camera calibration
- add independent chooseable settings for texture and object scan saturation, contrast, brightness, lights etc..
- new user interface
- pre-release with support for sls
- add gpio connector for crickit HAT
- fixed semver, replaced deprecaded function calls
- fixed scan finishing procedure ( scanner hangs after scan with 1 laser )
- fixed calibration issue
- fixed camera dummy driver
- added better calibration error handler
- added factory for camera and serial driver
- added serial dummy driver
- added development documenation
- added docker for FabScanPi-Server simulation ( makes development easier without the need of hardware )
- added new firmware for ciclop scanner, supports WS2812 now
- refactor serial driver make it more abstract to general connector interface
- refactored camera driver
- refactored calibration processor, and introduced calibration actor instead
- additional code cleanup
- restructured whole documentation
- fixed memory leaks
- fixed user interface connection issue when scanner is offline
- fixed error while scanner is connecting to discovery service when scanner is offline
- fixed mjpeg live stream bug for settings dialog and texture preview (mainly firefox)
- number of texture scan processors
- switched to more memory friendly log outputs
- fixes ply file saving bug
- fixed texture scanning bug (scanner hangs after several minutes)
- fixed camera thread cleanup
- fixed mjpeg stream bug
- fixed memory leak
- fixed startup bug, caused by the upgrade process
- general fix for the uprgade procedure
- fixed systemd related upgrade issues
- fixed issue with corrupted ply files after scan (not able to open with thirdparty software)
- fixed calibration error when using just one laser
- new firmware version
- new frontend version (meshlab options are removed within this version)
- check for TBB support and fallback if multiprocessing is not available in opencv
- migrated form python2 to python3
- refactored image worker and worker pool
- refactored serial communication parts of firmware
- serial connection speedup
- general processing speedup
- removed ugly event handler from main scanner handler ( task queue is handled by actor now)
- scan data is saved to a file during the scan process
- free more memory by resetting unused image space
- added process and thread number to logger formatter
- fixed mjpeg stream no data in stream issue
- removed old firmware versions
- moved websocket callbacks to tornado ioloop
- bugfixes in firmware
- fixed camera image rotation bug
- minor fixes in ui
- minor scan processor fixes
- serial connection issues
- fixed init.d start script
- fixed sudo users
- fxed serial deadlock
- initial SystemV start script.
- auto threshold function
- fixed MeshLab meshing
- fixed downloading scans
- fixed manual threshold changes
- fixed serial communication deadlock (aka serial connection timeout)
- update routine fixed ( 6235dd6 )
- fixed loading scans from file manager ( #134 )
- fixed laser calibration check ( #132 )
- temperature watch dog
- support for second laser
- ciclop and clones support ( interleaved image option )
- new firmware for cncboard, ciclop and fabscan shield
- new version of frontend with some bugfixes (see frontend repository)
- scanning with multiple lasers saves multiple pointclouds now, one for each laser and one merged.
- saving raw images for photogrammetry.
- added firmware for ciclop, cncshield and snguinololu board
- default config file, added new params and settings
- arduino firmware builds with arduino cli and make file now
- switched docs from md to rst
- fixed build process
- added support to save images, texture and laser
- zipping images
- communication with external hardware over serial (arduino, FabScanPi HAT)
- high res out of memory bug
- prevent async steps while calibration and scanning
- stepper blocking mode
- hardware connection check while server is starting (waking up the conttoller)
- removed bootloader form firmware to prevent flashing damages
- fixed long timeouts while connecting to the client when no internet conneciton is availanel (aka cccamp bug)
- new settings dialog options for hardware contolling
- moved calibration button to settings dialog
- added new configuraitons in general settings tab
- prepared platform independet firmware setup (aka cyclop compatible mode)
- api route for live log stream
- api route for debug log zip download
- new firmware version
- made fabscan discoverable in find.fabscan.org
- apscheduler library for registery servcie and future scheduling tasks
- added meshmixer to package dependencies
- added avrdude config to package dependencies
- replaced old image build script by a new one, based on official raspbian build scripts
- FSUpdate is working for different stages now
- fixed camera driver (pi and usb)
- fixed random artifacts at the beginning of object scan
- introduced Tornado Web Framework
- added new version of frontend with some fixes
- added swapping support for high res scans
- added new refactored firmware v.20181123
- refactored Websocket Server
- refactored Web Server
- refactored Streaming Handler
- refactored project structure
- Turntable Blocking mode
- Image Ring Buffer Flushing
- removed random artifacts at the beginning of object scan
- stepper missing steps bug (aka stepper wobble)
- avrdude bug
- gap at the beginning/end of a scan
- new documentation parts (tnx to jens hackel)
- added stop sequence when scanner is not calibrated
- added new handlers for gracefull application shutdown
- added toast message at the end of calibration if calibration failed
- replaced magic numbers by config values (tnx to jwalt)
- refactored camera driver ( much faster than before )
- removed dead code
- fixed pykka aktor threading bug in streams
- fixed typo in documentation (tnx to kradrat)
- fixed green cam bug
- fixed stepper motors step bug (variable number of steps should work now)
- deleting old calibration data before new calibration
- fixed update procedure, added assume yes option
- fixed start stop init script and added better logging to it
- new meshing file formats (off, 3ds, x3d, xyz...)
- new sections to f.a.q. in docs
- fixed calibration data saving bug
- reworked meshing process and added new mlx filter scripts
- fixed update notification bug
- fixed firmware issue which leaded to bricked devices.
- added calibration notification message
- fixed preview stream issues
- fixed default config values
- fixed turntable pointcloud roi
- added news to documentation
- added auto calibration
- added news screen to fabscan server start screen
- first fixes for upgrade
- fixed major bug with serial connection
- improved laser line detection
- fixed bug which created multiple instances for websocket server
- fixed bug which calculated wrong version numbers in upgrade check
- added splash screen to frontend
- added auto upgrade to frontend and backend
- added calibration option to settings dialog
- fixed major laser detection error
- fixed some 3D calculation bugs
- refactored core for making it more modular
- simplified the laser settings dialog (threshold values etc.) better preview now
- added new dependencies to control file
- fixed avrdude flashing for FabScan HAT
- added idle spinner to stream preview window
- added meshlab support to frontend
- added calibration stream option
- added meshalabserver support by calling via xvfb
- added new icons
- added system call stdouts to log file
- added version number of firmware and server visible in main window
- fixed issue #5, heavy CPU load
- fixed status bar
- fixed mpjeg close stream bug in chrome and firefox
- refactored system callings, introduced new utils for system calls
- prepared frontend for laser stepper support
- replaced threejs v70 by a newer version v74
- refactored webgl directive, added support for switching between mesh and pointcloud (experimental)
- refactored laser detection algorithm, it is more stable now.
- refactored and extended share dialog options
- refactored httpRequestHandler
- refactored REST api
- replaced angular-slick
- refactored general file handling
- added auto detection for arduino
- added some additional connection messages to frontend
- added override function for bassehttp logger to get cleaner logs
- fixed firmware autoflash bug, it finds the correct hex file now.
- fixed firmware autoflash bug, it finds the correct hex file now.
- refactored and cleaned FSSerial.py
- removed serial port from default config
- fixed firmware motor reverse issue
- fixed serial connection error for custom arduino installations.
- added new frontend with saturation slider
- added funtions to support camera saturation adjustment
- added multilingual support (en only until now)
- added error handler message to frontend
- fixed issue #12 internet connection is no longer needed, added font-awsome fonts to www
- fixed issue #3 server hangs when laser not detected
- fixed mjepeg connection error bug, stack trace is not longer shown in log
- fixed some bugs in FSCamera.py
- switched from depricated python-support to dh_python2 package builder
- modified makefile to fit the new builder
- added update instructions do documentation
- modified init script
- new frontend version
- fixed debian package installer scripts
- fixed python package path error
- added auto versioning to setup.py
- fixed versioning in frontend
- fixed some camera parameters for better color scan results
- fixed issue #3
- fixed frontend
- added motor enable/disable commands before and after scans to prevent hot motors
- switched to firmware v.20160204 which supports custom boards and fixes some issues
- closed issue #4 added auto flash enable/disable option to config file
- Added new Frontend version.
- Fixed frontend
- Fixed Firefox mjpeg stream issue
- Fixed pi camera exposure issue
- New User Interface added
- scan data folders
- First Release of FabScanPi-Server.