Compare commits

..

5 commits

Author SHA1 Message Date
Valentin Weber
b4d8c1ab97
fix: add clippy override to allow funcions > 100 lines 2025-07-19 17:22:48 +02:00
Valentin Weber
f6379b814d
fix: update to Cargo.lock 2025-07-19 17:02:11 +02:00
Valentin Weber
7157ebec9e
chore: cargo fmt 2025-07-19 17:00:15 +02:00
Valentin Weber
cb6016bdc0
chore: reoganize dependencies 2025-07-19 16:13:22 +02:00
Valentin Weber
02001c0630
chore: add newline at end of file 2025-07-19 15:57:42 +02:00
3 changed files with 790 additions and 19 deletions

793
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,8 @@
#![warn(clippy::all, clippy::pedantic)] #![warn(clippy::all, clippy::pedantic)]
#![allow(clippy::unnecessary_debug_formatting)] #![allow(clippy::unnecessary_debug_formatting)]
#![allow(clippy::too_many_lines)]
use std::{fs, fs::File, io::BufReader, path::PathBuf}; use std::{fs, io::BufReader, path::PathBuf};
use anyhow::{Context, Result}; use anyhow::{Context, Result};
use base64::Engine; use base64::Engine;
@ -14,10 +15,11 @@ use embedded_graphics::{
text::Text, text::Text,
Drawable, Pixel, Drawable, Pixel,
}; };
use serde::Deserialize;
use image::{ use image::{
codecs::gif::GifDecoder, imageops::FilterType, AnimationDecoder, ImageReader, Pixel as iPixel, codecs::gif::GifDecoder, imageops::FilterType, AnimationDecoder, ImageReader,
Pixel as ImagePixel,
}; };
use serde::Deserialize;
use badgemagic::{ use badgemagic::{
ble::Device as BleDevice, ble::Device as BleDevice,
@ -235,7 +237,7 @@ fn generate_payload(args: &mut Args) -> Result<PayloadBuffer> {
.resize(u32::MAX, 11, FilterType::Nearest) .resize(u32::MAX, 11, FilterType::Nearest)
.into_luma8(); .into_luma8();
let (width, height) = img.dimensions(); let (width, height) = img.dimensions();
let mut buffer = payload.add_message(style, (width as usize + 7) / 8); let mut buffer = payload.add_message(style, (width as usize).div_ceil(8));
for y in 0..height { for y in 0..height {
for x in 0..width { for x in 0..width {
if img.get_pixel(x, y).0 > [31] { if img.get_pixel(x, y).0 > [31] {
@ -246,7 +248,7 @@ fn generate_payload(args: &mut Args) -> Result<PayloadBuffer> {
} }
} }
Content::GifFile { gif_file } => { Content::GifFile { gif_file } => {
let file_in = BufReader::new(File::open(gif_file)?); let file_in = BufReader::new(fs::File::open(gif_file)?);
let frames = GifDecoder::new(file_in)? let frames = GifDecoder::new(file_in)?
.into_frames() .into_frames()
.collect_frames() .collect_frames()
@ -258,7 +260,7 @@ fn generate_payload(args: &mut Args) -> Result<PayloadBuffer> {
anyhow::bail!("Expected 44x11 pixel gif file"); anyhow::bail!("Expected 44x11 pixel gif file");
} }
let mut buffer = payload.add_message(style, (48 * frame_count + 7) / 8); let mut buffer = payload.add_message(style, (48 * frame_count).div_ceil(8));
for (i, frame) in frames.iter().enumerate() { for (i, frame) in frames.iter().enumerate() {
let buf = frame.buffer(); let buf = frame.buffer();