A simple tool to send binary data over a serial port. Designed for use with my retro computer systems.

Related tags

Miscellaneous ctt
Overview

Colin's Transfer Tool

This is a really basic tool to transfer firmware files to my retro computer systems over a serial port. This removes the need for flashing EEPROM chips to test every software change. Instead, I run a small bootloader on the EEPROM and load new firmware into RAM with this tool.

Protocol

The "protocol" is trivially simple. The target system starts listening for serial port data and stores all incoming bytes into RAM until it sees three bytes in a row with the value 0xDE. This tool then loads a file from disk and sends it to the listening target over the serial port.

There is no error checking or acknowledgments of any kind, but I've found this to be very reliable for transferring firmware.

There is one flaw: if the data being sent ever actually contains three bytes with value 0xDE in a row, the transfer will stop prematurely. This has not yet been an issue, but it will require an update to the protocol if it ever comes up.

In short: this is a hack to speed up firmware development, not a robust file transfer solution.

Usage

ctt -p <port> -f <file> -b [baudrate]

ctt requires a port and a filename be specified and optionally the baudrate (defaults to 115200)

Owner
Colin Maykish
Colin Maykish
A Go package to allow you to read and write from the serial port as a stream of bytes.

Serial A Go package to allow you to read and write from the serial port as a stream of bytes. Details It aims to have the same API on all platforms, i

null 1.4k Aug 12, 2022
A ocilloscope writen in GO. Supported serial input, portaudio input.

A ocilloscope writen in GO. Supported serial input, portaudio input.

John_Suu 1 Oct 23, 2021
Arduino pluggable discovery for serial ports

Arduino pluggable discovery for serial ports The quarto-discovery tool is a command line program that interacts via stdio. It accepts commands as plai

qNimble 0 Oct 29, 2021
Go library for generate serial numbers according to rules.

go-sn - Serial Number Generator Go library for generate serial numbers according to rules. This library is also useful for generating serial numbers i

Kenkyu 5 May 25, 2022
Serial to Keyboard converter for Polar's card readers

polar-serial-to-keyboard Serial to Keyboard converter for Polar's card readers Configuration This program is intended to be run as a background proces

null 0 Dec 17, 2021
Tool, language and decoders for inspecting binary data.

fq Tool, language and decoders for inspecting binary data. In most cases fq works the same way as jq but instead of reading JSON it reads binary data.

Mattias Wadman 4.3k Aug 11, 2022
Joy2Mouse is a program that allows you to control your computer mouse with a joystick.

Joy2Mouse Joy2Mouse is a program that allows you to control your computer mouse with a joystick. Features Control your mouse with a joystick Mouse dow

Abby 4 Dec 26, 2021
GoLang - Produces a binary suitable for use in shell scripts and cron jobs for rotating IAM credentials.

AWS-Rotate-IAM-Key aws-rotate-iam-key makes it easy to rotate your IAM keys whether they be in your ~/.aws/credentials file or else where. This work i

WarnerMedia Open Source 0 Feb 9, 2022
godesim Simulate complex systems with a simple API.

godesim Simulate complex systems with a simple API. Wrangle non-linear differential equations while writing maintainable, simple code. Why Godesim?

Patricio Whittingslow 19 Mar 5, 2022
F' - A flight software and embedded systems framework

F´ (F Prime) is a component-driven framework that enables rapid development and deployment of spaceflight and other embedded software applications.

NASA 8.9k Aug 7, 2022
Moby Project - a collaborative project for the container ecosystem to assemble container-based systems

The Moby Project Moby is an open-source project created by Docker to enable and accelerate software containerization. It provides a "Lego set" of tool

Moby 63.8k Aug 14, 2022
IBus Engine for GoVarnam. An easy way to type Indian languages on GNU/Linux systems.

IBus Engine For GoVarnam An easy way to type Indian languages on GNU/Linux systems. goibus - golang implementation of libibus Thanks to sarim and haun

Varnamproject 10 Feb 10, 2022
Distributed Systems 2021 -- Miniproject 3

Mini_Project3 == A Distributed Auction System == You must implement a distributed auction system using replication: a distributed component which hand

null 0 Dec 1, 2021
Ghdl - A much more convenient way to download GitHub release binaries on the command line, works on Win & Unix-like systems

ghdl Memorize ghdl as github download ghdl is a fast and simple program (and als

beet 45 Aug 5, 2022
MIT 6.824: Distributed Systems (Spring 2020)

MIT6.824 MIT 6.824: Distributed Systems (Spring 2020) Lab 1 Lab 2 Lab 2A Lab 2B Lab 2C Lab 2D Lab 3 Lab 3A Lab 3B Lab 4 Lab 4A Lab 4B Lab 4 Challenge

Ray Eldath 56 Aug 2, 2022
CapMonsterTool is a set of Go tools designed to simply make requests to the CapMonster Cloud API.

✨ CapMonsterTool ✨ About this module What is ✨ CapMonsterTool ✨ ? CapMonsterTool is a set of Go tools designed to simply make requests to the CapMonst

Louis Billaut 19 Jun 29, 2022
Clockwise is a meeting cost calculator designed to encourage more efficient meetings.

↻lockwise Clockwise is a meeting cost calculator designed to encourage more efficient meetings. The meetings will continue until morale improves.

null 493 Jun 29, 2022
TLDR Page Creator is a program designed to help users make TLDR pages

TLDR Page Creator is a program designed to help users make TLDR pages, while avoiding syntax errors from TLDR-style markdown.

null 8 Apr 8, 2022
Monitor star changes of GitHub repo, and send the notification to slack or lark.

stargazers Features monitor the star events of the GitHub repo send the notifications to Slack or Lark How to use For Lark, create a bot called like s

Kevin Wan 12 Jul 16, 2022