[Nut-upsdev] [PATCH 27/36] Use "(1 << N)" to define bit N in flag macros!
Arnaud Quette
aquette.dev at gmail.com
Tue May 15 09:35:52 UTC 2012
2012/3/9 Greg A. Woods <woods at planix.com>:
> From: "Greg A. Woods" <woods at planix.com>
>
> Convert some comments about variables to actual values.
>
> Also a bit of a cleanup.
> ---
> drivers/dummy-ups.h | 68 ++++++++++++++++++++++++++++++---------------------
> 1 file changed, 40 insertions(+), 28 deletions(-)
>
> diff --git a/drivers/dummy-ups.h b/drivers/dummy-ups.h
> index b086a52..ba49094 100644
> --- a/drivers/dummy-ups.h
> +++ b/drivers/dummy-ups.h
> @@ -18,11 +18,16 @@
> Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> */
>
> -/* This file list all valid data with their type and info.
> - * this are then enable through a definition file, specified
> +/*
> + * This file lists all valid data with their type and info.
> + *
> + * These are then enabled through a definition file, specified
> * as the "port" parameter (only the file name, not the path).
> + *
> * The format of this file is the same as an upsc dump:
> + *
> * <varname>: <value>
> + *
> * FIXME: use cmdvartab for conformance checking
> * ...
> * Once the driver is loaded:
> @@ -36,24 +41,31 @@
> /* Struct & data for ups.status processing */
> /* --------------------------------------------------------------- */
>
> +#if 0 /* XXX status lookup table not currently used???? */
> +/*
> + * Status lookup table type definition
> + */
> typedef struct {
> const char *status_str; /* ups.status string */
> - int status_value; /* ups.status value */
> + int status_value; /* ups.status flag bit */
> } status_lkp_t;
>
> -#define STATUS_CAL 1 /* calibration */
> -#define STATUS_TRIM 2 /* SmartTrim */
> -#define STATUS_BOOST 4 /* SmartBoost */
> -#define STATUS_OL 8 /* on line */
> -#define STATUS_OB 16 /* on battery */
> -#define STATUS_OVER 32 /* overload */
> -#define STATUS_LB 64 /* low battery */
> -#define STATUS_RB 128 /* replace battery */
> -#define STATUS_BYPASS 256 /* on bypass */
> -#define STATUS_OFF 512 /* ups is off */
> -#define STATUS_CHRG 1024 /* charging */
> -#define STATUS_DISCHRG 2048 /* discharging */
> -
> +#define STATUS_CAL (1 << 0) /* calibration */
> +#define STATUS_TRIM (1 << 1) /* SmartTrim */
> +#define STATUS_BOOST (1 << 2) /* SmartBoost */
> +#define STATUS_OL (1 << 3) /* on line */
> +#define STATUS_OB (1 << 4) /* on battery */
> +#define STATUS_OVER (1 << 5) /* overload */
> +#define STATUS_LB (1 << 6) /* low battery */
> +#define STATUS_RB (1 << 7) /* replace battery */
> +#define STATUS_BYPASS (1 << 8) /* on bypass */
> +#define STATUS_OFF (1 << 9) /* ups is off */
> +#define STATUS_CHRG (1 << 10) /* charging */
> +#define STATUS_DISCHRG (1 << 11) /* discharging */
> +
> +/*
> + * Status lookup table
> + */
> status_lkp_t status_info[] = {
> { "CAL", STATUS_CAL },
> { "TRIM", STATUS_TRIM },
> @@ -69,8 +81,9 @@ status_lkp_t status_info[] = {
> { "DISCHRG", STATUS_DISCHRG },
> { "NULL", 0 },
> };
> -/* from usbhid-ups.h */
> +#endif /* 0 -- not currently used??? */
>
> +/* from usbhid-ups.h */
> typedef struct {
> char hid_value; /* HID value */
> char *nut_value; /* NUT value */
> @@ -96,7 +109,6 @@ typedef struct {
> /* data flags */
> #define DU_FLAG_NONE 0
> #define DU_FLAG_INIT 1 /* intialy show element to upsd */
> -#define DU_TYPE_CMD 2
>
> /* --------------------------------------------------------------- */
> /* Data table (all possible info from NUT, then enable upon cong */
> @@ -166,16 +178,16 @@ battery.alarm.threshold
> battery.date
> battery.packs
> battery.packs.bad
> -
> -ambient.temperature
> -ambient.temperature.alarm
> -ambient.temperature.high
> -ambient.temperature.low
> -ambient.humidity
> -ambient.humidity.alarm
> -ambient.humidity.high
> -ambient.humidity.low
> -
> + */
> + { "ambient.temperature", ST_FLAG_RW, 1, NULL, DU_FLAG_NONE, NULL },
> + { "ambient.temperature.alarm", ST_FLAG_RW, 1, NULL, DU_FLAG_NONE, NULL },
> + { "ambient.temperature.high", ST_FLAG_RW, 1, NULL, DU_FLAG_NONE, NULL },
> + { "ambient.temperature.low", ST_FLAG_RW, 1, NULL, DU_FLAG_NONE, NULL },
> + { "ambient.humidity", ST_FLAG_RW, 1, NULL, DU_FLAG_NONE, NULL },
> + { "ambient.humidity.alarm", ST_FLAG_RW, 1, NULL, DU_FLAG_NONE, NULL },
> + { "ambient.humidity.high", ST_FLAG_RW, 1, NULL, DU_FLAG_NONE, NULL },
> + { "ambient.humidity.low", ST_FLAG_RW, 1, NULL, DU_FLAG_NONE, NULL },
> +/*
> FIXME: how to manage these?
> outlet.n.id
> outlet.n.desc
applied to trunk, r3596.
thanks.
Arnaud
--
Linux / Unix Expert R&D - Eaton - http://powerquality.eaton.com
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/
Debian Developer - http://www.debian.org
Free Software Developer - http://arnaud.quette.free.fr/
More information about the Nut-upsdev
mailing list