Hello Jan,
OK, that would be a great idea.
I have had a go at changing the code in ow_2438.c but can't seem to get it to
work, I wondered if just changing the family id would do the trick. So I added
a copy of the DS2438 section called it DS2438z etc with the new address
family.. but it does not seem to recognise it.
static struct aggregate A2438z = { 8, ag_numbers, ag_separate, };
static struct filetype DS2438z[] = {
F_STANDARD,
{"pages", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir, fc_subdir,
NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"pages/page", 8, &A2438z, ft_binary, fc_stable, FS_r_page, FS_w_page,
VISIBLE, NO_FILETYPE_DATA, },
{"VDD", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float, fc_volatile,
FS_volts, NO_WRITE_FUNCTION, VISIBLE, {.i=voltage_source_VDD}, },
{"VAD", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float, fc_volatile,
FS_volts, NO_WRITE_FUNCTION, VISIBLE, {.i=voltage_source_VAD}, },
{"temperature", PROPERTY_LENGTH_TEMP, NON_AGGREGATE, ft_temperature,
fc_simultaneous_temperature, FS_temp, NO_WRITE_FUNCTION, VISIBLE,
NO_FILETYPE_DATA, },
{"humidity", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float, fc_link,
FS_Humid, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"vis", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float, fc_volatile,
FS_Current, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"IAD", PROPERTY_LENGTH_YESNO, NON_AGGREGATE, ft_yesno, fc_stable,
FS_r_status, FS_w_status, VISIBLE, {.i=0}, },
{"CA", PROPERTY_LENGTH_YESNO, NON_AGGREGATE, ft_yesno, fc_stable,
FS_r_status, FS_w_status, VISIBLE, {.i=1}, },
{"EE", PROPERTY_LENGTH_YESNO, NON_AGGREGATE, ft_yesno, fc_stable,
FS_r_status, FS_w_status, VISIBLE, {.i=2}, },
{"offset", PROPERTY_LENGTH_UNSIGNED, NON_AGGREGATE, ft_unsigned,
fc_stable, FS_r_Offset, FS_w_Offset, VISIBLE, NO_FILETYPE_DATA, },
{"udate", PROPERTY_LENGTH_UNSIGNED, NON_AGGREGATE, ft_unsigned,
fc_second, FS_r_counter, FS_w_counter, VISIBLE, {.s=0x08}, },
{"date", PROPERTY_LENGTH_DATE, NON_AGGREGATE, ft_date, fc_link,
COMMON_r_date, COMMON_w_date, VISIBLE, {.a="udate"}, },
{"disconnect", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"disconnect/udate", PROPERTY_LENGTH_UNSIGNED, NON_AGGREGATE,
ft_unsigned, fc_volatile, FS_r_counter, FS_w_counter, VISIBLE, {.s=0x10}, },
{"disconnect/date", PROPERTY_LENGTH_DATE, NON_AGGREGATE, ft_date,
fc_link, COMMON_r_date, COMMON_w_date, VISIBLE, {.a="disconnect/udate"}, },
{"endcharge", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"endcharge/udate", PROPERTY_LENGTH_UNSIGNED, NON_AGGREGATE,
ft_unsigned, fc_volatile, FS_r_counter, FS_w_counter, VISIBLE, {.s=0x14}, },
{"endcharge/date", PROPERTY_LENGTH_DATE, NON_AGGREGATE, ft_date,
fc_link, COMMON_r_date, COMMON_w_date, VISIBLE, {.a="endcharge/udate"}, },
{"HTM1735", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"HTM1735/humidity", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float,
fc_link, FS_Humid_1735, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"HIH3600", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"HIH3600/humidity", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float,
fc_volatile, FS_Humid_3600, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"HIH4000", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"HIH4000/humidity", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float,
fc_volatile, FS_Humid_4000, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"DATANAB", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE_DATANAB,
NO_FILETYPE_DATA, },
{"DATANAB/humidity", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float,
fc_volatile, FS_Humid_datanab, NO_WRITE_FUNCTION, VISIBLE_DATANAB,
NO_FILETYPE_DATA, },
{"DATANAB/reset", PROPERTY_LENGTH_YESNO, NON_AGGREGATE, ft_yesno,
fc_stable, NO_READ_FUNCTION, FS_reset_datanab, VISIBLE_DATANAB,
NO_FILETYPE_DATA, },
{"MultiSensor", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"MultiSensor/type", 12, NON_AGGREGATE, ft_vascii, fc_stable,
FS_MStype, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"B1-R1-A", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"B1-R1-A/pressure", PROPERTY_LENGTH_PRESSURE, NON_AGGREGATE,
ft_pressure, fc_volatile, FS_B1R1A_pressure, NO_WRITE_FUNCTION, VISIBLE,
NO_FILETYPE_DATA, },
{"B1-R1-A/offset", PROPERTY_LENGTH_PRESSURE, NON_AGGREGATE,
ft_pressure, fc_stable, FS_r_B1R1A_offset, FS_w_B1R1A_offset, VISIBLE,
NO_FILETYPE_DATA, },
{"B1-R1-A/gain", PROPERTY_LENGTH_PRESSURE, NON_AGGREGATE, ft_pressure,
fc_stable, FS_r_B1R1A_gain, FS_w_B1R1A_gain, VISIBLE, NO_FILETYPE_DATA, },
{"S3-R1-A", PROPERTY_LENGTH_SUBDIR, NON_AGGREGATE, ft_subdir,
fc_subdir, NO_READ_FUNCTION, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"S3-R1-A/current", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float,
fc_volatile, FS_S3R1A_current, NO_WRITE_FUNCTION, VISIBLE, NO_FILETYPE_DATA, },
{"S3-R1-A/illuminance", PROPERTY_LENGTH_FLOAT, NON_AGGREGATE, ft_float,
fc_volatile, FS_S3R1A_illuminance, NO_WRITE_FUNCTION, VISIBLE,
NO_FILETYPE_DATA, },
{"S3-R1-A/gain", PROPERTY_LENGTH_PRESSURE, NON_AGGREGATE, ft_float,
fc_stable, FS_r_S3R1A_gain, FS_w_S3R1A_gain, VISIBLE, NO_FILETYPE_DATA, },
};
DeviceEntryExtended(a6, DS2438z, DEV_temp | DEV_volt, NO_GENERIC_READ,
NO_GENERIC_WRITE);
John
-----Original Message-----
From: Jan Kandziora [mailto:[email protected]]
Sent: 30 November 2016 15:15
To: [email protected]; OWFS (One-wire file system) discussion and help
<[email protected]>
Subject: Re: [Owfs-developers] DS2438 reporting A6 as family
Am 30.11.2016 um 11:18 schrieb Robin Gilks:
>
> I've been using DS2438 battery monitor devices for a number of years
> and they have a family code of 0x26 NOT 0xA6.
>
They can have both. See page 12 of the Book of iButton standards (sheet
19 of http://pdfserv.maximintegrated.com/en/an/AN937.pdf)
Bit 7 is a "customer coded" flag. That means an 0xA6 DS2438 is a DS2438 with a
serial number from a secondary pool.
These devices seem to appear from time to time. We could easily add support for
them.
> I'm pretty sure that there are no genuine Dallas/Maxim devices with a
> family code where the MSB is set.
>
For example 0x81 is a DS2401 built into the DS9490 USB host adapter.
There are some more but yes, the most of the upper half of family codes is
unused.
Kind regards
Jan
------------------------------------------------------------------------------
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers
------------------------------------------------------------------------------
_______________________________________________
Owfs-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers