So do you have an Li charging algorithm that takes account of measured temperature and voltage? Would be very useful.
No need. All lithium chemistry cells need the same basic charge profile, it's just the charge cut-off voltage that varies from one type to another. No need to monitor temperature, as it doesn't change things. All that's needed is a constant current charge source initially, with a constant voltage upper limit. A very simple constant voltage regulator with a constant current feature works perfectly, and is all the dedicated charger chips use.
For LiCoO2 cells (the majority of readily available cells) the charge cut-off voltage should be 4.2V. There is a very tiny cycle life advantage for some cells by only charging to about 4.15V, but any lower charge cut-off voltage just loses a bit of capacity for no useful gain in cell life. Generally it is safe to charge all LiCoO2 cells and their ilk at 0.2C (so 0.2A for a 1Ah cell) during the initial constant current phase, some will happily accept much greater charge rates initially. It doesn't matter whether the current is tapered off as the charge cut-off voltage approaches, as long as the cut-off is reliable and positive. The primary risk is allowing the cell terminal voltage to rise significantly above the charge cut-off point.
For safeties sake it helps if the charger detects an attempt to charge a too deeply discharged cell and also shuts off. Generally it's safe to charge LiCoO2 cells and their ilk if they have been discharged down to about 2.5V, but any lower and there is an increasing possibility that the cell will be internally damaged and may start to puff if charged at a high rate. Such a cell can occasionally be revived with a very gentle charge, but a general purpose charger would be safer if it detected a low initial cell voltage and refused to charge. Generally it is inadvisable to allow LiCoO2 cells to discharge below about 2.8 to 3.0V, and life will be extended if they are never allowed to go below about 3.5 to 3.6V per cell.
For LiFePO4 chemistry cells the charge cut-off voltage is around 3.65V per cell and the maximum allowable discharge voltage is perhaps 2.8 to 2.9V, with the charger refusing to charge if the cell is below about 2.2V. For best life these cells should not be discharged below about 3.0V.
If the intention is to charge a multiple series connected cell pack then it is important that every cell in the pack be monitored and that the charger has a means to shunt current around any individual cell that reaches full charge cut-off voltage before its fellows. Series connected lithium secondary battery packs don't self as lead acid and nickel chemistry cells do, and if over charged without cell level protection a cell terminal voltage will just continue to climb, causing internal damage and risking outgassing or worse.
Cheaper multi-cell chargers use a process of connecting switched bleed resistors across cells that charge earlier than others and cycling the charge current on an off, based on sensing cell voltage. The bleed resistors drain excess charge from the full cell(s) and the pulsed charge current allows the cells that aren't fully charged time to catch up. It's a slow process though, and wasteful of charge power.
A better way to charge a series connected pack is to either use a bank of series connected separate cell chargers (which requires power source isolation for each) or to use a high current shunt regulator across each cell set to operate at the charge cut-off voltage. These shunt regulators then prevent cells from ever exceeding the maximum charge voltage, whilst still allowing charge current to flow to the other cells in the battery pack. The downside with this method is that power dissipation in the shunt regulators can be high, especially if the required charge current is high. There are ways to deal with this, but detecting when the first cell shunt operates and then reducing the charge current to the whole pack, but this slows down the charge process.
I've used all of the above methods and they all work OK. My personal favourite is to use one charger per cell, as it gives the fastest charge and arguably the safest. It is a bit complex though, and needs isolated power supplies for each cell.