Skip to content

Commit

Permalink
More Readme.md work, fixed a snapshotposition log where a return posi…
Browse files Browse the repository at this point in the history
…tion was being logged by mistake.
  • Loading branch information
FormerLurker committed Jan 20, 2018
1 parent e37d584 commit 49026e8
Show file tree
Hide file tree
Showing 12 changed files with 32 additions and 21,509 deletions.
Binary file modified .vs/Octolapse/v15/.suo
Binary file not shown.
8 changes: 4 additions & 4 deletions .vs/VSWorkspaceState.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"ExpandedNodes": [
"",
"\\docs",
"\\octoprint_octolapse",
"\\octoprint_octolapse\\data",
"\\octoprint_octolapse\\static",
"\\octoprint_octolapse\\static\\js",
"\\octoprint_octolapse\\templates",
"\\octoprint_octolapse\\test"
"\\octoprint_octolapse\\static\\js"
],
"SelectedNode": "\\README.md",
"SelectedNode": "\\octoprint_octolapse\\timelapse.py",
"PreviewInSolutionExplorer": false
}
Binary file modified .vs/slnx.sqlite
Binary file not shown.
39 changes: 26 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OctoPrint-Octolapse

** This plugin is in pre-alpha. Install at your own risk!
** This plugin is in Alpha. Install at your own risk!

## Description

Expand All @@ -10,11 +10,11 @@ Octolapse monitors the gcode sent to your printer and takes snapshots either at

Once it's time to take a snapshot, Octolapse optionally ensures that the extruder is retracted, and then makes a zhop, if possible, in order to reduce stringing and oozing. It then pauses the print and sends commands to move the extruder and bed to the proper positions. It then takes a snapshot and returns to the previous position and continues printing.

Once printing is finished, a timelapse is rendered according to your specifications. Timelapses can be either Fixed Framerate, or Fixed Length. Multiple formats are currently supported, but if you choose MP4, Octolapse will synchronize its output with the default timelapse plugin, making it easy and convenient to view, sort, and download your timelapses. Currently Octolapse has no native file browser/viewer, so it is HIGHLY recommended that you use the MP4 format AND make sure that the 'Sync Output with the default Timelapse plugin' option is enabled. Both of these settings are used in all of the default rendering profiles.
Once printing is finished, a timelapse is rendered according to your specifications. Timelapses can be either fixed framerate, or fixed fength. Multiple formats are currently supported, but if you choose MP4, Octolapse will synchronize its output with the default timelapse plugin, making it easy and convenient to view, sort, and download your timelapses. Currently Octolapse has no native file browser/viewer, so it is HIGHLY recommended that you use the MP4 format AND make sure that the 'Sync Output with the default Timelapse plugin' option is enabled. Both of these settings are used in all of the default rendering profiles.

Octolapse also allows you to animate your timelapses by providing a series of coordinates, either fixed or 'Bed Relative'. Bed relative coordinates allow you to express a position relative to the print bed itself, where 0,0 is the origin and 100,100 is on the opposite corner diagonally. This allows you to use/share your stabilizations with printers with different bed sizes. Each axis can be controlled individually, or stabilization can be disabled entirely for an axis.

Octolapse also allows you to define camera settings that can be applied at the start of a print. This allows you to ensure consistent images by controlling things like focus, zoom, pan, and exposure, making your snapshots as crisp and clear as possible. You can also use multiple cameras, though currently Octolapse only allows one camera to be used at a time. Additionally, any extra cameras will need to be configured prior to use, which includes configuring MJpegStreamer.
Octolapse also allows you to define camera settings that can be applied at the start of a print. This allows you to ensure consistent images by controlling things like focus, zoom, pan, and exposure, making your snapshots as crisp and clear as possible. You can also use multiple cameras, though currently Octolapse only allows one camera to be used at a time. Additionally, any extra cameras will need to be configured prior to use, which includes configuring [mjpg-streamer](https://github.com/jacksonliam/mjpg-streamer).

Printer settings such as movement speed, retraction speed and length, detraction speed, etc., can be customized. Octolapse will use these settings when retracting/detracting, lifting, moving, and detecting the extruder state.

Expand Down Expand Up @@ -54,7 +54,11 @@ Notes: Pay attention to your printer temps during the test print. Everything s

Once Octolapse is enabled (see settings below), start your print as usual and Octolapse will do its magic. You'll notice that the printer pauses itself occasionally. This is normal and occurs when Octolapse takes a snapshot. There is sometimes a slight delay when pausing the print, but I'm currently working on that!

### Settings
Once the print is completed or cancelled, Octolapse will inform you that your timelapse is rendering via the web client. If synchronization is enabled, your timelapse will be available within the default timelapse plugin, otherwize your timelapse will be in the Octolapse data foler.

Once rendering is completed or fails due to an error, Octolapse optionally removes all of the snapshots it took during the course of the print. The cleaning process will remove ALL snapshots, not just those taken during your most recent print.

## Settings
To edit Octolapse settings, sign into Octoprint and click on the settings (wrench) icon at the top of the page. Click on 'Octolapse Plugin' under 'Plugins' on the left-hand side. You should now see the Octolapse setup screen. You can disable or enable Octolapse by checking 'Enable Octolapse'. You can also restore all of the default settings here by clicking the 'restore all default settings' button (see Known Issues below).

You can add/edit/delete/copy profiles on any of the tabs. You can set the current profile by clicking the star icon. The current profile will be in bold with a star icon in front of it.
Expand All @@ -63,31 +67,31 @@ Octolapse comes with several useful presets that should accommodate typical use.

Important Notes: Most settings changes will only affect the next print. Active prints are only affected by the logging settings inside the debug profile and by the 'Apply Settings' button in the Camera Profile Add/Edit screen. All other changes will take place during your next print, though while we're still in Alpha mode I don't suggest you do any massive settings changes during a print!

#### Printer
### Printer
Here you can configure retraction length, speed, the printer snapshot command, as well as other settings. The retraction length setting is especially important, since it's used to detect retraction and zhop. Also of note is the printer position confirmation tolerance. Positions can be off by 0.0051MM on my MK2S due to mechanical constraints. It can be difficult to tell what this setting should be, but if you have problems I would not go too much over 0.011 MM here.

#### Stabilization
### Stabilization
Here you can control the position of the bed and extruder before each snapshot. Positions can be fixed or relative. Fixed coordinates are just like any absolute printer coordinates. If your print bed is 200mmx200mm, coordinate 100,100 would represent the center of the bed. When using relative coordinates, the center of the bed is at 50,50, and 0,0 is at the origin (home position). 100,100 would be the corner opposite the origin.

You can also provide a stabilization path. In this case, each point in the path is used for each subsequent snapshot. The points can be either fixed or bed-relative coordinates. Once each coordinate is used, the final coordinate will be used for each snapshot. Selecting the ‘Loop’ option will cause the path to start over. You can also invert the loop so that once it reaches the end, the path will continue in reverse. Take a look at the ‘animated’ stabilizations for examples.

#### Rendering
### Rendering
These profiles determine how your series of snapshots will be turned into a timelapse. You can set the timelapse to have a fixed length (say 5 seconds) or use a constant FPS. The default output is MP4, which is required in order to (optionally) synchronize with the default timelapse plugin. When synchronizing with the default plugin, your timelapses will appear in the native timelapse plugin tab after rendering is complete.

#### Camera
### Camera
Here you can configure and fine-tune your camera. Octolapse allows you to control the camera settings (if supported by your camera and streamer) before each print, giving you complete control of how your snapshots look.

#### Debug
### Debug

#####Test Mode
####Test Mode
If you would like to test a timelapse without actually printing anything, use the 'Test Mode' settings. Test mode will only work if you select the option before starting a print. This prevents the extruder from moving and suppresses any temperature setting commands so that you can quickly and easily make sure your stabilizations are working according to plan.

Even though I attempted to strip all extruder and temperature commands, there's a chance that I missed some cases. Please let me know if you see any 'cold extrusion prevented' errors in the terminal window or if either your bed, extruder, or enclosure heats up during a test print. If you do, please let me know and send me your gcode!

For safety's sake, even when using test mode DO NOT LEAVE YOUR PRINTER UNATTENDED! This program is in alpha and hasn't been tested with all printers/slicers/custom gcode, so bad things could happen.

#####Logging Settings
If you are having any issues, please select one of the existing diagnostic profiles to turn on Octoprint logging. You can find the log in the main settings page on the left hand side under (Logs). The log file for Octoprint is named plugin_octolapse.log. The log file is useful to help me track down issues, so make sure you download a copy after any problems.
####Logging Settings
If you are having any issues, please select one of the existing diagnostic profiles to turn on Octoprint logging. You can find the log in the main settings page on the left hand side under (Logs). The log file for Octolapse is named plugin_octolapse.log. The log file is useful to help me track down issues, so make sure you download a copy after any problems.

You can change the logging settings or default debug profile at any time, and the logging settings will take effect immediately. The only setting in debug that will NOT take effect until the next print is 'Test Mode'.

Expand All @@ -99,12 +103,21 @@ If you use the 'Restore All Default Settings' button, make sure you reboot Octop

### Original Prusa Firmware 3.0.12

If you are using an Original Prusa printer, there is a [known issue](https://github.com/prusa3d/Prusa-Firmware/issues/331) in the firmware 3.0.12 (linear advance update). Here is the relevant workaround:
If you are using an Original Prusa printer, there is a [possible issue](https://github.com/prusa3d/Prusa-Firmware/issues/331) in the firmware 3.0.12 (linear advance update). Here is the relevant workaround:

Note from [foosel](https://github.com/foosel): There does exist a workaround in OctoPrint for this (since it's happened in the past with other firmware variants), users can tell OctoPrint to "simulate" an ok after resends by enabling Settings > Serial communication > Advanced options > Simulate an additional ok for resend requests, but that has to be done manually.

Unfortunately this workaround may cause some print quality issues during the resend, since I had some seemingly random overextursion in a test print after implementing the workaround. I've not verified that it's due to the workaround, but I will try to do this soon. I expect this bug to be fixed in the next firmware release.

### G92
This command has been implemented, but not extremely well tested. In fact, I'm not sure if I completely understand the expected behavior of this command in all cases, so my implementation is most likely incorrect. I've tested a lot of gcode that included G92 for extruder position, but not X,Y,Z, so beware.

### Test Mode

Occationally I've noticed that my plugin might miss the first few gcodes sent to the printer. This has only ever affected me while using the debugger, but I think it's possible that it could happen during a test print. This can have the effect of letting commands that should be suppressed/rewritten slip past my routines and make it to the printer. I'm looking into this.

There are probably other commands that should be suppressed/rewritten that are not included. If you find any let me know.

### Non-Cartesian printers
These are not currently supported. I hope to include support for these at some point, but I don't own one to test on currently.

Expand Down
11 changes: 0 additions & 11 deletions docs/DebugStartProcess.txt

This file was deleted.

Binary file removed docs/ExtruderMonitorCalculations.xlsx
Binary file not shown.
Binary file removed docs/ExtruderMonitorCalculations_v1.xlsx
Binary file not shown.
Loading

0 comments on commit 49026e8

Please sign in to comment.