Converting ADC Value to Voltage Readout On a Picaxe

Goeytex

Senior Member
This code takes advantage of the FVRSETUP and ADCCONFIG commands to provide good accuracy and good resolution when reading a voltage via ADC and displaying the Voltage on a PE Terminal. Of course the output could be sent instead to an LED or OLED display.

The FVRSETUP Command is available on M2 Chips and on the 28X2 and 40X2

In this code the FVRSETUP and ADCCONFIG commands are used to set the internal ADC reference to 2.048V. This gives .002v per step using ADC10. It also means that a change in the Picaxe supply voltage will not affect the ADC value or accuracy. So, for example, in a battery powered system the ADC reading will remain accurate as the battery voltage changes over time. The Picaxe can be operated down to about 2.4v with no effect on the ADC readings.

The only extra hardware required is a two resistor voltage divider to bring the input to the appropriate range. I used a 20K / 10K divider (1%) that gives a range from 0 to 6 volts to allow some head room if the input voltage is a bit higher than 5 volts. There is no odd math needed because the 2.048 reference is precisely 2 times the 10 bit range of 0 - 1023. Change the resistor divider to change the voltage range.

The reading is stable and the accuracy is excellent and is within about 20 mV as read by a TEK THS730A ( DMM)

Below is the code that I used for a 0 - 6 V range. A simple schematic is attached to show the voltage divider.

Code:
=================
#Picaxe 08M2
#No_Data
Pause 100
'=====================

FVRSETUP FVR2048  [COLOR="#008000"] 'Set Fixed Voltage Reference = 2.048 Volts [/COLOR]
ADCCONFIG %011    [COLOR="#008000"] 'Set ADC to FVR  [/COLOR]

do
      readadc10 C.2, W5 
      w5 = w5  * 6 / 10          [COLOR="#008000"]'Scale/MAP [/COLOR]
      bintoascii w5,b0,b0,b1,b2,b3
      sertxd (b0,b1,".",b2,b3," Volts DC",cr,lf)
      pause 2000

loop
Addendum.

To calculate a voltage range.

Use a resistor divider calculator such as PotDesign, to select the resistors so that the voltage is 2.00v at the center tap when max voltage is applied. Then change the code so that:

w5 = w5 * max_volts / 10

For example: The range needs to be from 0 - 24V:

For 2v at the center tap with 24v applied , the voltage divider resistors will be 12K and 1.5K
Then change the mapping code line to w5 = w5 * 24 / 10

Have Fun

Goeytex
 

Attachments

Last edited:

Snowghost

New Member
Mate!! this is the best thing since bread came sliced!!!!
ive been looking for something to do just this for ages!! (looking, because im not cleaver enough to work it out by my lonesome)
dropped right into the rest of my code,
the code and explanation are GOLD

thanks
Snowy
 

crazynight

Senior Member
Sorry for the daft question but is the "20K / 10K divider" referenced just a 10k and a 20k resistors wired as per the diagram or something different.
 

AllyCat

Senior Member
Hi,

An excellent description that is well worth a "bump" after 5+ years. :)

Just a minor point about the Addendum; I wonder how many people in the 4000+ views so far have noticed that "12K and 1.5K" will not give the correct ratio for a full-scale input of 24 volts ! The required values are, for example, 11K and 1k.

11K is an "E24" (5% range) value, but in practice you'd probably want 12K anyway to give some tolerance for a "nominal" 24 volt supply (and minor errors in the resistor and FVR values). In that case the calibration multiplier becomes 26. Or for a 24 volt battery (lead acid), use 15K with a multiplier of 32 for 32 volts (or strictly 32.75 volts) nominal full-scale.

Cheers, Alan.
 

Speddo

New Member
This looks like what I need.
But 2 questions so I can fully understand the code
What does the command [COLOR"#008000"] mean or do?
In the bintoasci line, there are two b0
in the sertxt line, there is only one b0
Why is this?
Please pardon my ignorance.
Thanks, Bill
 

AllyCat

Senior Member
Hi,

The COLOR commands are a "bug" because the forum software has been changed since that post was written. I believe it can be fixed by (the original author or a moderator) changing the [ code] tag to [ code = rich] , but basically you can just ignore any/all text within square braces [brackets].

The BINTOASCII instruction converts a word value (w5 in this case) into a string of its separate digits, in preparation for "printing" (SERTXD) onto the display (terminal). A word value can need up to 5 characters to represent it (e.g. 12345 becomes "1" "2" "3" "4" "5") but the program-writer knew that here the value would fit into only four characters. In practice, I think BINTOASCII w5 , b0 , b1 , b2 , b3 does work, but the "command syntax" says that 5 variables should be declared, so, rather than use another variable (e.g. b4) which he "knew" would be loaded with a zero, the programmer declared b0 twice, so that the first "0" is immediately overwritten with the second digit.

Cheers, Alan.
 

Speddo

New Member
Hi Alan.
Thanks for your reply post.
I downloaded the code and tried to run it in the simulation but error was reported on the [COLOR"#008000"] command .
I commented out (effectively removed) that command ( [COLOR"#008000"] in the three places where it was used ) and simulation ran perfectly.
Now for the real McCoy, to load it into the 20M2!
I understand your explanation of the BINTOASCI command, thanking you.
If I recall my early basic, perhaps, in the conversion to ASCI, there is a leading null which is reserved for the sign, i.e. + or -
Cheers
Bill
 

AllyCat

Senior Member
Hi Bill,

No, PICaxe Basic doesn't "support" negative numbers, i.e. bytes are defined from 0 to 255, words from 0 to 65535 and will wrap backwards between those numbers if you attempt to decrement (or subtract) past zero. In practice, the Editor/Compiler does support negative numbers to a very limited extent, for example FOR .. TO .. STEP -1 : NEXT and sometimes converts, e.g. -1 to 65535 (which may get truncated later in the calculation).

You can of course define your own "display handler" subroutine(s) to treat bytes/words as "signed" (i.e. -128 to +127 or -32768 to +32767) and some two's complement calculations (particularly addition and subtraction) will work correctly. But it's too easy to slip in an accidental "/" (division) which won't work (been there, got the T-Shirt). Actually, I rarely use BINTOASCII (which is basically a "Pre-set System Macro", because it's more efficient (less memory needed) to do the conversion yourself (mainly using /10 and //10 type operations), when you can (also) take into account factors like a negative Temperature.

Cheers, Alan.
 

Speddo

New Member
Hello Alan.
Thank you for your comments.
I take note of your comments on negative numbers
I loaded up the above code into a 20M2 and the readadc10 results are all over the place.
Connecting the pin to earth (0V) reads "00.00 Volts", but any positive voltage returns:
1.24 v instead of 1.68
1.53 v instead of 3.35
1.53v instead of 5.04 and
1.53 v when floating
Looks like it can't read above 1.53V??
I used a 3x 220ohm voltage divider chain off the 5v rail
I will try some other chips, I read somewhere the readadc is a bit erratic?
I will set up a voltage divider to generate 0-2V and see what happens there.
Regards
Bill
 

premelec

Senior Member
A picture of your setup might help as it looks like a hardware problem - unless you have a noisy power supply, environment or input READADC should be stable...
 

AllyCat

Senior Member
Hi,

No, the ADC should work much better than that, but it is configured in the code above to limit (its full scale) at 2 volts on the input pin. 220 ohm resistors are an unnecessarily low value but should still work, so I suggest you might have calculation error, or a hardware / power supply problem.

In such cases, the first test is to SERTXD the ADC value directly (i.e. #w5) in case there's an issue with the calculation (so it's worth posting the complete, exact program listing). Also, if you only want to measure the PICaxe's supply voltage, then the CALIBADC10 method is better. I've also posted several "improvements" to that command in this Code Snippets section, to give resolutions down to around 1 mV, so the ADC is certainly not fundamentally erratic (if used correctly).

Cheers, Alan.
 

Speddo

New Member
Hi,
Sorry, my ignorance and inexperience is showing.
ADC pin will only read 2v max, so anything over 2v should read 2v -a lesson learned there, except mine reads 1.53v
I have made further experiments with a 21k resistor in series with a 10k potentiometer off the common 5v rail, as per cct above.
I made a number of measurements and all made below 2v report or return approx 0.5V low.
As reported in my earlier post, 1.68v measured by a DVV on the ADC pin has the 20M2 reporting 1.24v, which is 0.44v too low.
I will try out another PicAxe and see what happens.
The code is as above, with the commands commented out as per previous post
I am not sure what the #w5 is (as mentioned by Alan)
SERTXT #w5
maybe??
To answer Premelec - I am using the dedicated PicAxe project board with components plugged into the various solderless holes.
Power supply is included with 5v regulator chip & filters.
regards
Bill
 

AllyCat

Senior Member
Hi,

It's 2 volts because that's what the FVRSETUP command in the Program tells it to be! By default it's the full supply rail.
The correct command would be SERTXD(#w5,cr,lf) plus any other formatting required, in place of (or in addition to) the SERTXD..... command in the original code.
You need to be quite careful when using "Project" Boards, because they may have additional components (e.g. pull-down resistors) that can affect how the components you think you're using will behave. That's why we often need photographs, because we probably won't actually own the appropriate project boad (and the schematic diagrams sometimes can be difficult to find).

Cheers, Alan.
 

Speddo

New Member
Hello Alan.
Yes, I have learned a lot while building what appeared to be a simple project!
I have been rewriting the code segments and following the results on the monitor.
I also learned that variables in PicAxe are not as friendly as they could be.
I can report, thanks to the forum, that I have achieved the intention of my project, at least for stage one!
Voltage reading is a slightly varying -0.03V accuracy (low reading compared to DVV), which is acceptable in my case.
I attach the final code.
 

Attachments

Rampz

Well-known member
Hello All

I'm very new to picaxe, I thought I would try the original code at the top of the thread with a 08m2 just I'm not getting the same accuracy, its correct to within 0.2v not 20mv I'm using a development board, I set the resistors as the picture but with 16K over 2K to give 2v Max at pin 5 based on a Max input voltage of 18v, its really cool that it works just not getting the accuracy, any pointers would be great. Simon
 

Attachments

Last edited:

Rampz

Well-known member
Hello Papaof2

Yes I'm using 1% resistors and I have checked them both and they are very close to what they should be. I used 2v when calculating them with a Max of 18v, is it exactly 2v I should use?
Simon
 

papaof2

Senior Member
I think the setup uses 2.048 volts for reference. Not sure how much that would affect your readings. Has your voltmeter been checked against an accurate reference recently?

I have an AD584L reference (now discontinued) which came from the factory with the 10.000 volt output trimmed to a datasheet specified 9.995 to 10.005 volts and the included reference printout has the exact value (which I don't remember - that's why it's on paper ;-) I only need accuracy to the nearest 0.01 volt so I calbrate my tool box meters at 10.00 volts with the AD584L, knowing that 10.00 volts on those meters is as good as their 4 digits can display.
The other versions of the AD584 are still available and you need 12 volts or better as the power supply - I use two 9 volt batteries as the current drain is relatively low and I don't have the reference powered for hours.. The best ones come with documented voltages to 5 decimal places which will look something like this:

Nominal
Output Actual Voltage
2.5V 2.49936
5.0V 4.99871
7.5V 7.49805
10.0V 9.99668

I have a couple of inexpensive Harbor Freight DMMs which see a lot of use on 12 volt solar systems, so calibrating them at 10.00 volts is about as close as I can easily get - unless I use two references and stack the 10.000 voilt output of one with the 2.500 volt output of the second one to get 12.500 volts, but that's not needed for the work I'm doing. These inexpensive meters hold their calibration surprisingly well for a device that gets moved around a lot. That's only true for their older meters - the newer ones don't have the screwdriver pot for making that adjustment.
 

AllyCat

Senior Member
Hi,
..., its correct to within 0.2v not 20mv
So are you saying that you "expect" a value of 10.07 (or 10.47) volts? That's an error of 2% which might be a little worse than "normal" but is not particularly unexpected.

Firstly, the "nominal" FVR voltage is 2.048 volts (i.e around 2.5% higher than you assumed) , but the Microchip data sheet gives a tolerance of up to +/- 7%. That's very pessimistic, but I wouldn't assume better than a few percent accuracy. Also, two "1%" resistors can give a 2% potential divider ratio error (if one is "high" and the other "low") and few multimeters have any better specification on their "Ohms" ranges.

Personally, I nearly always include a "calibration" capability in my voltage-measuring programs, for which PICaxe's ** operator is particularly useful, to make very small adjustments (i.e. down to +/- 1 part in 65536) if I have a sufficiently good reference.

Cheers, Alan.
 

Rampz

Well-known member
Hello Papaof2

Thank you for the reply, i use a Fluke 87 V Max it was last checked against a calibrated meter 1/8/22 the calibrated meter is sent away yearly to be checked in line with our procedures. so i feel my meter is accurate enough for my needs.

Simon
 
Last edited:

Rampz

Well-known member
Hello Alan

Thank you for your input too, like i say i feel my meter is accuate enough, my voltage reference was showing 10.4v my meter said the same, the Terminal was showing a read out of 10.27v.

I did try the 100nf capacitor between the input pin and ground and it made no difference, i also tried a 12v battery as a voltage source and it still gave the same error, others that have tried seem to get better results, so not sure where i'm going wrong

My top 16k resistor is reading 16.02, my lower 2k resistor 1.990, so both seem very good so would have expected a better result considering the start of this thread was showing that he could get to within 20mv, for my application i could just used the read value and check that for all the input voltages i will want things to happen at, but the code was supposed to show good accuracy so i thought it was a good place to start.

It will be interesting to see how repeatable the readings are across different 08m2's and different resistors of the same stated value, if i'm always going to get about the same reading across different chips/resistors then i can work with it

I will have a look at calibration and see if i can make anything of that.

Simon
 

AllyCat

Senior Member
Hi,

So you are "complaining" about an "error" of 0.13 / 10.4 = 1.25% and your (measured) divider error alone is 1.990 / 18.01 = 0.11049 , which is about 0.46% below the "expected" ratio (2 / 18). So we're looking for a potential "error" of 0.8%. You haven't shown your calculation but* the nominal FVR is 2mV/step (not 2 volts / 1024) but as I indicated above, its (claimed) accuracy is far from "precision". From the base Microchip Datasheet ("Advanced Technical Details") the FVR2048 "accuracy" is -8% to + 6%. Admitted, that's very pessimistic, but we don't really need to look any further, since it's almost ten times larger than we're looking for!

PICaxe08M2FVR.png

Similarly, the claim to 20 mV "accuracy" in post #1 may be a "typical" or even an "expected" value, but it is not supported by the specified accuracy in the data sheet of the THS730A, which is +/- 0.5% (plus 5 counts), i.e. up to 50 mV in 10 volts.

TekTHS7x0-DMMspec.png

*EDIT: OK, I see you have a very good quality DMM and your program is shown within one of the photos, but with an almost 1 : 10 divider ratio and then 2 mV ADC steps, the resolution cannot be any better than 20 mV. So the issue probably is mainly that the FVR is NOT (intended or claimed to be) a precision voltage reference. If you look through the code snippets section you will see that I have written a lot of code to achieve very high resolution "CALIBADC" measurements (down to a few mV) but NOT accuracy, using the FVR directly for voltage measurements, or in association with the READINTERNALTEMP feature. Interestingly, the READINTERNALTEMP (hardware) can be as much an indicator of the performance of the FVR as of the chip's temperature. ;) I don't recall exactly where the parameter is published, but the temperature coefficient of the FVR also can be significant, although it's no worse than a 7805 regulator, for example. But I suspect that even the cheapest multimeters use a reference voltage rather better than a 7805. :)

Cheers, Alan.
 
Last edited:

Rampz

Well-known member
Hello Alan

Thank you for your quick replies and your edit, it seems I am getting about what is expected so that's fine, its a learning curve for me, I see there are several ways to get to the goal with Picaxe.

I will have a look around the snippets and try and find yours, do you have a link to any of them?

Maybe I'm better posting a description of what my ultimate goal is in a new thread, so you can best advise, it will be a journey of many parts I think to reach my goal.

I am learning in the process and that's also my aim, previously I was using 555 timers for battery monitoring and timing so hope picaxe will be able to replace them and much more

Simon
 

AllyCat

Senior Member
Hi,

The PIC(axe) is basically a microcontroller (not a "computer"), but with a large number of "bonus" additional internal hardware "features" such as R-C oscillator(s), Timer/Counters, ADC/DAC, Voltage Reference, PWM, Comparator(s), Temperature Sensor, etc.. However, like most "Jack of All Trades" it is very much a "Master of None", mainly because it's not sensible to add costs of complex design or individual calibration/testing on features that may never be used in most applications. Thus the clock/oscillator has lower accuracy than a dedicated crystal oscillator, Timer/Counters are only 8/16 bits, the ADC/DAC 10/5 bits, the comparator has a large differential offset (specification), the Temperature sensor is totally uncalibrated and the I/O pins are limited to 25 mA / 6 volts, i.e. far less than any "normal" transistor, etc..

The FVR is far more accurate and stable than the voltage from, for example an Alkaline Cell (for which the PIC and this thread is primarily intended), but as you've discovered, it doesn't have the performance of a modern "dedicated" Voltage Reference. Looking at your other thread, it appears that you are planning to use a High Performance external voltage regulator (to drive the PICaxe) so you should NOT be using the FVR, but the PICaxe ADC in its "default" mode with the external (Vdd) supply used as the (5v) reference. Similarly, if you wanted an accurate temperature measurement you must use an external sensor, in the same way that for an output drive of greater than 25 mA/ 5v you must use an external Transistor/FET, or a crystal oscillator for precision timing, etc..

Not directly relevant to this thread, but a "Search" of the forum for "CALIBADC" with my username will find a number of posts. But those in the Finished Projects > Code Snippets section my be of most relevance, for example THIS.

Cheers, Alan.
 

Rampz

Well-known member
Hello Alan

Thank you for a great reply and loads of information, being very inexperienced I'm struggling to grasp how I can use your extensive work to help me measure my external battery voltage?

Maybe I get the feeling that using your work to get an accurate reading of the supply rail then comparing this to my external resistor divider network on an input pin I would get a great result, just I'm really going to need help making this happen, I have read your linked thread several times and can see you really do know what your doing, it is great work along with all the explanations.

I will read again later the threads on my laptop where I can see the code better and try to get my head around what's happening better.

Regards Simon
 

Rampz

Well-known member
so you should NOT be using the FVR, but the PICaxe ADC in its "default" mode with the external (Vdd) supply used as the (5v) reference.
This has been going around and around in my head, with FVR do I use or can I use the supply from the voltage reference for calculating an external voltage using an ADC pin, I have been reading your posts and they all seem to use the FVR?
So I can set my voltage divider to be based on giving 5v to the ADC pin, then struggling to get my head around what happens next, I compare the voltage received on the ADC pin to the internal vdd? And write it somewhere, so far I could find posts that did this seems everyone is using the FVR?

Accuracy isn't an issue in my project as long as I can read the output figure at certain input voltages I can then use, greater than or equal to, that figure to do what I want I think, just each time I use different components I will need to are check and adjust my thresholds etc
 
Last edited:

AllyCat

Senior Member
Hi,

Yes, nearly all my applications use the FVR because all of my projects are designed to operate directly from "unregulated" batteries, i.e. one Lithium or a few Alkaline AA cells in series. In particular, I don't use 7805 style regulators because their quiescent current (alone) is several times higher than a typical running PICaxe, and their minimum input voltage more than twice what most PICaxes need. Of course there are more exotic Low Quiescent and/or Low Dropout regulators, but my background has always been in low-cost consumer electronics.

There are various interpretations of "accuracy", not just Absolute Accuracy, but Repeatability, Stability (vs temperature/supply, etc.) and Resolution, the last of these also being influenced by PICaxe's Integer maths. Personally, I may refrain from adding cost for more "stable" or "accurate" components, but I do at least try to make best use of what is available. ;) In particular, an unofficial/undocumented "trick" is to add together several (nominally identical) measurements (technically called Oversampling). If the ADC operation were "perfect" then the same value would be simply multiplied by the number of measurements (which does NOT increase the Resolution), but in practice there appears to be significant noise inside the PICaxe (particularly at higher supply voltages) so the Resolution can be enhanced above 10 bits. There's a "discussion" related to this trick in posts #12, #17 and #24, etc. in this thread.

Therefore, you can use the FVR if you wish, but the default setup of the PIC{axe} uses the supply rail as the ADC reference and in many applications, using a higher voltage will give improved performance. In principle, the ADC steps are just the Reference voltage divided by 1024 (i.e. around 5mV for a "TTL" supply), but IMHO any "measurement" (i.e. reported value) should have a capability for calibration (whether it's based on nominally 2048/1024 or 5000/1024 mV steps). The "measured" voltage is simply the value from the ADC multiplied by the step size (which in practice may need a few tricks to work around, or with, PICaxe's Integer maths)

Cheers, Alan.
 

Rampz

Well-known member
Hi,

Yes, nearly all my applications use the FVR because all of my projects are designed to operate directly from "unregulated" batteries, i.e. one Lithium or a few Alkaline AA cells in series. In particular, I don't use 7805 style regulators because their quiescent current (alone) is several times higher than a typical running PICaxe, and their minimum input voltage more than twice what most PICaxes need. Of course there are more exotic Low Quiescent and/or Low Dropout regulators, but my background has always been in low-cost consumer electronics.

There are various interpretations of "accuracy", not just Absolute Accuracy, but Repeatability, Stability (vs temperature/supply, etc.) and Resolution, the last of these also being influenced by PICaxe's Integer maths. Personally, I may refrain from adding cost for more "stable" or "accurate" components, but I do at least try to make best use of what is available. ;) In particular, an unofficial/undocumented "trick" is to add together several (nominally identical) measurements (technically called Oversampling). If the ADC operation were "perfect" then the same value would be simply multiplied by the number of measurements (which does NOT increase the Resolution), but in practice there appears to be significant noise inside the PICaxe (particularly at higher supply voltages) so the Resolution can be enhanced above 10 bits. There's a "discussion" related to this trick in posts #12, #17 and #24, etc. in this thread.

Therefore, you can use the FVR if you wish, but the default setup of the PIC{axe} uses the supply rail as the ADC reference and in many applications, using a higher voltage will give improved performance. In principle, the ADC steps are just the Reference voltage divided by 1024 (i.e. around 5mV for a "TTL" supply), but IMHO any "measurement" (i.e. reported value) should have a capability for calibration (whether it's based on nominally 2048/1024 or 5000/1024 mV steps). The "measured" voltage is simply the value from the ADC multiplied by the step size (which in practice may need a few tricks to work around, or with, PICaxe's Integer maths)

Cheers, Alan.
Alan

Thank you for confirming what i thought, i understand your reasons for using the FVR you do makes good sense, you talk about calibration and i can see there is a need for that to some degree and i found a post by Marks titled 'voltage divders made easy' and he talks about a **64063 which it seems is devrived from 1000/1023*65536 +2 =64063 and he showed a similar calulation for calibrating the difference between the regulator voltage and 5v, it seemed an alternative way that i can understand to calibrate case by case, i would need to measure the voltage regulator each time.

reapeatability is of concern as my code would be used through a wide temperature range with its sheltered outdoor location, but i can test at different temperatures and use this info to set my setpoints to allow for temperature assuming it doesn't make a huge difference, in my project the idea is to stop the output operating when during mains fail the battery voltage has dropped to 10.4 volts and stayed there for a time say 10 seconds

Another though regards voltage dividers you may be able to answer, i understand the ADC terminal wants a max of 10k to ground as the bottom part of a resistor network, but my question is does it cause issue if this lower resistor is less that 10k as long as the ratio is maintained, does it effect resolution or its just standard practice?

Simon
 

AllyCat

Senior Member
Hi,

The Microchip "recommendation" is that the source resistance should be a maximum of 10k, because the input to the ADC is a Sample-and-Hold circuit which takes a (small) "gulp" of current that may cause some voltage drop and reduce the overall accuracy or linearity (not the resolution) of the measurement. So a lower source resistance is certainly acceptable, and alternatively a capacitor can be added (to lower the source impedance) and/or the inaccuracy is quite small anyway.

A useful principle (called Thevenin's Theorem) is that the source resistance of a voltage divider is equivalent to the parallel resistance of their combination, so a 20k + 20k potential divider has a 10k source resistance; thus a 10k resistor across the ADC input to ground is always sufficient, but also a convenient value for calculations.

When I developed my new "ChipTemp" algorithm (to replace the embedded READINTERNALTEMP instruction) I was surprised by the significance of the Temperature Coefficient of the FVR, but it's actually no worse than in any 7805 regulator. See particularly the penultimate paragraph (just before the graphics) in post #8 HERE.

Cheers, Alan.
 

Rampz

Well-known member
IMHO any "measurement" (i.e. reported value) should have a capability for calibration
Alan

How would I best go about calibration in my project, I have been testing it today and seems its about .3v wrong, I have been trying to do it with maths and I can't make much of that, maybe you can have a look if you get time please

Simon
 
Top