Skip to content

Instantly share code, notes, and snippets.

@microtherion
microtherion / prusa_rtsp_upload
Created January 31, 2024 22:02
Linking an RTSP based camera (e.g. webcam) with unusable snapshots to Prusa Connect
#!/bin/sh
#
# prusa_rtsp_upload - Upload stills from an RTSP camera to Prusa Connect
#. Uses ffmpeg to take snapshots of the video feed, for cameras whose
#. snapshot URL produces low quality snapshots
#
# Copyright (C) 2024 Matthias Neeracher <microtherion@gmail.com>
# Licensed under CC-BY terms: https://creativecommons.org/licenses/by/4.0/
#
<harmony print-frame="no">
<root>
<root-step text="">C</root-step>
</root>
<kind text="N.C.">none</kind>
</harmony>
/*
* Derived from Nathan Seidle's LED strip demo code
*
* You will need to connect 5V/Gnd from the Arduino (USB power seems to be sufficient).
*
* For the data pins, please pay attention to the arrow printed on the strip. You will need to connect to
* the end that is the begining of the arrows (data connection)--->
*
* The documented wire colors are very unreliable. Follow the labels printed on the LED strip.
*
@microtherion
microtherion / components_separated_by_string.cpp
Created August 10, 2015 21:18
Implement C++ equivalent of ObjC componentsSeparatedByString:
#include <algorithm>
#include <string>
#include <vector>
#include <iostream>
template <typename String, typename OutputIt>
void components_separated_by_string(const String & string, const String & separator, OutputIt out)
{
typename String::size_type comp_start=0, comp_end;
while ((comp_end = string.find(separator, comp_start)) != String::npos) {
#include <SPI.h>
//Add the SdFat Libraries
#include <SdFat.h>
#include <SdFatUtil.h>
//and the MP3 Shield Library
#include <SFEMP3Shield.h>
/**
//
// Light show "Trittst im Morgenrot daher"
//
enum {
kFlagRed1 = 2,
kFlagRed2,
kFlagRed3,
kFlagWhite,
kMountainBlue,
@microtherion
microtherion / nested_containers.rb
Created February 23, 2014 22:02
Perl-style autovivication for Ruby hashes and Arrays
#!/usr/bin/ruby
class Array
def self.of(cclass)
return Class.new(Array) do
const_set :NESTED, cclass
def self.new(size, *args)
super(size) do |idx|
self::NESTED.new(*args)
end
//
// Demonstrate various behaviors for XBotMicro
//
// Matthias Neeracher: Derived from original XBotMicro demo4, rewritten in English,
// added pinouts for ATtiny X4/X5
// This code is licensed under the same conditions as the original XBotMicro demo code.
//
#include <Arduino.h>
#!/bin/sh -x
#
# Usage: Arduino-Crosspack /Applications/Arduino.app
#
AVR="$1/Contents/Resources/Java/hardware/tools/avr"
sudo rm -rf "$AVR"
sudo ln -s /usr/local/CrossPack-AVR "$AVR"
sudo codesign -fs - "$1"
ols_fwloader -f APP -P /dev/tty.usbXXXXX -W -w FPGAROM/logic_sniffer_3.07-Demon-Core.bit -t BIN
ols_fwloader -f BOOT -n -P /dev/tty.usbXXXXX -V -W -w PIC_firmware/OLSv1.firmware.v3.0.hex