Skip to content

Instantly share code, notes, and snippets.

@simonliu009
simonliu009 / build-opencv-for-pyenv.py
Created April 1, 2022 03:27 — forked from pohmelie/build-opencv-for-pyenv.py
Build opencv for ubuntu 16.04 with pyenv
import pathlib
import sys
import sh
def clone_if_not_exists(name, url, **kwargs):
if not pathlib.Path(name).exists():
print("Cloning", url, "...")
sh.git.clone(url, name, depth=1, **kwargs)
@simonliu009
simonliu009 / ledc.c
Last active July 1, 2021 05:35
ledc test code
/* LEDC (LED Controller) fade example
This example code is in the Public Domain (or CC0 licensed, at your option.)
Unless required by applicable law or agreed to in writing, this
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/ledc.h"
@simonliu009
simonliu009 / youtube-dl.md
Created October 31, 2020 08:15 — forked from ryanlid/youtube-dl.md
youtube-dl 下载设置代理

socks5代理

youtube-dl --proxy socks5://127.0.0.1:1080 https://www.youtube.com/watch?v=6_gLU_OStK0

http代理

youtube-dl --proxy http://127.0.0.1:8118 https://www.youtube.com/watch?v=6_gLU_OStK0
@simonliu009
simonliu009 / aprintf
Created July 21, 2020 15:43 — forked from EleotleCram/aprintf
Simple arduino formatted printf
int aprintf(char *str, ...) {
int i, j, count = 0;
va_list argv;
va_start(argv, str);
for(i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] == '%') {
count++;
Serial.write(reinterpret_cast<const uint8_t*>(str+j), i-j);
/*
* Multiplexed SSD1306 Demo
* Copyright © 2018-01-02 tobozo
*
* https://github.com/tobozo
* https://twitter.com/tobozotagada
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the “Software”), to deal in
* the Software without restriction, including without limitation the rights to
@simonliu009
simonliu009 / Tornado webserver MJPEG streamer
Created March 26, 2020 17:26 — forked from mstaflex/Tornado webserver MJPEG streamer
Python Tornado webserver that streams JPEGs (in img/) as MJPEG-Stream using asynchronous timed callbacks (yields), being able to handly many different streams at the same time
import tornado.ioloop
import tornado.web
import gen
import time
import os
import tornado
file_list = os.listdir("img")
counter = 0
@simonliu009
simonliu009 / img.sh
Created March 5, 2020 12:58
[shell脚本批量修改]#shell #scripts #脚本
#!/bin/bash
#Function:rename files
#Created by xiaoyu
mname=0 #声明变量
for file in `ls` #遍历当前目录下的所有文件
do
fname=${file:0:1} #截取文件名的前1个字符
bname=${file:0-8} #截取文件名的后8个字符
let "mname = mname + 1"
filename=$fname$mname$bname #拼接最终文件名
@simonliu009
simonliu009 / emacs cua-mode
Last active February 27, 2020 04:34
[emacs cua-mode 列编辑]#emacs
原始列模式
emacs以C-x r开头的命令来进行矩形操作。先用C-space或者C-@设一个mark,移动光标到另一点,用以下命令进行列操作:
C-x r k 剪切一个矩形块
C-x r y 粘贴一个矩形块
C-x r o 插入一个矩形块
C-x r c 清除一个矩形块(使其变成空白)
@simonliu009
simonliu009 / c
Created November 16, 2019 07:42
[C保留指定位数小数]#c
本文章说明怎样使得你能保留小数点后几位(四舍五入)及其可控制的位数的实现:
#include <stdio.h>
int main()
{
double a = 423.43654;
a = int(a*100+0.5)/100.0; //到这的a值变成了423.440000
printf("%lf\n", a); //以小数后两位的形式输出
@simonliu009
simonliu009 / gist:a66fc2cbdde10d3999872e5efc0da306
Created September 23, 2019 09:32 — forked from youjunjer/gist:b20f63fcf909862c7943dd955583916e
ESP32-CAM Stream server, auto takepic and OTA
//Change Tools/Partition/Scheme to Minimal SPIFFS (Large APPS with OTA)
//IR sensor set at GPIO13
//Must Insert SD card
#include "esp_camera.h"
#include <WiFi.h>
#include "esp_timer.h"
#include "img_converters.h"
#include "Arduino.h"
#include "fb_gfx.h"