(cc back to list)

I've never used this ENET2 master, so I don't really know what to expect from the communication, so hard to say what's happning.. Hopefully someone else on the list have used it and might shed some light on it.

One thing which would be useful to add to owfs debug output is timestamps or at least relative time since last msg... Would be useful in log dumps like this :)

Johan


On 17/11/17 18:12, Andrew Brownsword wrote:
Well my usage of owcapi is just OW_get at the root, and then iterate across 
each sensor and use OW_get again to retrieve its r_address, temperature, 
humidity, vad, and vdd values.  For sensors without a given quantity, OW_get 
returns instantly, but for the quantities which actually exist there is a 
lengthy delay and a lot of owserver output.

My 1-wire network does have some noise on it (mostly caused by an unfortunate 
proximity to some wires carrying PWM signals driving LEDs), but the 
OW-SERVER-ENET2’s built-in software does a good job of managing that — it reads 
17-22 sensors on each iteration, and a different mixture each time so the net 
effect is that a few of the sensors just update at a slower rate (up to 10 
seconds instead of 1-2 seconds).  At this point I’m leaning heavily toward 
getting a second OW-SERVER-ENET2 and continuing to their CSV interface.  
Bifurcating by 1-wire network should isolate the noise problem to sensors whose 
update rate doesn’t matter as much.


A short run produce a few megabytes of debug output, but most of it is looks 
like variations on this theme:

   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_transaction.c:(373) pack=(U)DELAYS
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=2
   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_transaction.c:(373) pack=(U)DELAYS
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=2
   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: loop.c:(109) Taking too long, send a keep-alive pulse
   DEBUG: to_client.c:(76) payload=-1 size=0, ret=0, sg=0x0 offset=0
   DEBUG: to_client.c:(83) Send delay message (ping)
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_transaction.c:(373) pack=(U)DELAYS
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=2
   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_transaction.c:(373) pack=(U)DELAYS
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=2
   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_transaction.c:(373) pack=(U)DELAYS
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=2
   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_transaction.c:(373) pack=(U)DELAYS
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=2
   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_transaction.c:(373) pack=(U)DELAYS
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=2
   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_transaction.c:(373) pack=(U)DELAYS
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=2
   DEBUG: ow_tcp_read.c:(63) attempt 4 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 4 - 0 = 4
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(465) unpacking #0 DELAY
   DEBUG: ow_transaction.c:(425) unpacking #1 READ MODIFY
   DEBUG: ow_1820.c:(1088) BUS_transaction done after 90ms
   DEBUG: ow_transaction.c:(311) pack=SELECT
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(339) pack=MATCH MODIFY BLIND
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(323)  pack=READ
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(369) pack=CRC*
   DEBUG: ow_transaction.c:(251) Item added
   DEBUG: ow_transaction.c:(274) Ship Packets=4
   DEBUG: ow_select.c:(70) Selecting a path (and device) 
path=/28.FF48573A0400/temperature12 SN=28 FF 48 57 3A 04 00 4E last path=00 00 
00 00 00 00 00 00
   DEBUG: ow_select.c:(74) Use adapter-specific select routine
   DEBUG: ow_tcp_read.c:(63) attempt 3 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 3 - 0 = 3
   DEBUG: ow_tcp_read.c:(63) attempt 3 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 3 - 0 = 3
   DEBUG: ow_tcp_read.c:(63) attempt 22 bytes Time: 0.6000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 22 - 0 = 22
   DEBUG: ow_transaction.c:(399) unpacking
   DEBUG: ow_transaction.c:(481) unpacking #0 NOP or SELECT
   DEBUG: ow_transaction.c:(417) unpacking #1 MATCH
   DEBUG: ow_transaction.c:(425) unpacking #2 READ MODIFY
   DEBUG: ow_transaction.c:(441) unpacking #3 CRC8
   DEBUG: ow_read.c:(620) Read /28.FF48573A0400/temperature12 Extension 0 Gives 
result 0
   DEBUG: ow_cache.c:(384) Adding data for /28.FF48573A0400/temperature12
   DEBUG: ow_cache.c:(421) 28 FF 48 57 3A 04 00 4E size=8
   DEBUG: ow_cache.c:(635) Add to cache sn 28 FF 48 57 3A 04 00 4E 
pointer=0x76f28a48 index=0 size=8
   DEBUG: ow_parsename.c:(63) /28.FF48573A0400/temperature12
   DEBUG: ow_read.c:(620) Read /28.FF48573A0400/temperature Extension 0 Gives 
result 0
   DEBUG: ow_cache.c:(384) Adding data for /28.FF48573A0400/temperature
   DEBUG: ow_read.c:(253) return=0
Byte buffer OWQ_parse_output_offset_and_size, length=6
--000: 32 38 2E 36 32 35
    <28.625>
   DEBUG: ow_read.c:(263) After read is performed (bytes or error 6)
OWQ OneWireQuery structure of /28.FF48573A0400/temperature
     OneWireQuery size=12 offset=0, extension=0
Byte buffer OneWireQuery buffer, length=12
--000: 32 38 2E 36 32 35 00 00 00 00 00 00
    <28.625......>
     Cleanup = 0006    OneWireQuery I=6 U=6 F=28.625 Y=6 D=Wed Dec 31 16:00:06 
1969

--- OneWireQuery done
   DEBUG: ow_read.c:(226) /28.FF48573A0400/temperature returns 6
   DEBUG: ow_read.c:(103) /28.FF48573A0400/temperature return 6
   DEBUG: read.c:(81) ReadHandler: FS_read_postparse read on 
/28.FF48573A0400/temperature return = 6
OWQ OneWireQuery structure of /28.FF48573A0400/temperature
     OneWireQuery size=12 offset=0, extension=0
Byte buffer OneWireQuery buffer, length=12
--000: 32 38 2E 36 32 35 00 00 00 00 00 00
    <28.625......>
     Cleanup = 0006    OneWireQuery I=6 U=6 F=28.625 Y=6 D=Wed Dec 31 16:00:06 
1969

--- OneWireQuery done
   DEBUG: read.c:(89) ReadHandler: FS_read_postparse ok size=6
   DEBUG: read.c:(100) ReadHandler: To Client cm->payload=6 cm->size=6 
cm->offset=0
Byte buffer Data returned to client, length=6
-- NULL buffer
   DEBUG: data.c:(146) Read message done value=0x747122c8
   DEBUG: ow_parsename.c:(63) /28.FF48573A0400/temperature
   DEBUG: data.c:(193) DataHandler: FS_ParsedName_destroy done
   DEBUG: data.c:(207) DataHandler: cm.ret=6
   DEBUG: to_client.c:(76) payload=6 size=6, ret=6, sg=0x144 offset=0
   DEBUG: data.c:(226) Finished with client request
   DEBUG: handler.c:(132) OWSERVER tcp connection persistence -- reusing 
connection now.
   DEBUG: ow_tcp_read.c:(63) attempt 24 bytes Time: 10.000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 24 - 0 = 24
   DEBUG: from_client.c:(66) FromClient payload=27 size=16 type=2 sg=0x144 
offset=0
   DEBUG: from_client.c:(74) FromClient (no servermessage) payload=27 size=16 
type=2 controlflags=0x144 offset=0
   DEBUG: ow_tcp_read.c:(63) attempt 27 bytes Time: 10.000000 seconds
   DEBUG: ow_tcp_read.c:(113) read: 27 - 0 = 27
   DEBUG: handler.c:(73) Persistence requested
   DEBUG: handler.c:(153) START handler /28.FF18573A0400/r_address
    CALL: data.c:(103) DataHandler: parse path=/28.FF18573A0400/r_address
   DEBUG: ow_parseobject.c:(163) /28.FF18573A0400/r_address
    CALL: ow_parsename.c:(104) path=[/28.FF18573A0400/r_address]
   DEBUG: ow_regex.c:(154) Not found
   DEBUG: ow_regex.c:(201) 0: 0->15 found <><28.FF18573A0400><>
   DEBUG: ow_regex.c:(201) 1: 0->2 found <><28><.FF18573A0400>
   DEBUG: ow_regex.c:(201) 2: 3->15 found <28.><FF18573A0400><>
   DEBUG: ow_cache.c:(912) Looking for device 28 FF 18 57 3A 04 00 DB
   DEBUG: ow_cache.c:(1070) Search in cache sn 28 FF 18 57 3A 04 00 DB 
pointer=0x76f42d40 index=0 size=4
   DEBUG: ow_cache.c:(1086) Value found in cache. Remaining life: 8 seconds.
   DEBUG: ow_presence.c:(75) Found device on bus 2
   DEBUG: ow_regex.c:(154) Not found
    CALL: data.c:(144) Read message
   DEBUG: read.c:(55) ReadHandler start
   DEBUG: read.c:(61) ReadHandler: From Client sm->payload=27 sm->size=16 
sm->offset=0
   DEBUG: read.c:(79) ReadHandler: call FS_read_postparse on 
/28.FF18573A0400/r_address
   DEBUG: ow_read.c:(72) /28.FF18573A0400/r_address
   DEBUG: ow_read.c:(204) /28.FF18573A0400/r_address
   DEBUG: ow_read.c:(238) About to read </28.FF18573A0400/r_address> 
extension=0 size=16 offset=0
   DEBUG: ow_read.c:(333) file_length=16 offset=0 size=16
Byte buffer OWQ_parse_output_offset_and_size, length=16
--000: 44 42 30 30 30 34 33 41 35 37 31 38 46 46 32 38
    <DB00043A5718FF28>
   DEBUG: ow_read.c:(620) Read /28.FF18573A0400/r_address Extension 0 Gives 
result 0
   DEBUG: ow_cache.c:(374) Adding data for /28.FF18573A0400/r_address
   DEBUG: ow_read.c:(253) return=0
OWQ OneWireQuery structure of /28.FF18573A0400/r_address
     OneWireQuery size=16 offset=0, extension=0
Byte buffer OneWireQuery buffer, length=16
--000: 44 42 30 30 30 34 33 41 35 37 31 38 46 46 32 38
    <DB00043A5718FF28>
     Cleanup = 0006    OneWireQuery I=16 U=16 F=7.90505E-323 Y=16 D=Wed Dec 31 
16:00:16 1969

--- OneWireQuery done


On Nov 17, 2017, at 8:27 AM, Johan Ström <jo...@stromnet.se> wrote:

On 17/11/17 16:10, Andrew Brownsword wrote:
Decided to try owcapi through owserver with my application (I had opted against 
owserver because it seems quite flakey at startup when the system reboots), 
just to see how it works.  Unfortunately it appears to discover even fewer of 
the sensors than the OW-SERVER-ENET2’s built-in code (varies from 12-17 of the 
22 sensors on the 3 1-wire buses), and the rate at which owserver delivers 
responses to my application is terrible — on the order of 1 per second.
That sounds like either a weird usage of owcapi, or bad 1-Wire network. Do you 
experience the same issues when using shell tools owdir/owread etc?
If so, please run owserver with --debug --foreground and see if it says 
something interesting.


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to