1139804Simp/*	$NetBSD: am2315var.h,v 1.2 2017/12/29 02:20:47 christos Exp $	*/
298849Sken
398849Sken/*
498849Sken * Copyright (c) 2017 Brad Spencer <brad@anduin.eldar.org>
598849Sken *
698849Sken * Permission to use, copy, modify, and distribute this software for any
798849Sken * purpose with or without fee is hereby granted, provided that the above
898849Sken * copyright notice and this permission notice appear in all copies.
998849Sken *
1098849Sken * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1198849Sken * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1298849Sken * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1398849Sken * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1498849Sken * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1598849Sken * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1699479Sgallatin * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1798849Sken */
1898849Sken
1998849Sken#ifndef _DEV_I2C_AM2315VAR_H_
2098849Sken#define _DEV_I2C_AM2315VAR_H_
2198849Sken
2298849Sken#include <sys/time.h>
2398849Sken
2498849Sken#define AM2315_NUM_SENSORS	2
2598849Sken#define AM2315_HUMIDITY_SENSOR 0
2698849Sken#define AM2315_TEMP_SENSOR 1
2798849Sken
2898849Skenstruct am2315_sc {
2998849Sken	int 		sc_am2315debug;
3098849Sken	device_t 	sc_dev;
3198849Sken	i2c_tag_t 	sc_tag;
32116182Sobrien	i2c_addr_t 	sc_addr;
3398849Sken	kmutex_t 	sc_mutex;
3498849Sken	kmutex_t 	sc_waitmutex;
3598849Sken	kcondvar_t 	sc_condwait;
3698849Sken	int 		sc_numsensors;
3798849Sken	struct sysmon_envsys *sc_sme;
38116182Sobrien	envsys_data_t 	sc_sensors[AM2315_NUM_SENSORS];
39116182Sobrien	struct sysctllog *sc_am2315log;
40116182Sobrien	int 		sc_readcount;
4198849Sken	int 		sc_readticks;
4298849Sken};
43219028Snetchild
4498849Skenstruct am2315_sensor {
4598849Sken	const char     *desc;
4698849Sken	enum envsys_units type;
4798849Sken};
4898849Sken
49122780Salc#endif
5098849Sken