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:j...@gmx.de] 
Sent: 30 November 2016 15:15
To: g8...@gilks.org; OWFS (One-wire file system) discussion and help 
<owfs-developers@lists.sourceforge.net>
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
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers


------------------------------------------------------------------------------
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to