The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Category: Electronics Workbench

Electrical & Electronic gadgets

  • Zire 71 Battery Replacement

    I tote around an ancient Palm Zire 71, which suffices for my simple calendar & to-do lists. This is my second, as the first failed when the flexible cable connecting the guts to the charging / USB connector crapped out; turns out that the slide-to-open feature that reveals the crappy camera also stresses the flexy cable to the breaking point. Now I don’t do that any more.

    The battery (well, it’s actually a single Li-Ion cell, but let’s not be pedantic) finally stopped taking a charge, so I did a full backup, tore the thing apart, and popped in a new battery. This being my second Zire 71, things went smoothly…

    I got a stack of surplus Palm batteries some years ago, but they’re readily available from the usual suspects for prices ranging from $5 to $50. We’ll see how well mine survived their time in isolation.

    The connectors don’t match, which means you just chop off them in mid-wire, then solder the old connector onto the new battery. A few dabs of Liquid Electrical Tape and it’s all good.

    Some teardown instructions are there, with fairly small pix.

    General reminders:

    • Stick the teeny little screws on a strip of tape
    • Watch out for the tiny plastic switch fin on the side
    • Torx T06 screws on either side of the camera
    • The silver shield around the shutter button snaps under the sides with more force than you expect
    • There’s a metal strip over the connector that can be taped back in place after the plastic posts snap off
    • Gently pry the flexy cable up off the base, using the tabs on either side
    • The speaker seems to be held in with snot
    • The battery shield is not soldered in place!
    • The battery adhesive comes off with a sloooowww pull

    Although it may not be obvious, I replaced the crappy plastic window over the camera with a watch crystal. Much better picture quality, although much worse than my pocket camera.

    Backup and restore with various pilot-link utilities:

    pilot-xfer -p /dev/ttyUSB1  -b wherever
    ... hardware hackage ...
    pilot-xfer -p /dev/ttyUSB1  -r wherever
    pilot-dlpsh -p /dev/ttyUSB1 -c ntp
    pilot-install-user -p /dev/ttyUSB1 -u "Ed Nisley"
    

    The thing seems perfectly happy with a userid of 0, which is good because I haven’t the foggiest idea what else it could have been.

  • Making a Clock Colon: Post Milling

    Finished colon dots
    Finished colon dots

    I used a pair of blue LEDs for the colon in the Totally Featureless Clock. Each one has a brass tube to define the dot and a white plastic diffuser to eliminate hotspots.

    Some rummaging in the brass cutoff assortment produced a pair of tubes with a 0.300 inch ID that closely matched the width of the LED segment bars. The catch is that I don’t have a core drill that spits out 0.300 inch slugs…

    Milling the dots
    Milling the dots

    So I taped a chunk of translucent acrylic to some plywood scrap and milled the dots. Helix milling on the lesser of a 4% slope or 1/5 of the cutter diameter, 15 inches/min, no cooling, maybe 1500 rpm.

    The resulting disks were snug slip fits into the tubes, although I added a dot of cyanoacrylate to ensure they didn’t get any ideas about perpetrating an escape.

    It took two disks to remove all the hotspots, which reduced the light intensity to the point where I had to increase the LED current, which really heated up the linear regulator driving the dots. Fooey! In retrospect, I think frosting the LED lens would eliminate the need for a second diffuser without decreasing the intensity much at all.

    The code is available as an OpenOffice file there, too.

    (Post milling)
    (Ed Nisley KE4ZNU - Feb 2010)
    (Origin = center of post at surface)
    (Double-stick tape holding acrylic sheet to sacrificial plate)
    
    (-- Dimensions)
    
    #<_PostDia>	= 0.300				(post OD)
    #<_PostRad>	= [#<_PostDia> / 2]
    
    #<_Thickness>	= 0.120			(sheet thickness)
    
    #<_MillDia>	= 0.250				(cutter diameter)
    #<_MillSpeed>	= 15				(cutting speed)
    
    #<_MaxCutDepth>	= [#<_MillDia> / 5]	(max cutting depth)
    #<_MaxCutSlope>	= 0.04			(max cutting slope)
    
    #<_TraverseZ>	= 0.300				(safe travel height)
    #<_TraverseSpeed> = 25			(safe traverse speed)
    
    G20					(inches!)
    
    (-- Figure cut depth per helix pass)
    
    #<_PassCut> = [#<_MaxCutSlope> * 3.142 * [#<_PostDia> + #<_MillDia>]]		(limit max cut for each pass)
    
    O9000 IF [#<_PassCut> GT #<_MaxCutDepth>]
    #<_PassCut> = #<_MaxCutDepth>		(limit max cut for each pass)
    O9000 ENDIF
    
    (-- Set up cutter comp)
    
    G0 Z#<_TraverseZ>
    
    G0 X[0 - 3 * #<_PostRad>] Y0		(get to entry point)
    
    G42.1 D#<_MillDia>
    G2 X[0 - #<_PostRad>] I#<_PostRad> F#<_TraverseSpeed>
    
    (-- cut down through sheet)
    
    #<CurrentZ> = 0.0
    
    G0 Z#<CurrentZ>
    
    F#<_MillSpeed>
    
    O1000 DO
    
    #<NextZ> = [#<CurrentZ> - #<_PassCut>]	(figure ending level)
    
    G3 I#<_PostRad> Z#<NextZ>		(once around)
    
    #<CurrentZ> = #<NextZ>
    
    O1000 WHILE [#<CurrentZ> GT [0 - #<_Thickness>]]
    
    G3 I#<_PostRad>					(clear final ramp)
    
    G40			(comp off)		
    
    G0 Z#<_TraverseZ>
    G0 X0 Y0
    
    M2
    
    
  • Replacement NP-FS11 Li-Ion Battery Pack: Plan B

    Slitting the case
    Slitting the case

    Just for curiosity’s sake, I applied a slitting saw to the oldest defunct generic NP-FS11 battery pack, cutting carefully along the bonded joint between the two parts.

    No coolant, 1000 rpm, 200 mm/min, the saw is 22 mm diameter. Much slower than you’d use if you were in production, but I’m not.

    First cut all the way around at 0.5 mm inside the case, then another pass at 1.0 mm. The second cut went ting as it passed the tabs at the base of the cells, so I knew the halves were released.

    Inside we find a pair of 14430 Li-Ion cells, wired in parallel, with a little protection circuit board just jam-packed with teeny parts. One may reasonably assume the circuit controls over-charge and over-discharge, as well as current limiting.

    Pack opened
    Pack opened

    So a reasonable (or, perhaps, amusing) thing to do would be to buy raw cells from a nominally reputable supplier, do a heart transplant, and see if that improves the situation.

    Protection Circuit - Outboard
    Protection Circuit – Outboard

    Photos of the protection PCB, showing the cell connections. Positive end of the cells is toward the PCB. I think there’s enough clearance in the camera’s battery compartment to allow a wrap of tape around the case in lieu of re-bonding the plastic together.

    Protection circuit - inboard
    Protection circuit – inboard
  • Generic Sony NP-FS11 Lithium-Ion Packs

    Sony no longer offers the NP-FS11 Li-Ion batteries required for my DSC-F505V camera, so I’ve been using “generic” replacements for quite some time. My experience has been mixed: some batteries provide a reasonable amount of run time, others provide almost none.

    Feeding the appropriate keywords into Froogle gives you a range of battery suppliers, with offerings from, as of this writing, $3 to $103. Perhaps not surprisingly, the image for a $70 battery exactly matches the one on my desk that cost perhaps $15 a few years ago… although I’m certain that the actual battery you’d get wouldn’t match that picture.

    I just bought three NP-FS11 batteries from the usual low-buck Hong Kong eBay supplier: six bucks apiece, shipped halfway around the world. The eBay listing claimed 1800 mAh, which seemed aggressive, and the batteries sport a 3900 mAh label, which is flat-out impossible.

    Frankly, I didn’t expect much and here’s the discharge test graph to show I wasn’t disappointed. I used a 1-amp rate as a reasonable guess at the camera’s peak draw, although that might be a touch high for a continuous discharge.

    Generic Sony NP-FS11 Li-Ion Batteries
    Generic Sony NP-FS11 Li-Ion Batteries

    The top blue curve is from a two-year-old literally no-name battery (no logo, no nothing!) that still provides decent run time; it’s the one matching that $70 battery. It provides about 1100 mAh, reasonably close to its 1300 mAh rating.

    The middle curves, black and purple, are two of the new cells that provide about 900 mAh: half the as-listed-on-eBay capacity, 25% of the absurd label value. Their very low terminal voltage during most of the discharge says that these won’t provide much run time at all.

    The green curve piddling off on the bottom is the third new cell, which is obviously defective. As I said, I didn’t expect much and I certainly wasn’t surprised.

    The red curve is an old and completely defunct batteries.com offering that never provided good service.

    Here’s another plot of three successive charge-discharge cycles for just the three new batteries. The first curves (at 1.0 A) correspond to what you see above, the remaining two sets (at 0.5 A) are the next two cycles. Batteries G and I have improved, H remains a dud.

    MaxPower NP-FS11 Battery Tests
    MaxPower NP-FS11 Battery Tests

    Given the varied offerings on the Web, I believe that there is no way to ensure you’re getting a known-good battery from a reputable supplier. It’s absolutely certain that price does not correlate with quality; the ones I bought simply establish that low-end offerings are crap.

    The purchase was worth it for the amusement value alone; I don’t expect any action from the vendor, although I did send a copy of that graph with some explanatory text. The question is whether I should give them a five-star rating for prompt delivery…

    As it happens, there’s enough room to slide a standard CR123A-size cell into the battery compartment. I think a bit of Quality Shop Time applied to a dead NP-FS11 battery case (and the vital Sony “Infolithium” DRM module) will provide a baseplate with all the proper connectors. Perhaps I can conjure up a “battery” containing a single cell of known-good quality?

    Primary CR123A cells supply only 3 V, not the 3.6 V the camera really wants, so I can’t use disposable cells.

  • Ancient CM11A X10 Controller Pinout

    I have an X10 CM11A “Two Way Computer Interface” handling the very very very few scheduled events for our house. Basically, it turns the living room lights on in the evening and everything off much later.

    As a result, I tend to ignore it for years at a time. A recent power outage killed the regularly scheduled events, which suggested that the backup batteries needed changing… and, yes, they were pretty well corroded.

    With that out of the way, I discovered that the last time I’d loaded a program into the thing was so long ago that the heyu config files had either gone missing or were on a system not near the top of my heap. It’s easy enough to configure, so I installed heyu and spun up a new set of config files.

    All the doc I can find says the CM11A has an RJ11 modular phone jack, which mates with the standard 6-position 4-conductor dingus found on the end of every phone in this part of the world. My CM11A, however, has a 4P4C jack, the narrower dingus found on phone handsets. Given that heyu reports

    Firmware revision Level = 1

    I suspect that this thing is slightly older than some of the folks reading this post and the X10 factory switched to a somewhat less bizarre connector in mid-stream.

    Anyhow, the DB9 (yeah, it’s a DE9, but nobody calls it that) connector has “X10 Active Home” printed on it in my very own handwriting, with a standard RJ11 plug on the end. A double-jack adapter connects a hank of cable with an RJ11 plug on one end and a 4P4C connector on the other. I have no idea where that cable came from; perhaps I replaced the 4P4C plug with something less bizarre to add that extension so the cable would stretch from PC to wall outlet?

    I plugged the thing into a USB-RS232 adapter and heyu had no trouble talking to the CM11A. However, trying to execute

    heyu dim n13 10

    produced the discouraging report

    RI serial line may be stuck.

    A bit of deft multimeter work produced this pinout list, which agrees with most of the doc you’ll find elsewhere. Hold the 4P4C connector with the tab down and the cable away from you: the pin numbers are 4 3 2 1 from left to right. The RS-232 pins are printed right on the DB-9 connector.

    4P4C   DB9
     1      2 RxD
     2      9 RI
     3      3 TxD
     4      5 Gnd
    

    It’s entirely possible the USB converter doesn’t support RI or it doesn’t do a good job of it. I jammed the cable into the serial port on the back of the PC and shazam it works perfectly.

    The x10.conf file, for the next time around

    TTY /dev/ttyS0
    
    HOUSECODE N
    
    LATITUDE 	41:40N
    LONGITUDE	73:53W
    
    ALIAS MBR_Dresser	N1
    ALIAS Front_Hall	N5
    ALIAS RV_XCVR		N9
    ALIAS Couch		N10
    ALIAS Mary_Reading	N11
    ALIAS LR_Ceiling	N12
    ALIAS Fireplace		N13
    ALIAS Kitchen		N14
    ALIAS Patio		N15
    ALIAS Garage_Spots	N16
    
    START_ENGINE	AUTO
    
    LOG_DIR		/var/log/heyu/
    
    DATE_FORMAT	YMD '-'
    
  • X10 PHC02 Maxi Controller: Green LED

    PHC02 Circuit Board
    PHC02 Circuit Board

    Got the replacement X10 controller from the usual eBay source and it works fine, except it has a red LED that’s on unless it’s sending an X10 command.

    That’d be OK, except that I’ve spent the last few months associating a red LED at that spot on the dresser with a jammed X10 controller.

    Not to mention that red LEDs are sooo 20th Century…

    Four screws hold the baseplate in place; it takes a bit of prying to release the stiffening collars around the front screws and remove the baseplate. One more screw holds the circuit board in place.

    Surprisingly, they used the same metal-dome switch plates!

    Anyhow, with the board out, it’s easy to unsolder the red LED and replace it with a green one from my bag o’ mixed LEDs. It’s not quite the same shape and doesn’t have a big shoulder to keep it in place, but it’s good enough for me.

    New green LED
    New green LED

    The heat of soldering melted the thermoplastic glue that held the original LED in place. The new one isn’t quite as firmly bonded, but I don’t intend to jam a paperclip into the hole after shoving the LED out of the way.

    That was easy…

  • Spectral Characteristics: The Graph

    In the process of pulling together a talk for the Trinity Robotics contest, I rediscovered my spreadsheet of spectral response data. It’s been compiled over the years from myriad sources (utterly without attribution), suffers from gaps & interpolations, and undoubtedly emits a fairly high bogon flux density.

    To wit: trust nothing!

    Spectral Response
    Spectral Response

    Horizontal scale has UV on the left and IR on the right.

    Vertical scale is linear, roughly corresponding to power in or out at a particular wavelength. It should, of course, be logarithmic, but that’s in the nature of fine tuning, as no source data has that much resolution.

    Things to note:

    • Human eyes are tuned to see chlorophyll and not much else. That must’a been important at one time or another…
    • The nice bumps on the left are visible LEDS: violet blue green orange yellow red. The IR LED over on the right stands alone.
    • There’s no overlap between human vision and IR LED emission, but you can still see a dim red glow if you stick it right up against your eye.
    • Don’t do that with a UV LED, though.
    • White LEDs are just blue LEDs with fancy phosphors. That’s why the spectrum looks like a blue LED with a bump in the yellow-orange neighborhood. They’re not well-balanced at all.
    • High-pressure sodium lights kill IR sensors stone cold dead. Look at that peak, perfectly aligned with the photodiode response. If you could see in IR, you’d go blind. That’s what made the Trinity contest so challenging for so many years; they recently switched to fluorescent lighting and the complaints dropped dramatically.
    • Those emission spikes are why camera color correction doesn’t work well: if there’s no energy in a region, you can’t crank the gain up enough to make a difference.
    • An 87C Wratten filter is great for excluding visible light, but the overlap with that HP-Na spike tells you it won’t do jack with that sort of lighting.
    • Fluorescent tubes produce intense spikes at 436 and 546, corresponding to mercury emission lines. Their phosphor emissions extend far into the IR, too, but the data I have doesn’t include that region.
    • Ditto for metal halide bulbs.

    To produce the graph, apply this bash script to the CSV file…

    
    #!/bin/sh
    export GDFONTPATH="/usr/share/fonts/TTF/"
    gnuplot << EOF
    #set term x11
    set term png font "arialbd.ttf" 24 size 1200,800
    set output "Spectral Response.png"
    set title "Spectral Response"
    #set key 28,-0.75 Left reverse samplen 2 noautotitles
    #set key right noautotitles
    unset key
    unset mouse
    set bmargin 4
    set grid xtics ytics
    set xlabel "Wavelength - nm"
    set format x "%3.0f"
    #set xrange [0:9]
    #set xtics 0,10
    #set mxtics 4
    set ytics nomirror autofreq
    set ylabel "Relative Response"
    #set format y "%3.0f"
    set yrange [0:1.1]
    #set y2label "Panel Power - mW"
    #set format y2 "%3.0f"
    #set y2range [0:800]
    #set y2tics 200
    set datafile separator ","
    set label 1 "Eye" at 550,1.05 font "arialbd,14" center
    set label 2 "White" at 480,1.05 font "arialbd,14" center
    set label 3 "IR" at 940,1.05 font "arialbd,14" center
    set label 4 "87C Filter" at 1050,0.85 font "arialbd,14" center
    set label 5 "Photodiode" at 825,1.05 font "arialbd,14" center
    set label 6 "Tungsten" at 1050,1.00 font "arialbd,14" center
    set label 7 "Fluor" at 410,0.42 font "arialbd,14" right
    set label 8 "Halide" at 680,0.41 font "arialbd,14" left
    set label 9 "HP-Na" at 805,0.60 font "arialbd,14" right
    set label 10 "Violet" at 410,1.05 font "arialbd,14" center
    set label 11 "Red" at 635,1.05 font "arialbd,14" center
    plot    "Spectral Response Curves.csv" \
     using 1:2 with lines lt -1  lw 3 title "Eye", \
     "Spectral Response Curves.csv" \
     using 1:3 with lines lt 1 lw 2 lc rgb "light-blue" title "White" , \
     "Spectral Response Curves.csv" \
     using 1:4 with lines lt 1 lw 2 lc rgb "dark-violet" title "Violet" , \
     "Spectral Response Curves.csv" \
     using 1:5 with lines lt 1 lw 2 lc rgb "blue" title "Blue" , \
     "Spectral Response Curves.csv" \
     using 1:6 with lines lt 1 lw 2 lc rgb "green" title "Green" , \
     "Spectral Response Curves.csv" \
     using 1:7 with lines lt 1 lw 2 lc rgb "gold" title "Yellow" , \
     "Spectral Response Curves.csv" \
     using 1:8 with lines lt 1 lw 2 lc rgb "orange" title "Orange" , \
     "Spectral Response Curves.csv" \
     using 1:9 with lines lt 1 lw 2 lc rgb "red" title "Red", \
     "Spectral Response Curves.csv" \
     using 1:10 with lines lt 1 lw 2 lc rgb "magenta" title "IR" , \
     "Spectral Response Curves.csv" \
     using 1:11 with lines lt 1 lw 2 lc rgb "dark-red" title "Photodiode" , \
     "Spectral Response Curves.csv" \
     using 1:12 with lines lt 1 lw 2 lc rgb "dark-gray" title "87C Filter" , \
     "Spectral Response Curves.csv" \
     using 1:13 with lines lt 1 lw 2 lc rgb "dark-yellow" title "Tungsten" , \
     "Spectral Response Curves.csv" \
     using 1:14 with lines lt 1 lw 2 lc rgb "orange-red" title "HP-Na" , \
     "Spectral Response Curves.csv" \
     using 1:15 with lines lt 1 lw 2 lc rgb "brown" title "Halide" , \
     "Spectral Response Curves.csv" \
     using 1:18 with lines lt 1 lw 2 lc rgb "midnight-blue" title "Fluorescent"
    EOF
    
    

    And the data in CSV format because WordPress doesn’t allow spreadsheets…

    
    #"Wavelength","Eyeball","White LED","Violet LED","Blue LED","Green LED","Yellow LED","Orange LED","Red LED","IR LED","Photodiode","IR Filter","Incandescent","Sodium","Metal Halide","Daylight Flour","Moon Fluor","Fluorescent"
    300,,,,,,,,,,,,,,,,,
    310,,,,,,,,,,,,,,,,,
    320,,,,,,,,,,,,,,,,,
    340,,,,,,,,,,,,,,,,,
    350,,,,,,,,,,,,,,,,,
    360,,,,,,,,,,,,,,,,,
    370,,,0.02,,,,,,,,,,,,,,
    380,,,0.11,,,,,,,,,,,0.06,0.04,0.03,0.03
    385,,,,,,,,,,,,,,0.06,0.05,0.04,0.03
    390,,,0.33,,,,,,,,,,,0.07,0.06,0.05,0.04
    395,,,,,,,,,,,,,,0.08,0.07,0.06,0.05
    400,,,0.90,,,,,,,0.05,,0.09,,0.09,0.09,0.07,0.06
    405,,,,,,,,,,,,,,0.10,0.40,0.37,0.39
    410,,,1.00,,,,,,,,,,,0.10,0.13,0.10,0.09
    415,,,,,,,,,,,,,,0.15,0.13,0.10,0.09
    420,0.05,0.02,0.33,0.02,,,,,,0.12,,0.12,,0.26,0.15,0.11,0.10
    425,,,,,,,,,,,,,,0.16,0.16,0.13,0.11
    430,,0.05,0.11,0.11,,,,,,,,,,0.13,0.18,0.14,0.12
    435,,,,,,,,,,,,,,0.13,1.00,1.00,1.00
    440,0.16,0.08,0.05,0.92,,,,,,0.19,,0.15,,0.11,0.21,0.17,0.14
    445,,,,,,,,,,,,,,0.11,0.22,0.18,0.15
    450,,0.30,,1.00,,,,,,,,,,0.13,0.24,0.19,0.16
    455,,,,,,,,,,,,,,0.15,0.26,0.20,0.17
    460,0.25,0.65,,0.77,,,,,,0.25,,0.19,,0.18,0.26,0.21,0.17
    465,,,,,,,,,,,,,,0.15,0.26,0.21,0.18
    470,,0.90,,0.22,,,,,,,,,,0.15,0.26,0.21,0.18
    475,,,,,,,,,,,,,,0.17,0.27,0.22,0.18
    480,0.36,1.00,,0.11,,,,,,0.32,,0.22,0.02,0.20,0.27,0.22,0.18
    485,,,,,,,,,,,,,,0.16,0.27,0.22,0.18
    490,,0.80,,0.03,,,,,,,,,,0.20,0.27,0.22,0.18
    495,,,,,,,,,,,,,,0.17,0.27,0.22,0.18
    500,0.50,0.32,,,,,,,,0.39,,0.25,0.10,0.18,0.26,0.21,0.18
    505,,,,,,,,,,,,,,0.23,0.25,0.21,0.17
    510,,,,,,,,,,,,,,0.22,0.25,0.20,0.17
    515,,,,,,,,,,,,,,0.22,0.24,0.20,0.17
    520,0.70,0.30,,,,,,,,0.44,,,0.02,0.18,0.24,0.20,0.18
    525,,,,,,,,,,,,,,0.20,0.24,0.20,0.19
    530,,,,,,,,,,,,,,0.22,0.24,0.20,0.21
    535,,,,,,,,,,,,,,1.00,0.24,0.21,0.24
    540,1.00,0.48,,,0.08,,,,,0.49,,,0.02,0.45,0.26,0.23,0.27
    545,,,,,,,,,,,,,,0.27,0.70,0.67,0.78
    550,1.00,0.55,,,0.45,,,,,0.52,,,0.05,0.18,0.29,0.27,0.36
    555,,,,,,,,,,,,,,0.20,0.30,0.30,0.40
    560,1.00,0.55,,,0.95,0.13,,,,0.54,,,0.10,0.18,0.32,0.32,0.45
    565,0.91,,,,1.00,0.34,,,,0.55,,,0.30,0.24,0.33,0.35,0.49
    570,0.83,,,,0.85,0.55,,,,0.57,,,0.43,0.24,0.34,0.37,0.52
    575,,,,,,,,,,,,,,0.26,0.39,0.44,0.59
    580,0.65,,,,0.37,0.96,0.08,,,0.59,,,0.33,0.24,0.42,0.46,0.61
    585,0.61,,,,0.31,1.00,0.19,,,0.60,,,0.40,0.23,0.34,0.39,0.52
    590,0.58,,,,0.24,0.94,0.30,,,0.62,,,0.15,0.24,0.32,0.38,0.51
    595,,,,,,,,,,,,,,0.29,0.30,0.37,0.48
    600,0.50,0.40,,,0.11,0.60,0.80,0.13,,0.64,,0.51,0.46,0.37,0.28,0.34,0.44
    605,,,,,,,,,,,,,,0.30,0.26,0.31,0.41
    608,0.46,,,,,0.56,1.00,0.29,,,,,0.33,,,,
    610,0.45,,,,,0.55,0.97,0.33,,,,,0.32,0.37,0.24,0.29,0.36
    615,,,,,,,,,,,,,,0.33,0.21,0.27,0.33
    620,0.40,0.32,,,,0.20,0.80,0.60,,,,,0.32,0.26,0.19,0.24,0.29
    625,,,,,,,,,,,,,,0.33,0.17,0.21,0.25
    630,0.30,0.28,,,,,0.52,0.95,,,,,0.20,0.25,0.15,0.18,0.22
    634,0.26,,,,,,0.43,1.00,,,,,0.19,,,,
    635,,,,,,,,,,,,,,0.27,0.13,0.16,0.19
    640,0.20,0.25,,,,,0.30,0.90,,,,,0.17,0.27,0.11,0.14,0.16
    645,,,,,,,,,,,,,,0.26,0.10,0.12,0.14
    650,0.15,,,,,,0.20,0.60,,,,,0.16,0.25,0.09,0.10,0.12
    655,,,,,,,,,,,,,,0.31,0.08,0.09,0.10
    660,0.10,,,,,,0.10,0.43,,,,,0.14,0.27,0.07,0.08,0.09
    665,,,,,,,,,,,,,,0.29,0.06,0.07,0.07
    670,0.08,,,,,,,0.30,,,,,0.13,0.24,0.05,0.06,0.06
    675,,,,,,,,,,,,,,0.28,0.05,0.05,0.05
    680,0.05,,,,,,,0.20,,,,,0.11,0.25,0.04,0.05,0.05
    685,,,,,,,,,,,,,,0.37,0.04,0.04,0.04
    690,0.03,,,,,,,0.10,,,,,0.10,0.26,0.03,0.04,0.04
    695,,,,,,,,,,,,,,0.24,0.03,0.03,0.03
    700,,0.24,,,,,,,,0.84,,0.81,0.09,0.26,0.03,0.03,0.03
    705,,,,,,,,,,,,,,0.21,0.02,0.03,0.02
    710,,,,,,,,,,,,,,0.16,0.02,0.02,0.02
    715,,,,,,,,,,,,,,0.15,0.02,0.02,0.02
    720,,0.20,,,,,,,,0.87,,0.84,0.08,0.14,0.02,0.02,0.02
    740,,0.10,,,,,,,,0.90,,0.87,0.06,,,,
    760,,0.08,,,,,,,,0.93,,0.89,0.05,,,,
    770,,,,,,,,,,0.94,,0.90,0.11,,,,
    780,,0.04,,,,,,,,0.96,,0.92,0.05,,,,
    800,,0.02,,,,,,,,0.99,0.03,0.95,0.06,,,,
    810,,,,,,,,,,1.00,0.08,0.96,0.07,,,,
    820,,,,,,,,,,1.00,0.16,0.97,1.00,,,,
    840,,,,,,,,,,1.00,0.38,0.97,0.07,,,,
    860,,,,,,,,,,0.96,0.58,0.98,0.06,,,,
    880,,,,,,,,,,0.91,0.73,0.99,0.05,,,,
    900,,,,,,,,,0.15,0.87,0.81,1.00,,,,,
    910,,,,,,,,,0.37,,,,,,,,
    920,,,,,,,,,0.67,,,,,,,,
    930,,,,,,,,,0.96,,,,,,,,
    935,,,,,,,,,1.00,,,,,,,,
    940,,,,,,,,,0.97,,,,,,,,
    950,,,,,,,,,0.73,,,,,,,,
    960,,,,,,,,,0.45,,,,,,,,
    970,,,,,,,,,0.26,,,,,,,,
    980,,,,,,,,,0.16,,,,,,,,
    1000,,,,,,,,,0.10,0.43,0.89,0.98,,,,,
    1020,,,,,,,,,,0.36,0.90,0.97,,,,,
    1040,,,,,,,,,,0.29,0.91,0.96,,,,,
    1060,,,,,,,,,,0.22,0.91,0.94,,,,,
    1080,,,,,,,,,,0.15,0.92,0.93,,,,,
    1100,,,,,,,,,,0.08,0.93,0.92,,,,,