Skip to content

Instantly share code, notes, and snippets.

@plaes
plaes / lora_iface_sx1272_nrf.rs
Created November 13, 2023 13:11
lora_iface_sx1272_nrf.rs
use embassy_nrf::gpio::{AnyPin, Flex, OutputDrive, Pull};
use embedded_hal::digital::OutputPin;
use embassy_futures::select::{select, Either};
use embedded_hal_async::{delay::DelayUs, digital::Wait};
use lora_phy::mod_params::RadioError;
use lora_phy::mod_traits::InterfaceVariant;
pub struct LoRaInterfaceVariant<'d, WAIT> {
@plaes
plaes / gist:3470780
Created August 25, 2012 20:42
Flask context decorator for Celery tasks
def push_context(fn):
@wraps(fn)
def decorator(*args, **kwargs):
app_host = app.config.get('SERVER_NAME')
app_root = app.config.get('APPLICATION_ROOT')
base_url = 'https://{}/'.format(app_host if app_host else 'localhost')
if app_root:
base_url += app.root.lstrip('/')
app.test_request_context(base_url=base_url).push()
return fn(*args, **kwargs)
#! /usr/bin/env python3
import random
import argparse
import gi
import logging
gi.require_version("GLib", "2.0")
gi.require_version("Gst", "1.0")
elements = "agingtv,videoflip,vertigotv,gaussianblur,shagadelictv,edgetv,identity,exclusion,navigationtest".split(
cat basebackup.py
import io, os
import psycopg2
import tarfile
from contextlib import closing
from datetime import date
from time import time
def add_file(archive, filename, data):
with closing(io.BytesIO(data.encode())) as f:
### Keybase proof
I hereby claim:
* I am plaes on github.
* I am paf_plaes (https://keybase.io/paf_plaes) on keybase.
* I have a public key ASBEWn5w8BVm9aU5eFFXwrRN7VXsUNZxMybNHkDhTvVyPAo
To claim this, I am signing this object:
/* compile with gcc -lm -march=native test_tms34020_setcdp.c */
#include <stdint.h>
#include <stdio.h>
#include <math.h>
uint32_t setcdp(uint32_t dptch) {
uint32_t m_convdp;
// Check whether we're dealing with an even number
if ((dptch & 1) == 0) {
switch(__builtin_popcount(dptch))
@plaes
plaes / ccu-dump.sh
Created February 12, 2019 09:01
sunxi-mmc2-emmc-fail
#! /bin/bash
function dump {
base=$1
size=$2
for((i=0;i<$size;i=i+4)) ; do
addr=$(($base + $i))
data=$(busybox devmem $addr)
echo $(printf '%#x: %s' $addr $data)
done
}
@plaes
plaes / plbu_dumps.txt
Created December 8, 2018 11:09
PLBU analysis
- https://gist.github.com/yuq/a17350bd5bf91dbeba24e9deeda9a829 // fbo.260.0
0x00000200, 0x1000010b, 0x00000000, 0x1000010c, /* 0x00000000 */
0x10001000, 0x10000109, 0x00000011, 0x30000000, /* 0x00000010 */
0x1003ec00, 0x28000121, 0x00000000, 0x10000107, /* 0x00000020 */
0x43820000, 0x10000108, 0x00000000, 0x10000105, /* 0x00000030 */
0x43820000, 0x10000106, 0x00010002, 0x60000000, /* 0x00000040 */
0x00002200, 0x1000010b, 0x10152440, 0x81015240, /* 0x00000050 */
0x00000000, 0x1000010a, 0x00000000, 0x1000010e, /* 0x00000060 */
0x3f800000, 0x1000010f, 0x03000000, 0x00040000, /* 0x00000070 */
0x00010001, 0x60000000, 0x00000000, 0x50000000, /* 0x00000080 */
@plaes
plaes / cordic_algorithm_plot.c
Last active November 18, 2018 08:10
cordic_algorithm_differences.c
#include <stdio.h>
typedef __signed__ char __s8;
typedef unsigned char __u8;
typedef __signed__ int __s32;
typedef unsigned int __u32;
typedef __u8 u8;
typedef __s8 s8;
@plaes
plaes / sqla_hstore_update_bug.py
Created December 13, 2012 16:37
Bug in sqla hstore mutability implementation
from sqlalchemy import create_engine
from sqlalchemy import Column, Integer
from sqlalchemy.dialects.postgres import HSTORE
from sqlalchemy.sql import text
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('postgresql:///hstore_test', echo=True)
session = sessionmaker(bind=engine)()
Base = declarative_base()