Skip to content

Instantly share code, notes, and snippets.

@ChrisHinde
ChrisHinde / instance_grid_random.osl
Last active August 21, 2023 15:26
OSL-script that generates a random (greyscale) value per “instance”
shader InstanceGrid_Random(
point proj = point(u, v, 0) [[string label = "Projection"]],
int cols = 10 [[string label = "Columns", int min=0, int max=1000]],
int rows = 10 [[string label = "Rows", int min=0, int max=1000]],
int utime=1 [[string label = "Time", int min=0, float max=1000, float sliderexponent=2]],
int fulluv = 0 [[string label = "Use full UV", string widget = "boolean"]],
int invert_u = 0 [[string label = "Invert U", string widget = "boolean"]],
int invert_v = 0 [[string label = "Invert V", string widget = "boolean"]],
output color c = 0 [[string label = "Instance ID"]]
)
@ChrisHinde
ChrisHinde / instance_grid.osl
Last active August 21, 2023 15:25
Calculate an "Instance ID" based on UV coordinates
shader InstanceGrid(
point proj = point(u, v, 0) [[string label = "Projection"]],
int cols = 10 [[string label = "Columns", int min=0, int max=1000]],
int rows = 10 [[string label = "Rows", int min=0, int max=1000]],
int fulluv = 0 [[string label = "Use full UV", string widget = "boolean"]],
int invert_u = 0 [[string label = "Invert U", string widget = "boolean"]],
int invert_v = 0 [[string label = "Invert V", string widget = "boolean"]],
output color c = 0 [[string label = "Instance ID"]]
)
{
@ChrisHinde
ChrisHinde / noise_grid.osl
Last active August 21, 2023 15:15
Black and White Cell noise OSL
shader NoiseGrid(
point proj = point(u, v, 0) [[string label = "Projection"]],
float scale=20 [[string label = "Scale", float min=0.001, float max=1000, float sliderexponent=2]],
float utime=1 [[string label = "Time", float min=0.001, float max=1000, float sliderexponent=2]],
output color c = 0
)
{
c = cellnoise(proj * scale, utime);
c = color(c[0], c[0], c[0]);
@ChrisHinde
ChrisHinde / imggen_randompatches.py
Last active August 21, 2023 14:43
Image texture generators for Array Modifier "instance ID"
# imggen_randompatches.py
#
# Python script to generate an image with greyscale "patches"
# from black (0.0 / 0) to white (1.0 / 255) in random order
#
# CC-BY Chris Hindefjord - chris.hindefjord.se - 2023-08
#
# Tested with Python 3.9.2
# NB: Requires the PIL/Pillow library!
#
@ChrisHinde
ChrisHinde / Sam4s_TextToCode.py
Last active September 14, 2021 19:41
Converts a list of strings/descriptions to numeric "descriptor" for (some) Sam4s cash registers.
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Author: Christopher Hindefjord - chris.hindefjord.se
# September 2021
# License: CC-0 (Public domain)
# ===========================
# Converts a list of strings/descriptions to numeric "descriptor" for (some) Sam4s cash registers.
# The character codes are taken from the "Operator's and Programming manual" for Sam4s ER-5200M/5240M!
@ChrisHinde
ChrisHinde / Sharp_TextToCodes.py
Last active September 14, 2021 19:41
Convert text to character codes for (some) Sharp POS/Cash registers
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Author: Christopher Hindefjord - chris.hindefjord.se
# September 2021
# License: CC-0 (Public domain)
# ===========================
# Converts a list of strings/descriptions to numeric character code for (some) Sharp cash registers.
# The character codes are taken from the "Instruction manual" for Sharp XE-A113!
-----BEGIN CERTIFICATE-----
MIIF4DCCA8igAwIBAgIQJB83PNJZpQJ0co5OWe2wHDANBgkqhkiG9w0BAQsFADCB
gTELMAkGA1UEBhMCSVQxEDAOBgNVBAgMB0JlcmdhbW8xGTAXBgNVBAcMEFBvbnRl
IFNhbiBQaWV0cm8xFzAVBgNVBAoMDkFjdGFsaXMgUy5wLkEuMSwwKgYDVQQDDCNB
Y3RhbGlzIENsaWVudCBBdXRoZW50aWNhdGlvbiBDQSBHMzAeFw0yMDA5MTExNzI2
NTRaFw0yMTA5MTExNzI2NTRaMB4xHDAaBgNVBAMME2NocmlzQGhpbmRlZmpvcmQu
c2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDXWAwXAQ6JqopWsIDG
7tKzgBLpCoeCluf9Q0ldKKEFkZSZu4E3v6HWww5IZVVnqhYjraFz9NX226QDYoKw
m3UZGW5zZtSjgDuUl5FkB2/YFLKKD0goygvXjVwaabQf1tM1Yl16Wq49rqBuHrah
R10KPsy+KVjATC9ohUxipEz+HNI7AkSthIaZvmF/a2PCQ/vddcrquYcGa0VNkbM+
@ChrisHinde
ChrisHinde / pubkey_ChristopherHindefjord.key
Created September 22, 2019 19:10
PGP Publik Key for Christopher Hindefjord (chris@hindefjord.se)
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFRK3tQBEADRcphlx6ymWLiPTk69BLU90wOiOqLMCK45G3Xiwli3NsZEjTmR
dcSudckKHmuCdhUO5UN9g/jdP1XUQkg6QeK8IUeHJQf46JPb1eOrTNccFOKEbZm9
IBbdHrhSGLJ3JMiVdu9+Dmp2OBWcgF4N8BqyNUstwhCg286JlOOoqqAlnWWlKwP/
WuRUvambBiwK7qU6zLHZ8NaUGC4dZ4CZ1yCdGpea9wrFo52wgdp7Aa4xdMC51fN7
Eca5zDfr39h8vu2tyc4dDI5uUP7X6569mQmjDAxJXKA20AsZVgweFpGU7v1a3/tM
YV3YynUJKjWTcNrIYVJLjL3DHB2qv6EgpPzRP9oesSywmo2I78qffM9LCWxNhido
P6e3gFwpuxjF8rUQc5mzU+kaS/fbgzAC4IZBgSAUO5vseo7tb5MHfZ9kX8ivQuG5
KtZn4lOaml1cd2J725WA85YPpOQ3b2b3W/LAvWx65sStU2VGZNJgFN0l7cma/c5V
START G-CODE
(Copy the text between the ---'s and paste into "Start G-code" in the settings for the printer in Cura)
---
;start gcode
M118 X48.17 Y45.44 Z90.01 T0
M140 S0 T0
M104 S0 T1
@ChrisHinde
ChrisHinde / color_fade.lua
Last active August 27, 2016 16:23
Functions to fade between colors with Lua on NodeMCU
--[[ color_fade.lua
Created by Christopher Hindefjord (ChrisHinde / chris@hindefjord.se)
CC-0 > No copyright claimed - You are free to use these snippets
These are a couple of functions used to fade between colors with an RGB LED (or strip).
This is made for the NodeMCU with LUA interpreter (Tested with Lua5.1.4 on SDK 1.5.4.1).
The only requirments are the PWM and TMR (timer) modules
NOTE: See (and include) rgb_pwm.lua (https://gist.github.com/ChrisHinde/0b0e6eaf2efa42faa4d6757d973caf13)