Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zandemax/mcp346x-rs
Rust library for the Microchip MCP346x family of ADCs
https://github.com/zandemax/mcp346x-rs
Last synced: about 1 month ago
JSON representation
Rust library for the Microchip MCP346x family of ADCs
- Host: GitHub
- URL: https://github.com/zandemax/mcp346x-rs
- Owner: zandemax
- License: mit
- Created: 2022-12-16T17:44:51.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-03T17:04:43.000Z (almost 2 years ago)
- Last Synced: 2024-11-13T03:14:14.579Z (2 months ago)
- Language: Rust
- Size: 13.7 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MCP346x Sigma-Delta ADC
[![crates.io](https://img.shields.io/crates/v/mcp346x)](https://crates.io/crates/mcp346x)
[![docs.rs](https://img.shields.io/docsrs/mcp346x)](https://docs.rs/mcp346x)This crate contains a platform-agnostic driver for the MCP346[1/2/4] Sigma-Delta ADC, using the [`embedded-hal`](https://github.com/rust-embedded/embedded-hal) traits.
Currently, you can:
- Initialize the device
- Configure Input MUX and IRQ Pullup
- Set the conversion or power down mode
- Obtain measurements### [Documentation](https://docs.rs/mcp346x)
## Usage
### Single Measurement
```rust ignore
use mcp346x::*;let spi_pins = (sck, miso, mosi);
let spi = Spi::new(p.SPI0, spi_pins, Frequency::K500, MODE_0);let address = 0b01; // This is the default address for most chips
let mut adc = MCP346x::new(spi, address).into_continuous_mode()?;adc.set_clock_source(mcp346x::ClockSource::Internal)?;
adc.set_irq_internal_pullup(true)?;let voltage = adc.measure()?;
```## Status
- [x] Initialization
- [x] Powerdown/wakeup/conversion
- [x] Take Measurements
- [x] Input MUX configuration
- [ ] SCAN mode
- [ ] Expose other Configurations
- [ ] Communication CRC checksums## License
Licensed under either of
* Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)at your option.
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.