Skip to main content

ph_veml7700_als/
lib.rs

1#![doc = include_str!("../README.md")]
2#![no_std]
3#![forbid(unsafe_code)]
4#![deny(missing_docs)]
5#![cfg_attr(docsrs, feature(doc_cfg))]
6#![cfg_attr(test, allow(clippy::std_instead_of_alloc, clippy::std_instead_of_core))]
7#![deny(clippy::correctness)]
8#![warn(
9    clippy::suspicious,
10    clippy::style,
11    clippy::complexity,
12    clippy::perf,
13    clippy::cloned_instead_of_copied,
14    clippy::explicit_iter_loop,
15    clippy::implicit_clone,
16    clippy::inconsistent_struct_constructor,
17    clippy::manual_assert,
18    clippy::manual_let_else,
19    clippy::match_same_arms,
20    clippy::needless_pass_by_value,
21    clippy::semicolon_if_nothing_returned,
22    clippy::uninlined_format_args,
23    clippy::unnested_or_patterns,
24    clippy::std_instead_of_core,
25    clippy::std_instead_of_alloc,
26    clippy::alloc_instead_of_core,
27    clippy::undocumented_unsafe_blocks,
28    clippy::missing_const_for_fn
29)]
30#![allow(
31    clippy::mod_module_files,
32    clippy::self_named_module_files,
33    clippy::similar_names,
34    clippy::type_complexity,
35    clippy::must_use_candidate,
36    clippy::module_name_repetitions,
37    clippy::wildcard_imports,
38    clippy::items_after_statements
39)]
40
41mod config;
42mod driver;
43mod error;
44mod id;
45mod illuminance;
46mod measurement;
47mod power;
48mod register;
49mod threshold;
50mod timing;
51
52pub use config::{
53    ConfigDecodeError, ConfigurationSnapshot, Gain, IntegrationTime, MeasurementConfig,
54    Persistence, PowerState, ThresholdMonitorState,
55};
56pub use driver::{I2C_ADDRESS, Veml7700};
57pub use error::{
58    BusContext, ConfigurationError, Error, MeasureOnceError, MeasureStage, Operation, ProbeError,
59    ThresholdMonitorError, ThresholdMonitorStage,
60};
61pub use id::DeviceId;
62pub use illuminance::{MicroLux, NominalScale};
63pub use measurement::{
64    AlsCounts, DeviceSnapshot, MeasurementCapture, MeasurementPairCoherence, SnapshotMeasurement,
65    WhiteCounts,
66};
67pub use power::{PowerSavingConfig, PowerSavingDecodeError, PowerSavingMode, PowerSavingSnapshot};
68pub use threshold::{
69    ThresholdMonitorConfig, ThresholdStatus, ThresholdStatusDecodeError, Thresholds,
70};
71pub use timing::{
72    INTEGRATION_TOLERANCE_PERCENT, MEASUREMENT_MARGIN_US, MeasurementTiming, WAKE_UP_DELAY_US,
73};
74
75#[cfg(test)]
76extern crate alloc;
77#[cfg(test)]
78extern crate std;
79#[cfg(test)]
80mod testing;