In order to keep filters up to date, please use this repo.
#!/usr/bin/env python3 | |
# This code is available under the MIT license: https://opensource.org/licenses/MIT | |
from pathlib import Path | |
import subprocess | |
import json | |
from dataclasses import dataclass | |
from typing import List, Optional |
#include <Adafruit_NeoPixel.h> | |
#ifdef __AVR__ | |
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket | |
#endif | |
/************************************** | |
S E T U P | |
set following values to your needs | |
**************************************/ |
This is free and unencumbered software released into the public domain. | |
Anyone is free to copy, modify, publish, use, compile, sell, or | |
distribute this software, either in source code form or as a compiled | |
binary, for any purpose, commercial or non-commercial, and by any | |
means. | |
In jurisdictions that recognize copyright laws, the author or authors | |
of this software dedicate any and all copyright interest in the | |
software to the public domain. We make this dedication for the benefit |
[gcode_macro START_PRINT] | |
gcode: | |
#Get Printer built volume dimensions | |
{% set X_MAX = printer.toolhead.axis_maximum.x|default(100)|float %} | |
{% set Y_MAX = printer.toolhead.axis_maximum.y|default(100)|float %} | |
{% set Z_MAX = printer.toolhead.axis_maximum.z|default(100)|float %} | |
#Get Nozzle diameter and filament width for conditioning | |
{% set NOZZLE = printer.extruder.nozzle_diameter|default(0.4)|float %} | |
{% set FILADIA = printer.extruder.filament_diameter|default(1.75)|float %} |
Adaptive bed mesh is merged into klipper master branch. You can use this feature without this custom macro. Official klipper adaptive bed mesh
- This macro will dynamically changing the bed mesh area based on the size of the parts will be printed. The fw will only probe on the area that the part will be printed (plus mesh_area_offset value)
My home server runs on two Crucial MX500 drives. I’d selected those drives because of the price/performance/reliability.
However, upgrading the firmware turned out to be nearly impossible. If you’re looking for an SSD for a Linux server, one thing I’d add to this selection matrix is to find a manufacturer that supports decent online firmware updates.
A small rant: Crucial’s upgrade process is notoriously difficult on Linux. The Windows firmware update can be done from Windows itself, but the provided Linux update only works via a bootable ISO that also requires legacy BIOS (and therefore no AHCI). Converting this to USB works poorly, on many attempts the kernel can’t find its own system disk, or can’t find the SSD hardware. The Internet is full with tutorials on this problem, and you’ll even find advise to [customize the bootloader] (http://pyropus.ca/personal/writings/crucial-m550-firmware-update.html). Given that a typical server takes 2 minutes to boot, the debugging cycle is slow; I spend a good 2 days
# This file contains pin mappings for the stock 2020 Creality Ender 3 | |
# V2. To use this config, during "make menuconfig" select the | |
# STM32F103 with a "28KiB bootloader" and serial (on USART1 PA10/PA9) | |
# communication. | |
# If you prefer a direct serial connection, in "make menuconfig" | |
# select "Enable extra low-level configuration options" and select | |
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC | |
# cable used for the LCD module as follows: | |
# 3: Tx, 4: Rx, 9: GND, 10: VCC |
javascript: Promise.all([import('https://unpkg.com/turndown@6.0.0?module'), import('https://unpkg.com/@tehshrike/readability@0.2.0'), ]).then(async ([{ | |
default: Turndown | |
}, { | |
default: Readability | |
}]) => { | |
/* Optional vault name */ | |
const vault = ""; | |
/* Optional folder name such as "Clippings/" */ |