# max6675-hal [license badge](https://github.com/onkoe/max6675-hal) [docs.rs badge](https://docs.rs/max6675-hal) [crates.io badge](https://crates.io/crates/max6675-hal) [GitHub badge](https://github.com/onkoe/max6675-hal) [GitHub Actions badge](https://github.com/onkoe/max6675-hal/actions) An `embedded-hal` driver for the MAX6675 digital thermocouple converter. ## 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 have to focus on two parts: 1. A CS (chip select) pin as an `OutputPin` 2. Some SPI representation that doesn't exclusively own the CS pin (I'm looking at you, `linux-embedded-hal`!) Your SPI settings should use MSB (most significant bit) first, target a clock speed of at least 4mhz, and utilize SPI Mode 1. After both are good, pass them into the `Max6675::new(spi, chip_select)` constructor. Ta-da! Your MAX6675 gets put to good use. ```rust // 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, cs) = 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, cs)?; // your spi and chip select here let temp = max.read_celsius()? // ayo! we got the temperature ``` ## 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](https://linux-hardware.org/?view=howto) alongside any error messages or useful logs you have!