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
✨ Une calculatrice totalement faite en Python par moi, et en français.

Calculatrice ❗ Une calculatrice totalement faite en Python par moi, et en français. 🔮 Voici une calculatrice qui vous permet de faire vos additions,

MrGabin 3 Jun 06, 2021
Python Classes Without Boilerplate

attrs is the Python package that will bring back the joy of writing classes by relieving you from the drudgery of implementing object protocols (aka d

The attrs Cabal 4.6k Jan 06, 2023
A simple language and reference decompiler/compiler for MHW THK Files

Leviathon A simple language and reference decompiler/compiler for MHW THK Files. Project Goals The project aims to define a language specification for

11 Jan 07, 2023
Pampy: The Pattern Matching for Python you always dreamed of.

Pampy: Pattern Matching for Python Pampy is pretty small (150 lines), reasonably fast, and often makes your code more readable and hence easier to rea

Claudio Santini 3.5k Jan 06, 2023
Simple collection of GTPS Flood in Python.

GTPS Flood Simple collection of GTPS Flood in Python. NOTE Give me credit if you use this source, don't trade/sell this tool, And USE AT YOUR OWN RISK

PhynX 6 Dec 07, 2021
A set of Python scripts to surpass human limits in accomplishing simple tasks.

Human benchmark fooler Summary A set of Python scripts with Selenium designed to surpass human limits in accomplishing simple tasks available on https

Bohdan Dudchenko 3 Feb 10, 2022
Generate random german words

Generate random german words / Generiere zufällige deutsche Wörter Getting Started Pip install with pip install zufallsworte Install the library with

Maximilian Freitag 5 Mar 24, 2022
Conveniently measures the time of your loops, contexts and functions.

Conveniently measures the time of your loops, contexts and functions.

Maciej J Mikulski 79 Nov 15, 2022
Python type-checker written in Rust

pravda Python type-checker written in Rust Features Fully typed with annotations and checked with mypy, PEP561 compatible Add yours! Installation pip

wemake.services 31 Oct 21, 2022
API Rate Limit Decorator

ratelimit APIs are a very common way to interact with web services. As the need to consume data grows, so does the number of API calls necessary to re

Tomas Basham 575 Jan 05, 2023
A tiny Python library for generating public IDs from integers

pids Create short public identifiers based on integer IDs. Installation pip install pids Usage from pids import pid public_id = pid.from_int(1234) #

Simon Willison 7 Nov 11, 2021
Python lightweight dependency injection library

pythondi pythondi is a lightweight dependency injection library for python Support both sync and async functions Installation pip3 install pythondi Us

Hide 41 Dec 16, 2022
The producer-consumer problem implemented with threads in Python

This was developed using a Python virtual environment, I would strongly recommend to do the same if you want to clone this repository. How to run this

Omar Beltran 1 Oct 30, 2021
Python code to remove empty folders from Windows/Android.

Empty Folder Cleaner is a program that deletes empty folders from your computer or device and removes clutter to improve performance. It supports only windows and android for now.

Dark Coder Cat | Vansh 4 Sep 27, 2022
A workflow management tool for numerical models on the NCI computing systems

Payu Payu is a climate model workflow management tool for supercomputing environments. Payu is currently only configured for use on computing clusters

The Payu Organization 11 Aug 25, 2022
'ToolBurnt' A Set Of Tools In One Place =}

'ToolBurnt' A Set Of Tools In One Place =}

MasterBurnt 5 Sep 10, 2022
These scripts look for non-printable unicode characters in all text files in a source tree

find-unicode-control These scripts look for non-printable unicode characters in all text files in a source tree. find_unicode_control.py should work w

Siddhesh Poyarekar 25 Aug 30, 2022
Hide new MacBook Pro notch with black wallpaper.

Hide new MacBook Pro notch with black wallpaper.

Wang Chao 1 Oct 27, 2021
Tool for generating Memory.scan() compatible instruction search patterns

scanpat Tool for generating Frida Memory.scan() compatible instruction search patterns. Powered by r2. Examples $ ./scanpat.py arm.ks:64 'sub sp, sp,

Ole André Vadla Ravnås 13 Sep 19, 2022
cpp20.py is a Python script to compile C++20 code using modules.

cpp20.py is a Python script to compile C++20 code using modules. It browses the source files to determine their dependencies. Then, it compiles then in order using the correct flags.

Julien VERNAY 6 Aug 26, 2022