Skip to content

Instantly share code, notes, and snippets.

View miho's full-sized avatar

Michael Hoffer miho

View GitHub Profile
// @author Michael Hoffer <[email protected]>
// Requires TMCStepper library
#include <TMCStepper.h>
#include <EEPROM.h>
#include <avr/wdt.h>
#include <Wire.h>
#define CS_PIN1 8 // CS1 chip select
#define CS_PIN2 9 // CS1 chip select
#define CS_PIN3 10 // CS2 chip select
using System.Runtime.InteropServices;
using System.Security;
namespace com.bfx.timerutil {
/// <summary> Tools to enable high-resolution timer (1ms). Default timer resolution is 16ms.</summary>
/// Note, that only the resolution of Thread.Sleep() is increased. Task.Delay() is not affected by this
/// increased resolution since the responsible timer is running at fixed 16m rate.
public static class TimerUtil {
@miho
miho / ArduinoCRC16.java
Last active August 25, 2020 12:13
Example on how to compute Arduino compliant CRC16 checksums in Java.
/**
* Example on how to compute Arduino compliant CRC16 checksums in Java.
*
* @author [email protected]
*/
public class Main {
public static void main(String[] args) {
byte[] data = new byte[]{1,2,3};
int crc = crc16(data);
@miho
miho / Adafruit_DHT_Particle.cpp
Last active March 26, 2019 22:53
Particle Electron DHT22 based Thermometer: Publishes on thingspeak and goes to standby if not publishing (long batter life)
/* DHT library v0.0.2 works for Particle Electon v1.0.1
*
* MIT license
* written by Adafruit Industries
* modified for Spark Core by RussGrue
* */
#include "Adafruit_DHT_Particle.h"
DHT::DHT(uint8_t pin, uint8_t type, uint8_t count) {
package eu.mihosoft.vrl.user;
import eu.mihosoft.jcsg.ext.mesh.MeshTools;
import eu.mihosoft.jcsg.CSG;
@ComponentInfo(name="MeshOptimizer", category="Custom")
public class MeshOptimizer implements java.io.Serializable {
private static final long serialVersionUID=1L;
public CSG optimize(
@ParamInfo(name="mesh to optimize", style="default", options="") CSG mesh,
package eu.mihosoft.vrl.user;
import eu.mihosoft.jcsg.Cylinder;
import eu.mihosoft.jcsg.CSG;
import eu.mihosoft.vvecmath.Transform;
import eu.mihosoft.vvecmath.Vector3d as Vec3d;
import eu.mihosoft.vvecmath.Vectors3d as Vecs;
import eu.mihosoft.jcsg.ext.path.*
@ComponentInfo(name="Bacteria Creator 01", category="Custom")
public class BacteriaCreator01 implements java.io.Serializable {
@miho
miho / FunctionPlotter.groovy
Last active November 1, 2018 10:22
Function Plotter Template for VRL-Studio
package eu.mihosoft.vrl.user;
/**
* Function Plotter
*/
@ComponentInfo(name="FunctionPlotter", category="ODE")
public class FunctionPlotter implements java.io.Serializable {
private static final long serialVersionUID=1L;
public Trajectory run(
@miho
miho / MeshOptimizer.groovy
Created July 10, 2018 19:21
JCSG Mesh Extension Component for VRL-Studio
package eu.mihosoft.vrl.user;
import eu.mihosoft.jcsg.*;
import eu.mihosoft.jcsg.ext.mesh.MeshTools;
@ComponentInfo(name="MeshOptimizer", category="Custom")
public class MeshOptimizer implements java.io.Serializable {
private static final long serialVersionUID=1L;
public CSG optimize(
CSG csg,
@miho
miho / truncocta.scad
Created June 13, 2018 17:32 — forked from nichtich/truncocta.scad
Truncated octahedron as 3D-Model in OpenSCAD
/*
Truncated octahedron.
*/
module truncocta() {
// octahedron based on code by Willliam A Adams
octapoints = [
[+1, 0, 0], // + x axis
[-1, 0, 0], // - x axis
[0, +1, 0], // + y axis
grammar org.xtext.example.mydsl.take1.MyDsl with org.eclipse.xtext.common.Terminals
generate myDsl "http://www.xtext.org/example/mydsl/take1/MyDsl"
Json: value=Val;
Obj:
'{'
pairs+=Pair (',' pairs+=Pair)*