Crate max6675_hal

Source
Expand description

§max6675-hal

An embedded-hal driver for the MAX6675 digital thermocouple converter.

license badge docs.rs badge crates.io badge GitHub badge GitHub Actions badge

§Usage

This example code will change depending on which HAL device driver you’re using. An arduino-hal project’s SPI isn’t like that of an esp32-hal project.

However, you only need to focus on your device’s SPI implementation! (thanks, embedded-hal 1.0 ☺️)

Your SPI settings should use MSB (most significant bit) first, target a clock speed of at least 4mhz, and utilize SPI Mode 1.

// first, define what pins you're connecting to
let so_pin = pins.("your miso pin").into_pull_up_input();
let cs_pin = pins.("your cs pin").into_output();
let sck_pin = pins.("your sck/clock pin").into_output();

// you may need a mosi pin for your device's SPI, though the max6675 doesn't use one.
// if so, just pick some pin that you're not using ☺️
let dummy_mosi = pins.("some pin you're not using").into_output();

let (spi, _) = device-hal::spi::Spi::new(
    sck_pin, dummy_mosi, so_pin, cs_pin,
    device-hal::spi::Settings {
        // pick some settings that roughly align like so:
        data_order: MostSignificantFirst,
        clock: 4MhzClockSpeed,
        mode: embedded_hal::spi::MODE_1,
    }
);
let mut max = Max6675::new(spi)?; // your spi and chip select here

let temp = max.read_celsius()? // ayo! we got the temperature

§Note

This crate re-exports a Temperature type from another crate, simmer. You can change and play with the temperatures in various ways, so feel free to check out its docs for more info.

§Contributions

Contributions are welcome to this project! Since it’s pretty small, feel free to submit a PR whenever. You can also make an issue - I’ll likely get to it soon!

§Help

Please don’t hesitate to make an issue if you experience any problems!

If you can, please submit a hw-probe report alongside any error messages or useful logs you have!

Re-exports§

pub use error::Max6675Error;

Modules§

error

Structs§

Max6675
Max6675

Enums§

Temperature
A Temperature type from simmer. A value that’s one of many common temperature units.