no_std printing of QR code (kind of...)
This commit is contained in:
parent
1ef431eceb
commit
17002db7e1
2 changed files with 21 additions and 10 deletions
|
@ -22,7 +22,6 @@ pub mod qr;
|
||||||
pub mod vendor_identifiers;
|
pub mod vendor_identifiers;
|
||||||
|
|
||||||
use log::info;
|
use log::info;
|
||||||
use qrcode::{render::unicode, QrCode, Version};
|
|
||||||
use verhoeff::Verhoeff;
|
use verhoeff::Verhoeff;
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
|
|
|
@ -315,15 +315,27 @@ fn estimate_struct_overhead(first_field_size: usize) -> usize {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub(super) fn print_qr_code(qr_data: &str) {
|
pub(super) fn print_qr_code(qr_data: &str) {
|
||||||
let needed_version = compute_qr_version(qr_data);
|
#[cfg(not(feature = "std"))]
|
||||||
let code =
|
{
|
||||||
QrCode::with_version(qr_data, Version::Normal(needed_version), qrcode::EcLevel::M).unwrap();
|
info!("\n QR CODE DATA: {}", qr_data);
|
||||||
let image = code
|
}
|
||||||
.render::<unicode::Dense1x2>()
|
|
||||||
.dark_color(unicode::Dense1x2::Light)
|
#[cfg(feature = "std")]
|
||||||
.light_color(unicode::Dense1x2::Dark)
|
{
|
||||||
.build();
|
use qrcode::{render::unicode, QrCode, Version};
|
||||||
info!("\n{}", image);
|
|
||||||
|
let needed_version = compute_qr_version(qr_data);
|
||||||
|
let code =
|
||||||
|
QrCode::with_version(qr_data, Version::Normal(needed_version), qrcode::EcLevel::M)
|
||||||
|
.unwrap();
|
||||||
|
let image = code
|
||||||
|
.render::<unicode::Dense1x2>()
|
||||||
|
.dark_color(unicode::Dense1x2::Light)
|
||||||
|
.light_color(unicode::Dense1x2::Dark)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
info!("\n{}", image);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn compute_qr_version(qr_data: &str) -> i16 {
|
fn compute_qr_version(qr_data: &str) -> i16 {
|
||||||
|
|
Loading…
Add table
Reference in a new issue