Skip to content

Instantly share code, notes, and snippets.

#!/usr/bin/env python3
"""Demo of useless machine using BrickPi3"""
import time
import ev3dev.brickpi as bp
if __name__ == '__main__':
@dlech
dlech / console-run@.service
Created August 31, 2017 18:02
console-runner for RPi
[Unit]
Description=Console runner for pi user
[Service]
Type=simple
ExecStartPre=+/bin/chown pi /dev/%i
ExecStart=/usr/bin/conrun-server
ExecStopPost=+/bin/chown root /dev/%i
User=pi
StandardInput=tty-fail
@dlech
dlech / camstream.py
Created August 1, 2017 15:42
NXTCam5 streaming (uses unreleased GRX library, so won't work unless you compile GRX yourself)
#!/usr/bin/env python3
import fcntl
import os
import gi
gi.require_version('GLib', '2.0')
from gi.repository import GLib
gi.require_version('Grx', '3.0')
from gi.repository import Grx
@dlech
dlech / netris-bot.lua
Created June 16, 2018 21:45
Running Netris on LEGO MINDSTORMS EV3
#!/usr/bin/env lua5.3
-- SPDX-License-Identifier: MIT
-- Copyright: 2018 David Lechner <david@lechnology.com>
-- File: netris-bot.lua
-- This is a bot program for controlling netris. It reads button presses on
-- LEGO MINDSTORMS EV3 and translates them to messages that netris understands.
--
-- Prerequisties:
-- # run this on the EV3
@dlech
dlech / rtl8188eu.diff
Last active July 21, 2018 22:41
rtl8188eu changes from 4.4 to 4.14
diff --git b/drivers/staging/rtl8188eu/Kconfig a/drivers/staging/rtl8188eu/Kconfig
index 94f38793ab47..cb836c59d564 100644
--- b/drivers/staging/rtl8188eu/Kconfig
+++ a/drivers/staging/rtl8188eu/Kconfig
@@ -1,6 +1,7 @@
config R8188EU
tristate "Realtek RTL8188EU Wireless LAN NIC driver"
depends on WLAN && USB && CFG80211
+ depends on m
select WIRELESS_EXT
@dlech
dlech / remote.py
Created January 5, 2017 02:22
PS3 gamepad controlled dump truck
#!/usr/bin/env python3
# Remote control for a dump truck
# Copyright 2017 David Lechner <david@lechnology.com>
#
# Based on PS3 gamepad tutorial by Anton Vanhoucke
# http://www.ev3dev.org/docs/tutorials/using-ps3-sixaxis
import evdev
import evdev.ecodes as e
diff --git a/arch/arm/boot/dts/am335x-bonegreen-common.dtsi b/arch/arm/boot/dts/am335x-bonegreen-common.dtsi
index 853e6d3a028d..3cbe363d4fbf 100644
--- a/arch/arm/boot/dts/am335x-bonegreen-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bonegreen-common.dtsi
@@ -21,7 +21,7 @@
pinctrl-names = "default";
pinctrl-0 = <&emmc_pins>;
bus-width = <8>;
- status = "okay";
+ status = "disabled";
@dlech
dlech / .editorconfig
Last active April 1, 2019 20:25
Git bootstrap
root = true
[*.{cfg,editorconfig,git*,py,rst,sh,md}]
insert_final_newline = true
trim_trailing_whitespace = true
indent_size = 4
indent_style = space
[*.json]
insert_final_newline = false
@dlech
dlech / Microsoft.PowerShell_profile.ps1
Last active April 3, 2019 00:46
git-posh customization
Import-Module posh-git
# show the git repo name in magenta (really the parent directory name)
$GitPromptSettings.DefaultPromptPrefix.Text = '$(@((git rev-parse --show-toplevel).Split("/"))[-1])'
$GitPromptSettings.DefaultPromptPrefix.ForegroundColor = [ConsoleColor]::Magenta
# show only the relative directory in the git repo
$GitPromptSettings.DefaultPromptPath = '\$(@($pwd.Path.Split("\") | Select-Object -Skip @((git rev-parse --show-toplevel).Split("/")).Length) -join "\")'
@dlech
dlech / udev.py
Created June 25, 2019 23:16
MicroPython bindings for libudev
# SPDX-License-Identifier: MIT
# Copyright (c) 2019 David Lechner <david@pybricks.com>
import ffi
from uerrno import ENOENT
_udev = ffi.open('libudev.so.1')
_libc = ffi.open('libc.so.6')
_errno = _libc.var("i", "errno")