Skip to content

Instantly share code, notes, and snippets.

View dfch's full-sized avatar

Ronald Rink dfch

View GitHub Profile
@dfch
dfch / RaspberryPi400WlanSupportOnVenusOS.sh
Last active July 4, 2023 14:14
Commands necessary to enable WLAN support on Raspberry Pi 400 for Venus OS v3.00, https://watenan.uk/2023/07/02/enabling-wifi-on-a-raspberry-pi-400-with-venus-os/
mount -o remount,rw /
cd /lib/firmware/cypress
cp /run/media/sda1/cypress/cyfmac4356* .
chmod 644 cyfmac4356*
cd /lib/firmware/brcm
cp /run/media/sda1/brcm/brcmfmac4356-pcie.gpd-win-pocket.txt .
chmod 644 brcmfmac4356-pcie.gpd-win-pocket.txt
@dfch
dfch / VirtualBatteryMonitor.py
Last active May 31, 2023 22:01
A simple service for top balancing LiFePO4 batteries with a Victron MultiPlus-II with a constant current
#!/usr/bin/env python3
"""
A class to put a simple service on the dbus, according to victron standards, with constantly updating
paths. See example usage below. It is used to generate dummy data for other processes that rely on the
dbus. See files in dbus_vebus_to_pvinverter/test and dbus_vrm/test for other usage examples.
To change a value while testing, without stopping your dummy script and changing its initial value, write
to the dummy data via the dbus. See example.
'=↓=↓=↓= MW3 Header Start =↓=↓=↓=↓=↓=↓=↓=↓=↓=↓=↓=↓=[MWTAG1]
' Script Type: MacroWorks 3 Device Script
' Device Name: X-keys XK-24
' Device Description: 24 Button HID Controller
' Script Name: XK-24
' Script Description: Macros for XK-24 [MWTAG19]
' PID: 1029
' Firmware: π3 V 28
' MW3 Version: 15
' Script Language: Visual Basic
@dfch
dfch / ComRegistration.cs
Created August 21, 2019 12:33
Sparx Enterprise Architect Registration of ActiveX Controls under HKEY_CURRENT_USER
public class ComRegistration
{
private const string DEFAULT_VALUE = "";
private const char BACKSLASH = '\\';
private const string HKEY_SOFTWARE_CLASSES = @"SOFTWARE\Classes\";
private const string HKEY_SOFTWARE_WOW_CLSID = @"Software\Classes\WOW6432Node\CLSID\";
private const string IMPLEMENTED_CATEGORY_DOTNET = @"Implemented Categories\\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}";
private const string THREADING_MODEL = "ThreadingModel";
@dfch
dfch / Boxed.cs
Last active August 28, 2021 22:19
Converting ODataQueryOptions into LINQ Expressions in C#
/**
* Copyright 2017 d-fens GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@dfch
dfch / BaselineComparison.cs
Created August 11, 2019 09:39
Handling Sparx Enterprise Architect Baseline Information
/**
* Copyright 2018 d-fens GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@dfch
dfch / RepositorySingleton.cs
Last active August 28, 2021 22:19
Simplifying Sparx Enterprise Architect Development with C# Interactive (CSI)
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.Contracts;
using System.IO;
using System.Threading;
namespace biz.dfch.CS.EA.ProductModeler.Tests.Repository
{
public class RepositorySingleton : IDisposable
@dfch
dfch / Retry.cs
Last active August 28, 2021 22:20
Transient Error Handling with automatic Retries in C# - d-fens.net -
/**
* Copyright 2017 d-fens GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@dfch
dfch / HubFactory.cs
Created March 17, 2017 23:11
Creating SignalR Hub Classes on the fly - http://d-fens.ch/2017/03/17/creating-signalr-hub-classes-on-the-fly/ - d-fens.ch
/**
* Copyright 2017 d-fens GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
/**
* Copyright 2017 d-fens GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software