I looked through the code... you did it quite inefficiently.
If you use for loops in for loops in ... you get the idea,
you can actually get a huge amount of charging points. Hypthetically, though, the limit is ~2.14bil if it's 32bit and my calculations are correct, but it's ~9.2 quintillion if it's 64bit. I'd put for loops within for loops within for loops for that one.