#driver #embedded-hal-driver #lcd #akafugu #twidisplay

no-std akafugu_twidisplay

针对NXP PCF8563实时时钟的平台无关Rust驱动程序

1个不稳定版本

0.1.0 2021年11月1日

#1778嵌入式开发

MIT/Apache

25KB
226

Rust Akafugu TWIDisplay驱动程序

Maintenance Intention

基于embedded-hal traits的平台无关Rust驱动程序,用于Akafugu TWIDisplay

此驱动程序允许您

  • 显示单个数字或字符,也可以在选定的位置显示
  • 显示文本,尽管某些字符可能不可用(请参阅显示文档)
  • 清除显示
  • 显示当前的I2C地址
  • 更改I2C地址(实验功能)
  • 以HH.MM格式显示时间
  • 显示温度或湿度,带有可设置的上下限阈值

待办事项

  • 与其他MCU/Raspberry Pi进行测试
  • 添加一个良好的示例
  • 读取固件版本和数字数量(诊断功能)
  • 在选定的位置显示点

设备

该TWI 7段显示屏是一个易于使用的4位7段显示屏,使用TWI(I2C兼容)协议进行控制。它基于ATMega4313 MCU,作为外围I2C设备。

用法

要使用此驱动程序,请导入此crate和embedded_hal实现,然后实例化设备。

请在此存储库中找到使用硬件的附加示例:示例

#![no_main]
#![no_std]

use akafugu_twidisplay::*:



#[entry]
fn main() -> ! {

  // initialize all the necessary peripherals
  // create an instance of I2C bus

  let mut akafugu = TWIDisplay::new(i2c, DEFAULT_ADDRESS);
  
  akafugu.clear_display().unwrap();
  akafugu.set_brightness(127).unwrap();

  loop {

    let (hours, minutes, seconds) = some_rtc_reading();

    // display time in HH.MM format, dot is on when number of seconds is even

    if seconds % 2 == 0 {
      akafugu.display_time(hours, minutes, true).unwrap();
    } else {
      akafugu.display_time(hours, minutes, false).unwrap();
    }

  }

}

支持

有关问题、问题、功能请求和其他更改,请在github项目中提出问题

许可

根据您的选择,许可如下

贡献

除非您明确声明,否则您提交给工作的任何贡献,根据Apache-2.0许可证的定义,都应按上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~71KB