max6675-hal
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:
- A CS (chip select) pin as an
OutputPin
- 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.
// first, define what pins you're connecting to
let so_pin = pins..into_pull_up_input;
let cs_pin = pins..into_output;
let sck_pin = pins..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..into_output;
let = device- new;
let mut max = new?; // 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 alongside any error messages or useful logs you have!