sc7-nametag-firmware/README.md

54 lines
1.9 KiB
Markdown

## Nametag FW for SC7 VectorScope Badge
This code implements a wobbling earth. I stole the base C++ animation code from true.
[Install PlatformIO](https://platformio.org/install) to build this firmware.
Edit main.cpp to set your number of pictures.
## Prepping the photos
Add photos to ```/data``` at 240x240. use the following commands and script with ffmpeg to prep the photos.
```sh
# Source and destination directories
src_dir="output"
dest_dir="ioutput"
#!/bin/bash
mkdir src_dir
mkdir dest_dir
ffmpeg -i source_video.avi -vf ./output/out%d.jpg
# Create the destination directory if it doesn't exist
mkdir -p $dest_dir
# Loop over all JPG files in the source directory
i=0
cur_count=0
for file in $src_dir/*.jpg; do
#if (( i % 3 == 0 )); then
((cur_count++))
# Construct the destination file name with padding
dest_file="$dest_dir/out$(printf "%05d" $cur_count).jpg"
# Change the image size and quality and save it to the destination directory
# Be careful with size, you WILL need to compile a filesystem to contain your images which will tell you if you're too big
# Keep this below 1MB
convert $file -quality 50 -resize 240x240 $dest_file
#fi
#((i++))
done
```
## Prepping the PIO
- Copy the images from your above code output to the data directory of this repository
- In VSCode PIO open the PIO tab and select the BUILD options
- Rename your last photo with all 0's because I'm lazy and am not writing a function to automate fetching the list right now
- Build the filesystem. If it doesn't error, cool, your photos will fit!
- Edit main.cpp with the correct number of photos
- Upload the filesystem using PlatformIO
- Upload the code to your badge
- Make sure the sensors are connected to SCL and SDA on pin 26 and 27