Set of scripts for some automation during Magic Lantern development

Overview

~kitor Magic Lantern scripts

A few automation scripts I wrote to automate some things in my ML development efforts. Used only on Debian running over WSL1 on Windows 10, however should be mostly generic.

Maybe they will be helpful for others. If not, at least I will have an easy way to backup and keep my env in sync between devices.

Contents

rgb2png, yuv2png

Scripts that convert raw memory dumps into PNG files.

I think I based processing on some existing script, but I can't recall the source now.

ml_deploy, ml_deploy_qemu

Scripts that will deploy ML build ( currently non-zip only ) to card / qemu virtual card

Camera model is required as 1st argument.

ml_card_deploy

Script that will deploy artifacts on card. Called with sudo by ml_deploy, can be called directly.

Camera model is required as 1st argument.

remake

Shell alias that runs make clean and then make, passing all arguments.

gcp

Shell alias to git cherry-pick --no-commit.

I just use it a lot while creating a clean implementation from "dirty" implementation branches.

ml_uart

Shell alias to sudo minicom -D /dev/ttyS${port} -b 115200

Meant to be used with WSL (thus ttyS ).

Port number is optional as 1st argument, defaults to 3.

ml_env

File to be sourced in .bashrc \ .zshrc to expose all the functionality in shell.

Requirements

For ml_deploy_qemu:

  • bootdisk.py by @lorenzo33324 deployed in $ML_DIR\bin
    • TODO: add link when it gets published, atm available only on Discord archives.
  • virt-make-fs

Directory structure

$ML_DIR
 |-- bin
 |   `-- *                 ( files from this repository )
 |
 |-- artifacts             ( work dir for preparing card deployment )
 |-- artifacts_qemu        ( work dir for preparing qemu deployment )
 |
 |-- qemu-eos              ( main qemu dir )
 |-- qemu-eos-some_suffix  ( additional qemu dirs )
 |
 |-- src
 |   `-- ml                ( Magic Lantern source directory )

Configuration

see .config that I shamelessly left in repo.

Usage scenarios

enable all features in shell

source /path/to/checkout/.activate

( or just put it in .zshrc / .bashrc)

for build-and-deploy from platform/* directories

remake && ml_deploy R

for build-and-deploy from minimal/* directories

remake MODEL=750D && ml_deploy_qemu 750D

start UART session on virtual COM5 (WSL)

ml_uart 5

Owner
Kajetan Krykwiński
SCM Engineer and solution architect for LTE/5G User Plane in Nokia Networks. B.Sc. CS.
Kajetan Krykwiński
A script to check for common mistakes in LaTeX source files of scientific papers.

LaTeX Paper Linter This script checks for common mistakes in LaTeX source files of scientific papers. Usage python3 paperlint.py file.tex [-i/x inc

Michael Schwarz 12 Nov 16, 2022
ecowater-softner is a Python library for collecting information from Ecowater water softeners.

Ecowater Softner ecowater-softner is a Python library for collecting information from Ecowater water softeners. Installation Use the package manager p

6 Dec 08, 2022
A toolkit for writing and executing automation scripts for Final Fantasy XIV

XIV Scripter This is a tool for scripting out series of actions in FFXIV. It allows for custom actions to be defined in config.yaml as well as custom

Jacob Beel 1 Dec 09, 2021
Genart - Generate random art to sell as nfts

Genart - Generate random art to sell as nfts Usage git clone

Will 13 Mar 17, 2022
A multipurpose python module

pysherlock pysherlock is a Python library for dealing with web scraping using images, it's a Python application of the rendertron headless browser API

Sachit 2 Nov 11, 2021
This two python programs can convert km to miles and miles to km

km-to-miles These two little python programs can convert kilometers to miles and miles to kilometers Needed Python3 or a online python compiler with t

Chandula Janith 3 Jan 30, 2022
Group imports from Windows binaries

importsort This is a tool that I use to group imports from Windows binaries. Sometimes, you have a gigantic folder full of executables, and you want t

【☆ ゆう ☆ 】 15 Aug 27, 2022
✨ Un juste prix totalement fait en Python par moi, et en français.

Juste Prix ❗ Un juste prix totalement fait en Python par moi, et en français. 🔮 Avec l'utilisation du module "random", j'ai pu faire un choix aléatoi

MrGabin 3 Jun 06, 2021
Lock files using python and cmd

Python_Lock_Files Lock files using python and cmd license feel free to do whatever you want to with these files, i dont take any responsibility tho, u

1 Nov 01, 2021
Python bytecode manipulation and import process customization to do evil stuff with format strings. Nasty!

formathack Python bytecode manipulation and import process customization to do evil stuff with format strings. Nasty! This is an answer to a StackOver

Michiel Van den Berghe 5 Jan 18, 2022
A program will generate a eth key pair that has the public key that starts with a defined amount of 0

ETHAdressGenerator This short program will generate a eth key pair that has the public key that starts with a defined amount of 0 Requirements Python

3 Nov 19, 2021
Adding two matrix from scratch using python.

Adding-two-matrix-from-scratch-using-python. Here, I have take two matrix from user and add it without using any library. I made this program from scr

Sachin Vinayak Dabhade 4 Sep 24, 2021
Simple tool for creating changelogs

Description Simple utility for quickly generating changelogs, assuming your commits are ordered as they should be. This tool will simply log all lates

2 Jan 05, 2022
Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just about anything.

Retrying Retrying is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just

Ray Holder 1.9k Dec 29, 2022
EthTx - Ethereum transactions decoder

EthTx - Ethereum transactions decoder Installation pip install ethtx Requirements The package needs a few external resources, defined in EthTxConfig o

398 Dec 25, 2022
Personal Toolbox Package

Jammy (Jam) A personal toolbox by Qsh.zh. Usage setup For core package, run pip install jammy To access functions in bin git clone https://gitlab.com/

5 Sep 16, 2022
Extends the pyranges module with operations on joined genomic intervals

tiedpyranges Extends the pyranges module with operations on joined genomic intervals (e.g. exons of same transcript) Install with: pip install tiedpyr

Marco Mariotti 4 Aug 05, 2022
🍰 ConnectMP - An easy and efficient way to share data between Processes in Python.

ConnectMP - Taking Multi-Process Data Sharing to the moon 🚀 Contribute · Community · Documentation 🎫 Introduction : 🍤 ConnectMP is the easiest and

Aiden Ellis 1 Dec 24, 2021
kawadi is a versatile tool that used as a form of weapon and is used to cut, shape and split wood.

kawadi kawadi (કવાડિ in Gujarati) (Axe in English) is a versatile tool that used as a form of weapon and is used to cut, shape and split wood. kawadi

Jay Vala 2 Jan 10, 2022
A simple and easy to use collection of random python functions.

A simple and easy to use collection of random python functions.

Diwan Mohamed Faheer 1 Nov 17, 2021